All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsString()'
      Src: RedirectHandlerFuzzer:27,1
    - Dst: '[io.undertow.server.handlers.RedirectHandler].<init>(String)'
      Src: RedirectHandlerFuzzer:27,1
    - Dst: e.getMessage()
      Src: RedirectHandlerFuzzer:29,1
    - Dst: '[RedirectHandlerFuzzer].startsWith(String)'
      Src: RedirectHandlerFuzzer:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - com.code_intelligence.jazzer.api.FuzzedDataProvider
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - com.code_intelligence.jazzer.api.FuzzedDataProvider
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: '[RedirectHandlerFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
    functionSourceFile: /src/RedirectHandlerFuzzer.java
    functionUses: 0
    functionsReached:
    - '[com.code_intelligence.jazzer.api.FuzzedDataProvider].consumeRemainingAsString()'
    - '[RedirectHandlerFuzzer].startsWith(String)'
    - e.getMessage()
    - '[io.undertow.server.handlers.RedirectHandler].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[RedirectHandlerFuzzer].fuzzerTestOneInput(com.code_intelligence.jazzer.api.FuzzedDataProvider)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RedirectHandlerFuzzer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[RedirectHandlerFuzzer].<init>()'
    functionSourceFile: /src/RedirectHandlerFuzzer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RedirectHandlerFuzzer
    signature: '[RedirectHandlerFuzzer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:63,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].newInstance()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:66,1
    - Dst: BinaryEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.BufferTortureTestCase)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:66,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.BufferTortureTestCase)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:66,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:73,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener].<init>()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:74,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener(io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:73,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:81,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:82,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:73,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:83,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:73,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:66,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:90,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].deploy()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:91,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].start()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.BufferTortureTestCase)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].beforeTests()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener(io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.BufferTortureTestCase)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase].newInstance()'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.BufferTortureTestCase)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase].start()'
    - BinaryEndpointTest.class.getClassLoader()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase].deploy()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.BufferTortureTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].beforeTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.jsr.test.BufferTortureTestCase)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].afterTest()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.jsr.test.BufferTortureTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase
      static: false
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: messagesReceived.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint:110,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - session
    argTypes:
    - String
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint].handleMessage(String,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase.java
    functionUses: 0
    functionsReached:
    - messagesReceived.incrementAndGet()
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint].handleMessage(String,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: upgradesAccepted.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase.java
    functionUses: 0
    functionsReached:
    - upgradesAccepted.incrementAndGet()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.BufferTortureEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase.CustomConfigurator:126,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase.CustomConfigurator:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - originHeaderValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.CustomConfigurator].checkOrigin(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.CustomConfigurator].checkOrigin(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase.CustomConfigurator
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.CustomConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase.CustomConfigurator
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase.CustomConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:62,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].newInstance()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:65,1
    - Dst: BinaryEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.BufferTortureTestCase2)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:65,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.BufferTortureTestCase2)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:65,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:74,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:75,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:72,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:76,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:65,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:83,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].deploy()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:84,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].start()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.BufferTortureTestCase2)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].beforeTests()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.BufferTortureTestCase2)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.BufferTortureTestCase2)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].start()'
    - BinaryEndpointTest.class.getClassLoader()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.BufferTortureTestCase2)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].newInstance()'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].beforeTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.jsr.test.BufferTortureTestCase2)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].afterTest()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.jsr.test.BufferTortureTestCase2)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase2
      static: false
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase2
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: messagesReceived.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2:103,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - session
    argTypes:
    - String
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2].handleMessage(String,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - messagesReceived.incrementAndGet()
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2].handleMessage(String,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: upgradesAccepted.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - upgradesAccepted.incrementAndGet()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.BufferTortureEndpoint2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2.CustomConfigurator:118,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase2.CustomConfigurator:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - originHeaderValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.CustomConfigurator].checkOrigin(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.CustomConfigurator].checkOrigin(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase2.CustomConfigurator
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.CustomConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase2.CustomConfigurator
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase2.CustomConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].<init>(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint:38,1
    - Dst: '[jakarta.websocket.Session].addMessageHandler(io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler)'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryPartialEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].addMessageHandler(io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler)'
    - '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].<init>(jakarta.websocket.Session)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BinaryPartialEndpoint
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryPartialEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BinaryPartialEndpoint
    signature: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      - ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].<init>(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryPartialEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler
    signature: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].<init>(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].onRequest(byte[])'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:55,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].buffer(byte[])'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:58,1
    - Dst: '[ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:59,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].onRequest(io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler)'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:60,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].buffer(byte[])'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      - ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bytes
    - last
    argTypes:
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].onMessage(byte[],boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryPartialEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].buffer(byte[])'
    - '[ByteArrayOutputStream].toByteArray()'
    - '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].onRequest(byte[])'
    - '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].onRequest(io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].onMessage(byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:72,1
    - Dst: '[org.xnio.XnioWorker].execute()'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      - ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].onRequest(byte[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryPartialEndpoint.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.XnioWorker].execute()'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].onRequest(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>(int)'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:84,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler)'
      Src: io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      - ByteArrayOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].buffer(byte[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryPartialEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.io.ByteArrayOutputStream].<init>(int)'
    - '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryPartialEndpoint.BinaryPartialMessageHandler].buffer(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:72,1
    - Dst: '[java.util.Random].nextBytes(byte[])'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:72,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].newInstance()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:76,1
    - Dst: BinaryEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.BinaryEndpointTest)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:76,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:80,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setLoadOnStartup(int)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:76,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:83,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:82,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:76,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:90,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].deploy()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:91,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].start()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:94,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.websockets.jsr.test.BinaryEndpointTest)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.websockets.jsr.test.BinaryEndpointTest)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[java.util.Random].nextBytes(byte[])'
    - '[java.util.Random].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[io.undertow.servlet.Servlets].servlet(String)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].newInstance()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.servlet.api.ServletInfo].setLoadOnStartup(int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.RequestDumpingHandler)'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].start()'
    - BinaryEndpointTest.class.getClassLoader()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.BinaryEndpointTest)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:101,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:105,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].after()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:113,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:114,1
    - Dst: ClientEndpointConfig.Builder.create()
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:116,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].build()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:116,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].getUserProperties()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:117,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].put(String,javax.net.ssl.SSLContext)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:117,1
    - Dst: '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:118,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:118,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].connectToServer(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,io.undertow.websockets.jsr.test.BinaryEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:118,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:119,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].poll(int,io.undertow.websockets.jsr.test.BinaryEndpointTest)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:119,1
    - Dst: '[org.junit.Assert].assertArrayEquals(byte[],io.undertow.websockets.jsr.test.BinaryEndpointTest)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:119,1
    - Dst: endpoint.session.close()
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:120,1
    - Dst: endpoint.closeLatch.await(int,io.undertow.websockets.jsr.test.BinaryEndpointTest)
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:121,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].assertTrue(io.undertow.websockets.jsr.test.BinaryEndpointTest)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].testBytesOnMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].build()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].connectToServer(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,io.undertow.websockets.jsr.test.BinaryEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].poll(int,io.undertow.websockets.jsr.test.BinaryEndpointTest)'
    - '[org.junit.Assert].assertArrayEquals(byte[],io.undertow.websockets.jsr.test.BinaryEndpointTest)'
    - endpoint.session.close()
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].put(String,javax.net.ssl.SSLContext)'
    - ClientEndpointConfig.Builder.create()
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].assertTrue(io.undertow.websockets.jsr.test.BinaryEndpointTest)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
    - '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest].getUserProperties()'
    - endpoint.closeLatch.await(int,io.undertow.websockets.jsr.test.BinaryEndpointTest)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].testBytesOnMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BinaryEndpointTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BinaryEndpointTest
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,int,io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,int,io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint)
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:136,1
    - Dst: '[jakarta.websocket.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:137,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:137,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].sendBinary(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:137,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:138,1
    - Dst: '[jakarta.websocket.Session].addMessageHandler(MessageHandler.Whole)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<byte[]>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointTest.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,int,io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,int,io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint)
    - '[jakarta.websocket.Session].addMessageHandler(MessageHandler.Whole)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].sendBinary(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint)'
    - '[jakarta.websocket.Session].getAsyncRemote()'
    - '[MessageHandler.Whole].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<byte[]>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - closeReason
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<byte[]>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.LinkedBlockingDeque<byte[]>
      static: false
      superClass: Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointTest.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.LinkedBlockingDeque<byte[]>
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:126,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<byte[]>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint
      static: false
      superClass: Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointTest.java
    functionUses: 4
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http.websocketx.WebSocketVersion
      static: false
      superClass: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer08Test].getVersion()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer08Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.netty.handler.codec.http.websocketx.WebSocketVersion
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer08Test].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.JsrWebSocketServer08Test
      static: false
      superClass: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer08Test].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer08Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.JsrWebSocketServer08Test
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer08Test].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http.websocketx.WebSocketVersion
      static: false
      superClass: io.undertow.websockets.jsr.test.JsrWebSocketServer08Test
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer13Test].getVersion()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer13Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.netty.handler.codec.http.websocketx.WebSocketVersion
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer13Test].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.JsrWebSocketServer13Test
      static: false
      superClass: io.undertow.websockets.jsr.test.JsrWebSocketServer08Test
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer13Test].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer13Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.JsrWebSocketServer13Test
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer13Test].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:46,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].size()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:47,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:47,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].containsKey()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:48,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:48,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:50,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].size()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:51,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:51,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].containsKey()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:52,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:52,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:54,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].size()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:55,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:55,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].containsKey()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:56,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:56,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].get()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:57,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:57,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:59,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].size()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:60,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:60,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].containsKey()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:61,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:61,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].get()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:62,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:62,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:64,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].size()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:65,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:65,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].containsKey()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:66,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:66,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].get()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:67,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:67,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].containsKey()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:68,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:68,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].get()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:69,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:69,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].containsKey()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:70,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.websockets.jsr.test.ClassUtilsTest)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest].testExtractHandlerType()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,Boolean>].get()'
    - '[java.util.Map<Class<?>,Boolean>].size()'
    - '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.ClassUtilsTest)'
    - '[java.util.Map<Class<?>,Boolean>].containsKey()'
    - '[org.junit.Assert].assertFalse(io.undertow.websockets.jsr.test.ClassUtilsTest)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.websockets.jsr.test.ClassUtilsTest)'
    - '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest].testExtractHandlerType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getEncoderType()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:76,1
    - Dst: '[org.junit.Assert].assertEquals(Class<?>)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:77,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getEncoderType()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:79,1
    - Dst: '[org.junit.Assert].assertEquals(Class<?>)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:80,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getEncoderType()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:82,1
    - Dst: '[org.junit.Assert].assertEquals(Class<?>)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:83,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getEncoderType()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:85,1
    - Dst: '[org.junit.Assert].assertEquals(Class<?>)'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest].testExtractEncoderType()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.util.ClassUtils].getEncoderType()'
    - '[org.junit.Assert].assertEquals(Class<?>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest].testExtractEncoderType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.MessageHandlerImpl].onMessage(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.MessageHandlerImpl].onMessage(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.MessageHandlerImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.MessageHandlerImpl].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.MessageHandlerImpl
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.MessageHandlerImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - partialMessage
    - last
    argTypes:
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.AsyncMessageHandlerImpl].onMessage(java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.AsyncMessageHandlerImpl].onMessage(java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.AsyncMessageHandlerImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.AsyncMessageHandlerImpl].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.AsyncMessageHandlerImpl
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.AsyncMessageHandlerImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.DummyHandlerImpl
      static: false
      superClass: MessageHandlerImpl
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.DummyHandlerImpl].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.DummyHandlerImpl
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.DummyHandlerImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DummyHandlerImpl
    argCount: 2
    argNames:
    - partialMessage
    - last
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ComplexMessageHandlerImpl].onMessage(String,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ComplexMessageHandlerImpl].onMessage(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DummyHandlerImpl
    argCount: 2
    argNames:
    - bytes
    - last
    argTypes:
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ComplexMessageHandlerImpl].onMessage(byte[],boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ComplexMessageHandlerImpl].onMessage(byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.ComplexMessageHandlerImpl
      static: false
      superClass: DummyHandlerImpl
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ComplexMessageHandlerImpl].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.ComplexMessageHandlerImpl
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ComplexMessageHandlerImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - partialMessage
    - last
    argTypes:
    - T
    - boolean
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ParamSuperclassEncoder].onMessage(T,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ParamSuperclassEncoder].onMessage(T,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.ParamSuperclassEncoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ParamSuperclassEncoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.ParamSuperclassEncoder
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ParamSuperclassEncoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.ByteBufferFromSuperClassEncoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ByteBufferFromSuperClassEncoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.ByteBufferFromSuperClassEncoder
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.ByteBufferFromSuperClassEncoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.websocket.EncodeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - object
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder].encode(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder].encode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder].init(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder].init(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryEncoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.Im1
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.Im1].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.Im1
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.Im1].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.Im2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.Im2].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.Im2
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.Im2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.FinalIm
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.FinalIm].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.FinalIm
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.FinalIm].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.websocket.EncodeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - object
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder].encode(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder].encode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder].init(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder].init(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextEncoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.io.Writer
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.websocket.EncodeException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - object
    - writer
    argTypes:
    - String
    - java.io.Writer
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder].encode(String,java.io.Writer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder].encode(String,java.io.Writer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder].init(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder].init(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.TextStreamEncoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.websocket.EncodeException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - object
    - stream
    argTypes:
    - String
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder].encode(String,java.io.OutputStream)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder].encode(String,java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder].init(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder].init(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ClassUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder
    signature: '[io.undertow.websockets.jsr.test.ClassUtilsTest.BinaryStreamEncoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ServerEndpointConfig.Builder.create(io.undertow.websockets.jsr.test.BinaryEndpointServlet)
      Src: io.undertow.websockets.jsr.test.BinaryEndpointServlet:39,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].build()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointServlet:39,1
    - Dst: '[jakarta.servlet.ServletConfig].getServletContext()'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointServlet:40,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].getAttribute(String)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointServlet:40,1
    - Dst: serverContainer.addEndpoint(io.undertow.websockets.jsr.test.BinaryEndpointServlet)
      Src: io.undertow.websockets.jsr.test.BinaryEndpointServlet:42,1
    - Dst: '[jakarta.servlet.ServletException].<init>(String,io.undertow.websockets.jsr.test.BinaryEndpointServlet)'
      Src: io.undertow.websockets.jsr.test.BinaryEndpointServlet:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].getAttribute(String)'
    - '[jakarta.servlet.ServletConfig].getServletContext()'
    - '[jakarta.servlet.ServletException].<init>(String,io.undertow.websockets.jsr.test.BinaryEndpointServlet)'
    - ServerEndpointConfig.Builder.create(io.undertow.websockets.jsr.test.BinaryEndpointServlet)
    - serverContainer.addEndpoint(io.undertow.websockets.jsr.test.BinaryEndpointServlet)
    - '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].build()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].getServletConfig()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConfig
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].getServletConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].getServletInfo()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].getServletInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BinaryEndpointServlet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BinaryEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BinaryEndpointServlet
    signature: '[io.undertow.websockets.jsr.test.BinaryEndpointServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.ProgramaticEndpoint:32,1
    - Dst: '[jakarta.websocket.Session].addMessageHandler(MessageHandler.Whole)'
      Src: io.undertow.websockets.jsr.test.ProgramaticEndpoint:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].addMessageHandler(MessageHandler.Whole)'
    - '[MessageHandler.Whole].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ProgramaticEndpoint
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ProgramaticEndpoint
    signature: '[io.undertow.websockets.jsr.test.ProgramaticEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].newInstance()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:76,1
    - Dst: TestMessagesReceivedInOrder.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:76,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:76,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:83,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:82,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:76,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:90,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].deploy()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:91,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:93,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].start()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:93,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.List<Throwable>
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 71
    functionDepth: 5
    functionLinenumber: 71
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].start()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].newInstance()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].deploy()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - TestMessagesReceivedInOrder.class.getClassLoader()
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.List<Throwable>
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].cleanup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Throwable>].clear()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:106,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:107,1
    - Dst: ClientEndpointConfig.Builder.create()
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:108,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].build()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:108,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:109,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:110,1
    - Dst: '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:111,1
    - Dst: '[MessageOrderValidatorEndpoint].<init>(java.util.concurrent.atomic.AtomicReference,java.util.concurrent.CountDownLatch)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:112,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:112,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].connectToServer(MessageOrderValidatorEndpoint,io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:111,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:114,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].assertTrue(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:114,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:115,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:116,1
    - Dst: '[org.junit.Assert].fail(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.List<Throwable>
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].testMessagesReceivedInOrder()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.URI].<init>(String)'
    - '[org.junit.Assert].fail(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[org.xnio.FutureResult].<init>()'
    - ClientEndpointConfig.Builder.create()
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].build()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].assertTrue(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder)'
    - '[java.util.List<Throwable>].clear()'
    - '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].connectToServer(MessageOrderValidatorEndpoint,io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder,java.net.URI)'
    - '[MessageOrderValidatorEndpoint].<init>(java.util.concurrent.atomic.AtomicReference,java.util.concurrent.CountDownLatch)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].testMessagesReceivedInOrder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:142,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].update(byte[])'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:143,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].digest()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:144,1
    - Dst: '[io.undertow.util.FlexBase64].encodeBytes(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder,int,io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder,boolean)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:145,1
    - Dst: '[String].<init>(byte[])'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:145,1
    - Dst: '[InternalError].<init>(String)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.List<Throwable>
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].md5(byte[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64].encodeBytes(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder,int,io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder,boolean)'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].digest()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].update(byte[])'
    - '[InternalError].<init>(String)'
    - '[String].<init>(byte[])'
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].md5(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.List<Throwable>
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:127,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:128,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket].md5(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:129,1
    - Dst: '[List<String>].add(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:130,1
    - Dst: '[RuntimeException].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:131,1
    - Dst: stacks.add(RuntimeException)
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:131,1
    - Dst: '[List<String>].size()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:132,1
    - Dst: '[FutureResult<List<String>>].setResult(List<String>)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:133,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:135,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket].sendBinary(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - List<String>
      - FutureResult<List<String>>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dataBuffer
    - session
    argTypes:
    - java.nio.ByteBuffer
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket].onMessage(java.nio.ByteBuffer,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].get(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket)'
    - stacks.add(RuntimeException)
    - '[FutureResult<List<String>>].setResult(List<String>)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket].md5(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket)'
    - '[RuntimeException].<init>()'
    - '[List<String>].size()'
    - '[List<String>].add(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket)'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket].sendBinary(java.nio.ByteBuffer)'
    - '[jakarta.websocket.Session].getBasicRemote()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket].onMessage(java.nio.ByteBuffer,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:122,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<String>
      - FutureResult<List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.FutureResult].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.EchoSocket].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.atomic.AtomicReference<String>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReference<String>
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - error
    - done
    argTypes:
    - java.util.concurrent.atomic.AtomicReference<String>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].<init>(java.util.concurrent.atomic.AtomicReference<String>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].<init>(java.util.concurrent.atomic.AtomicReference<String>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:165,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:166,1
    - Dst: (new Random()).nextBytes(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:169,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].md5(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:170,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:171,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].sendBinary(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:171,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:172,1
    - Dst: EchoSocket.receivedEchos.getIoFuture()
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:175,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].get()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:175,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:176,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:178,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].size()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:179,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:181,1
    - Dst: '[java.util.ArrayList].get(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:183,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].get(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:183,1
    - Dst: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].equals(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:183,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:185,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:190,1
    - Dst: '[AtomicReference<String>].set(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:190,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:192,1
    - Dst: t.printStackTrace()
      Src: io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReference<String>
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - endpointConfig
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 197
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 197
    functionName: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/TestMessagesReceivedInOrder.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
    - '[CountDownLatch].countDown()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].equals(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].get()'
    - '[jakarta.websocket.Session].getBasicRemote()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].get(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
    - '[java.util.ArrayList].get(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].md5(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
    - t.printStackTrace()
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].sendBinary(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].size()'
    - (new Random()).nextBytes(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)
    - '[AtomicReference<String>].set(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
    - EchoSocket.receivedEchos.getIoFuture()
    - '[java.nio.ByteBuffer].wrap(io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint)'
    - '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.TestMessagesReceivedInOrder.MessageOrderValidatorEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].poll(int,io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint)'
      Src: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint:43,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint)'
      Src: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: jakarta.websocket.Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticErrorEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].poll(int,io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].addMessageHandler(MessageHandler.Whole<String>)'
      Src: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticErrorEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].addMessageHandler(MessageHandler.Whole<String>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getClass()'
      Src: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint:64,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getName()'
      Src: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint:64,1
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - thr
    argTypes:
    - jakarta.websocket.Session
    - Throwable
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].onError(jakarta.websocket.Session,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticErrorEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getName()'
    - '[Throwable].getClass()'
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].onError(jakarta.websocket.Session,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - closeReason
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticErrorEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticErrorEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint
    signature: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:62,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].newInstance()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:65,1
    - Dst: BinaryEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.BufferTortureTestCase3)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:65,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.BufferTortureTestCase3)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:65,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:74,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:75,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:72,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:76,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:65,1
    - Dst: System.setProperty(String,String)
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:82,1
    - Dst: System.setProperty(String,String)
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:83,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:84,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].deploy()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:85,1
    - Dst: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].start()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.BufferTortureTestCase3)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].beforeTests()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase3.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.BufferTortureTestCase3)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].newInstance()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.BufferTortureTestCase3)'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    - BinaryEndpointTest.class.getClassLoader()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - System.setProperty(String,String)
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.BufferTortureTestCase3)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].start()'
    - '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].beforeTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.jsr.test.BufferTortureTestCase3)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:92,1
    - Dst: System.clearProperty(String)
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:93,1
    - Dst: System.clearProperty(String)
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].afterTest()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase3.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.jsr.test.BufferTortureTestCase3)'
    - System.clearProperty(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase3
      static: false
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase3.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase3
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: messagesReceived.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint:106,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - session
    argTypes:
    - String
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint].handleMessage(String,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase3.java
    functionUses: 0
    functionsReached:
    - messagesReceived.incrementAndGet()
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint].handleMessage(String,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: upgradesAccepted.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase3.java
    functionUses: 0
    functionsReached:
    - upgradesAccepted.incrementAndGet()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase3.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.BufferTortureEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3.CustomConfigurator:122,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.BufferTortureTestCase3.CustomConfigurator:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - originHeaderValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.CustomConfigurator].checkOrigin(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase3.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.CustomConfigurator].checkOrigin(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.BufferTortureTestCase3.CustomConfigurator
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.CustomConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/BufferTortureTestCase3.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.BufferTortureTestCase3.CustomConfigurator
    signature: '[io.undertow.websockets.jsr.test.BufferTortureTestCase3.CustomConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:91,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:92,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:93,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:94,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:99,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:100,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:112,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:112,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:112,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:114,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:114,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:114,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:114,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:114,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:114,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:115,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:117,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:117,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:117,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:118,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:119,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:119,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:119,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:119,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:121,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:121,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:122,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:122,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteBuffer()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:128,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:129,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:130,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:131,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:135,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:136,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:144,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:144,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:144,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:144,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:145,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:145,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:145,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:145,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:145,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:145,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:147,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:149,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:149,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:149,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:150,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:151,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:151,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:151,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:151,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:153,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:153,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:154,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:154,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 156
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteArray()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:160,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:161,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:162,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:163,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:168,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:169,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:169,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:177,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:177,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:177,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:177,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:178,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:178,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:178,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:178,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:178,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:178,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:179,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:181,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:181,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:181,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:182,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:183,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:183,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:183,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:183,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:185,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:185,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:186,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:186,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 5
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testText()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testText()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:192,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:193,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:194,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:195,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:196,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:201,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:202,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:202,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:223,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:223,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:223,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:223,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:225,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:225,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:225,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:225,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:225,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:225,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:226,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:228,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:228,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:228,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:229,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:230,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:230,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:230,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:230,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:232,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:232,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:233,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:233,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:233,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:235,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:236,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getException()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:237,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:237,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 240
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteBufferByCompletion()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[org.junit.Assert].assertNotNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getException()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteBufferByCompletion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:244,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:245,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:246,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:247,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:248,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:253,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:254,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:254,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:269,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:269,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:269,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:269,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:271,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:271,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:271,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:271,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:271,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:271,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:273,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:275,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:275,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:275,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:276,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:277,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:277,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:277,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:277,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:279,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:279,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:280,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:280,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:280,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:282,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:283,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getException()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:284,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:284,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 242
    functionDepth: 5
    functionLinenumber: 242
    functionLinenumberEnd: 287
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testTextByCompletion()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[TestEndPoint].<init>()'
    - '[org.junit.Assert].assertNotNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getException()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testTextByCompletion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:291,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:292,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:293,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:294,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:299,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:300,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:300,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:312,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:312,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:312,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:312,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:314,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:314,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:314,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:314,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:314,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:314,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:315,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:317,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:317,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:317,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:318,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:319,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:319,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:319,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:319,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:321,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:321,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:323,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 328
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteBufferByFuture()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].get()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteBufferByFuture()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:332,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:333,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:334,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:335,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:340,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:341,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:341,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:349,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:349,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:349,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:349,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:350,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:350,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:350,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:350,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:350,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:350,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:351,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:353,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:353,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:353,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:354,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:355,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:355,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:355,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:355,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:357,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:357,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:359,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 364
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testTextByFuture()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testTextByFuture()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:368,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:369,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:370,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:371,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:375,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:376,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:376,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:395,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:395,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:395,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:395,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:397,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:397,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:397,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:397,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:397,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:397,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:399,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:401,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:401,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:401,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:402,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:403,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:403,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:403,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:403,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:405,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:405,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:406,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:406,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 408
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteArrayUsingStream()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteArrayUsingStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:412,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:413,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:414,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:415,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:420,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:421,1
    - Dst: session.addMessageHandler(MessageHandler.Whole)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:421,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:439,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:439,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:439,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:439,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:441,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:441,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:441,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:441,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:441,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:441,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:442,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:444,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:444,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:444,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:445,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:446,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:446,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:446,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:446,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:448,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:448,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:449,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:449,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 451
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testTextUsingWriter()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - session.addMessageHandler(MessageHandler.Whole)
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Whole].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testTextUsingWriter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:455,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:456,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:457,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:458,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:463,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:466,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:466,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:466,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:466,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:468,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:468,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:468,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:468,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:468,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:468,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:469,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:471,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:471,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:471,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:472,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:473,1
    - Dst: '[io.netty.handler.codec.http.websocketx.PingWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:473,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:473,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.PingWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:473,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:475,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:475,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:476,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:476,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 478
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testPingPong()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.PingWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.netty.handler.codec.http.websocketx.PingWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testPingPong()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:484,1
    - Dst: reasonText.length()
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:485,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:485,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].putShort(short)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:486,1
    - Dst: reasonText.getBytes(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:487,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].put(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:487,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].flip()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:488,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:490,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:491,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:492,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:493,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:498,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:503,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].set(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:504,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:505,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:508,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:508,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:508,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:508,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:510,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:510,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:510,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:510,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:510,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:510,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:511,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:513,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:513,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:513,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:514,1
    - Dst: '[io.netty.handler.codec.http.websocketx.CloseWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:515,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].array()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:515,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:515,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.CloseWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:515,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:517,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:517,1
    - Dst: '[java.util.concurrent.CountDownLatch].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:518,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:519,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getCloseCode()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:519,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getCode()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:519,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:519,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:520,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getReasonPhrase()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:520,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:520,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:521,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(int,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:521,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 480
    functionDepth: 5
    functionLinenumber: 480
    functionLinenumberEnd: 523
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testCloseFrame()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].putShort(short)'
    - reasonText.length()
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getCode()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[java.util.concurrent.CountDownLatch].await()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getCloseCode()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.netty.handler.codec.http.websocketx.CloseWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getReasonPhrase()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[java.nio.ByteBuffer].allocate(int)'
    - '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(int,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].put(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - reasonText.getBytes(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].array()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.atomic.AtomicReference].set(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.CloseWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].flip()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testCloseFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:531,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:532,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].putShort(short)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:533,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].flip()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:534,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:536,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:537,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:538,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:539,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:544,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:549,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].set(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:550,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:551,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:554,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:554,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:554,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:554,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:556,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:556,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:556,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:556,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:556,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:556,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:557,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:559,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:559,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:559,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:560,1
    - Dst: '[io.netty.handler.codec.http.websocketx.CloseWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,null)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:561,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].array()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:561,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:561,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.CloseWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:561,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:562,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await(int,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:562,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:562,1
    - Dst: '[java.util.concurrent.CountDownLatch].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:563,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:564,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getCloseCode()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:564,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getCode()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:564,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:564,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:565,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getReasonPhrase()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:565,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:565,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:566,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(int,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:566,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 528
    functionDepth: 5
    functionLinenumber: 528
    functionLinenumberEnd: 568
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testCloseFrameWithoutReasonBody()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].putShort(short)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getCode()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[java.util.concurrent.CountDownLatch].await()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getCloseCode()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getReasonPhrase()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await(int,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[java.nio.ByteBuffer].allocate(int)'
    - '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(int,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.netty.handler.codec.http.websocketx.CloseWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,null)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].array()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.atomic.AtomicReference].set(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.CloseWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].flip()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testCloseFrameWithoutReasonBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:572,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:573,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:574,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:575,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:580,1
    - Dst: '[MessageHandler.Partial].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:581,1
    - Dst: session.addMessageHandler(MessageHandler.Partial)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:581,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:593,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:593,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:593,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:593,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:595,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:595,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:595,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:595,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:595,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:595,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:596,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:598,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:598,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:598,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:599,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:600,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:600,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:600,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:600,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:602,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:602,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:603,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:603,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 570
    functionDepth: 5
    functionLinenumber: 570
    functionLinenumberEnd: 605
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteBufferAsync()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - session.addMessageHandler(MessageHandler.Partial)
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Partial].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testBinaryWithByteBufferAsync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:609,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:610,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:611,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:612,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:616,1
    - Dst: '[MessageHandler.Partial].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:617,1
    - Dst: session.addMessageHandler(MessageHandler.Partial)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:617,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:632,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:632,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:632,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:632,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:634,1
    - Dst: '[TestEndPoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:634,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:634,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:634,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:634,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:634,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:635,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:637,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:637,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:637,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:638,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:639,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:639,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:639,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:639,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:641,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:641,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:642,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:642,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 644
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testTextAsync()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - session.addMessageHandler(MessageHandler.Partial)
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[TestEndPoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(TestEndPoint)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].await()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,org.xnio.FutureResult)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[MessageHandler.Partial].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testTextAsync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:649,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:649,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:649,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:649,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:651,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:651,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:651,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:651,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:651,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:651,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:652,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:654,1
    - Dst: '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:656,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:656,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].connectToServer(io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:656,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:657,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:657,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:658,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].sendText(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:658,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:659,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:659,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:660,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:660,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].isOpen()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:661,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertTrue(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:661,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:663,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].sendText(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:663,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:664,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:664,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:665,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:665,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].isOpen()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:666,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertTrue(boolean)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:666,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:667,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:668,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 648
    functionDepth: 5
    functionLinenumber: 648
    functionLinenumberEnd: 669
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testErrorHandling()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].isOpen()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertTrue(boolean)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].configurator(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getBasicRemote()'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getAsyncRemote()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.test.util.TestClassIntrospector,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,boolean,boolean)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].build()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].sendText(String)'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
    - ServerEndpointConfig.Builder.create(String)
    - '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].getMessage()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint].<init>()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].connectToServer(io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint,java.net.URI)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(io.undertow.websockets.jsr.test.ProgramaticErrorEndpoint)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].testErrorHandling()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http.websocketx.WebSocketVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: io.netty.handler.codec.http.websocketx.WebSocketVersion
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:676,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:678,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getClass()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:679,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getClassLoader()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:679,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:678,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:678,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:678,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:678,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:683,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:678,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:678,1
    - Dst: jakarta.websocket.server.ServerContainer.class.getName()
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:685,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:678,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:687,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].newInstance()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:688,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:689,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deploy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:690,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:691,1
    - Dst: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].start()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:691,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:691,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - deployment
    argTypes:
    - io.undertow.websockets.jsr.ServerWebSocketContainer
    constantsTouched: []
    func_position:
      end: 694
      start: 675
    functionDepth: 4
    functionLinenumber: 675
    functionLinenumberEnd: 694
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 15
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getClass()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].getClassLoader()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(io.undertow.websockets.jsr.test.JsrWebSocketServer07Test,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - jakarta.websocket.server.ServerContainer.class.getName()
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.JsrWebSocketServer07Test)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].deployServlet(io.undertow.websockets.jsr.ServerWebSocketContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:699,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].cleanup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 711
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 711
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(Object)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].<init>(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - endpointClass
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].getEndpointInstance(Class<T>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/JsrWebSocketServer07Test.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.jsr.test.JsrWebSocketServer07Test.InstanceConfigurator].getEndpointInstance(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:61,1
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].newInstance()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:64,1
    - Dst: BinaryEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.FrameTortureTestCase2)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:64,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.FrameTortureTestCase2)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:64,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:71,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:73,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:74,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:71,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:75,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:71,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:64,1
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:82,1
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].deploy()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:83,1
    - Dst: System.setProperty(String,String)
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:85,1
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].start()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.FrameTortureTestCase2)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].beforeTests()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.FrameTortureTestCase2)'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].start()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.FrameTortureTestCase2)'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - BinaryEndpointTest.class.getClassLoader()
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].deploy()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - System.setProperty(String,String)
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.FrameTortureTestCase2)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].newInstance()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].beforeTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.clearProperty(String)
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].afterTest()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - System.clearProperty(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.FrameTortureTestCase2
      static: false
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.FrameTortureTestCase2
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: messagesReceived.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2:105,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - session
    argTypes:
    - String
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2].handleMessage(String,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - messagesReceived.incrementAndGet()
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2].handleMessage(String,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: upgradesAccepted.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - upgradesAccepted.incrementAndGet()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.BufferTortureEndpoint2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2.CustomConfigurator:120,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase2.CustomConfigurator:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - originHeaderValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.CustomConfigurator].checkOrigin(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase2.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.CustomConfigurator].checkOrigin(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.FrameTortureTestCase2.CustomConfigurator
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.CustomConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.FrameTortureTestCase2.CustomConfigurator
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase2.CustomConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].newInstance()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:67,1
    - Dst: ProgramaticLazyEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:67,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:71,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setLoadOnStartup(int)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:67,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:74,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:75,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:73,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:67,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:81,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].deploy()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:82,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].start()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 6
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticLazyEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[io.undertow.servlet.Servlets].servlet(String)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].deploy()'
    - '[io.undertow.servlet.api.ServletInfo].setLoadOnStartup(int)'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].start()'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].newInstance()'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - ProgramaticLazyEndpointTest.class.getClassLoader()
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].after()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticLazyEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:103,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:104,1
    - Dst: ClientEndpointConfig.Builder.create()
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:106,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].build()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:106,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].getUserProperties()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:107,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].put(String,javax.net.ssl.SSLContext)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:107,1
    - Dst: '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:108,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:108,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].connectToServer(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:108,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:109,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].poll(int,io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:109,1
    - Dst: endpoint.session.close()
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:110,1
    - Dst: endpoint.closeLatch.await(int,io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:111,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].assertTrue(io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].testStringOnMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticLazyEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].put(String,javax.net.ssl.SSLContext)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].connectToServer(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest,java.net.URI)'
    - endpoint.session.close()
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].assertTrue(io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
    - ClientEndpointConfig.Builder.create()
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].build()'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].poll(int,io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].getUserProperties()'
    - '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
    - endpoint.closeLatch.await(int,io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].testStringOnMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticLazyEndpointTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest
    signature: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint:124,1
    - Dst: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].sendText(String)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint:124,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint:125,1
    - Dst: '[jakarta.websocket.Session].addMessageHandler(MessageHandler.Whole)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticLazyEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].addMessageHandler(MessageHandler.Whole)'
    - '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].sendText(String)'
    - '[MessageHandler.Whole].<init>()'
    - '[jakarta.websocket.Session].getAsyncRemote()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - closeReason
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticLazyEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.LinkedBlockingDeque<String>
      static: false
      superClass: Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].getResponses()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticLazyEndpointTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.LinkedBlockingDeque<String>
    signature: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].getResponses()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint:116,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint
      static: false
      superClass: Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/ProgramaticLazyEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint
    signature: '[io.undertow.websockets.jsr.test.ProgramaticLazyEndpointTest.ProgramaticClientEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:62,1
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].newInstance()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:65,1
    - Dst: BinaryEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.FrameTortureTestCase)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:65,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.FrameTortureTestCase)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:65,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener].<init>()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:73,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener(io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:80,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:81,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:72,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:82,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:65,1
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:89,1
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].deploy()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:90,1
    - Dst: System.setProperty(String,String)
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:94,1
    - Dst: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].start()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.FrameTortureTestCase)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 97
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].beforeTests()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener(io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener)'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase].newInstance()'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase].deploy()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener].<init>()'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase].assertNull(String,io.undertow.servlet.api.DeploymentManager)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.jsr.test.FrameTortureTestCase)'
    - BinaryEndpointTest.class.getClassLoader()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - System.setProperty(String,String)
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.websockets.jsr.test.FrameTortureTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.FrameTortureTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.FrameTortureTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].beforeTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.clearProperty(String)
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].afterTest()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase.java
    functionUses: 0
    functionsReached:
    - System.clearProperty(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.FrameTortureTestCase
      static: false
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.FrameTortureTestCase
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: messagesReceived.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint:114,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - session
    argTypes:
    - String
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint].handleMessage(String,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase.java
    functionUses: 0
    functionsReached:
    - messagesReceived.incrementAndGet()
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint].handleMessage(String,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: upgradesAccepted.incrementAndGet()
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase.java
    functionUses: 0
    functionsReached:
    - upgradesAccepted.incrementAndGet()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Writer
      - OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.BufferTortureEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase.CustomConfigurator:130,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.FrameTortureTestCase.CustomConfigurator:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - originHeaderValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.CustomConfigurator].checkOrigin(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.CustomConfigurator].checkOrigin(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.FrameTortureTestCase.CustomConfigurator
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.CustomConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/FrameTortureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.FrameTortureTestCase.CustomConfigurator
    signature: '[io.undertow.websockets.jsr.test.FrameTortureTestCase.CustomConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ServerEndpointConfig.Builder.create(io.undertow.websockets.jsr.test.AddEndpointServlet)
      Src: io.undertow.websockets.jsr.test.AddEndpointServlet:39,1
    - Dst: '[io.undertow.websockets.jsr.test.AddEndpointServlet].build()'
      Src: io.undertow.websockets.jsr.test.AddEndpointServlet:39,1
    - Dst: '[jakarta.servlet.ServletConfig].getServletContext()'
      Src: io.undertow.websockets.jsr.test.AddEndpointServlet:40,1
    - Dst: '[io.undertow.websockets.jsr.test.AddEndpointServlet].getAttribute(String)'
      Src: io.undertow.websockets.jsr.test.AddEndpointServlet:40,1
    - Dst: serverContainer.addEndpoint(io.undertow.websockets.jsr.test.AddEndpointServlet)
      Src: io.undertow.websockets.jsr.test.AddEndpointServlet:42,1
    - Dst: '[jakarta.servlet.ServletException].<init>(String,io.undertow.websockets.jsr.test.AddEndpointServlet)'
      Src: io.undertow.websockets.jsr.test.AddEndpointServlet:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.jsr.test.AddEndpointServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/AddEndpointServlet.java
    functionUses: 0
    functionsReached:
    - ServerEndpointConfig.Builder.create(io.undertow.websockets.jsr.test.AddEndpointServlet)
    - '[jakarta.servlet.ServletConfig].getServletContext()'
    - '[io.undertow.websockets.jsr.test.AddEndpointServlet].build()'
    - serverContainer.addEndpoint(io.undertow.websockets.jsr.test.AddEndpointServlet)
    - '[jakarta.servlet.ServletException].<init>(String,io.undertow.websockets.jsr.test.AddEndpointServlet)'
    - '[io.undertow.websockets.jsr.test.AddEndpointServlet].getAttribute(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.AddEndpointServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.test.AddEndpointServlet].getServletConfig()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/AddEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConfig
    signature: '[io.undertow.websockets.jsr.test.AddEndpointServlet].getServletConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.jsr.test.AddEndpointServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/AddEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.AddEndpointServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.jsr.test.AddEndpointServlet].getServletInfo()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/AddEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.AddEndpointServlet].getServletInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.jsr.test.AddEndpointServlet].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/AddEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.AddEndpointServlet].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.AddEndpointServlet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.AddEndpointServlet].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/AddEndpointServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.AddEndpointServlet
    signature: '[io.undertow.websockets.jsr.test.AddEndpointServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:93,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].newInstance()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:95,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:97,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:98,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:99,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:101,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:102,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:103,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:104,1
    - Dst: '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:105,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:105,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.Servlets].filter(String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:113,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:117,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:118,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:116,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:116,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:116,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:123,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:124,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:124,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:123,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:123,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].setEmptyRoleSemantic(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:123,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:123,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:129,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].deploy()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:130,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:131,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].start()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:131,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:131,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 134
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.LoginConfig].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].setEmptyRoleSemantic(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[java.util.HashMap].put(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.Servlets].filter(String)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].newInstance()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:139,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].cleanup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:148,1
    - Dst: ClientEndpointConfig.Builder.create()
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:149,1
    - Dst: '[CustomClientConfigurator].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:149,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].configurator(CustomClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:149,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].build()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:149,1
    - Dst: '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:150,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:150,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].connectToServer(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:150,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:151,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].poll(int,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:151,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].assertEquals(String,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:151,1
    - Dst: endpoint.session.close()
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:152,1
    - Dst: endpoint.closeLatch.await(int,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:153,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].assertTrue(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].testAuthenticatedWebsocket()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - endpoint.closeLatch.await(int,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].connectToServer(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase,java.net.URI)'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].poll(int,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - endpoint.session.close()
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].configurator(CustomClientConfigurator)'
    - ClientEndpointConfig.Builder.create()
    - '[CustomClientConfigurator].<init>()'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].assertEquals(String,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].assertTrue(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].build()'
    - '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].testAuthenticatedWebsocket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:158,1
    - Dst: ClientEndpointConfig.Builder.create()
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:159,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].build()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:159,1
    - Dst: '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:160,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:160,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].connectToServer(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:160,1
    - Dst: '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:161,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].poll(int,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:161,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].assertEquals(String,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:161,1
    - Dst: endpoint.session.close()
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:162,1
    - Dst: endpoint.closeLatch.await(int,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:163,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].assertTrue(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].testWrappedRequest()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - endpoint.closeLatch.await(int,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].connectToServer(io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase,java.net.URI)'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].poll(int,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - endpoint.session.close()
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].<init>()'
    - ClientEndpointConfig.Builder.create()
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].assertEquals(String,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].assertTrue(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase)'
    - '[io.undertow.websockets.jsr.test.BinaryEndpointTest.ProgramaticClientEndpoint].getResponses()'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].build()'
    - '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].testWrappedRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].addMessageHandler()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].addMessageHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - closeReason
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.LinkedBlockingDeque<String>
      static: false
      superClass: Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint].getResponses()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.LinkedBlockingDeque<String>
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint].getResponses()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint:168,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      - CountDownLatch
      - Session
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint
      static: false
      superClass: Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ProgramaticClientEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint:194,1
    - Dst: '[jakarta.websocket.Session].getUserPrincipal()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint:194,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint].getName()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint:194,1
    - Dst: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint].sendText(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint:194,1
    - Dst: '[jakarta.websocket.Session].close()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint].open(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint].getName()'
    - '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint].sendText(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint)'
    - '[jakarta.websocket.Session].getUserPrincipal()'
    - '[jakarta.websocket.Session].close()'
    - '[jakarta.websocket.Session].getBasicRemote()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint].open(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.SecuredEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ServletRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter:208,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(ServletRequestWrapper,jakarta.servlet.ServletResponse)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - servletRequest
    - servletResponse
    - filterChain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[ServletRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
    - '[jakarta.servlet.FilterChain].doFilter(ServletRequestWrapper,jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.WrapperFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ServletRequestWrapper:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ServletRequestWrapper
      static: false
      superClass: HttpServletRequestWrapper
    argCount: 1
    argNames:
    - request
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ServletRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ServletRequestWrapper
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ServletRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.Principal
      static: false
      superClass: HttpServletRequestWrapper
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ServletRequestWrapper].getUserPrincipal()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.ServletRequestWrapper].getUserPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator:233,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator:233,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator,boolean)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator:233,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator:233,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].put(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: ClientConfigurator
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator].beforeRequest(java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator,boolean)'
    - '[java.util.Map<String,java.util.List<String>>].put(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator,io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator)'
    - '[java.util.Collections].singletonList(io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator)'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator].beforeRequest(java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator
      static: false
      superClass: ClientConfigurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/security/WebsocketBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator
    signature: '[io.undertow.websockets.jsr.test.security.WebsocketBasicAuthTestCase.CustomClientConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.sleep(int)
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeEndpoint:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeEndpoint].handleMessage(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeEndpoint.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(int)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeEndpoint].handleMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeEndpoint
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].newInstance()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:71,1
    - Dst: TestMessagesReceivedInOrder.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:71,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:71,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:78,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:79,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:77,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:77,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:71,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:87,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].deploy()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:88,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:92,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].start()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:92,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:92,1
    - Dst: e.printStackTrace()
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].setUp()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].deploy()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - TestMessagesReceivedInOrder.class.getClassLoader()
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - e.printStackTrace()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].setUp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:101,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].cleanUp()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].cleanUp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:108,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:109,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:110,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:110,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:110,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:110,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:110,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:110,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].get()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:110,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].getReceiveSetter()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:112,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].<init>(java.util.concurrent.atomic.AtomicReference,java.util.concurrent.CountDownLatch)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:112,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].set(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:112,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].resumeReceives()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:113,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].isOpen()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:114,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:114,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase,null)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:115,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:116,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].pause(null)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:117,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:119,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:119,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:120,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].resume()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].testConnectionWaitsForMessageEnd()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].resumeReceives()'
    - '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].<init>(java.util.concurrent.atomic.AtomicReference,java.util.concurrent.CountDownLatch)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].pause(null)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].isOpen()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].resume()'
    - '[java.net.URI].<init>(String)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].set(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener)'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].get()'
    - Thread.sleep(int)
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].getReceiveSetter()'
    - '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase,null)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].testConnectionWaitsForMessageEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:128,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:129,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:130,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:130,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:130,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:130,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:130,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:130,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].get()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:130,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].getReceiveSetter()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:132,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].set()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:132,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].resumeReceives()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:151,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].isOpen()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:152,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:152,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:153,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].pause(null)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:154,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:156,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:156,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:157,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:157,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].resume()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 161
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].testConnectionClosedOnPause()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].resumeReceives()'
    - '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].pause(null)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].isOpen()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].resume()'
    - '[java.net.URI].<init>(String)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].get()'
    - Thread.sleep(int)
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].set()'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].getReceiveSetter()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].testConnectionClosedOnPause()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].pause(null)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:166,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:167,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:167,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:167,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:167,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:167,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:167,1
    - Dst: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].get()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:167,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:169,1
    - Dst: '[org.junit.Assert].fail()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:170,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].resume()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].testRejectWhenSuspended()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].pause(null)'
    - '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].get()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].resume()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
    - '[org.junit.Assert].fail()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].testRejectWhenSuspended()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.atomic.AtomicReference<String>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      - AtomicReference<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - message
    - done
    argTypes:
    - java.util.concurrent.atomic.AtomicReference<String>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].<init>(java.util.concurrent.atomic.AtomicReference<String>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].<init>(java.util.concurrent.atomic.AtomicReference<String>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].getData()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:190,1
    - Dst: '[AtomicReference<String>].set(String)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:190,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedTextMessage
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      - AtomicReference<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - msg
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedTextMessage
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].countDown()'
    - '[AtomicReference<String>].set(String)'
    - '[io.undertow.websockets.core.BufferedTextMessage].getData()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:196,1
    - Dst: '[AtomicReference<String>].set(String)'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:197,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      - AtomicReference<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - error
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Throwable
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[AtomicReference<String>].set(String)'
    - '[Throwable].printStackTrace()'
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:203,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].free()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:203,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      - AtomicReference<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/suspendresume/SuspendResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].free()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.suspendresume.SuspendResumeTestCase.ReceiveListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:76,1
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:77,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].newInstance()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:81,1
    - Dst: WebsocketStressTestCase.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:81,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:81,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:88,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:89,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:87,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:87,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:87,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:81,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:97,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].deploy()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:98,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:100,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].start()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:100,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - jakarta.websocket.WebSocketContainer
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].newInstance()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - WebsocketStressTestCase.class.getClassLoader()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<String>].clear()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:105,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:108,1
    - Dst: '[java.util.concurrent.ExecutorService].shutdownNow()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - jakarta.websocket.WebSocketContainer
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].after()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[java.util.Set<String>].clear()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    - '[java.util.concurrent.ExecutorService].shutdownNow()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:117,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:119,1
    - Dst: '[java.util.ArrayList].add(java.util.concurrent.CountDownLatch)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:120,1
    - Dst: '[StringTestEndpoint].<init>(java.util.concurrent.CountDownLatch)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:121,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:121,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(StringTestEndpoint,null,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:121,1
    - Dst: '[java.util.concurrent.ExecutorService].submit()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:123,1
    - Dst: future.await(int,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:133,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertTrue(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:133,1
    - Dst: '[java.util.Set<String>].remove(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:138,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertTrue(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:138,1
    - Dst: '[java.util.Set<String>].size()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:141,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertEquals(int,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - jakarta.websocket.WebSocketContainer
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].webSocketStringStressTestCase()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.ExecutorService].submit()'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertTrue(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[java.net.URI].<init>(String)'
    - future.await(int,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertEquals(int,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(StringTestEndpoint,null,java.net.URI)'
    - '[StringTestEndpoint].<init>(java.util.concurrent.CountDownLatch)'
    - '[java.util.Set<String>].remove(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[java.util.ArrayList].add(java.util.concurrent.CountDownLatch)'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertTrue(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[java.util.Set<String>].size()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].webSocketStringStressTestCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:146,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:147,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:149,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:151,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:152,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:154,1
    - Dst: '[FragmentationTestEndpoint].<init>(java.io.ByteArrayOutputStream,java.util.concurrent.CountDownLatch)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:155,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:155,1
    - Dst: '[jakarta.websocket.WebSocketContainer].connectToServer(FragmentationTestEndpoint,null,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:155,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:157,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].getSendStream()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:157,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].length()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:158,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].charAt(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:159,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].write(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:159,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].flush()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:160,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].close()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:162,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:163,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertTrue(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:163,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:164,1
    - Dst: '[String].<init>(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:164,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertEquals(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase,String)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - jakarta.websocket.WebSocketContainer
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].websocketFragmentationStressTestCase()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].charAt(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[StringBuilder].append(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[jakarta.websocket.WebSocketContainer].connectToServer(FragmentationTestEndpoint,null,java.net.URI)'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].length()'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].getBasicRemote()'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].write(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[FragmentationTestEndpoint].<init>(java.io.ByteArrayOutputStream,java.util.concurrent.CountDownLatch)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[String].<init>(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].getSendStream()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].close()'
    - '[StringBuilder].append(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertTrue(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase)'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].flush()'
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].assertEquals(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].websocketFragmentationStressTestCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - jakarta.websocket.WebSocketContainer
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - int
      - java.util.concurrent.ExecutorService
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      - int
      - AtomicInteger
      - ExecutorService
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - thread
    - executor
    argTypes:
    - jakarta.websocket.Session
    - int
    - java.util.concurrent.ExecutorService
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable].<init>(jakarta.websocket.Session,int,java.util.concurrent.ExecutorService)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable].<init>(jakarta.websocket.Session,int,java.util.concurrent.ExecutorService)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable:182,1
    - Dst: '[AtomicInteger].get()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable:182,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable].sendText(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable)'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      - int
      - AtomicInteger
      - ExecutorService
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 199
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable].run()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable].sendText(io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable)'
    - '[io.undertow.server.session.Session].getAsyncRemote()'
    - '[AtomicInteger].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.SendRunnable].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint
      static: false
      superClass: Endpoint
    argCount: 1
    argNames:
    - latch
    argTypes:
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint].<init>(java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint].<init>(java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - closeReason
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - thr
    argTypes:
    - jakarta.websocket.Session
    - Throwable
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint].onError(jakarta.websocket.Session,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.StringTestEndpoint].onError(jakarta.websocket.Session,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.ByteArrayOutputStream
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - out
    - done
    argTypes:
    - java.io.ByteArrayOutputStream
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint].<init>(java.io.ByteArrayOutputStream,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint].<init>(java.io.ByteArrayOutputStream,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].addMessageHandler()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].addMessageHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - closeReason
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint:255,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Endpoint
    argCount: 2
    argNames:
    - session
    - thr
    argTypes:
    - jakarta.websocket.Session
    - Throwable
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint].onError(jakarta.websocket.Session,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/WebsocketStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[Throwable].printStackTrace()'
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.WebsocketStressTestCase.FragmentationTestEndpoint].onError(jakarta.websocket.Session,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:47,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:49,1
    - Dst: Thread.currentThread()
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:50,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].getName()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:50,1
    - Dst: '[jakarta.websocket.Session].close()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:51,1
    - Dst: '[java.util.Set<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - String
      - java.io.OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - message
    argTypes:
    - jakarta.websocket.Session
    - String
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].handleMessage(jakarta.websocket.Session,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/StressEndpoint.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    - '[jakarta.websocket.Session].close()'
    - Thread.currentThread()
    - '[java.util.Set<String>].add(String)'
    - '[io.undertow.websockets.jsr.test.stress.StressEndpoint].getName()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].handleMessage(jakarta.websocket.Session,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:60,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].getSendStream()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:60,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:62,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.websockets.jsr.test.stress.StressEndpoint)'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:63,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].write(io.undertow.websockets.jsr.test.stress.StressEndpoint)'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:64,1
    - Dst: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].close()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:67,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - String
      - java.io.OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - message
    - last
    argTypes:
    - jakarta.websocket.Session
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].handleMessage(jakarta.websocket.Session,java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/StressEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.stress.StressEndpoint].write(io.undertow.websockets.jsr.test.stress.StressEndpoint)'
    - '[java.io.OutputStream].flush()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].get(io.undertow.websockets.jsr.test.stress.StressEndpoint)'
    - '[io.undertow.websockets.jsr.test.stress.StressEndpoint].close()'
    - '[jakarta.websocket.Session].getBasicRemote()'
    - '[io.undertow.websockets.jsr.test.stress.StressEndpoint].getSendStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].handleMessage(jakarta.websocket.Session,java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:76,1
    - Dst: '[java.io.OutputStream].close()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - String
      - java.io.OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].onError(Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/StressEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.io.OutputStream].close()'
    - '[Throwable].printStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].onError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:38,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.jsr.test.stress.StressEndpoint:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      - String
      - java.io.OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.stress.StressEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/stress/StressEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.stress.StressEndpoint
    signature: '[io.undertow.websockets.jsr.test.stress.StressEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].<init>(int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnServer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:60,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].getMap()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].createWorker(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:63,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:72,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:72,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:72,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].getMap()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:72,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:76,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:77,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:78,1
    - Dst: '[java.net.InetSocketAddress].<init>(int)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:79,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:79,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].resumeAccepts()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:81,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].newInstance()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:84,1
    - Dst: ProgramaticAutobahnServer.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:84,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:93,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:93,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:93,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:93,1
    - Dst: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].<init>(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:97,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(io.undertow.websockets.jsr.ServerEndpointConfigImpl)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:93,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:98,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:84,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:101,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].deploy()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:102,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].start()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:105,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:105,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].run()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].newInstance()'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].resumeAccepts()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
    - '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].<init>(String)'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,int)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].start()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
    - '[java.net.InetSocketAddress].<init>(int)'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].createWorker(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(io.undertow.websockets.jsr.ServerEndpointConfigImpl)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - ProgramaticAutobahnServer.class.getClassLoader()
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer,boolean)'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].getMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:114,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      - int
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].cleanup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].<init>(int)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:120,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].run()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 7
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].main(String[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].<init>(int)'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].run()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnServer].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].<init>(int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/AnnotatedAutobahnServer.java
    functionUses: 1
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer
    signature: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:61,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].getMap()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].createWorker(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:65,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:76,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:76,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:76,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].getMap()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:76,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:80,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:81,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:82,1
    - Dst: '[java.net.InetSocketAddress].<init>(int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:83,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:83,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].resumeAccepts()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:85,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].newInstance()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:89,1
    - Dst: AnnotatedAutobahnServer.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:89,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:95,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:95,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:95,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:95,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:95,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:100,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:89,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:102,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:89,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:105,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].deploy()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:106,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].start()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:109,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:109,1
    - Dst: '[org.jboss.logging.Logger].error(String,io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:111,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].undeploy()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:114,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].stop()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:116,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 122
    functionName: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].run()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/AnnotatedAutobahnServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].start()'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,boolean)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].createWorker(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].undeploy()'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].set(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer,int)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
    - '[java.net.InetSocketAddress].<init>(int)'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].resumeAccepts()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].stop()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    - '[org.jboss.logging.Logger].error(String,io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].deploy()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].newInstance()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - AnnotatedAutobahnServer.class.getClassLoader()
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].getMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].<init>(int)'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:125,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].run()'
      Src: io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 7
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].main(String[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/AnnotatedAutobahnServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].<init>(int)'
    - '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].run()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.AnnotatedAutobahnServer].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:41,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].getSendWriter()'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:41,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].write(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:43,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].close()'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.Writer
      - java.io.OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - message
    - session
    - last
    argTypes:
    - String
    - jakarta.websocket.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].handleMessage(String,jakarta.websocket.Session,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/AutobahnAnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].getSendWriter()'
    - '[jakarta.websocket.Session].getBasicRemote()'
    - '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].close()'
    - '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].write(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].handleMessage(String,jakarta.websocket.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:53,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].getSendStream()'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:53,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].write(byte[])'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:55,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].flush()'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:56,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].close()'
      Src: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - jakarta.websocket.Session
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.Writer
      - java.io.OutputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - message
    - session
    - last
    argTypes:
    - byte[]
    - jakarta.websocket.Session
    - boolean
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].handleMessage(byte[],jakarta.websocket.Session,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/AutobahnAnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].getSendStream()'
    - '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].write(byte[])'
    - '[jakarta.websocket.Session].getBasicRemote()'
    - '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].close()'
    - '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].handleMessage(byte[],jakarta.websocket.Session,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.Writer
      - java.io.OutputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/AutobahnAnnotatedEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint
    signature: '[io.undertow.websockets.jsr.test.autobahn.AutobahnAnnotatedEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler].<init>(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint:33,1
    - Dst: '[jakarta.websocket.Session].addMessageHandler(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint:33,1
    - Dst: '[TextMessageHandler].<init>(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint:34,1
    - Dst: '[jakarta.websocket.Session].addMessageHandler(TextMessageHandler)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - endpointConfig
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler].<init>(jakarta.websocket.Session)'
    - '[jakarta.websocket.Session].addMessageHandler(TextMessageHandler)'
    - '[TextMessageHandler].<init>(jakarta.websocket.Session)'
    - '[jakarta.websocket.Session].addMessageHandler(io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler].<init>(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler].<init>(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler:47,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler].sendBinary(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler].onMessage(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler].sendBinary(java.nio.ByteBuffer)'
    - '[io.undertow.server.session.Session].getAsyncRemote()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.BinaryMessageHandler].onMessage(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler].<init>(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler].<init>(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler:61,1
    - Dst: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler].sendText(String)'
      Src: io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler].onMessage(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/autobahn/ProgramaticAutobahnEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.Session].getAsyncRemote()'
    - '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler].sendText(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.autobahn.ProgramaticAutobahnEndpoint.TextMessageHandler].onMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint:40,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint)'
      Src: io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Session
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint].expected()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ThreadSafetyEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashSet].add(io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint].expected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Thread].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint:54,1
    - Dst: '[Thread].start()'
      Src: io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Session
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint].onOpen(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ThreadSafetyEndpoint.java
    functionUses: 0
    functionsReached:
    - '[Thread].<init>()'
    - '[Thread].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint].onOpen(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Session
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ThreadSafetyEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - config
    - increment
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint].open(jakarta.websocket.Session,jakarta.websocket.EndpointConfig,int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/BadOnMessageEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint].open(jakarta.websocket.Session,jakarta.websocket.EndpointConfig,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.err.println(String)
      Src: io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - config
    argTypes:
    - int
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint].handleMessage(int,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/BadOnMessageEndpoint.java
    functionUses: 0
    functionsReached:
    - System.err.println(String)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint].handleMessage(int,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/BadOnMessageEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.BadOnMessageEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].pollFirst(int,io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].message()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedGenericClientEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].pollFirst(int,io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].message()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint:43,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].sendText(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].onOpen(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedGenericClientEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].sendText(String)'
    - '[jakarta.websocket.Session].getAsyncRemote()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].onOpen(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].onMessage(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedGenericClientEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].onMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].isOpen()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedGenericClientEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedGenericClientEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].pollFirst(int,io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpoint.java
    functionUses: 5
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].pollFirst(int,io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint:46,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].sendText(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].onOpen(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].sendText(String)'
    - '[jakarta.websocket.Session].getAsyncRemote()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].onOpen(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].onMessage(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].onMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].onClose()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].onClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].isOpen()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpoint.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].clear()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpoint.java
    functionUses: 5
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpoint.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - M
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - M
    constantsTouched: []
    func_position:
      end: 5
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 5
    functionName: '[io.undertow.websockets.jsr.test.annotated.GenericWebSocketClientEndpoint].onMessage(M)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/GenericWebSocketClientEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.GenericWebSocketClientEndpoint].onMessage(M)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.GenericWebSocketClientEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.GenericWebSocketClientEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/GenericWebSocketClientEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.GenericWebSocketClientEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.GenericWebSocketClientEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.EncodableObjectSubClass:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObjectSubClass
      static: false
      superClass: io.undertow.websockets.jsr.test.annotated.EncodableObject
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObjectSubClass].<init>(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObjectSubClass.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObjectSubClass
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObjectSubClass].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:43,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:44,1
    - Dst: '[RuntimeException].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:45,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:46,1
    - Dst: '[java.io.IOException].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].handleMessage(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ErrorEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>()'
    - '[String].equals(String)'
    - '[RuntimeException].<init>(String)'
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].handleMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getClass()'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:53,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getName()'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:53,1
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].error(Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ErrorEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    - '[Throwable].getClass()'
    - '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getName()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].error(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].closed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ErrorEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].closed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].poll(int,io.undertow.websockets.jsr.test.annotated.ErrorEndpoint)'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:63,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.test.annotated.ErrorEndpoint)'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ErrorEndpoint.java
    functionUses: 2
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.test.annotated.ErrorEndpoint)'
    - '[java.util.concurrent.BlockingDeque<String>].poll(int,io.undertow.websockets.jsr.test.annotated.ErrorEndpoint)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ErrorEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.ErrorEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].setMaxIdleTimeout(int)'
      Src: io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].open(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/TimeoutEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].setMaxIdleTimeout(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].open(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - message
    argTypes:
    - jakarta.websocket.Session
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].handleMessage(jakarta.websocket.Session,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/TimeoutEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].handleMessage(jakarta.websocket.Session,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].close(jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/TimeoutEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].close(jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint)'
      Src: io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.CloseReason
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].getReason()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/TimeoutEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint)'
    linkageType: ''
    returnType: jakarta.websocket.CloseReason
    signature: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].getReason()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].reset()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/TimeoutEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/TimeoutEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].pollFirst(int,io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].message()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpointWithConfigurator.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].pollFirst(int,io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].message()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator:44,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].sendText(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].onOpen(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpointWithConfigurator.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].sendText(String)'
    - '[jakarta.websocket.Session].getAsyncRemote()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].onOpen(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].onMessage(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpointWithConfigurator.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].onMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].onClose()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpointWithConfigurator.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].onClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedClientEndpointWithConfigurator.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.List<String>>].containsKey(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:43,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].get(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:44,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].get(int)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:44,1
    - Dst: '[java.util.Collections].singletonList(String)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:45,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].put(io.undertow.websockets.jsr.test.annotated.ClientConfigurator,io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: ClientEndpointConfig.Configurator
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].beforeRequest(java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ClientConfigurator.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.List<String>>].containsKey(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
    - '[java.util.Collections].singletonList(String)'
    - '[java.util.Map<String,java.util.List<String>>].put(io.undertow.websockets.jsr.test.annotated.ClientConfigurator,io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
    - '[java.util.Map<String,java.util.List<String>>].get(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
    - '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].get(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].beforeRequest(java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.HandshakeResponse].getHeaders()'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:53,1
    - Dst: '[io.undertow.util.Headers.SEC_WEB_SOCKET_PROTOCOL_STRING].toLowerCase(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:54,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].containsKey(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:54,1
    - Dst: '[io.undertow.util.Headers.SEC_WEB_SOCKET_PROTOCOL_STRING].toLowerCase(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:55,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].get(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:55,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].get(int)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:55,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.HandshakeResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: ClientEndpointConfig.Configurator
    argCount: 1
    argNames:
    - hr
    argTypes:
    - jakarta.websocket.HandshakeResponse
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].afterResponse(jakarta.websocket.HandshakeResponse)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ClientConfigurator.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.HandshakeResponse].getHeaders()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[io.undertow.util.Headers.SEC_WEB_SOCKET_PROTOCOL_STRING].toLowerCase(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
    - '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].containsKey(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
    - '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].get(int)'
    - '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].get(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].afterResponse(jakarta.websocket.HandshakeResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:64,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: ClientEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].receivedSubProtocol()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ClientConfigurator.java
    functionUses: 1
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.annotated.ClientConfigurator)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].receivedSubProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.annotated.ClientConfigurator:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.ClientConfigurator
      static: false
      superClass: ClientEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/ClientConfigurator.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.ClientConfigurator
    signature: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].newInstance()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:78,1
    - Dst: AnnotatedEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:78,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:78,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:85,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:86,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:99,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].build()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:99,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:104,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:78,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:109,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].deploy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:110,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:112,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].start()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:112,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].build()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].deploy()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].newInstance()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - AnnotatedEndpointTest.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:118,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:122,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].after()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:129,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:130,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:132,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:132,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:133,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:134,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:134,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:134,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:134,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:134,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:135,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:135,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testStringOnMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testStringOnMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:141,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:142,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:144,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:144,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:145,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:146,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:146,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:146,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:146,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:146,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:147,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:147,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testStringOnMessageAddedProgramatically()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testStringOnMessageAddedProgramatically()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:153,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:154,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:154,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:156,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:156,1
    - Dst: '[jakarta.websocket.Session].close()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:158,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:159,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testRedirectHandling()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
    - '[jakarta.websocket.Session].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testRedirectHandling()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:165,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:166,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:168,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:168,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:169,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:170,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:170,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:170,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:170,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:170,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:171,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:171,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testWebSocketInRootContext()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testWebSocketInRootContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:178,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:179,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:179,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:181,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:181,1
    - Dst: '[jakarta.websocket.Session].close()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:183,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:184,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testAnnotatedClientEndpoint()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
    - '[jakarta.websocket.Session].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testAnnotatedClientEndpoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:190,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:191,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:191,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:193,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:193,1
    - Dst: '[jakarta.websocket.Session].close()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:195,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testIdleTimeout()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
    - '[jakarta.websocket.Session].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testIdleTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:202,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].reset()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:203,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:205,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:205,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:207,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:207,1
    - Dst: '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:209,1
    - Dst: '[jakarta.websocket.Session].close(jakarta.websocket.CloseReason)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:209,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:210,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:210,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].getReason()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:211,1
    - Dst: CloseReason.CloseCodes.VIOLATED_POLICY.getCode()
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:212,1
    - Dst: '[jakarta.websocket.CloseReason].getCloseCode()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:212,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].getCode()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:212,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:212,1
    - Dst: '[jakarta.websocket.CloseReason].getReasonPhrase()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:213,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testCloseReason()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].getReason()'
    - '[jakarta.websocket.CloseReason].getCloseCode()'
    - '[java.net.URI].<init>(String)'
    - '[jakarta.websocket.Session].close(jakarta.websocket.CloseReason)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].getCode()'
    - '[jakarta.websocket.CloseReason].getReasonPhrase()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
    - '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].reset()'
    - '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,String)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - CloseReason.CloseCodes.VIOLATED_POLICY.getCode()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testCloseReason()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:221,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:221,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:224,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].receivedSubProtocol()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:225,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:225,1
    - Dst: '[jakarta.websocket.Session].close()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:227,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:228,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testAnnotatedClientEndpointWithConfigurator()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.test.annotated.ClientConfigurator].receivedSubProtocol()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
    - '[jakarta.websocket.Session].close()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpointWithConfigurator].message()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testAnnotatedClientEndpointWithConfigurator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:234,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:238,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:238,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:239,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:239,1
    - Dst: '[jakarta.websocket.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:240,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].sendText(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:240,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:241,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:241,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:242,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:242,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].isOpen()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:243,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:243,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:245,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].sendText(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:245,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:246,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:246,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:247,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:247,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].isOpen()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:248,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:248,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:249,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:250,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 252
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testErrorHandling()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
    - '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint,java.net.URI)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].isOpen()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].<init>()'
    - '[jakarta.websocket.Session].getAsyncRemote()'
    - '[jakarta.websocket.Session].getBasicRemote()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].sendText(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testErrorHandling()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:257,1
    - Dst: '[CloseCountdownEndpoint].<init>(java.util.concurrent.CountDownLatch)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:258,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:260,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(CloseCountdownEndpoint,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:260,1
    - Dst: '[jakarta.websocket.Session].setMaxIdleTimeout(int)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:261,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:262,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:262,1
    - Dst: '[jakarta.websocket.Session].isOpen()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:263,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testClientSideIdleTimeout()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[jakarta.websocket.Session].isOpen()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(CloseCountdownEndpoint,java.net.URI)'
    - '[org.junit.Assert].assertTrue(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[jakarta.websocket.Session].setMaxIdleTimeout(int)'
    - '[CloseCountdownEndpoint].<init>(java.util.concurrent.CountDownLatch)'
    - '[org.junit.Assert].assertFalse(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testClientSideIdleTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:270,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:274,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:274,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:275,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:275,1
    - Dst: '[jakarta.websocket.Session].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:276,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].sendText(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:276,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:277,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:277,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:278,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:278,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].isOpen()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:279,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:279,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:281,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].sendText(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:281,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:282,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:282,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:283,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:283,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].isOpen()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:284,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:284,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:285,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:286,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 288
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testGenericMessageHandling()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
    - '[io.undertow.websockets.jsr.test.annotated.ErrorEndpoint].getMessage()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint,java.net.URI)'
    - '[jakarta.websocket.Session].getAsyncRemote()'
    - '[jakarta.websocket.Session].getBasicRemote()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].<init>()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].sendText(String)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedGenericClientEndpoint].isOpen()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testGenericMessageHandling()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:292,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:293,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:295,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:295,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:296,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:297,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:297,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:297,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:297,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:297,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:298,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:298,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testImplicitIntegerConversion()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testImplicitIntegerConversion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:305,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:306,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:308,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:308,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:309,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:310,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:310,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:310,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:310,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:310,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:311,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:311,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testEncodingAndDecodingText()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testEncodingAndDecodingText()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:316,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:317,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:319,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:319,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:320,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:321,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:321,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:321,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:321,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:321,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:322,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:322,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testEncodingAndDecodingBinary()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testEncodingAndDecodingBinary()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:328,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:329,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:331,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:331,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:332,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:333,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:333,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:333,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:333,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:333,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:334,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:334,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testEncodingWithGenericSuperclass()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testEncodingWithGenericSuperclass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:340,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:341,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:342,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:342,1
    - Dst: '[java.net.URI].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:343,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:343,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:344,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:345,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:345,1
    - Dst: uri.getBytes()
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:345,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:345,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:345,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:346,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:346,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testRequestUri()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,org.xnio.FutureResult)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - uri.getBytes()
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testRequestUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].reset()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:353,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:354,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:354,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].getReason()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:355,1
    - Dst: '[jakarta.websocket.CloseReason].getCloseCode()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:355,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testTimeoutCloseReason()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.CloseReason].getCloseCode()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
    - '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].reset()'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.jsr.test.annotated.TimeoutEndpoint].getReason()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testTimeoutCloseReason()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:360,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:361,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:361,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint].expected()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:362,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:363,1
    - Dst: '[java.util.Set<String>].isEmpty()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:364,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:364,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:365,1
    - Dst: '[java.util.Set<String>].remove(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:365,1
    - Dst: '[jakarta.websocket.Session].close()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:367,1
    - Dst: '[java.util.Set<String>].size()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:368,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testThreadSafeSend()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.ThreadSafetyEndpoint].expected()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].reset()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(java.net.URI)'
    - '[java.util.Set<String>].size()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest)'
    - '[io.undertow.websockets.jsr.test.annotated.AnnotatedClientEndpoint].message()'
    - '[java.util.Set<String>].remove(String)'
    - '[jakarta.websocket.Session].close()'
    - System.currentTimeMillis()
    - '[java.util.Set<String>].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].testThreadSafeSend()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.DoNothingEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.DoNothingEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.DoNothingEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.DoNothingEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.CloseCountdownEndpoint
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - latch
    argTypes:
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.CloseCountdownEndpoint].<init>(java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.CloseCountdownEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.CloseCountdownEndpoint].<init>(java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.CloseCountdownEndpoint:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.CloseCountdownEndpoint].close()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.CloseCountdownEndpoint].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.RedirectServlet:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.RedirectServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.RedirectServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.RedirectServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.RedirectServlet].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedEndpointTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.RedirectServlet
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedEndpointTest.RedirectServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - config
    - increment
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.jsr.test.annotated.IncrementEndpoint].open(jakarta.websocket.Session,jakarta.websocket.EndpointConfig,int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/IncrementEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.IncrementEndpoint].open(jakarta.websocket.Session,jakarta.websocket.EndpointConfig,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.jsr.test.annotated.IncrementEndpoint].handleMessage(int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/IncrementEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.test.annotated.IncrementEndpoint].handleMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.IncrementEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.IncrementEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/IncrementEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.IncrementEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.IncrementEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint:15,1
    - Dst: '[StringBuilder].reverse()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint:16,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - session
    argTypes:
    - String
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint].handleMessage(String,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedAddedProgrammaticallyEndpoint.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(String)'
    - '[StringBuilder].reverse()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint].handleMessage(String,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/AnnotatedAddedProgrammaticallyEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.AnnotatedAddedProgrammaticallyEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.MiddleClassDecoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.MiddleClassDecoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/MiddleClassDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.MiddleClassDecoder
    signature: '[io.undertow.websockets.jsr.test.annotated.MiddleClassDecoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getNegotiatedSubprotocol()'
      Src: io.undertow.websockets.jsr.test.annotated.MessageEndpoint:41,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].isEmpty()'
      Src: io.undertow.websockets.jsr.test.annotated.MessageEndpoint:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - message
    - user
    argTypes:
    - jakarta.websocket.Session
    - String
    - String
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].handleMessage(jakarta.websocket.Session,String,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/MessageEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].getNegotiatedSubprotocol()'
    - '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].isEmpty()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].handleMessage(jakarta.websocket.Session,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.annotated.MessageEndpoint:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].close(jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/MessageEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].close(jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.annotated.MessageEndpoint)'
      Src: io.undertow.websockets.jsr.test.annotated.MessageEndpoint:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.CloseReason
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].getReason()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/MessageEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.annotated.MessageEndpoint)'
    linkageType: ''
    returnType: jakarta.websocket.CloseReason
    signature: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].getReason()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.annotated.MessageEndpoint:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].reset()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/MessageEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.annotated.MessageEndpoint:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.CloseReason
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.MessageEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/MessageEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.MessageEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.MessageEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getRequestURI()'
      Src: io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint:33,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint].toString()'
      Src: io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - session
    argTypes:
    - String
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint].handleMessage(String,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/RequestUriEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].getRequestURI()'
    - '[io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint].handleMessage(String,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/RequestUriEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.RequestUriEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].getValue()'
      Src: io.undertow.websockets.jsr.test.annotated.EncodingGenericsEndpoint:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.test.annotated.EncodableObject
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - user
    argTypes:
    - io.undertow.websockets.jsr.test.annotated.EncodableObject
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodingGenericsEndpoint].handleMessage(io.undertow.websockets.jsr.test.annotated.EncodableObject,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodingGenericsEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.EncodableObject].getValue()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodingGenericsEndpoint].handleMessage(io.undertow.websockets.jsr.test.annotated.EncodableObject,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodingGenericsEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodingGenericsEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodingGenericsEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodingGenericsEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodingGenericsEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObject
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObject
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].getValue()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.test.annotated.EncodableObject
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.EncodeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - object
    argTypes:
    - io.undertow.websockets.jsr.test.annotated.EncodableObject
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder].encode(io.undertow.websockets.jsr.test.annotated.EncodableObject)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder].encode(io.undertow.websockets.jsr.test.annotated.EncodableObject)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder].init(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder].init(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextEncoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].init(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].init(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.DecodeException].<init>(String,String)'
      Src: io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder:85,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DecodeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObject
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].decode(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
    - '[jakarta.websocket.DecodeException].<init>(String,String)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObject
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].decode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].willDecode(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].willDecode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.TextDecoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].init(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].init(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.DecodeException].<init>(java.nio.ByteBuffer,String)'
      Src: io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder:114,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder:116,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder)'
      Src: io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder:117,1
    - Dst: '[String].<init>(io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder,io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder)'
      Src: io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder:118,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DecodeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObject
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].decode(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
    - '[java.nio.ByteBuffer].get(io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder)'
    - '[jakarta.websocket.DecodeException].<init>(java.nio.ByteBuffer,String)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[String].<init>(io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder,io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObject
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].decode(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].willDecode(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].willDecode(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodableObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodableObject.BinaryDecoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].newInstance()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:56,1
    - Dst: BadAnnotatedEndpointTestCase.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:56,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:56,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:62,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:63,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:61,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:61,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:61,1
    - Dst: ServerEndpointConfig.Builder.create(String)
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:66,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].build()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:66,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:56,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - org.junit.rules.ExpectedException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/BadAnnotatedEndpointTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].build()'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase)'
    - '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].newInstance()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - BadAnnotatedEndpointTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - ServerEndpointConfig.Builder.create(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - org.junit.rules.ExpectedException
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].after()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/BadAnnotatedEndpointTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.rules.ExpectedException].expect()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:95,1
    - Dst: '[org.junit.rules.ExpectedException].expectMessage(String)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:96,1
    - Dst: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].instanceOf()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:97,1
    - Dst: '[org.junit.rules.ExpectedException].expectCause(io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase)'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].deploy()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - org.junit.rules.ExpectedException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].testStringOnMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/BadAnnotatedEndpointTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].deploy()'
    - '[org.junit.rules.ExpectedException].expectMessage(String)'
    - '[org.junit.rules.ExpectedException].expectCause(io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase)'
    - '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].instanceOf()'
    - '[org.junit.rules.ExpectedException].expect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].testStringOnMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.rules.ExpectedException].none()'
      Src: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - org.junit.rules.ExpectedException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/BadAnnotatedEndpointTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.rules.ExpectedException].none()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase
    signature: '[io.undertow.websockets.jsr.test.annotated.BadAnnotatedEndpointTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.SubclassDecoder:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObject
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: '[io.undertow.websockets.jsr.test.annotated.SubclassDecoder].doRealDecode(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/SubclassDecoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.EncodableObject].<init>(String)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObject
    signature: '[io.undertow.websockets.jsr.test.annotated.SubclassDecoder].doRealDecode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.SubclassDecoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.SubclassDecoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/SubclassDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.SubclassDecoder
    signature: '[io.undertow.websockets.jsr.test.annotated.SubclassDecoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.RootContextEndpoint
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ignored
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint].<init>(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/RootContextEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.RootContextEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - msg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint].echo(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/RootContextEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint].echo(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint].<init>(String)'
      Src: io.undertow.websockets.jsr.test.annotated.RootContextEndpoint.TestServerConfigurator:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - InstantiationException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - endpointClass
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint.TestServerConfigurator].getEndpointInstance(Class<T>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/RootContextEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint].<init>(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint.TestServerConfigurator].getEndpointInstance(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.RootContextEndpoint.TestServerConfigurator
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint.TestServerConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/RootContextEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.RootContextEndpoint.TestServerConfigurator
    signature: '[io.undertow.websockets.jsr.test.annotated.RootContextEndpoint.TestServerConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].doRealDecode(String)'
      Src: io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DecodeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].decode(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/GenericSuperclassDecoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].doRealDecode(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].decode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].doRealDecode(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/GenericSuperclassDecoder.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].doRealDecode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].willDecode(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/GenericSuperclassDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].willDecode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].init(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/GenericSuperclassDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].init(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/GenericSuperclassDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/GenericSuperclassDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder
    signature: '[io.undertow.websockets.jsr.test.annotated.GenericSuperclassDecoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.annotated.EncodableObjectSubClass].<init>(io.undertow.websockets.jsr.test.annotated.EncodingEndpoint)'
      Src: io.undertow.websockets.jsr.test.annotated.EncodingEndpoint:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.test.annotated.EncodableObject
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodableObject
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - user
    argTypes:
    - io.undertow.websockets.jsr.test.annotated.EncodableObject
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodingEndpoint].handleMessage(io.undertow.websockets.jsr.test.annotated.EncodableObject,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodingEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.annotated.EncodableObjectSubClass].<init>(io.undertow.websockets.jsr.test.annotated.EncodingEndpoint)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodableObject
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodingEndpoint].handleMessage(io.undertow.websockets.jsr.test.annotated.EncodableObject,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.annotated.EncodingEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.annotated.EncodingEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/annotated/EncodingEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.annotated.EncodingEndpoint
    signature: '[io.undertow.websockets.jsr.test.annotated.EncodingEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].newInstance()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:85,1
    - Dst: BinaryEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:85,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:90,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:92,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:93,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:90,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:94,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:90,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:85,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:100,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].deploy()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:101,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].start()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:103,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:103,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.websockets.extensions.DebugExtensionsHeaderHandler
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].newInstance()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].deploy()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    - BinaryEndpointTest.class.getClassLoader()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:110,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.websockets.extensions.DebugExtensionsHeaderHandler
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].cleanup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:119,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(null,java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:121,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:123,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:124,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:124,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,java.net.URI,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.HashSet)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:126,1
    - Dst: '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:126,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:128,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].getReceiveSetter()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:130,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].<init>(java.util.concurrent.LinkedBlockingDeque)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:130,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].set(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:130,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].resumeReceives()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:131,1
    - Dst: '[StringBuilder].<init>(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:134,1
    - Dst: Integer.toString(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:137,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].charAt(int)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:137,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:137,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:140,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:143,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].poll(int,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:144,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].assertEquals(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:145,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].sendClose()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.websockets.extensions.DebugExtensionsHeaderHandler
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].testLongTextMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].sendClose()'
    - '[java.util.concurrent.LinkedBlockingDeque].poll(int,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].assertEquals(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[StringBuilder].<init>(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
    - '[java.util.HashSet].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[StringBuilder].append(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[java.util.HashSet].<init>()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].set(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener)'
    - '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].getReceiveSetter()'
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(null,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    - '[StringBuilder].toString()'
    - '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,java.net.URI,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.HashSet)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].resumeReceives()'
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].<init>(java.util.concurrent.LinkedBlockingDeque)'
    - Integer.toString(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].charAt(int)'
    - '[io.undertow.websockets.core.WebSockets].sendTextBlocking(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].testLongTextMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:158,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(null,java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:160,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:162,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:163,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:163,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,java.net.URI,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.HashSet)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:165,1
    - Dst: '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:165,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:167,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:168,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].getReceiveSetter()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:170,1
    - Dst: '[ClientBinaryReceiveListener].<init>(java.util.concurrent.atomic.AtomicReference,java.util.concurrent.CountDownLatch)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:170,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].set(ClientBinaryReceiveListener)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:170,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].resumeReceives()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:171,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].send(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:173,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:174,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:174,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:176,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].assertTrue(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:176,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:177,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].assertEquals(String,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:177,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].sendClose()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:178,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].getResponseExtensions()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:180,1
    - Dst: '[io.undertow.util.HeaderValues].toString()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:180,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].assertEquals(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.websockets.extensions.DebugExtensionsHeaderHandler
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].testExtensionsHeaders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].sendClose()'
    - '[io.undertow.util.StringWriteChannelListener].<init>(String)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].assertEquals(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
    - '[java.util.HashSet].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].set(ClientBinaryReceiveListener)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].send(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[io.undertow.util.HeaderValues].toString()'
    - '[java.util.HashSet].<init>()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].assertTrue(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
    - '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].getReceiveSetter()'
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(null,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,java.net.URI,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.HashSet)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].resumeReceives()'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].getResponseExtensions()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].assertEquals(String,io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase)'
    - '[ClientBinaryReceiveListener].<init>(java.util.concurrent.atomic.AtomicReference,java.util.concurrent.CountDownLatch)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].testExtensionsHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.websockets.extensions.DebugExtensionsHeaderHandler
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener
      static: false
      superClass: AbstractReceiveListener
    argCount: 1
    argNames:
    - resultQueue
    argTypes:
    - java.util.concurrent.LinkedBlockingDeque<String>
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].<init>(java.util.concurrent.LinkedBlockingDeque<String>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].<init>(java.util.concurrent.LinkedBlockingDeque<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].getData()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:192,1
    - Dst: '[LinkedBlockingDeque<String>].addLast(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedTextMessage
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedTextMessage
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[LinkedBlockingDeque<String>].addLast(String)'
    - '[io.undertow.websockets.core.BufferedTextMessage].getData()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:199,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].close()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:199,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].info(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].info(String)'
    - '[org.xnio.Pooled<ByteBuffer[]>].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].info(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:205,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:206,1
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:207,1
    - Dst: '[LinkedBlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - LinkedBlockingDeque<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - error
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Throwable
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[LinkedBlockingDeque<String>].add(String)'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].info(String)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
    - '[Throwable].printStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientTextReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.atomic.AtomicReference<String>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReference<String>
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - result
    - latch
    argTypes:
    - java.util.concurrent.atomic.AtomicReference<String>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].<init>(java.util.concurrent.atomic.AtomicReference<String>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].<init>(java.util.concurrent.atomic.AtomicReference<String>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].getData()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:224,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].info(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:225,1
    - Dst: '[AtomicReference<String>].set(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:226,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedTextMessage
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReference<String>
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedTextMessage
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].info(io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener)'
    - '[CountDownLatch].countDown()'
    - '[AtomicReference<String>].set(String)'
    - '[io.undertow.websockets.core.BufferedTextMessage].getData()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:232,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].close()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:232,1
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].info(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReference<String>
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].info(String)'
    - '[org.xnio.Pooled<ByteBuffer[]>].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].info(String)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:238,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:239,1
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:240,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReference<String>
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - error
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Throwable
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/extension/JsrWebsocketExtensionTestCase.java
    functionUses: 0
    functionsReached:
    - '[Throwable].printStackTrace()'
    - '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].info(String)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
    - '[CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.extension.JsrWebsocketExtensionTestCase.ClientBinaryReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].newInstance()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:62,1
    - Dst: DynamicEndpointTest.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:62,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:62,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:62,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:71,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:70,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:62,1
    - Dst: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:78,1
    - Dst: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].deploy()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:79,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:81,1
    - Dst: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].start()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:81,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DynamicEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[io.undertow.servlet.Servlets].servlet(String)'
    - '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].start()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].newInstance()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - DynamicEndpointTest.class.getClassLoader()
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].deploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].after()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DynamicEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:98,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:99,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:101,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:101,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:102,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:103,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:103,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:103,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:103,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:103,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:104,1
    - Dst: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:104,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].testDynamicAnnotatedEndpoint()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DynamicEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
    - '[java.net.URI].<init>(String)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
    - '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].get()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest,org.xnio.FutureResult)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].testDynamicAnnotatedEndpoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:111,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:112,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:114,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:114,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:115,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:116,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:116,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:116,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:116,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:116,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:117,1
    - Dst: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].get()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:117,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].testDynamicProgramaticEndpoint()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DynamicEndpointTest.java
    functionUses: 0
    functionsReached:
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
    - '[java.net.URI].<init>(String)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest)'
    - '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].get()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest,java.net.URI)'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest,org.xnio.FutureResult)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].testDynamicProgramaticEndpoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DynamicEndpointTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DynamicEndpointTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet:44,1
    - Dst: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].<init>(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet:46,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet:47,1
    - Dst: '[java.util.Collections].singletonMap(String,io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet:47,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].doUpgrade(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig,io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    - '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].<init>(jakarta.servlet.http.HttpServletRequest)'
    - '[java.util.Collections].singletonMap(String,io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].doUpgrade(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig,io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet)'
    - '[jakarta.websocket.ContainerProvider].getWebSocketContainer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - req
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].<init>(jakarta.servlet.http.HttpServletRequest)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].<init>(jakarta.servlet.http.HttpServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[HttpServletRequest].getParameter(String)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getEndpointClass()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[HttpServletRequest].getParameter(String)'
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getEndpointClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[HttpServletRequest].getPathInfo()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getPath()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[HttpServletRequest].getPathInfo()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getSubprotocols()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getSubprotocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.Extension>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getExtensions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Configurator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getConfigurator()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Configurator
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getConfigurator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?extendsEncoder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getEncoders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<Class<?extendsEncoder>>
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getEncoders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?extendsDecoder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getDecoders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<Class<?extendsDecoder>>
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getDecoders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServletRequest
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getUserProperties()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/DoUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Object>
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.DoUpgradeServlet.UpgradeServerEndpointConfig].getUserProperties()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.Session].getPathParameters()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint:32,1
    - Dst: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint].get(String)'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint:32,1
    - Dst: '[jakarta.websocket.Session].addMessageHandler()'
      Src: io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - config
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/EchoProgramaticEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].getPathParameters()'
    - '[jakarta.websocket.Session].addMessageHandler()'
    - '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint].get(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/EchoProgramaticEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoProgramaticEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoEndpoint].open(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/EchoEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoEndpoint].open(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - foo
    - message
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoEndpoint].echo(String,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/EchoEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoEndpoint].echo(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.dynamicupgrade.EchoEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/dynamicupgrade/EchoEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.dynamicupgrade.EchoEndpoint
    signature: '[io.undertow.websockets.jsr.test.dynamicupgrade.EchoEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.DisconnectServerEndpoint:34,1
    - Dst: '[jakarta.websocket.Session].close()'
      Src: io.undertow.websockets.jsr.test.reconnect.DisconnectServerEndpoint:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - session
    argTypes:
    - String
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.jsr.test.reconnect.DisconnectServerEndpoint].text(String,jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/DisconnectServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.Session].close()'
    - '[String].equals(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.reconnect.DisconnectServerEndpoint].text(String,jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.reconnect.DisconnectServerEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.reconnect.DisconnectServerEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/DisconnectServerEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.reconnect.DisconnectServerEndpoint
    signature: '[io.undertow.websockets.jsr.test.reconnect.DisconnectServerEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].newInstance()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:61,1
    - Dst: ClientEndpointReconnectTestCase.class.getClassLoader()
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:61,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:61,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:67,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:68,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:67,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:69,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:67,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:67,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:67,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:67,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler].<init>()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:72,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setReconnectHandler(io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:61,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:75,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].deploy()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:76,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:78,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].start()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:78,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].setup()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/ClientEndpointReconnectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.Handlers].path()'
    - ClientEndpointReconnectTestCase.class.getClassLoader()
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setReconnectHandler(io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler)'
    - '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].deploy()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContextAttribute(String,io.undertow.websockets.jsr.WebSocketDeploymentInfo)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].after()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/ClientEndpointReconnectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:92,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:93,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint,java.net.URI)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:93,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:95,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:96,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].sendText(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:96,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:97,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:98,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].sendText(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:98,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:99,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:100,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:101,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].sendText(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:101,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:102,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:103,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].sendText(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:103,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:104,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:105,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:106,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].sendText(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:106,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:107,1
    - Dst: '[jakarta.websocket.Session].getBasicRemote()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:108,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].sendText(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:108,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:109,1
    - Dst: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].quickMessage()'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:110,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:110,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 112
    functionName: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].testAnnotatedClientEndpoint()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/ClientEndpointReconnectTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint,java.net.URI)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].<init>()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].quickMessage()'
    - '[org.junit.Assert].assertNull(String)'
    - '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
    - '[jakarta.websocket.Session].getBasicRemote()'
    - '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].sendText(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].testAnnotatedClientEndpoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - io.undertow.servlet.api.DeploymentManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/ClientEndpointReconnectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase
    signature: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.CloseReason
      - java.net.URI
      - jakarta.websocket.Session
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketReconnectHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - closeReason
    - connectionUri
    - session
    - disconnectCount
    argTypes:
    - jakarta.websocket.CloseReason
    - java.net.URI
    - jakarta.websocket.Session
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler].disconnected(jakarta.websocket.CloseReason,java.net.URI,jakarta.websocket.Session,int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/ClientEndpointReconnectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler].disconnected(jakarta.websocket.CloseReason,java.net.URI,jakarta.websocket.Session,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      - java.net.URI
      - jakarta.websocket.Session
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketReconnectHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - exception
    - connectionUri
    - session
    - failedCount
    argTypes:
    - java.io.IOException
    - java.net.URI
    - jakarta.websocket.Session
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler].reconnectFailed(java.io.IOException,java.net.URI,jakarta.websocket.Session,int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/ClientEndpointReconnectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler].reconnectFailed(java.io.IOException,java.net.URI,jakarta.websocket.Session,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketReconnectHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/ClientEndpointReconnectTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler
    signature: '[io.undertow.websockets.jsr.test.reconnect.ClientEndpointReconnectTestCase.CustomWebSocketReconnectHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].open()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/AnnotatedClientReconnectEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].open()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].close()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/AnnotatedClientReconnectEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
      Src: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].test(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/AnnotatedClientReconnectEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].test(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint)'
      Src: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint:53,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint)'
      Src: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/AnnotatedClientReconnectEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].message()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint)'
      Src: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint:60,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint)'
      Src: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].quickMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/AnnotatedClientReconnectEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].quickMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/test/java/io/undertow/websockets/jsr/test/reconnect/AnnotatedClientReconnectEndpoint.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint
    signature: '[io.undertow.websockets.jsr.test.reconnect.AnnotatedClientReconnectEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:107,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:109,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:110,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:116,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:129,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:134,1
    - Dst: ServerWebSocketContainer.class.getClassLoader()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:142,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,null,null)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - java.util.List<io.undertow.servlet.api.ThreadSetupHandler>
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - classIntrospecter
    - xnioWorker
    - bufferPool
    - threadSetupHandlers
    - dispatchToWorker
    - clientMode
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    - java.util.function.Supplier<org.xnio.XnioWorker>
    - io.undertow.connector.ByteBufferPool
    - java.util.List<io.undertow.servlet.api.ThreadSetupHandler>
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
    - '[java.util.TreeSet].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,null,null)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.ArrayList].<init>()'
    - ServerWebSocketContainer.class.getClassLoader()
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:107,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:109,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:110,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:116,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:129,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:134,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,null,null)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      - ClassLoader
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - java.util.List<io.undertow.servlet.api.ThreadSetupHandler>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - classIntrospecter
    - classLoader
    - xnioWorker
    - bufferPool
    - threadSetupHandlers
    - dispatchToWorker
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    - ClassLoader
    - java.util.function.Supplier<org.xnio.XnioWorker>
    - io.undertow.connector.ByteBufferPool
    - java.util.List<io.undertow.servlet.api.ThreadSetupHandler>
    - boolean
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
    - '[java.util.TreeSet].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,null,null)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:107,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:109,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:110,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:116,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:129,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:134,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:150,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,java.net.InetSocketAddress,io.undertow.websockets.jsr.WebSocketReconnectHandler,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      - ClassLoader
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - java.util.List<io.undertow.servlet.api.ThreadSetupHandler>
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - classIntrospecter
    - classLoader
    - xnioWorker
    - bufferPool
    - threadSetupHandlers
    - dispatchToWorker
    - clientBindAddress
    - reconnectHandler
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    - ClassLoader
    - java.util.function.Supplier<org.xnio.XnioWorker>
    - io.undertow.connector.ByteBufferPool
    - java.util.List<io.undertow.servlet.api.ThreadSetupHandler>
    - boolean
    - java.net.InetSocketAddress
    - io.undertow.websockets.jsr.WebSocketReconnectHandler
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,java.net.InetSocketAddress,io.undertow.websockets.jsr.WebSocketReconnectHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
    - '[java.util.TreeSet].<init>()'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,java.net.InetSocketAddress,io.undertow.websockets.jsr.WebSocketReconnectHandler,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,java.net.InetSocketAddress,io.undertow.websockets.jsr.WebSocketReconnectHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:107,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:109,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:110,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:116,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:129,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:134,1
    - Dst: '[java.util.ArrayList].<init>(java.util.List<jakarta.websocket.Extension>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:159,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:160,1
    - Dst: '[java.util.ServiceLoader].load(ClassLoader)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:161,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:162,1
    - Dst: '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:165,1
    - Dst: '[io.undertow.servlet.api.ThreadSetupHandler.Action].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:167,1
    - Dst: handler.create(io.undertow.servlet.api.ThreadSetupHandler.Action)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      - ClassLoader
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - java.util.List<io.undertow.servlet.api.ThreadSetupHandler>
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - java.util.List<jakarta.websocket.Extension>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer
      static: false
      superClass: Object
    argCount: 9
    argNames:
    - classIntrospecter
    - classLoader
    - xnioWorker
    - bufferPool
    - threadSetupHandlers
    - dispatchToWorker
    - clientBindAddress
    - reconnectHandler
    - installedExtensions
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    - ClassLoader
    - java.util.function.Supplier<org.xnio.XnioWorker>
    - io.undertow.connector.ByteBufferPool
    - java.util.List<io.undertow.servlet.api.ThreadSetupHandler>
    - boolean
    - java.net.InetSocketAddress
    - io.undertow.websockets.jsr.WebSocketReconnectHandler
    - java.util.List<jakarta.websocket.Extension>
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,java.net.InetSocketAddress,io.undertow.websockets.jsr.WebSocketReconnectHandler,java.util.List<jakarta.websocket.Extension>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
    - '[java.util.TreeSet].<init>()'
    - handler.create(io.undertow.servlet.api.ThreadSetupHandler.Action)
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.ArrayList].<init>(java.util.List<jakarta.websocket.Extension>)'
    - '[io.undertow.servlet.api.ThreadSetupHandler.Action].<init>()'
    - '[java.util.HashSet].<init>()'
    - '[java.util.ServiceLoader].load(ClassLoader)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,ClassLoader,java.util.function.Supplier<org.xnio.XnioWorker>,io.undertow.connector.ByteBufferPool,java.util.List<io.undertow.servlet.api.ThreadSetupHandler>,boolean,java.net.InetSocketAddress,io.undertow.websockets.jsr.WebSocketReconnectHandler,java.util.List<jakarta.websocket.Extension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultAsyncSendTimeout()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultAsyncSendTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultAsyncSendTimeout
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setAsyncSendTimeout(long)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setAsyncSendTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:192,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:194,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(io.undertow.websockets.jsr.ServerWebSocketContainer,boolean)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:194,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:196,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].notAValidClientEndpointType(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:196,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:198,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(Object)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:198,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.util.ImmediateInstanceHandle)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:198,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.ConfiguredClientEndpoint,WebSocketClient.ConnectionBuilder)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - WebSocketClient.ConnectionBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - annotatedEndpointInstance
    - connectionBuilder
    argTypes:
    - Object
    - WebSocketClient.ConnectionBuilder
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Object,WebSocketClient.ConnectionBuilder)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(Object)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.util.ImmediateInstanceHandle)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].notAValidClientEndpointType(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.ConfiguredClientEndpoint,WebSocketClient.ConnectionBuilder)'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(io.undertow.websockets.jsr.ServerWebSocketContainer,boolean)'
    - '[Object].getClass()'
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Object,WebSocketClient.ConnectionBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:205,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:207,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(io.undertow.websockets.jsr.ServerWebSocketContainer,boolean)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:207,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:209,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].notAValidClientEndpointType(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:209,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:211,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(Object)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:211,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.util.ImmediateInstanceHandle)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:211,1
    - Dst: '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:214,1
    - Dst: provider.getSsl(io.undertow.websockets.jsr.ServerWebSocketContainer,Object,java.net.URI)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:214,1
    - Dst: '[javax.net.ssl.SSLContext].getDefault()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:221,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:221,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.websockets.jsr.ConfiguredClientEndpoint,java.net.URI)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:226,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - annotatedEndpointInstance
    - path
    argTypes:
    - Object
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 227
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 227
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Object,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(Object)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.util.ImmediateInstanceHandle)'
    - '[javax.net.ssl.SSLContext].getDefault()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - provider.getSsl(io.undertow.websockets.jsr.ServerWebSocketContainer,Object,java.net.URI)
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].notAValidClientEndpointType(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.websockets.jsr.ConfiguredClientEndpoint,java.net.URI)'
    - '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(io.undertow.websockets.jsr.ServerWebSocketContainer,boolean)'
    - '[Object].getClass()'
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Object,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:231,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(Class<?>,boolean)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:233,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].notAValidClientEndpointType(Class<?>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:235,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:238,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getInstanceFactory()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:239,1
    - Dst: '[io.undertow.servlet.api.InstanceFactory<?>].createInstance()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:239,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:240,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.ConfiguredClientEndpoint,WebSocketClient.ConnectionBuilder)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:240,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - WebSocketClient.ConnectionBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - aClass
    - connectionBuilder
    argTypes:
    - Class<?>
    - WebSocketClient.ConnectionBuilder
    constantsTouched: []
    func_position:
      end: 244
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 244
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Class<?>,WebSocketClient.ConnectionBuilder)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(Class<?>,boolean)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.ConfiguredClientEndpoint,WebSocketClient.ConnectionBuilder)'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].notAValidClientEndpointType(Class<?>)'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getInstanceFactory()'
    - '[io.undertow.servlet.api.InstanceFactory<?>].createInstance()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Class<?>,WebSocketClient.ConnectionBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:249,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(Class<?>,boolean)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:251,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].notAValidClientEndpointType(Class<?>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:253,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:256,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getInstanceFactory()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:259,1
    - Dst: '[io.undertow.servlet.api.InstanceFactory<?>].createInstance()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:259,1
    - Dst: '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:262,1
    - Dst: provider.getSsl(io.undertow.websockets.jsr.ServerWebSocketContainer,Class<?>,java.net.URI)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:262,1
    - Dst: '[javax.net.ssl.SSLContext].getDefault()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:269,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:269,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:274,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.websockets.jsr.ConfiguredClientEndpoint,java.net.URI)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:274,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:276,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - aClass
    - uri
    argTypes:
    - Class<?>
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 278
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 278
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Class<?>,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(Class<?>,boolean)'
    - '[javax.net.ssl.SSLContext].getDefault()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.websockets.jsr.ConfiguredClientEndpoint,java.net.URI)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].notAValidClientEndpointType(Class<?>)'
    - '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getInstanceFactory()'
    - provider.getSsl(io.undertow.websockets.jsr.ServerWebSocketContainer,Class<?>,java.net.URI)
    - '[io.undertow.servlet.api.InstanceFactory<?>].createInstance()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Class<?>,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:283,1
    - Dst: ClientEndpointConfig.Builder.create()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:285,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:285,1
    - Dst: '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:288,1
    - Dst: provider.getSsl(io.undertow.websockets.jsr.ServerWebSocketContainer,jakarta.websocket.Endpoint,io.undertow.websockets.jsr.ServerWebSocketContainer,java.net.URI)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:288,1
    - Dst: '[javax.net.ssl.SSLContext].getDefault()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:295,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:295,1
    - Dst: cec.getPreferredSubprotocols()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:301,1
    - Dst: cec.getExtensions()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:301,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].toExtensionList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:301,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.List<io.undertow.websockets.WebSocketExtension>,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:301,1
    - Dst: '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:304,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:304,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:304,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setBindAddress(java.net.InetSocketAddress)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:304,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setClientNegotiation(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:304,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:309,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Endpoint
      - jakarta.websocket.ClientEndpointConfig
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - endpointInstance
    - config
    - path
    argTypes:
    - jakarta.websocket.Endpoint
    - jakarta.websocket.ClientEndpointConfig
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 310
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 310
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].setBindAddress(java.net.InetSocketAddress)'
    - '[javax.net.ssl.SSLContext].getDefault()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.List<io.undertow.websockets.WebSocketExtension>,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - ClientEndpointConfig.Builder.create()
    - provider.getSsl(io.undertow.websockets.jsr.ServerWebSocketContainer,jakarta.websocket.Endpoint,io.undertow.websockets.jsr.ServerWebSocketContainer,java.net.URI)
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].setClientNegotiation(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].toExtensionList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - cec.getPreferredSubprotocols()
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
    - cec.getExtensions()
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:314,1
    - Dst: ClientEndpointConfig.Builder.create()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:316,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:316,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:318,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:320,1
    - Dst: cec.getUserProperties()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:322,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].get(String)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:322,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].await(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:323,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].cancel()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:325,1
    - Dst: '[IoFuture.HandlingNotifier].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:326,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addNotifier(IoFuture.HandlingNotifier,null)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:326,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectionTimedOut()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:332,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].get()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:336,1
    - Dst: e.getMessage()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:338,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:338,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:340,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:342,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:343,1
    - Dst: cec.getExtensions()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:344,1
    - Dst: ext.getName()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:345,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:345,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSelectedExtensions()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:347,1
    - Dst: e.getName()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:348,1
    - Dst: '[java.util.HashMap].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:348,1
    - Dst: e.getName()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:350,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSupportedExtensions()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:350,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].extensionWasNotPresentInClientHandshake(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:350,1
    - Dst: '[io.undertow.websockets.jsr.ExtensionImpl].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:352,1
    - Dst: '[java.util.ArrayList].add(jakarta.websocket.Extension)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:352,1
    - Dst: '[jakarta.websocket.Endpoint].getClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:354,1
    - Dst: '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:354,1
    - Dst: '[jakarta.websocket.Endpoint].getClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:359,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(io.undertow.websockets.jsr.ServerWebSocketContainer,boolean)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:359,1
    - Dst: '[jakarta.websocket.Endpoint].getClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:362,1
    - Dst: '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].put(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:362,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:365,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(jakarta.websocket.Endpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:365,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.util.ImmediateInstanceHandle)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:365,1
    - Dst: cec.getDecoders()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:370,1
    - Dst: cec.getEncoders()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:370,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:370,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getUri()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(jakarta.websocket.Endpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getUri()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getQuery()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSelectedSubProtocol()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.EndpointSessionHandler,null,io.undertow.servlet.util.ImmediateInstanceHandle,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.Encoding,io.undertow.websockets.jsr.ConfiguredClientEndpoint,io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.ArrayList,WebSocketClient.ConnectionBuilder)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:371,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onOpen(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:372,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].resumeReceives()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:373,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Endpoint
      - jakarta.websocket.ClientEndpointConfig
      - WebSocketClient.ConnectionBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - endpointInstance
    - config
    - connectionBuilder
    argTypes:
    - jakarta.websocket.Endpoint
    - jakarta.websocket.ClientEndpointConfig
    - WebSocketClient.ConnectionBuilder
    constantsTouched: []
    func_position:
      end: 376
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 376
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,WebSocketClient.ConnectionBuilder)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - e.getName()
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[jakarta.websocket.Endpoint].getClass()'
    - '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].get()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].await(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
    - '[java.util.HashMap].put(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(io.undertow.websockets.jsr.ServerWebSocketContainer,boolean)'
    - '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - cec.getUserProperties()
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addNotifier(IoFuture.HandlingNotifier,null)'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - cec.getEncoders()
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].cancel()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
    - e.getMessage()
    - '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].put(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - cec.getDecoders()
    - '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(jakarta.websocket.Endpoint)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].get(String)'
    - '[java.util.HashMap].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ExtensionImpl].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
    - '[java.util.ArrayList].add(jakarta.websocket.Extension)'
    - '[IoFuture.HandlingNotifier].<init>()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getQuery()'
    - '[java.util.Collections].emptyMap()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSelectedExtensions()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].extensionWasNotPresentInClientHandshake(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSelectedSubProtocol()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSupportedExtensions()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onOpen(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.util.ImmediateInstanceHandle)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectionTimedOut()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].resumeReceives()'
    - ClientEndpointConfig.Builder.create()
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getUri()'
    - '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.UndertowSession].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.EndpointSessionHandler,null,io.undertow.servlet.util.ImmediateInstanceHandle,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.Encoding,io.undertow.websockets.jsr.ConfiguredClientEndpoint,io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.ArrayList,WebSocketClient.ConnectionBuilder)'
    - ext.getName()
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
    - cec.getExtensions()
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,WebSocketClient.ConnectionBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:382,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<?extendsEndpoint>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:385,1
    - Dst: '[io.undertow.servlet.api.InstanceFactory<T>].createInstance()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:385,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getInstance()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:385,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(io.undertow.websockets.jsr.ServerWebSocketContainer,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:386,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsEndpoint>
      - jakarta.websocket.ClientEndpointConfig
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - endpointClass
    - cec
    - path
    argTypes:
    - Class<?extendsEndpoint>
    - jakarta.websocket.ClientEndpointConfig
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Class<?extendsEndpoint>,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.InstanceFactory<T>].createInstance()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(io.undertow.websockets.jsr.ServerWebSocketContainer,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<?extendsEndpoint>)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getInstance()'
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServer(Class<?extendsEndpoint>,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].doUpgrade(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,jakarta.websocket.server.ServerEndpointConfig,java.util.Map<String,String>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:395,1
    - Dst: e.getRootCause()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:397,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getMessage()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:397,1
    - Dst: e.getRootCause()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:397,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - Object
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.websocket.DeploymentException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - req
    - res
    - sec
    - pathParameters
    argTypes:
    - Object
    - Object
    - jakarta.websocket.server.ServerEndpointConfig
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 7
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].upgradeHttpToWebSocket(Object,Object,jakarta.websocket.server.ServerEndpointConfig,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getMessage()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].doUpgrade(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,jakarta.websocket.server.ServerEndpointConfig,java.util.Map<String,String>)'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - e.getRootCause()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].upgradeHttpToWebSocket(Object,Object,jakarta.websocket.server.ServerEndpointConfig,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:405,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getDecoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:407,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEncoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:407,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:407,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getPath()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:408,1
    - Dst: '[io.undertow.util.PathTemplate].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:408,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:412,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:412,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:415,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotDeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:416,1
    - Dst: '[io.undertow.servlet.api.InstanceFactory].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:418,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getPath()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: ServerEndpointConfig.Builder.create(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getDecoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:431,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEncoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:432,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getSubprotocols()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:433,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].subprotocols(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getExtensions()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:434,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].extensions(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].configurator(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:430,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:440,1
    - Dst: Endpoint.class.isAssignableFrom(io.undertow.websockets.jsr.ServerWebSocketContainer)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:440,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:441,1
    - Dst: '[io.undertow.util.PathTemplate].getParameterNames()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:441,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.EncodingFactory,java.util.Set<String>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:441,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.servlet.api.InstanceFactory,null,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:447,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.servlet.api.InstanceFactory,null,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.List<jakarta.websocket.Extension>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:449,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:453,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getAttribute(String)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:453,1
    - Dst: info.getExtensions()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:454,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:455,1
    - Dst: info.getExtensions()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:457,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:457,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:460,1
    - Dst: '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].<init>(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.util.HashSet)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:460,1
    - Dst: method.matches(io.undertow.servlet.websockets.ServletWebSocketHttpExchange)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:463,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isClosed()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:470,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(int)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:471,1
    - Dst: '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>,java.util.Map<String,String>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:474,1
    - Dst: '[io.undertow.server.HttpUpgradeListener].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:476,1
    - Dst: '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:476,1
    - Dst: handshaker.handshake(io.undertow.servlet.websockets.ServletWebSocketHttpExchange)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:483,1
    - Dst: '[jakarta.servlet.ServletException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:487,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - request
    - response
    - sec
    - pathParams
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    - jakarta.websocket.server.ServerEndpointConfig
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 489
      start: 401
    functionDepth: 6
    functionLinenumber: 401
    functionLinenumberEnd: 489
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].doUpgrade(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,jakarta.websocket.server.ServerEndpointConfig,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotDeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.servlet.api.InstanceFactory,null,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.List<jakarta.websocket.Extension>)'
    - '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    - method.matches(io.undertow.servlet.websockets.ServletWebSocketHttpExchange)
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
    - handshaker.handshake(io.undertow.servlet.websockets.ServletWebSocketHttpExchange)
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].extensions(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - ServerEndpointConfig.Builder.create(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)
    - info.getExtensions()
    - '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.servlet.api.InstanceFactory,null,io.undertow.websockets.jsr.EncodingFactory)'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    - '[java.util.HashSet].<init>()'
    - '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
    - Endpoint.class.isAssignableFrom(io.undertow.websockets.jsr.ServerWebSocketContainer)
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].isClosed()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getDecoders()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClass()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.EncodingFactory,java.util.Set<String>)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getEncoders()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].subprotocols(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.util.PathTemplate].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getSubprotocols()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getAttribute(String)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getPath()'
    - '[jakarta.servlet.http.HttpServletResponse].sendError(int)'
    - '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>,java.util.Map<String,String>)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[io.undertow.servlet.api.InstanceFactory].<init>()'
    - '[jakarta.servlet.ServletException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getExtensions()'
    - '[io.undertow.server.HttpUpgradeListener].<init>()'
    - '[io.undertow.util.PathTemplate].getParameterNames()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].configurator(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].<init>(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.util.HashSet)'
    - '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].doUpgrade(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,jakarta.websocket.server.ServerEndpointConfig,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:493,1
    - Dst: '[jakarta.websocket.ClientEndpointConfig].getPreferredSubprotocols()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:493,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:493,1
    - Dst: '[jakarta.websocket.ClientEndpointConfig].getExtensions()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:493,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].toExtensionList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:493,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:493,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.List<io.undertow.websockets.WebSocketExtension>,jakarta.websocket.ClientEndpointConfig)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:493,1
    - Dst: '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:496,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:496,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(org.xnio.ssl.XnioSsl)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:496,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setBindAddress(java.net.InetSocketAddress)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:496,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setClientNegotiation(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:496,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(jakarta.websocket.Endpoint,io.undertow.websockets.jsr.ConfiguredClientEndpoint,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Endpoint
      - org.xnio.ssl.XnioSsl
      - io.undertow.websockets.jsr.ConfiguredClientEndpoint
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - endpointInstance
    - ssl
    - cec
    - path
    argTypes:
    - jakarta.websocket.Endpoint
    - org.xnio.ssl.XnioSsl
    - io.undertow.websockets.jsr.ConfiguredClientEndpoint
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 501
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 501
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(jakarta.websocket.Endpoint,org.xnio.ssl.XnioSsl,io.undertow.websockets.jsr.ConfiguredClientEndpoint,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.List<io.undertow.websockets.WebSocketExtension>,jakarta.websocket.ClientEndpointConfig)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].setBindAddress(java.net.InetSocketAddress)'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(org.xnio.ssl.XnioSsl)'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[jakarta.websocket.ClientEndpointConfig].getPreferredSubprotocols()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].setClientNegotiation(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
    - '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].toExtensionList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(jakarta.websocket.Endpoint,io.undertow.websockets.jsr.ConfiguredClientEndpoint,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[jakarta.websocket.ClientEndpointConfig].getExtensions()'
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(jakarta.websocket.Endpoint,org.xnio.ssl.XnioSsl,io.undertow.websockets.jsr.ConfiguredClientEndpoint,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:505,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:507,1
    - Dst: '[jakarta.websocket.ClientEndpointConfig].getUserProperties()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:507,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].get(String)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:507,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].await(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:508,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].cancel()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:512,1
    - Dst: '[IoFuture.HandlingNotifier].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:513,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addNotifier(IoFuture.HandlingNotifier,null)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:513,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectionTimedOut()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:519,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].get()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:524,1
    - Dst: e.getMessage()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:526,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:526,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:528,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:530,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:531,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:532,1
    - Dst: '[jakarta.websocket.ClientEndpointConfig].getExtensions()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:532,1
    - Dst: ext.getName()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:533,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:533,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:536,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:537,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSelectedExtensions()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:537,1
    - Dst: e.getName()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:538,1
    - Dst: '[java.util.HashMap].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:538,1
    - Dst: e.getName()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:540,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:540,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSupportedExtensions()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:540,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].extensionWasNotPresentInClientHandshake(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:540,1
    - Dst: '[io.undertow.websockets.jsr.ExtensionImpl].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:542,1
    - Dst: '[java.util.ArrayList].add(jakarta.websocket.Extension)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:542,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:544,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSelectedSubProtocol()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:544,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getUri()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(jakarta.websocket.Endpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getUri()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getQuery()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getEncodingFactory()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(jakarta.websocket.ClientEndpointConfig)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.EndpointSessionHandler,null,io.undertow.servlet.util.ImmediateInstanceHandle,jakarta.websocket.ClientEndpointConfig,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.Encoding,io.undertow.websockets.jsr.ConfiguredClientEndpoint,io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.ArrayList,WebSocketClient.ConnectionBuilder)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:547,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:548,1
    - Dst: '[jakarta.websocket.Endpoint].onOpen(io.undertow.websockets.jsr.UndertowSession,jakarta.websocket.ClientEndpointConfig)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:548,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].resumeReceives()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.ConfiguredClientEndpoint
      - WebSocketClient.ConnectionBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      - java.io.IOException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.Session
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - endpointInstance
    - cec
    - connectionBuilder
    argTypes:
    - jakarta.websocket.Endpoint
    - io.undertow.websockets.jsr.ConfiguredClientEndpoint
    - WebSocketClient.ConnectionBuilder
    constantsTouched: []
    func_position:
      end: 552
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 552
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(jakarta.websocket.Endpoint,io.undertow.websockets.jsr.ConfiguredClientEndpoint,WebSocketClient.ConnectionBuilder)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - e.getName()
    - '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(jakarta.websocket.ClientEndpointConfig)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].get()'
    - '[java.util.HashMap].put(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].await(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.UndertowSession].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.EndpointSessionHandler,null,io.undertow.servlet.util.ImmediateInstanceHandle,jakarta.websocket.ClientEndpointConfig,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.Encoding,io.undertow.websockets.jsr.ConfiguredClientEndpoint,io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.ArrayList,WebSocketClient.ConnectionBuilder)'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getEncodingFactory()'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].<init>()'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addNotifier(IoFuture.HandlingNotifier,null)'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].cancel()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
    - e.getMessage()
    - '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(jakarta.websocket.Endpoint)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].get(String)'
    - '[jakarta.websocket.Endpoint].onOpen(io.undertow.websockets.jsr.UndertowSession,jakarta.websocket.ClientEndpointConfig)'
    - '[java.util.HashMap].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ExtensionImpl].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.ArrayList].add(jakarta.websocket.Extension)'
    - '[jakarta.websocket.ClientEndpointConfig].getUserProperties()'
    - '[IoFuture.HandlingNotifier].<init>()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getQuery()'
    - '[java.util.Collections].emptyMap()'
    - '[jakarta.websocket.ClientEndpointConfig].getExtensions()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSelectedExtensions()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].extensionWasNotPresentInClientHandshake(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSelectedSubProtocol()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getSupportedExtensions()'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectionTimedOut()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].resumeReceives()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getUri()'
    - ext.getName()
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
    linkageType: ''
    returnType: jakarta.websocket.Session
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].connectToServerInternal(jakarta.websocket.Endpoint,io.undertow.websockets.jsr.ConfiguredClientEndpoint,WebSocketClient.ConnectionBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxSessionIdleTimeout()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxSessionIdleTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxSessionIdleTimeout(long)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxSessionIdleTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxBinaryMessageBufferSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxBinaryMessageBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultMaxBinaryMessageBufferSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxBinaryMessageBufferSize(int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxBinaryMessageBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxTextMessageBufferSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxTextMessageBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultMaxTextMessageBufferSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxTextMessageBufferSize(int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxTextMessageBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>(java.util.List<jakarta.websocket.Extension>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<jakarta.websocket.Extension>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getInstalledExtensions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(java.util.List<jakarta.websocket.Extension>)'
    linkageType: ''
    returnType: java.util.Set<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getInstalledExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:601,1
    - Dst: '[java.util.concurrent.Executor].execute(Runnable)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:601,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(Runnable)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - executor
    - invocation
    argTypes:
    - java.util.concurrent.Executor
    - Runnable
    constantsTouched: []
    func_position:
      end: 610
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 610
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(Runnable)'
    - '[java.util.concurrent.Executor].execute(Runnable)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadSetupHandler.Action<Void,Runnable>].call(null,Runnable)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:618,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - invocation
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(Runnable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[ThreadSetupHandler.Action<Void,Runnable>].call(null,Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].cannotAddEndpointAfterDeployment()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:627,1
    - Dst: '[java.util.Set<Class<?>>].contains(Class<?>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:631,1
    - Dst: '[java.util.Set<Class<?>>].add(Class<?>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:634,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpointInternal(Class<?>,boolean)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:636,1
    - Dst: '[java.util.List<jakarta.websocket.DeploymentException>].add(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:638,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 641
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 641
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpointInternal(Class<?>,boolean)'
    - '[java.util.List<jakarta.websocket.DeploymentException>].add(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.Set<Class<?>>].add(Class<?>)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].cannotAddEndpointAfterDeployment()'
    - '[java.util.Set<Class<?>>].contains(Class<?>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?>].getAnnotation()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:644,1
    - Dst: '[Class<?>].getAnnotation()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:645,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].value()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:647,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addingAnnotatedServerEndpoint(Class<?>,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:647,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].value()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:648,1
    - Dst: '[io.undertow.util.PathTemplate].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:648,1
    - Dst: '[java.util.TreeSet<io.undertow.util.PathTemplate>].contains(io.undertow.util.PathTemplate)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:649,1
    - Dst: p.compareTo(io.undertow.util.PathTemplate)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:652,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].multipleEndpointsWithOverlappingPaths(io.undertow.util.PathTemplate,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:657,1
    - Dst: '[java.util.TreeSet<io.undertow.util.PathTemplate>].add(io.undertow.util.PathTemplate)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:659,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].configurator()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:660,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:662,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:662,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:662,1
    - Dst: '[io.undertow.util.PathTemplate].getParameterNames()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:663,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(Class<?>,io.undertow.websockets.jsr.EncodingFactory,java.util.Set<String>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:663,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<?>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:666,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotDeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:670,1
    - Dst: '[io.undertow.servlet.api.InstanceFactory].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:672,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:683,1
    - Dst: '[io.undertow.servlet.api.InstanceFactory<T>].createInstance()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:683,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getInstance()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:683,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotDeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:685,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].value()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:691,1
    - Dst: ServerEndpointConfig.Builder.create(Class<?>,io.undertow.websockets.jsr.ServerWebSocketContainer)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:691,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:692,1
    - Dst: '[java.util.Arrays].asList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:692,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:691,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:693,1
    - Dst: '[java.util.Arrays].asList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:693,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:691,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].subprotocols()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:694,1
    - Dst: '[java.util.Arrays].asList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:694,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].subprotocols(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:691,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:695,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].extensions(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:691,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].configurator(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:691,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:691,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.servlet.api.InstanceFactory,io.undertow.util.PathTemplate,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.List<jakarta.websocket.Extension>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:700,1
    - Dst: '[java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>].add(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:701,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handleAddingFilterMapping()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:702,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addingAnnotatedClientEndpoint(Class<?>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:704,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:705,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:705,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:705,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<?>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:708,1
    - Dst: '[Class<?>].getConstructor()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:711,1
    - Dst: '[io.undertow.servlet.util.ConstructorInstanceFactory].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:711,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotDeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:714,1
    - Dst: '[io.undertow.servlet.api.InstanceFactory].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:716,1
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:725,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(Class<?>,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:725,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].configurator()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:729,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:729,1
    - Dst: '[io.undertow.servlet.api.InstanceFactory<T>].createInstance()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:729,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getInstance()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:729,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotDeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:731,1
    - Dst: ClientEndpointConfig.Builder.create()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:733,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:734,1
    - Dst: '[java.util.Arrays].asList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:734,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:733,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:735,1
    - Dst: '[java.util.Arrays].asList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:735,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:733,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].subprotocols()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:736,1
    - Dst: '[java.util.Arrays].asList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:736,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].preferredSubprotocols(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:733,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].configurator(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:733,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:733,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.EncodingFactory,io.undertow.servlet.api.InstanceFactory)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:740,1
    - Dst: '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].put(Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:741,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].classWasNotAnnotated(Class<?>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:743,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - endpoint
    - requiresCreation
    argTypes:
    - Class<?>
    - boolean
    constantsTouched: []
    func_position:
      end: 745
      start: 643
    functionDepth: 3
    functionLinenumber: 643
    functionLinenumberEnd: 745
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpointInternal(Class<?>,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotDeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].preferredSubprotocols(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].put(Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].configurator()'
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.EncodingFactory,io.undertow.servlet.api.InstanceFactory)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].value()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].build()'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.servlet.api.InstanceFactory,io.undertow.util.PathTemplate,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.List<jakarta.websocket.Extension>)'
    - '[io.undertow.servlet.api.InstanceFactory<T>].createInstance()'
    - '[java.util.TreeSet<io.undertow.util.PathTemplate>].add(io.undertow.util.PathTemplate)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].extensions(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<?>)'
    - '[java.util.TreeSet<io.undertow.util.PathTemplate>].contains(io.undertow.util.PathTemplate)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].encoders()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getInstance()'
    - '[Class<?>].getAnnotation()'
    - '[java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>].add(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].subprotocols()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addingAnnotatedServerEndpoint(Class<?>,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.Collections].emptySet()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].multipleEndpointsWithOverlappingPaths(io.undertow.util.PathTemplate,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].subprotocols(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[Class<?>].getConstructor()'
    - '[io.undertow.util.PathTemplate].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - p.compareTo(io.undertow.util.PathTemplate)
    - ServerEndpointConfig.Builder.create(Class<?>,io.undertow.websockets.jsr.ServerWebSocketContainer)
    - '[io.undertow.servlet.api.InstanceFactory].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addingAnnotatedClientEndpoint(Class<?>)'
    - '[io.undertow.servlet.util.ConstructorInstanceFactory].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].decoders()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].handleAddingFilterMapping()'
    - '[io.undertow.util.PathTemplate].getParameterNames()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(Class<?>,io.undertow.websockets.jsr.EncodingFactory,java.util.Set<String>)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].configurator(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - ClientEndpointConfig.Builder.create()
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(Class<?>,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.Arrays].asList(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].classWasNotAnnotated(Class<?>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpointInternal(Class<?>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.spec.ServletContextImpl].getDeployment()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:750,1
    - Dst: '[io.undertow.servlet.api.Deployment].getDeploymentInfo()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:750,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:750,1
    - Dst: '[io.undertow.servlet.spec.ServletContextImpl].getDeployment()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:751,1
    - Dst: '[io.undertow.servlet.api.Deployment].getServletPaths()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:751,1
    - Dst: '[io.undertow.servlet.handlers.ServletPathMatches].invalidate()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 754
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handleAddingFilterMapping()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.servlet.api.Deployment].getServletPaths()'
    - '[io.undertow.servlet.handlers.ServletPathMatches].invalidate()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.servlet.spec.ServletContextImpl].getDeployment()'
    - '[io.undertow.servlet.api.Deployment].getDeploymentInfo()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handleAddingFilterMapping()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].cannotAddEndpointAfterDeployment()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:759,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:761,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getPath()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:761,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addingProgramaticEndpoint(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:761,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getPath()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:762,1
    - Dst: '[io.undertow.util.PathTemplate].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:762,1
    - Dst: '[java.util.TreeSet<io.undertow.util.PathTemplate>].contains(io.undertow.util.PathTemplate)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:763,1
    - Dst: p.compareTo(io.undertow.util.PathTemplate)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:766,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].multipleEndpointsWithOverlappingPaths(io.undertow.util.PathTemplate,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:771,1
    - Dst: '[java.util.TreeSet<io.undertow.util.PathTemplate>].add(io.undertow.util.PathTemplate)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:773,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getDecoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:774,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEncoders()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:774,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:774,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:777,1
    - Dst: Endpoint.class.isAssignableFrom(io.undertow.websockets.jsr.ServerWebSocketContainer)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:777,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:779,1
    - Dst: '[io.undertow.util.PathTemplate].getParameterNames()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:779,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.EncodingFactory,java.util.Set<String>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:779,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getExtensions()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:781,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(jakarta.websocket.server.ServerEndpointConfig,null,io.undertow.util.PathTemplate,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:781,1
    - Dst: '[java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>].add(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:782,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handleAddingFilterMapping()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:783,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.server.ServerEndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - jakarta.websocket.server.ServerEndpointConfig
    constantsTouched: []
    func_position:
      end: 784
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 784
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(jakarta.websocket.server.ServerEndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(jakarta.websocket.server.ServerEndpointConfig,null,io.undertow.util.PathTemplate,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.TreeSet<io.undertow.util.PathTemplate>].add(io.undertow.util.PathTemplate)'
    - '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.TreeSet<io.undertow.util.PathTemplate>].contains(io.undertow.util.PathTemplate)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
    - Endpoint.class.isAssignableFrom(io.undertow.websockets.jsr.ServerWebSocketContainer)
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].cannotAddEndpointAfterDeployment()'
    - '[java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>].add(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getDecoders()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.EncodingFactory,java.util.Set<String>)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].multipleEndpointsWithOverlappingPaths(io.undertow.util.PathTemplate,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getEncoders()'
    - '[io.undertow.util.PathTemplate].create(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - p.compareTo(io.undertow.util.PathTemplate)
    - '[jakarta.websocket.server.ServerEndpointConfig].getPath()'
    - '[jakarta.websocket.server.ServerEndpointConfig].getExtensions()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].handleAddingFilterMapping()'
    - '[io.undertow.util.PathTemplate].getParameterNames()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addingProgramaticEndpoint(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(jakarta.websocket.server.ServerEndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type.isAnnotationPresent()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:789,1
    - Dst: type.getSuperclass()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:790,1
    - Dst: '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:796,1
    - Dst: '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:801,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isAnnotationPresent()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:805,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpointInternal(io.undertow.websockets.jsr.ServerWebSocketContainer,boolean)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:807,1
    - Dst: '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:808,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:810,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.ConfiguredClientEndpoint
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - endpointType
    - requiresCreation
    argTypes:
    - Class<?>
    - boolean
    constantsTouched: []
    func_position:
      end: 815
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 815
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(Class<?>,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 2
    functionsReached:
    - type.isAnnotationPresent()
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpointInternal(io.undertow.websockets.jsr.ServerWebSocketContainer,boolean)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].isAnnotationPresent()'
    - '[java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>].get(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - type.getSuperclass()
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ConfiguredClientEndpoint
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getClientEndpoint(Class<?>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<jakarta.websocket.DeploymentException>].isEmpty()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:820,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].deploymentFailedDueToProgramaticErrors()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:821,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addSuppressed(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 827
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 827
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].validateDeployment()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<jakarta.websocket.DeploymentException>].isEmpty()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addSuppressed(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].deploymentFailedDueToProgramaticErrors()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].validateDeployment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].validateDeployment()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].deploymentComplete()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].validateDeployment()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].deploymentComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 836
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 836
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getConfiguredServerEndpoints()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getConfiguredServerEndpoints()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.spec.ServletContextImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 840
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 840
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getContextToAddFilter()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.spec.ServletContextImpl
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getContextToAddFilter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.spec.ServletContextImpl
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - contextToAddFilter
    argTypes:
    - io.undertow.servlet.spec.ServletContextImpl
    constantsTouched: []
    func_position:
      end: 844
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 844
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setContextToAddFilter(io.undertow.servlet.spec.ServletContextImpl)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setContextToAddFilter(io.undertow.servlet.spec.ServletContextImpl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].doClose()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:847,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].currentTimeMillis()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:849,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:851,1
    - Dst: endpoint.awaitClose(io.undertow.websockets.jsr.ServerWebSocketContainer)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - waitTime
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 853
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 853
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close(int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached:
    - endpoint.awaitClose(io.undertow.websockets.jsr.ServerWebSocketContainer)
    - System.currentTimeMillis()
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].currentTimeMillis()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].doClose()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close(int)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 857
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].close(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 861
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 861
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getBufferPool()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 865
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getXnioWorker()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[java.util.function.Supplier<org.xnio.XnioWorker>].get()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getXnioWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:868,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:870,1
    - Dst: e.getParameters()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:871,1
    - Dst: p.getName()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:872,1
    - Dst: p.getValue()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:872,1
    - Dst: '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:872,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension.Parameter)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:872,1
    - Dst: e.getName()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:874,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:874,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<jakarta.websocket.Extension>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.websockets.WebSocketExtension>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - extensions
    argTypes:
    - java.util.List<jakarta.websocket.Extension>
    constantsTouched: []
    func_position:
      end: 877
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 877
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].toExtensionList(java.util.List<jakarta.websocket.Extension>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension.Parameter)'
    - e.getParameters()
    - e.getName()
    - '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension)'
    - p.getName()
    - p.getValue()
    - '[io.undertow.websockets.WebSocketExtension].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,java.util.ArrayList)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.WebSocketExtension>
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].toExtensionList(java.util.List<jakarta.websocket.Extension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>].isEmpty()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:935,1
    - Dst: '[PauseListener].paused()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:936,1
    - Dst: '[java.util.List<PauseListener>].add(PauseListener)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:940,1
    - Dst: endpoint.getOpenSessions()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:943,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:944,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:944,1
    - Dst: '[java.util.concurrent.Executor].execute(Runnable)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:944,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:957,1
    - Dst: endpoint.notifyClosed(Runnable)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:980,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - PauseListener
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - PauseListener
    constantsTouched: []
    func_position:
      end: 982
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 982
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].pause(PauseListener)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - endpoint.notifyClosed(Runnable)
    - '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
    - '[java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>].isEmpty()'
    - endpoint.getOpenSessions()
    - '[Runnable].<init>()'
    - '[PauseListener].paused()'
    - '[java.util.concurrent.Executor].execute(Runnable)'
    - '[java.util.List<PauseListener>].add(PauseListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].pause(PauseListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: endpoint.getOpenSessions()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:987,1
    - Dst: '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,String)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:989,1
    - Dst: session.close(jakarta.websocket.CloseReason)
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:989,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotCloseOnUndeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 995
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 995
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].doClose()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached:
    - '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer,String)'
    - endpoint.getOpenSessions()
    - session.close(jakarta.websocket.CloseReason)
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].couldNotCloseOnUndeploy(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].doClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:998,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:999,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:999,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1000,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi08Handshake)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1000,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1001,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi07Handshake)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1001,1
    - Dst: '[WebSocketHandshakeHolder].<init>(java.util.ArrayList,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: WebSocketHandshakeHolder
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    constantsTouched: []
    func_position:
      end: 1003
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1003
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached:
    - '[WebSocketHandshakeHolder].<init>(java.util.ArrayList,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi08Handshake)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi07Handshake)'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
    linkageType: ''
    returnType: WebSocketHandshakeHolder
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1006,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1007,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1008,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1009,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].addExtension(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1011,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].addExtension(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1012,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].addExtension(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1013,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1015,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi08Handshake)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1016,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi07Handshake)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1017,1
    - Dst: '[WebSocketHandshakeHolder].<init>(java.util.ArrayList,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: WebSocketHandshakeHolder
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - config
    - extensions
    argTypes:
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 1019
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1019
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.ConfiguredServerEndpoint,java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[WebSocketHandshakeHolder].<init>(java.util.ArrayList,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].addExtension(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi08Handshake)'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi07Handshake)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].addExtension(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].addExtension(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
    linkageType: ''
    returnType: WebSocketHandshakeHolder
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.ConfiguredServerEndpoint,java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p.resumed()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1036,1
    - Dst: '[java.util.List<PauseListener>].clear()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer:1038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1039
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].resume()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 3
    functionsReached:
    - p.resumed()
    - '[java.util.List<PauseListener>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].resume()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketReconnectHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1043
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getWebSocketReconnectHandler()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketReconnectHandler
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getWebSocketReconnectHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1047
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isClosed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.Map<Class<?>,io.undertow.websockets.jsr.ConfiguredClientEndpoint>
      - java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>
      - java.util.Set<Class<?>>
      - java.util.TreeSet<io.undertow.util.PathTemplate>
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.net.InetSocketAddress
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      - long
      - long
      - int
      - int
      - boolean
      - java.util.List<jakarta.websocket.DeploymentException>
      - io.undertow.servlet.spec.ServletContextImpl
      - java.util.List<io.undertow.websockets.jsr.WebsocketClientSslProvider>
      - java.util.List<PauseListener>
      - java.util.List<jakarta.websocket.Extension>
      - ThreadSetupHandler.Action<Void,Runnable>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerContainer
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1057
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isDispatchToWorker()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isDispatchToWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(java.util.List<String>,java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - jakarta.websocket.ClientEndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - ClientEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation
      static: false
      superClass: WebSocketClientNegotiation
    argCount: 3
    argNames:
    - supportedSubProtocols
    - supportedExtensions
    - config
    argTypes:
    - java.util.List<String>
    - java.util.List<io.undertow.websockets.WebSocketExtension>
    - jakarta.websocket.ClientEndpointConfig
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 886
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].<init>(java.util.List<String>,java.util.List<io.undertow.websockets.WebSocketExtension>,jakarta.websocket.ClientEndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(java.util.List<String>,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].<init>(java.util.List<String>,java.util.List<io.undertow.websockets.WebSocketExtension>,jakarta.websocket.ClientEndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ClientEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:891,1
    - Dst: '[java.util.TreeMap].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:893,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].entrySet()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:894,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:895,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:896,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:896,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:897,1
    - Dst: '[java.util.TreeMap].put(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:897,1
    - Dst: '[jakarta.websocket.HandshakeResponse].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:899,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].afterResponse(jakarta.websocket.HandshakeResponse)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - ClientEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: WebSocketClientNegotiation
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 906
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 906
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].afterRequest(java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[ClientEndpointConfig].getConfigurator()'
    - '[java.util.TreeMap].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
    - '[java.util.ArrayList].addAll(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
    - entry.getValue()
    - entry.getKey()
    - '[java.util.TreeMap].put(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation,java.util.ArrayList)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].afterResponse(jakarta.websocket.HandshakeResponse)'
    - '[java.util.ArrayList].<init>()'
    - '[jakarta.websocket.HandshakeResponse].<init>()'
    - '[java.util.Map<String,java.util.List<String>>].entrySet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].afterRequest(java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ClientEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:910,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:912,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].entrySet()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:913,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:914,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:915,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:915,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:916,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:916,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].beforeRequest(java.util.HashMap)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:918,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].clear()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:919,1
    - Dst: '[java.util.HashMap].entrySet()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:920,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:921,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].isEmpty()'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:921,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:922,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:922,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].put(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation,io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
      Src: io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation:922,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - ClientEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: WebSocketClientNegotiation
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 926
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 926
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].beforeRequest(java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached:
    - '[ClientEndpointConfig].getConfigurator()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].beforeRequest(java.util.HashMap)'
    - '[java.util.Map<String,java.util.List<String>>].clear()'
    - '[java.util.HashMap].put(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation,java.util.ArrayList)'
    - '[java.util.HashMap].entrySet()'
    - '[java.util.HashMap].<init>()'
    - '[java.util.ArrayList].addAll(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
    - entry.getValue()
    - '[java.util.Map<String,java.util.List<String>>].put(io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation,io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation)'
    - entry.getKey()
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].isEmpty()'
    - '[java.util.Map<String,java.util.List<String>>].entrySet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer.ClientNegotiation].beforeRequest(java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classConcrete: true
      classEnum: false
      classFields:
      - List<Handshake>
      - ConfiguredServerEndpoint
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handshakes
    - endpoint
    argTypes:
    - java.util.List<io.undertow.websockets.core.protocol.Handshake>
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder].<init>(java.util.List<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder].<init>(java.util.List<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1050
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer.PauseListener].paused()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer.PauseListener].paused()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1052
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer.PauseListener].resumed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer.PauseListener].resumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer.PauseListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.ServerWebSocketContainer.PauseListener].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerWebSocketContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer.PauseListener
    signature: '[io.undertow.websockets.jsr.ServerWebSocketContainer.PauseListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - Class<?>
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - worker
    - annotatedEndpoint
    - uri
    argTypes:
    - org.xnio.XnioWorker
    - Class<?>
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[io.undertow.websockets.jsr.WebsocketClientSslProvider].getSsl(org.xnio.XnioWorker,Class<?>,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebsocketClientSslProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.jsr.WebsocketClientSslProvider].getSsl(org.xnio.XnioWorker,Class<?>,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - Object
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - worker
    - annotatedEndpointInstance
    - uri
    argTypes:
    - org.xnio.XnioWorker
    - Object
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.jsr.WebsocketClientSslProvider].getSsl(org.xnio.XnioWorker,Object,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebsocketClientSslProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.jsr.WebsocketClientSslProvider].getSsl(org.xnio.XnioWorker,Object,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - jakarta.websocket.Endpoint
      - jakarta.websocket.ClientEndpointConfig
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - worker
    - endpoint
    - cec
    - uri
    argTypes:
    - org.xnio.XnioWorker
    - jakarta.websocket.Endpoint
    - jakarta.websocket.ClientEndpointConfig
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[io.undertow.websockets.jsr.WebsocketClientSslProvider].getSsl(org.xnio.XnioWorker,jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebsocketClientSslProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.jsr.WebsocketClientSslProvider].getSsl(org.xnio.XnioWorker,jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebsocketClientSslProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.WebsocketClientSslProvider].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebsocketClientSslProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebsocketClientSslProvider
    signature: '[io.undertow.websockets.jsr.WebsocketClientSslProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:63,1
    - Dst: Thread.currentThread()
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:64,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].getContextClassLoader()'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:64,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<ClassLoader>)
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:66,1
    - Dst: '[java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>].get(io.undertow.websockets.jsr.UndertowContainerProvider)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:69,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].getDefaultContainer()'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - RuntimePermission
      - java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - boolean
      - SwitchableClassIntrospector
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.WebSocketContainer
      static: false
      superClass: jakarta.websocket.ContainerProvider
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider].getContainer()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].getContextClassLoader()'
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].getDefaultContainer()'
    - '[java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>].get(io.undertow.websockets.jsr.UndertowContainerProvider)'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<ClassLoader>)
    - Thread.currentThread()
    - System.getSecurityManager()
    linkageType: ''
    returnType: jakarta.websocket.WebSocketContainer
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider].getContainer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:91,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(SwitchableClassIntrospector,io.undertow.websockets.jsr.UndertowContainerProvider,java.util.function.Supplier,io.undertow.server.DefaultByteBufferPool,io.undertow.websockets.jsr.UndertowContainerProvider)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:92,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - RuntimePermission
      - java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - boolean
      - SwitchableClassIntrospector
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer
      static: true
      superClass: jakarta.websocket.ContainerProvider
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider].getDefaultContainer()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(SwitchableClassIntrospector,io.undertow.websockets.jsr.UndertowContainerProvider,java.util.function.Supplier,io.undertow.server.DefaultByteBufferPool,io.undertow.websockets.jsr.UndertowContainerProvider)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider].getDefaultContainer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:127,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].checkPermission(RuntimePermission)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:129,1
    - Dst: '[java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>].put(ClassLoader,jakarta.websocket.WebSocketContainer)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      - jakarta.websocket.WebSocketContainer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - RuntimePermission
      - java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - boolean
      - SwitchableClassIntrospector
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: jakarta.websocket.ContainerProvider
    argCount: 2
    argNames:
    - classLoader
    - webSocketContainer
    argTypes:
    - ClassLoader
    - jakarta.websocket.WebSocketContainer
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider].addContainer(ClassLoader,jakarta.websocket.WebSocketContainer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 1
    functionsReached:
    - System.getSecurityManager()
    - '[java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>].put(ClassLoader,jakarta.websocket.WebSocketContainer)'
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].checkPermission(RuntimePermission)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider].addContainer(ClassLoader,jakarta.websocket.WebSocketContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:136,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].checkPermission(RuntimePermission)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:138,1
    - Dst: '[java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>].remove(ClassLoader)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - RuntimePermission
      - java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - boolean
      - SwitchableClassIntrospector
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: jakarta.websocket.ContainerProvider
    argCount: 1
    argNames:
    - classLoader
    argTypes:
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider].removeContainer(ClassLoader)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 1
    functionsReached:
    - System.getSecurityManager()
    - '[java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>].remove(ClassLoader)'
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].checkPermission(RuntimePermission)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider].removeContainer(ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].checkNotNullParam(String,io.undertow.servlet.api.ClassIntrospecter)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:144,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].setIntrospecter(io.undertow.websockets.jsr.UndertowContainerProvider)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - RuntimePermission
      - java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - boolean
      - SwitchableClassIntrospector
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.ContainerProvider
    argCount: 1
    argNames:
    - classIntrospector
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider].setDefaultClassIntrospector(io.undertow.servlet.api.ClassIntrospecter)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].setIntrospecter(io.undertow.websockets.jsr.UndertowContainerProvider)'
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].checkNotNullParam(String,io.undertow.servlet.api.ClassIntrospecter)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider].setDefaultClassIntrospector(io.undertow.servlet.api.ClassIntrospecter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:149,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].checkPermission(RuntimePermission)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - RuntimePermission
      - java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - boolean
      - SwitchableClassIntrospector
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: jakarta.websocket.ContainerProvider
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider].disableDefaultContainer()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].checkPermission(RuntimePermission)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider].disableDefaultContainer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:47,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:48,1
    - Dst: '[RuntimePermission].<init>(String)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:50,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:52,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].<init>()'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - RuntimePermission
      - java.util.Map<ClassLoader,jakarta.websocket.WebSocketContainer>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - boolean
      - SwitchableClassIntrospector
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.UndertowContainerProvider
      static: false
      superClass: jakarta.websocket.ContainerProvider
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - Boolean.getBoolean(String)
    - '[RuntimePermission].<init>(String)'
    - '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.UndertowContainerProvider
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<T>)'
      Src: io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - ClassIntrospecter
      classPublic: false
      concrete: true
      exceptions:
      - NoSuchMethodException
      interfaces:
      - ClassIntrospecter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.api.InstanceFactory<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].createInstanceFactory(Class<T>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<T>)'
    linkageType: ''
    returnType: io.undertow.servlet.api.InstanceFactory<T>
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].createInstanceFactory(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      classConcrete: true
      classEnum: false
      classFields:
      - ClassIntrospecter
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClassIntrospecter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - introspecter
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].setIntrospecter(io.undertow.servlet.api.ClassIntrospecter)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].setIntrospecter(io.undertow.servlet.api.ClassIntrospecter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClassIntrospecter
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClassIntrospecter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowContainerProvider.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector
    signature: '[io.undertow.websockets.jsr.UndertowContainerProvider.SwitchableClassIntrospector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:61,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.FrameHandler:78,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isDispatchToWorker()'
      Src: io.undertow.websockets.jsr.FrameHandler:78,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
      Src: io.undertow.websockets.jsr.FrameHandler:79,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getWorker()'
      Src: io.undertow.websockets.jsr.FrameHandler:79,1
    - Dst: '[io.undertow.websockets.jsr.OrderedExecutor].<init>(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:79,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
      Src: io.undertow.websockets.jsr.FrameHandler:81,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getIoThread()'
      Src: io.undertow.websockets.jsr.FrameHandler:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.UndertowSession
      - jakarta.websocket.Endpoint
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.FrameHandler
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - session
    - endpoint
    argTypes:
    - io.undertow.websockets.jsr.UndertowSession
    - jakarta.websocket.Endpoint
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.jsr.FrameHandler].<init>(io.undertow.websockets.jsr.UndertowSession,jakarta.websocket.Endpoint)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
    - '[io.undertow.websockets.jsr.OrderedExecutor].<init>(io.undertow.websockets.jsr.FrameHandler)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].isDispatchToWorker()'
    - '[io.undertow.websockets.core.WebSocketChannel].getIoThread()'
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[io.undertow.websockets.core.WebSocketChannel].getWorker()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.FrameHandler
    signature: '[io.undertow.websockets.jsr.FrameHandler].<init>(io.undertow.websockets.jsr.UndertowSession,jakarta.websocket.Endpoint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
      Src: io.undertow.websockets.jsr.FrameHandler:89,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:91,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].free()'
      Src: io.undertow.websockets.jsr.FrameHandler:91,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:94,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
      Src: io.undertow.websockets.jsr.FrameHandler:95,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].toBuffer(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:95,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.websockets.jsr.FrameHandler:96,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.jsr.FrameHandler,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.jsr.FrameHandler:98,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.FrameHandler:100,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:100,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.websockets.jsr.FrameHandler:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 118
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 118
    functionName: '[io.undertow.websockets.jsr.FrameHandler].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[org.xnio.Pooled<ByteBuffer[]>].free()'
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.jsr.FrameHandler,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    - '[Runnable].<init>()'
    - '[io.undertow.websockets.jsr.FrameHandler].toBuffer(io.undertow.websockets.jsr.FrameHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.FrameHandler:121,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:121,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.websockets.jsr.FrameHandler:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: '[io.undertow.websockets.jsr.FrameHandler].invokeOnError(Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[Runnable].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].invokeOnError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
      Src: io.undertow.websockets.jsr.FrameHandler:131,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:135,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].free()'
      Src: io.undertow.websockets.jsr.FrameHandler:135,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:138,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:140,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
      Src: io.undertow.websockets.jsr.FrameHandler:141,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].toBuffer(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:141,1
    - Dst: '[io.undertow.websockets.jsr.DefaultPongMessage].create(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.jsr.FrameHandler:141,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.FrameHandler:143,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:143,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.websockets.jsr.FrameHandler:143,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:156,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].free()'
      Src: io.undertow.websockets.jsr.FrameHandler:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - webSocketChannel
    - bufferedBinaryMessage
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: '[io.undertow.websockets.jsr.FrameHandler].onFullPongMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[org.xnio.Pooled<ByteBuffer[]>].free()'
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
    - '[io.undertow.websockets.jsr.DefaultPongMessage].create(java.nio.ByteBuffer)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    - '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
    - '[Runnable].<init>()'
    - '[io.undertow.websockets.jsr.FrameHandler].toBuffer(io.undertow.websockets.jsr.FrameHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].onFullPongMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
      Src: io.undertow.websockets.jsr.FrameHandler:162,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].close()'
      Src: io.undertow.websockets.jsr.FrameHandler:166,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:169,1
    - Dst: '[io.undertow.server.HandlerWrapper].isPartialHandler()'
      Src: io.undertow.websockets.jsr.FrameHandler:170,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getMaxTextMessageBufferSize()'
      Src: io.undertow.websockets.jsr.FrameHandler:171,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].<init>(int,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:171,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:172,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback)'
      Src: io.undertow.websockets.jsr.FrameHandler:172,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.jsr.FrameHandler:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - webSocketChannel
    - messageChannel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 186
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 186
    functionName: '[io.undertow.websockets.jsr.FrameHandler].onText(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[io.undertow.server.HandlerWrapper].isPartialHandler()'
    - '[io.undertow.websockets.core.BufferedTextMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback)'
    - '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].close()'
    - '[io.undertow.websockets.jsr.UndertowSession].getMaxTextMessageBufferSize()'
    - '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
    - '[io.undertow.websockets.core.BufferedTextMessage].<init>(int,boolean)'
    - '[io.undertow.websockets.core.WebSocketCallback].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].onText(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
      Src: io.undertow.websockets.jsr.FrameHandler:191,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].close()'
      Src: io.undertow.websockets.jsr.FrameHandler:195,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:198,1
    - Dst: '[io.undertow.server.HandlerWrapper].isPartialHandler()'
      Src: io.undertow.websockets.jsr.FrameHandler:199,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getMaxBinaryMessageBufferSize()'
      Src: io.undertow.websockets.jsr.FrameHandler:200,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(int,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:200,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:201,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback)'
      Src: io.undertow.websockets.jsr.FrameHandler:201,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.jsr.FrameHandler:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - webSocketChannel
    - messageChannel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 216
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 216
    functionName: '[io.undertow.websockets.jsr.FrameHandler].onBinary(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[io.undertow.server.HandlerWrapper].isPartialHandler()'
    - '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(int,boolean)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].close()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback)'
    - '[io.undertow.websockets.jsr.UndertowSession].getMaxBinaryMessageBufferSize()'
    - '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
    - '[io.undertow.websockets.core.WebSocketCallback].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].onBinary(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:220,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.FrameHandler:221,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:221,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.websockets.jsr.FrameHandler:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.BufferedBinaryMessage
      - io.undertow.server.HandlerWrapper
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 3
    argNames:
    - context
    - handler
    - finalFragment
    argTypes:
    - io.undertow.websockets.core.BufferedBinaryMessage
    - io.undertow.server.HandlerWrapper
    - boolean
    constantsTouched: []
    func_position:
      end: 263
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 263
    functionName: '[io.undertow.websockets.jsr.FrameHandler].invokeBinaryHandler(io.undertow.websockets.core.BufferedBinaryMessage,io.undertow.server.HandlerWrapper,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[Runnable].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].invokeBinaryHandler(io.undertow.websockets.core.BufferedBinaryMessage,io.undertow.server.HandlerWrapper,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:267,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.FrameHandler:268,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:268,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.websockets.jsr.FrameHandler:268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.BufferedTextMessage
      - io.undertow.server.HandlerWrapper
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 3
    argNames:
    - data
    - handler
    - finalFragment
    argTypes:
    - io.undertow.websockets.core.BufferedTextMessage
    - io.undertow.server.HandlerWrapper
    - boolean
    constantsTouched: []
    func_position:
      end: 301
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 301
    functionName: '[io.undertow.websockets.jsr.FrameHandler].invokeTextHandler(io.undertow.websockets.core.BufferedTextMessage,io.undertow.server.HandlerWrapper,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[Runnable].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    - '[io.undertow.websockets.core.BufferedTextMessage].getData()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].invokeTextHandler(io.undertow.websockets.core.BufferedTextMessage,io.undertow.server.HandlerWrapper,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getEndpoint()'
      Src: io.undertow.websockets.jsr.FrameHandler:306,1
    - Dst: '[jakarta.websocket.Endpoint].onError(io.undertow.websockets.jsr.UndertowSession,Throwable)'
      Src: io.undertow.websockets.jsr.FrameHandler:306,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
      Src: io.undertow.websockets.jsr.FrameHandler:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - error
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Throwable
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: '[io.undertow.websockets.jsr.FrameHandler].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].getEndpoint()'
    - '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
    - '[jakarta.websocket.Endpoint].onError(io.undertow.websockets.jsr.UndertowSession,Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
      Src: io.undertow.websockets.jsr.FrameHandler:314,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:320,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].invokeTextHandler(io.undertow.websockets.core.BufferedTextMessage,io.undertow.server.HandlerWrapper,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedTextMessage
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedTextMessage
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: '[io.undertow.websockets.jsr.FrameHandler].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
    - '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
    - '[io.undertow.websockets.jsr.FrameHandler].invokeTextHandler(io.undertow.websockets.core.BufferedTextMessage,io.undertow.server.HandlerWrapper,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
      Src: io.undertow.websockets.jsr.FrameHandler:328,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:332,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].close()'
      Src: io.undertow.websockets.jsr.FrameHandler:332,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:335,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].invokeBinaryHandler(io.undertow.websockets.core.BufferedBinaryMessage,io.undertow.server.HandlerWrapper,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:337,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.jsr.FrameHandler:339,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].close()'
      Src: io.undertow.websockets.jsr.FrameHandler:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 341
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 341
    functionName: '[io.undertow.websockets.jsr.FrameHandler].onFullBinaryMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[io.undertow.websockets.jsr.FrameHandler].invokeBinaryHandler(io.undertow.websockets.core.BufferedBinaryMessage,io.undertow.server.HandlerWrapper,boolean)'
    - '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
    - '[org.xnio.Pooled<ByteBuffer[]>].close()'
    - '[io.undertow.websockets.jsr.FrameHandler].getHandler(io.undertow.websockets.jsr.FrameHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].onFullBinaryMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Buffers].remaining(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:347,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:351,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].put(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:353,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].flip()'
      Src: io.undertow.websockets.jsr.FrameHandler:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 357
    functionName: '[io.undertow.websockets.jsr.FrameHandler].toBuffer()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].flip()'
    - '[java.nio.ByteBuffer].allocate(io.undertow.websockets.jsr.FrameHandler)'
    - '[org.xnio.Buffers].remaining(io.undertow.websockets.jsr.FrameHandler)'
    - '[io.undertow.websockets.jsr.FrameHandler].put(io.undertow.websockets.jsr.FrameHandler)'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.websockets.jsr.FrameHandler].toBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf.hasArray()
      Src: io.undertow.websockets.jsr.FrameHandler:362,1
    - Dst: buf.arrayOffset()
      Src: io.undertow.websockets.jsr.FrameHandler:363,1
    - Dst: buf.position()
      Src: io.undertow.websockets.jsr.FrameHandler:364,1
    - Dst: buf.array()
      Src: io.undertow.websockets.jsr.FrameHandler:365,1
    - Dst: buf.remaining()
      Src: io.undertow.websockets.jsr.FrameHandler:365,1
    - Dst: buf.array()
      Src: io.undertow.websockets.jsr.FrameHandler:366,1
    - Dst: '[org.xnio.Buffers].take(io.undertow.websockets.jsr.FrameHandler,int,io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: '[io.undertow.websockets.jsr.FrameHandler].toArray()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - buf.remaining()
    - '[org.xnio.Buffers].take(io.undertow.websockets.jsr.FrameHandler,int,io.undertow.websockets.jsr.FrameHandler)'
    - buf.position()
    - buf.arrayOffset()
    - buf.array()
    - buf.hasArray()
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.jsr.FrameHandler].toArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].addHandlerInternal(jakarta.websocket.MessageHandler,Class<?>)'
      Src: io.undertow.websockets.jsr.FrameHandler:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - jakarta.websocket.MessageHandler
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - messageType
    - handler
    argTypes:
    - Class<?>
    - jakarta.websocket.MessageHandler
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: '[io.undertow.websockets.jsr.FrameHandler].addHandler(Class<?>,jakarta.websocket.MessageHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].addHandlerInternal(jakarta.websocket.MessageHandler,Class<?>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].addHandler(Class<?>,jakarta.websocket.MessageHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.MessageHandler].getClass()'
      Src: io.undertow.websockets.jsr.FrameHandler:376,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:376,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].entrySet()'
      Src: io.undertow.websockets.jsr.FrameHandler:377,1
    - Dst: e.getKey()
      Src: io.undertow.websockets.jsr.FrameHandler:378,1
    - Dst: e.getValue()
      Src: io.undertow.websockets.jsr.FrameHandler:379,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].addHandlerInternal(jakarta.websocket.MessageHandler,io.undertow.websockets.jsr.FrameHandler,io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.MessageHandler
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 1
    argNames:
    - handler
    argTypes:
    - jakarta.websocket.MessageHandler
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: '[io.undertow.websockets.jsr.FrameHandler].addHandler(jakarta.websocket.MessageHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached:
    - e.getValue()
    - '[java.util.Map<Class<?>,Boolean>].entrySet()'
    - '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes(io.undertow.websockets.jsr.FrameHandler)'
    - '[jakarta.websocket.MessageHandler].getClass()'
    - '[io.undertow.websockets.jsr.FrameHandler].addHandlerInternal(jakarta.websocket.MessageHandler,io.undertow.websockets.jsr.FrameHandler,io.undertow.websockets.jsr.FrameHandler)'
    - e.getKey()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].addHandler(jakarta.websocket.MessageHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].verify(Class<?>,jakarta.websocket.MessageHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:385,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].createHandlerWrappers(Class<?>,jakarta.websocket.MessageHandler,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:387,1
    - Dst: handlerWrapper.getFrameType()
      Src: io.undertow.websockets.jsr.FrameHandler:389,1
    - Dst: '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].containsKey(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:389,1
    - Dst: handlerWrapper.getFrameType()
      Src: io.undertow.websockets.jsr.FrameHandler:390,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].handlerAlreadyRegistered(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:390,1
    - Dst: handlerWrapper.getFrameType()
      Src: io.undertow.websockets.jsr.FrameHandler:392,1
    - Dst: '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].putIfAbsent(io.undertow.websockets.jsr.FrameHandler,io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:392,1
    - Dst: handlerWrapper.getFrameType()
      Src: io.undertow.websockets.jsr.FrameHandler:393,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].handlerAlreadyRegistered(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.MessageHandler
      - Class<?>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 3
    argNames:
    - handler
    - type
    - partial
    argTypes:
    - jakarta.websocket.MessageHandler
    - Class<?>
    - boolean
    constantsTouched: []
    func_position:
      end: 397
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 397
    functionName: '[io.undertow.websockets.jsr.FrameHandler].addHandlerInternal(jakarta.websocket.MessageHandler,Class<?>,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].putIfAbsent(io.undertow.websockets.jsr.FrameHandler,io.undertow.websockets.jsr.FrameHandler)'
    - '[io.undertow.websockets.jsr.FrameHandler].verify(Class<?>,jakarta.websocket.MessageHandler)'
    - handlerWrapper.getFrameType()
    - '[io.undertow.websockets.jsr.FrameHandler].createHandlerWrappers(Class<?>,jakarta.websocket.MessageHandler,boolean)'
    - '[io.undertow.websockets.jsr.FrameHandler].handlerAlreadyRegistered(io.undertow.websockets.jsr.FrameHandler)'
    - '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].containsKey(io.undertow.websockets.jsr.FrameHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].addHandlerInternal(jakarta.websocket.MessageHandler,Class<?>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getEncoding()'
      Src: io.undertow.websockets.jsr.FrameHandler:406,1
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.websockets.jsr.FrameHandler:407,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].canDecodeText(Class<?>)'
      Src: io.undertow.websockets.jsr.FrameHandler:408,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:409,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.websockets.jsr.FrameHandler:409,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].canDecodeBinary(Class<?>)'
      Src: io.undertow.websockets.jsr.FrameHandler:411,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:412,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.websockets.jsr.FrameHandler:412,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.websockets.jsr.FrameHandler:414,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:421,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.websockets.jsr.FrameHandler:421,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:424,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.websockets.jsr.FrameHandler:424,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].unsupportedFrameType(Class<?>)'
      Src: io.undertow.websockets.jsr.FrameHandler:426,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:429,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.websockets.jsr.FrameHandler:429,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:432,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.websockets.jsr.FrameHandler:432,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
      Src: io.undertow.websockets.jsr.FrameHandler:435,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.websockets.jsr.FrameHandler:435,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].unsupportedFrameType(Class<?>)'
      Src: io.undertow.websockets.jsr.FrameHandler:437,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - jakarta.websocket.MessageHandler
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.server.HandlerWrapper>
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 3
    argNames:
    - type
    - handler
    - partialHandler
    argTypes:
    - Class<?>
    - jakarta.websocket.MessageHandler
    - boolean
    constantsTouched: []
    func_position:
      end: 438
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 438
    functionName: '[io.undertow.websockets.jsr.FrameHandler].createHandlerWrappers(Class<?>,jakarta.websocket.MessageHandler,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.Encoding].canDecodeText(Class<?>)'
    - '[java.util.Collections].singletonList(io.undertow.server.HandlerWrapper)'
    - '[java.util.ArrayList].<init>(int)'
    - '[io.undertow.websockets.jsr.FrameHandler].unsupportedFrameType(Class<?>)'
    - '[io.undertow.websockets.jsr.Encoding].canDecodeBinary(Class<?>)'
    - '[java.util.ArrayList].add(io.undertow.server.HandlerWrapper)'
    - '[io.undertow.websockets.jsr.UndertowSession].getEncoding()'
    - '[io.undertow.server.HandlerWrapper].<init>(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
    - '[java.util.ArrayList].isEmpty()'
    linkageType: ''
    returnType: java.util.List<io.undertow.server.HandlerWrapper>
    signature: '[io.undertow.websockets.jsr.FrameHandler].createHandlerWrappers(Class<?>,jakarta.websocket.MessageHandler,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - jakarta.websocket.MessageHandler
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - type
    - handler
    argTypes:
    - Class<?>
    - jakarta.websocket.MessageHandler
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: '[io.undertow.websockets.jsr.FrameHandler].verify(Class<?>,jakarta.websocket.MessageHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].verify(Class<?>,jakarta.websocket.MessageHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.MessageHandler].getClass()'
      Src: io.undertow.websockets.jsr.FrameHandler:448,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:448,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].entrySet()'
      Src: io.undertow.websockets.jsr.FrameHandler:449,1
    - Dst: e.getKey()
      Src: io.undertow.websockets.jsr.FrameHandler:450,1
    - Dst: e.getValue()
      Src: io.undertow.websockets.jsr.FrameHandler:451,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].createHandlerWrappers(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:451,1
    - Dst: handlerWrapper.getFrameType()
      Src: io.undertow.websockets.jsr.FrameHandler:453,1
    - Dst: '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].get(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:454,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getMessageType()'
      Src: io.undertow.websockets.jsr.FrameHandler:455,1
    - Dst: '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].remove(io.undertow.websockets.jsr.FrameHandler,io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.MessageHandler
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 1
    argNames:
    - handler
    argTypes:
    - jakarta.websocket.MessageHandler
    constantsTouched: []
    func_position:
      end: 460
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 460
    functionName: '[io.undertow.websockets.jsr.FrameHandler].removeHandler(jakarta.websocket.MessageHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached:
    - e.getValue()
    - '[java.util.Map<Class<?>,Boolean>].entrySet()'
    - '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes(io.undertow.websockets.jsr.FrameHandler)'
    - '[io.undertow.websockets.jsr.FrameHandler].createHandlerWrappers(io.undertow.websockets.jsr.FrameHandler,jakarta.websocket.MessageHandler,io.undertow.websockets.jsr.FrameHandler)'
    - handlerWrapper.getFrameType()
    - '[io.undertow.websockets.jsr.FrameHandler].getMessageType()'
    - '[jakarta.websocket.MessageHandler].getClass()'
    - '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].get(io.undertow.websockets.jsr.FrameHandler)'
    - '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].remove(io.undertow.websockets.jsr.FrameHandler,io.undertow.websockets.jsr.FrameHandler)'
    - e.getKey()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.FrameHandler].removeHandler(jakarta.websocket.MessageHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.FrameHandler:466,1
    - Dst: '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].values()'
      Src: io.undertow.websockets.jsr.FrameHandler:467,1
    - Dst: handler.getHandler()
      Src: io.undertow.websockets.jsr.FrameHandler:468,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.FrameHandler:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<jakarta.websocket.MessageHandler>
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: '[io.undertow.websockets.jsr.FrameHandler].getHandlers()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashSet].<init>()'
    - handler.getHandler()
    - '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].values()'
    - '[java.util.HashSet].add(io.undertow.websockets.jsr.FrameHandler)'
    linkageType: ''
    returnType: java.util.Set<jakarta.websocket.MessageHandler>
    signature: '[io.undertow.websockets.jsr.FrameHandler].getHandlers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].get(FrameType)'
      Src: io.undertow.websockets.jsr.FrameHandler:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FrameType
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 1
    argNames:
    - type
    argTypes:
    - FrameType
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: '[io.undertow.websockets.jsr.FrameHandler].getHandler(FrameType)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>].get(FrameType)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.websockets.jsr.FrameHandler].getHandler(FrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getMaxTextMessageBufferSize()'
      Src: io.undertow.websockets.jsr.FrameHandler:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: '[io.undertow.websockets.jsr.FrameHandler].getMaxTextBufferSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowSession].getMaxTextMessageBufferSize()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.FrameHandler].getMaxTextBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getMaxBinaryMessageBufferSize()'
      Src: io.undertow.websockets.jsr.FrameHandler:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: '[io.undertow.websockets.jsr.FrameHandler].getMaxBinaryBufferSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowSession].getMaxBinaryMessageBufferSize()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.FrameHandler].getMaxBinaryBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.Executor
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: '[io.undertow.websockets.jsr.FrameHandler].getExecutor()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.Executor
    signature: '[io.undertow.websockets.jsr.FrameHandler].getExecutor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.UndertowSession
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: '[io.undertow.websockets.jsr.FrameHandler].getSession()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.UndertowSession
    signature: '[io.undertow.websockets.jsr.FrameHandler].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.Endpoint
      - io.undertow.websockets.jsr.UndertowSession
      - byte[]
      - java.util.concurrent.ConcurrentMap<FrameType,io.undertow.server.HandlerWrapper>
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.Endpoint
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: '[io.undertow.websockets.jsr.FrameHandler].getEndpoint()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.Endpoint
    signature: '[io.undertow.websockets.jsr.FrameHandler].getEndpoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - FrameType
      - jakarta.websocket.MessageHandler
      - Class<?>
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - FrameType
      - MessageHandler
      - Class<?>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.FrameHandler.HandlerWrapper
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - frameType
    - handler
    - msgType
    - decodingNeeded
    - partialHandler
    argTypes:
    - FrameType
    - jakarta.websocket.MessageHandler
    - Class<?>
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 504
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 504
    functionName: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].<init>(FrameType,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.FrameHandler.HandlerWrapper
    signature: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].<init>(FrameType,jakarta.websocket.MessageHandler,Class<?>,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FrameType
      - MessageHandler
      - Class<?>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.MessageHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].getHandler()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.MessageHandler
    signature: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].getHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FrameType
      - MessageHandler
      - Class<?>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].getMessageType()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].getMessageType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FrameType
      - MessageHandler
      - Class<?>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: FrameType
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].getFrameType()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FrameType
    signature: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].getFrameType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FrameType
      - MessageHandler
      - Class<?>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].isDecodingNeeded()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].isDecodingNeeded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FrameType
      - MessageHandler
      - Class<?>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].isPartialHandler()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/FrameHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.FrameHandler.HandlerWrapper].isPartialHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.SendHandler
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.SendHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.SendHandlerAdapter
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - jakarta.websocket.SendHandler
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.jsr.SendHandlerAdapter].<init>(jakarta.websocket.SendHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendHandlerAdapter.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.SendHandlerAdapter
    signature: '[io.undertow.websockets.jsr.SendHandlerAdapter].<init>(jakarta.websocket.SendHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.SendResult].<init>()'
      Src: io.undertow.websockets.jsr.SendHandlerAdapter:45,1
    - Dst: '[jakarta.websocket.SendHandler].onResult(jakarta.websocket.SendResult)'
      Src: io.undertow.websockets.jsr.SendHandlerAdapter:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Void
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.SendHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - context
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Void
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.jsr.SendHandlerAdapter].complete(io.undertow.websockets.core.WebSocketChannel,Void)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendHandlerAdapter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.SendResult].<init>()'
    - '[jakarta.websocket.SendHandler].onResult(jakarta.websocket.SendResult)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SendHandlerAdapter].complete(io.undertow.websockets.core.WebSocketChannel,Void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.SendResult].<init>(Throwable)'
      Src: io.undertow.websockets.jsr.SendHandlerAdapter:54,1
    - Dst: '[jakarta.websocket.SendHandler].onResult(jakarta.websocket.SendResult)'
      Src: io.undertow.websockets.jsr.SendHandlerAdapter:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Void
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.SendHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - context
    - throwable
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Void
    - Throwable
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.jsr.SendHandlerAdapter].onError(io.undertow.websockets.core.WebSocketChannel,Void,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendHandlerAdapter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.SendHandler].onResult(jakarta.websocket.SendResult)'
    - '[jakarta.websocket.SendResult].<init>(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SendHandlerAdapter].onError(io.undertow.websockets.core.WebSocketChannel,Void,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.DefaultPongMessage].<init>(io.undertow.websockets.jsr.DefaultPongMessage)'
      Src: io.undertow.websockets.jsr.DefaultPongMessage:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.PongMessage
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.PongMessage
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.DefaultPongMessage
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.websockets.jsr.DefaultPongMessage].<init>(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultPongMessage.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.DefaultPongMessage].<init>(io.undertow.websockets.jsr.DefaultPongMessage)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.DefaultPongMessage
    signature: '[io.undertow.websockets.jsr.DefaultPongMessage].<init>(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.PongMessage
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.PongMessage
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.DefaultPongMessage].getApplicationData()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultPongMessage.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.websockets.jsr.DefaultPongMessage].getApplicationData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.jsr.DefaultPongMessage:47,1
    - Dst: '[io.undertow.websockets.jsr.DefaultPongMessage].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.jsr.DefaultPongMessage:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.PongMessage
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.PongMessage
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.PongMessage
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.DefaultPongMessage].create(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultPongMessage.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.DefaultPongMessage].<init>(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: jakarta.websocket.PongMessage
    signature: '[io.undertow.websockets.jsr.DefaultPongMessage].create(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.WebSocketConnectionCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.EndpointSessionHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - container
    argTypes:
    - io.undertow.websockets.jsr.ServerWebSocketContainer
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.EndpointSessionHandler].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EndpointSessionHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.EndpointSessionHandler
    signature: '[io.undertow.websockets.jsr.EndpointSessionHandler].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.WebSocketConnectionCallback
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EndpointSessionHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer
    signature: '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].getConfig(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:62,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isClosed()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:64,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].sendClose()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:66,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].resumeReceives()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:67,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointFactory()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:70,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:71,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:71,1
    - Dst: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].setCurrentInstanceFactory(io.undertow.servlet.api.InstanceFactory<?>)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:73,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:74,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:74,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].getEndpointInstance(io.undertow.websockets.jsr.EndpointSessionHandler)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:74,1
    - Dst: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].clearCurrentInstanceFactory()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:75,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(io.undertow.websockets.jsr.EndpointSessionHandler)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:77,1
    - Dst: '[io.undertow.servlet.api.InstanceHandle<?>].getInstance()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:78,1
    - Dst: '[io.undertow.servlet.api.InstanceHandle].<init>()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:82,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.servlet.handlers.ServletRequestContext>)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:95,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<java.security.Principal>)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:96,1
    - Dst: '[T].getServletRequest()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:98,1
    - Dst: '[T].getServletRequest()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:99,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:99,1
    - Dst: '[T].getOriginalRequest()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:101,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].getUserPrincipal()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:101,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:105,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:106,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.api.InstanceHandle)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:106,1
    - Dst: '[io.undertow.servlet.api.InstanceHandle].<init>()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:107,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getRequestScheme()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:121,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:122,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestURI()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:123,1
    - Dst: '[java.net.URI].create(io.undertow.websockets.jsr.EndpointSessionHandler)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestParameters()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getQueryString()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEncodingFactory()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(jakarta.websocket.server.ServerEndpointConfig)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getSubProtocol()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.EndpointSessionHandler,T,java.util.Map<String,java.util.List<String>>,io.undertow.websockets.jsr.EndpointSessionHandler,io.undertow.websockets.jsr.EndpointSessionHandler,jakarta.websocket.server.ServerEndpointConfig,String,io.undertow.websockets.jsr.Encoding,io.undertow.websockets.jsr.ConfiguredServerEndpoint,String,io.undertow.websockets.jsr.EndpointSessionHandler,null)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:124,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].addOpenSession(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:125,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:127,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxBinaryMessageBufferSize()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:127,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].setMaxBinaryMessageBufferSize(int)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:127,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:128,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxTextMessageBufferSize()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:128,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].setMaxTextMessageBufferSize(int)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:128,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:129,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxSessionIdleTimeout()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:129,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].setMaxIdleTimeout(long)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:129,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:130,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:130,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultAsyncSendTimeout()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:130,1
    - Dst: '[RemoteEndpoint.Async].setSendTimeout(long)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:130,1
    - Dst: endpointInstance.getInstance()
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:132,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:132,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].onOpen(io.undertow.websockets.jsr.UndertowSession,jakarta.websocket.server.ServerEndpointConfig)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:132,1
    - Dst: endpointInstance.getInstance()
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:134,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].onError(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.EndpointSessionHandler)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:134,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:135,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].resumeReceives()'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:137,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].endpointCreationFailed(io.undertow.websockets.jsr.EndpointSessionHandler)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:139,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.jsr.EndpointSessionHandler:140,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 82
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.WebSocketConnectionCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - channel
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 142
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 142
    functionName: '[io.undertow.websockets.jsr.EndpointSessionHandler].onConnect(io.undertow.websockets.spi.WebSocketHttpExchange,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EndpointSessionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEncodingFactory()'
    - '[RemoteEndpoint.Async].setSendTimeout(long)'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
    - '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
    - '[io.undertow.servlet.util.ImmediateInstanceHandle].<init>(io.undertow.websockets.jsr.EndpointSessionHandler)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].addOpenSession(io.undertow.websockets.jsr.UndertowSession)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxSessionIdleTimeout()'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>)'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].onError(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.EndpointSessionHandler)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.jsr.UndertowSession)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getQueryString()'
    - '[io.undertow.websockets.jsr.UndertowSession].setMaxTextMessageBufferSize(int)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxBinaryMessageBufferSize()'
    - '[io.undertow.websockets.core.WebSocketChannel].resumeReceives()'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].getUserPrincipal()'
    - '[io.undertow.servlet.api.InstanceHandle<?>].getInstance()'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(jakarta.websocket.server.ServerEndpointConfig)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointFactory()'
    - '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
    - '[T].getOriginalRequest()'
    - '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].endpointCreationFailed(io.undertow.websockets.jsr.EndpointSessionHandler)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].isClosed()'
    - '[T].getServletRequest()'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
    - '[io.undertow.websockets.jsr.UndertowSession].setMaxBinaryMessageBufferSize(int)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestParameters()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultAsyncSendTimeout()'
    - endpointInstance.getInstance()
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.servlet.handlers.ServletRequestContext>)'
    - '[io.undertow.servlet.api.InstanceHandle].<init>()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getDefaultMaxTextMessageBufferSize()'
    - '[io.undertow.websockets.jsr.DefaultContainerConfigurator].clearCurrentInstanceFactory()'
    - '[java.net.URI].create(io.undertow.websockets.jsr.EndpointSessionHandler)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.api.InstanceHandle)'
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].getConfig(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    - '[io.undertow.websockets.core.WebSocketChannel].sendClose()'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<java.security.Principal>)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestURI()'
    - '[io.undertow.websockets.jsr.DefaultContainerConfigurator].setCurrentInstanceFactory(io.undertow.servlet.api.InstanceFactory<?>)'
    - '[io.undertow.websockets.jsr.UndertowSession].setMaxIdleTimeout(long)'
    - '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
    - '[io.undertow.websockets.core.WebSocketChannel].getRequestScheme()'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].getEndpointInstance(io.undertow.websockets.jsr.EndpointSessionHandler)'
    - '[io.undertow.websockets.core.WebSocketChannel].getSubProtocol()'
    - '[io.undertow.websockets.jsr.UndertowSession].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.EndpointSessionHandler,T,java.util.Map<String,java.util.List<String>>,io.undertow.websockets.jsr.EndpointSessionHandler,io.undertow.websockets.jsr.EndpointSessionHandler,jakarta.websocket.server.ServerEndpointConfig,String,io.undertow.websockets.jsr.Encoding,io.undertow.websockets.jsr.ConfiguredServerEndpoint,String,io.undertow.websockets.jsr.EndpointSessionHandler,null)'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].onOpen(io.undertow.websockets.jsr.UndertowSession,jakarta.websocket.server.ServerEndpointConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.EndpointSessionHandler].onConnect(io.undertow.websockets.spi.WebSocketHttpExchange,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.CloseReason
      - java.net.URI
      - jakarta.websocket.Session
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - closeReason
    - connectionUri
    - session
    - disconnectCount
    argTypes:
    - jakarta.websocket.CloseReason
    - java.net.URI
    - jakarta.websocket.Session
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.jsr.WebSocketReconnectHandler].disconnected(jakarta.websocket.CloseReason,java.net.URI,jakarta.websocket.Session,int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketReconnectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.WebSocketReconnectHandler].disconnected(jakarta.websocket.CloseReason,java.net.URI,jakarta.websocket.Session,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      - java.net.URI
      - jakarta.websocket.Session
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - exception
    - connectionUri
    - session
    - failedCount
    argTypes:
    - java.io.IOException
    - java.net.URI
    - jakarta.websocket.Session
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '[io.undertow.websockets.jsr.WebSocketReconnectHandler].reconnectFailed(java.io.IOException,java.net.URI,jakarta.websocket.Session,int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketReconnectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.WebSocketReconnectHandler].reconnectFailed(java.io.IOException,java.net.URI,jakarta.websocket.Session,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketReconnectHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.WebSocketReconnectHandler].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketReconnectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketReconnectHandler
    signature: '[io.undertow.websockets.jsr.WebSocketReconnectHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<Parameter>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Extension
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.ExtensionImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - parameters
    argTypes:
    - String
    - java.util.List<Parameter>
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.jsr.ExtensionImpl].<init>(String,java.util.List<Parameter>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ExtensionImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ExtensionImpl
    signature: '[io.undertow.websockets.jsr.ExtensionImpl].<init>(String,java.util.List<Parameter>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Extension
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.jsr.ExtensionImpl].getName()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ExtensionImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.ExtensionImpl].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Extension
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Parameter>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.jsr.ExtensionImpl].getParameters()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ExtensionImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<Parameter>
    signature: '[io.undertow.websockets.jsr.ExtensionImpl].getParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketExtension].getParameters()'
      Src: io.undertow.websockets.jsr.ExtensionImpl:71,1
    - Dst: '[java.util.List<Parameter>].size()'
      Src: io.undertow.websockets.jsr.ExtensionImpl:71,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.websockets.jsr.ExtensionImpl)'
      Src: io.undertow.websockets.jsr.ExtensionImpl:71,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getParameters()'
      Src: io.undertow.websockets.jsr.ExtensionImpl:72,1
    - Dst: p.getName()
      Src: io.undertow.websockets.jsr.ExtensionImpl:73,1
    - Dst: p.getValue()
      Src: io.undertow.websockets.jsr.ExtensionImpl:73,1
    - Dst: '[io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl].<init>(io.undertow.websockets.jsr.ExtensionImpl,io.undertow.websockets.jsr.ExtensionImpl)'
      Src: io.undertow.websockets.jsr.ExtensionImpl:73,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl)'
      Src: io.undertow.websockets.jsr.ExtensionImpl:73,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getName()'
      Src: io.undertow.websockets.jsr.ExtensionImpl:75,1
    - Dst: '[io.undertow.websockets.jsr.ExtensionImpl].<init>(String,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.ExtensionImpl:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketExtension
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Extension
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.Extension
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - extension
    argTypes:
    - io.undertow.websockets.WebSocketExtension
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.jsr.ExtensionImpl].create(io.undertow.websockets.WebSocketExtension)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ExtensionImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl)'
    - '[java.util.List<Parameter>].size()'
    - '[java.util.ArrayList].<init>(io.undertow.websockets.jsr.ExtensionImpl)'
    - '[io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl].<init>(io.undertow.websockets.jsr.ExtensionImpl,io.undertow.websockets.jsr.ExtensionImpl)'
    - p.getName()
    - '[io.undertow.websockets.WebSocketExtension].getName()'
    - p.getValue()
    - '[io.undertow.websockets.WebSocketExtension].getParameters()'
    - '[io.undertow.websockets.jsr.ExtensionImpl].<init>(String,java.util.ArrayList)'
    linkageType: ''
    returnType: jakarta.websocket.Extension
    signature: '[io.undertow.websockets.jsr.ExtensionImpl].create(io.undertow.websockets.WebSocketExtension)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Parameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl].<init>(String,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ExtensionImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl
    signature: '[io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Parameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl].getName()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ExtensionImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Parameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl].getValue()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ExtensionImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.ExtensionImpl.ParameterImpl].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:85,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:85,1
    - Dst: '[jakarta.servlet.FilterConfig].getServletContext()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:86,1
    - Dst: ServerContainer.class.getName()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:86,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter].getAttribute(io.undertow.websockets.jsr.JsrWebSocketFilter)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:86,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].deploymentComplete()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:87,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].<init>()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:88,1
    - Dst: '[jakarta.servlet.FilterConfig].getServletContext()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:89,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter].getAttribute(String)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:89,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getConfiguredServerEndpoints()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:90,1
    - Dst: info.getExtensions()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:91,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter].isEmpty()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:91,1
    - Dst: endpoint.getPathTemplate()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:92,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.JsrWebSocketFilter)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:92,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].add(io.undertow.websockets.jsr.JsrWebSocketFilter,WebSocketHandshakeHolder)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:92,1
    - Dst: endpoint.getPathTemplate()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:94,1
    - Dst: info.getExtensions()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:94,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.JsrWebSocketFilter,io.undertow.websockets.jsr.JsrWebSocketFilter)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:94,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].add(io.undertow.websockets.jsr.JsrWebSocketFilter,WebSocketHandshakeHolder)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:94,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter].getAttribute(io.undertow.websockets.jsr.JsrWebSocketFilter)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.JsrWebSocketFilter)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getConfiguredServerEndpoints()'
    - '[jakarta.servlet.FilterConfig].getServletContext()'
    - info.getExtensions()
    - '[io.undertow.util.PathTemplateMatcher].<init>()'
    - '[io.undertow.util.PathTemplateMatcher].add(io.undertow.websockets.jsr.JsrWebSocketFilter,WebSocketHandshakeHolder)'
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter].isEmpty()'
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter].getAttribute(String)'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].<init>(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - ServerContainer.class.getName()
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - endpoint.getPathTemplate()
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].deploymentComplete()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].handshakes(io.undertow.websockets.jsr.JsrWebSocketFilter,io.undertow.websockets.jsr.JsrWebSocketFilter)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: req.getHeader(String)
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:104,1
    - Dst: '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].<init>(io.undertow.websockets.jsr.JsrWebSocketFilter,io.undertow.websockets.jsr.JsrWebSocketFilter,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:105,1
    - Dst: req.getPathInfo()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:107,1
    - Dst: req.getServletPath()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:108,1
    - Dst: req.getServletPath()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:110,1
    - Dst: req.getPathInfo()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:110,1
    - Dst: path.startsWith(String)
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:112,1
    - Dst: '[io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>].match(io.undertow.websockets.jsr.JsrWebSocketFilter)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:115,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter].getValue()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:118,1
    - Dst: method.matches(io.undertow.servlet.websockets.ServletWebSocketHttpExchange)
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:119,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].isClosed()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:126,1
    - Dst: resp.sendError(int)
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:127,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter].getParameters()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:130,1
    - Dst: '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>,io.undertow.websockets.jsr.JsrWebSocketFilter)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:130,1
    - Dst: req.getUserPrincipal()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:131,1
    - Dst: '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<java.security.Principal>,io.undertow.websockets.jsr.JsrWebSocketFilter)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:131,1
    - Dst: '[io.undertow.servlet.handlers.ServletRequestContext].requireCurrent()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:133,1
    - Dst: '[io.undertow.servlet.handlers.ServletRequestContext].getCurrentServletContext()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:134,1
    - Dst: '[io.undertow.servlet.handlers.ServletRequestContext].getExchange()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:134,1
    - Dst: '[io.undertow.servlet.spec.ServletContextImpl].getSession(io.undertow.server.HttpServerExchange,boolean)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:134,1
    - Dst: '[io.undertow.server.HttpUpgradeListener].<init>()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:135,1
    - Dst: '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:135,1
    - Dst: handshaker.handshake(io.undertow.servlet.websockets.ServletWebSocketHttpExchange)
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:155,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 161
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 161
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    - method.matches(io.undertow.servlet.websockets.ServletWebSocketHttpExchange)
    - '[io.undertow.servlet.spec.ServletContextImpl].getSession(io.undertow.server.HttpServerExchange,boolean)'
    - '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].<init>(io.undertow.websockets.jsr.JsrWebSocketFilter,io.undertow.websockets.jsr.JsrWebSocketFilter,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
    - req.getHeader(String)
    - handshaker.handshake(io.undertow.servlet.websockets.ServletWebSocketHttpExchange)
    - '[io.undertow.servlet.handlers.ServletRequestContext].getExchange()'
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter].getValue()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].isClosed()'
    - '[io.undertow.servlet.handlers.ServletRequestContext].getCurrentServletContext()'
    - '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<java.security.Principal>,io.undertow.websockets.jsr.JsrWebSocketFilter)'
    - path.startsWith(String)
    - req.getUserPrincipal()
    - '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>,io.undertow.websockets.jsr.JsrWebSocketFilter)'
    - req.getPathInfo()
    - '[io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>].match(io.undertow.websockets.jsr.JsrWebSocketFilter)'
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter].getParameters()'
    - '[io.undertow.server.HttpUpgradeListener].<init>()'
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - req.getServletPath()
    - resp.sendError(int)
    - '[io.undertow.servlet.handlers.ServletRequestContext].requireCurrent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter].destroy()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:170,1
    - Dst: '[io.undertow.servlet.spec.HttpSessionImpl].getSession()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:170,1
    - Dst: '[io.undertow.servlet.spec.HttpSessionImpl.UnwrapSessionAction].<init>(jakarta.servlet.http.HttpSession)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:170,1
    - Dst: java.security.AccessController.doPrivileged(io.undertow.servlet.spec.HttpSessionImpl.UnwrapSessionAction)
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpSession
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.Session
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.servlet.http.HttpSession
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter].unwrap(jakarta.servlet.http.HttpSession)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.servlet.spec.HttpSessionImpl].getSession()'
    - '[io.undertow.servlet.spec.HttpSessionImpl.UnwrapSessionAction].<init>(jakarta.servlet.http.HttpSession)'
    - java.security.AccessController.doPrivileged(io.undertow.servlet.spec.HttpSessionImpl.UnwrapSessionAction)
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter].unwrap(jakarta.servlet.http.HttpSession)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter].getWebSocketChannels(io.undertow.server.session.Session)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:174,1
    - Dst: '[io.undertow.server.session.Session].getId()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:177,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter].getWebSocketChannels(io.undertow.server.session.Session)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:178,1
    - Dst: '[WebSocketChannels].<init>()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:180,1
    - Dst: '[io.undertow.server.session.Session].setAttribute(String,WebSocketChannels)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.websockets.core.WebSocketChannel>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter].requireWebSocketChannels(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.Session].getId()'
    - '[io.undertow.server.session.Session].setAttribute(String,WebSocketChannels)'
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter].getWebSocketChannels(io.undertow.server.session.Session)'
    - '[WebSocketChannels].<init>()'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter].requireWebSocketChannels(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].getAttribute(String)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.websockets.core.WebSocketChannel>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter].getWebSocketChannels(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.Session].getAttribute(String)'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter].getWebSocketChannels(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.util.PathTemplateMatcher<io.undertow.websockets.jsr.ServerWebSocketContainer.WebSocketHandshakeHolder>
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.JsrWebSocketFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.JsrWebSocketFilter
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpSessionEvent].getSession()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:198,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].unwrap(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:198,1
    - Dst: '[WebSocketChannels].<init>()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:198,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].setAttribute(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener,WebSocketChannels)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpSessionEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpSessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.http.HttpSessionEvent
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].sessionCreated(jakarta.servlet.http.HttpSessionEvent)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].setAttribute(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener,WebSocketChannels)'
    - '[jakarta.servlet.http.HttpSessionEvent].getSession()'
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].unwrap(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener)'
    - '[WebSocketChannels].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].sessionCreated(jakarta.servlet.http.HttpSessionEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpSessionEvent].getSession()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:203,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].unwrap(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:203,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].getWebSocketChannels(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:203,1
    - Dst: CloseReason.CloseCodes.VIOLATED_POLICY.getCode()
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:206,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener,String,io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener,null)'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpSessionEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpSessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.http.HttpSessionEvent
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].sessionDestroyed(jakarta.servlet.http.HttpSessionEvent)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpSessionEvent].getSession()'
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].getWebSocketChannels(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener)'
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].unwrap(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener,String,io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener,null)'
    - CloseReason.CloseCodes.VIOLATED_POLICY.getCode()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].sessionDestroyed(jakarta.servlet.http.HttpSessionEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpSessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter.LogoutListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels].isEmpty()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels:218,1
    - Dst: '[WebSocketChannels].<init>()'
      Src: io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.ObjectStreamException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels].writeReplace()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels].isEmpty()'
    - '[WebSocketChannels].<init>()'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels].writeReplace()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels
    signature: '[io.undertow.websockets.jsr.JsrWebSocketFilter.WebSocketChannels].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].<init>(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.EncodingFactory
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - binaryEncoders
    - binaryDecoders
    - textEncoders
    - textDecoders
    argTypes:
    - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
    - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
    - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
    - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].<init>(java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.EncodingFactory].<init>(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.EncodingFactory
    signature: '[io.undertow.websockets.jsr.EncodingFactory].<init>(java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:73,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].canEncodeText(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].containsKey(Class<?>)'
    - '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.EncodingFactory].canEncodeText(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:81,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].canDecodeText(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].containsKey(Class<?>)'
    - '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.EncodingFactory].canDecodeText(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].canEncodeBinary(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].containsKey(Class<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.EncodingFactory].canEncodeBinary(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].canDecodeBinary(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].containsKey(Class<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.EncodingFactory].canDecodeBinary(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].isEmpty()'
      Src: io.undertow.websockets.jsr.EncodingFactory:99,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.EncodingFactory:99,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:99,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].isEmpty()'
      Src: io.undertow.websockets.jsr.EncodingFactory:100,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.EncodingFactory:100,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:100,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].isEmpty()'
      Src: io.undertow.websockets.jsr.EncodingFactory:101,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.EncodingFactory:101,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:101,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].isEmpty()'
      Src: io.undertow.websockets.jsr.EncodingFactory:102,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.EncodingFactory:102,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:102,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.EncodingFactory:104,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.EncodingFactory:105,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].size()'
      Src: io.undertow.websockets.jsr.EncodingFactory:105,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:105,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.EncodingFactory:106,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].put(io.undertow.websockets.jsr.EncodingFactory,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.EncodingFactory:106,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.EncodingFactory:107,1
    - Dst: factory.createInstance()
      Src: io.undertow.websockets.jsr.EncodingFactory:108,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].getInstance()'
      Src: io.undertow.websockets.jsr.EncodingFactory:109,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].init(jakarta.websocket.EndpointConfig)'
      Src: io.undertow.websockets.jsr.EncodingFactory:109,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:110,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.EncodingFactory:113,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.EncodingFactory:114,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].size()'
      Src: io.undertow.websockets.jsr.EncodingFactory:114,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:114,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.EncodingFactory:115,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].put(io.undertow.websockets.jsr.EncodingFactory,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.EncodingFactory:115,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.EncodingFactory:116,1
    - Dst: factory.createInstance()
      Src: io.undertow.websockets.jsr.EncodingFactory:117,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].getInstance()'
      Src: io.undertow.websockets.jsr.EncodingFactory:118,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].init(jakarta.websocket.EndpointConfig)'
      Src: io.undertow.websockets.jsr.EncodingFactory:118,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:119,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.EncodingFactory:122,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.EncodingFactory:123,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].size()'
      Src: io.undertow.websockets.jsr.EncodingFactory:123,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:123,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.EncodingFactory:124,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].put(io.undertow.websockets.jsr.EncodingFactory,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.EncodingFactory:124,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.EncodingFactory:125,1
    - Dst: factory.createInstance()
      Src: io.undertow.websockets.jsr.EncodingFactory:126,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].getInstance()'
      Src: io.undertow.websockets.jsr.EncodingFactory:127,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].init(jakarta.websocket.EndpointConfig)'
      Src: io.undertow.websockets.jsr.EncodingFactory:127,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:128,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.EncodingFactory:131,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.EncodingFactory:132,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].size()'
      Src: io.undertow.websockets.jsr.EncodingFactory:132,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:132,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.EncodingFactory:133,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].put(io.undertow.websockets.jsr.EncodingFactory,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.EncodingFactory:133,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.EncodingFactory:134,1
    - Dst: factory.createInstance()
      Src: io.undertow.websockets.jsr.EncodingFactory:135,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].getInstance()'
      Src: io.undertow.websockets.jsr.EncodingFactory:136,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].init(jakarta.websocket.EndpointConfig)'
      Src: io.undertow.websockets.jsr.EncodingFactory:136,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:137,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].<init>(java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:140,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.Encoding
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpointConfig
    argTypes:
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 144
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 144
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - factory.createInstance()
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.EncodingFactory)'
    - '[java.util.HashMap].<init>()'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].put(io.undertow.websockets.jsr.EncodingFactory,java.util.ArrayList)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].entrySet()'
    - entry.getValue()
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].isEmpty()'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].entrySet()'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>].isEmpty()'
    - '[java.util.ArrayList].<init>(io.undertow.websockets.jsr.EncodingFactory)'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.EncodingFactory)'
    - entry.getKey()
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>].put(io.undertow.websockets.jsr.EncodingFactory,java.util.ArrayList)'
    - '[io.undertow.websockets.jsr.Encoding].<init>(java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>)'
    - '[io.undertow.websockets.jsr.EncodingFactory].init(jakarta.websocket.EndpointConfig)'
    - '[java.util.Collections].emptyMap()'
    - '[io.undertow.websockets.jsr.EncodingFactory].size()'
    - '[io.undertow.websockets.jsr.EncodingFactory].getInstance()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.Encoding
    signature: '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(Class<?extendsDecoder>[])'
      Src: io.undertow.websockets.jsr.EncodingFactory:147,1
    - Dst: '[java.util.Arrays].asList(Class<?extendsEncoder>[])'
      Src: io.undertow.websockets.jsr.EncodingFactory:147,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      - Class<?extendsDecoder>[]
      - Class<?extendsEncoder>[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.EncodingFactory
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - classIntrospecter
    - decoders
    - encoders
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    - Class<?extendsDecoder>[]
    - Class<?extendsEncoder>[]
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,Class<?extendsDecoder>[],Class<?extendsEncoder>[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(Class<?extendsEncoder>[])'
    - '[java.util.Arrays].asList(Class<?extendsDecoder>[])'
    - '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.EncodingFactory
    signature: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,Class<?extendsDecoder>[],Class<?extendsEncoder>[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:151,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:152,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:153,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:154,1
    - Dst: Decoder.Binary.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
      Src: io.undertow.websockets.jsr.EncodingFactory:157,1
    - Dst: decoder.getMethod(String)
      Src: io.undertow.websockets.jsr.EncodingFactory:159,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].resolveReturnType(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:160,1
    - Dst: '[java.util.HashMap].get(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:161,1
    - Dst: '[java.util.HashMap].put(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:163,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:165,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<T>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:165,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].couldNotDetermineTypeOfDecodeMethodForClass(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:167,1
    - Dst: Decoder.BinaryStream.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
      Src: io.undertow.websockets.jsr.EncodingFactory:169,1
    - Dst: decoder.getMethod(String)
      Src: io.undertow.websockets.jsr.EncodingFactory:171,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].resolveReturnType(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:172,1
    - Dst: '[java.util.HashMap].get(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:173,1
    - Dst: '[java.util.HashMap].put(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:175,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:177,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<T>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:177,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].couldNotDetermineTypeOfDecodeMethodForClass(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:179,1
    - Dst: Decoder.Text.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
      Src: io.undertow.websockets.jsr.EncodingFactory:181,1
    - Dst: decoder.getMethod(String)
      Src: io.undertow.websockets.jsr.EncodingFactory:183,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].resolveReturnType(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:184,1
    - Dst: '[java.util.HashMap].get(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:185,1
    - Dst: '[java.util.HashMap].put(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:187,1
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:189,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<T>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:189,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].couldNotDetermineTypeOfDecodeMethodForClass(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:191,1
    - Dst: Decoder.TextStream.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
      Src: io.undertow.websockets.jsr.EncodingFactory:193,1
    - Dst: decoder.getMethod(String)
      Src: io.undertow.websockets.jsr.EncodingFactory:195,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].resolveReturnType(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:196,1
    - Dst: '[java.util.HashMap].get(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:197,1
    - Dst: '[java.util.HashMap].put(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:199,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createInstanceFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:201,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<?extendsT>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:201,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].couldNotDetermineTypeOfDecodeMethodForClass(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:203,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].didNotImplementKnownDecoderSubclass(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:206,1
    - Dst: Encoder.Binary.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
      Src: io.undertow.websockets.jsr.EncodingFactory:211,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].findEncodeMethod(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:212,1
    - Dst: '[java.util.HashMap].get(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:213,1
    - Dst: '[java.util.HashMap].put(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:215,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createInstanceFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:217,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<?extendsT>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:217,1
    - Dst: Encoder.BinaryStream.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
      Src: io.undertow.websockets.jsr.EncodingFactory:218,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].findEncodeMethod(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:219,1
    - Dst: '[java.util.HashMap].get(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:220,1
    - Dst: '[java.util.HashMap].put(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:222,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createInstanceFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:224,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<?extendsT>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:224,1
    - Dst: Encoder.Text.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
      Src: io.undertow.websockets.jsr.EncodingFactory:225,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].findEncodeMethod(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:226,1
    - Dst: '[java.util.HashMap].get(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:227,1
    - Dst: '[java.util.HashMap].put(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:229,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createInstanceFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:231,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<?extendsT>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:231,1
    - Dst: Encoder.TextStream.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
      Src: io.undertow.websockets.jsr.EncodingFactory:232,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].findEncodeMethod(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:233,1
    - Dst: '[java.util.HashMap].get(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:234,1
    - Dst: '[java.util.HashMap].put(Class<?>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:236,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createInstanceFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:238,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<?extendsT>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:238,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].<init>(java.util.HashMap,java.util.HashMap,java.util.HashMap,java.util.HashMap)'
      Src: io.undertow.websockets.jsr.EncodingFactory:241,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      - java.util.List<Class<?extendsDecoder>>
      - java.util.List<Class<?extendsEncoder>>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.EncodingFactory
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - classIntrospecter
    - decoders
    - encoders
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    - java.util.List<Class<?extendsDecoder>>
    - java.util.List<Class<?extendsEncoder>>
    constantsTouched: []
    func_position:
      end: 242
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 242
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,java.util.List<Class<?extendsDecoder>>,java.util.List<Class<?extendsEncoder>>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - Decoder.TextStream.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
    - Decoder.BinaryStream.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
    - decoder.getMethod(String)
    - '[io.undertow.websockets.jsr.EncodingFactory].<init>(java.util.HashMap,java.util.HashMap,java.util.HashMap,java.util.HashMap)'
    - '[io.undertow.websockets.jsr.EncodingFactory].couldNotDetermineTypeOfDecodeMethodForClass(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
    - '[io.undertow.websockets.jsr.EncodingFactory].findEncodeMethod(io.undertow.websockets.jsr.EncodingFactory)'
    - Encoder.Binary.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
    - '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(io.undertow.websockets.jsr.EncodingFactory)'
    - Decoder.Binary.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
    - Encoder.BinaryStream.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
    - '[java.util.HashMap].get(Class<?>)'
    - '[io.undertow.websockets.jsr.EncodingFactory].resolveReturnType(io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.EncodingFactory)'
    - '[io.undertow.websockets.jsr.EncodingFactory].didNotImplementKnownDecoderSubclass(io.undertow.websockets.jsr.EncodingFactory)'
    - '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<T>)'
    - Decoder.Text.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
    - '[io.undertow.websockets.jsr.EncodingFactory].add(io.undertow.servlet.api.InstanceFactory<?extendsT>)'
    - Encoder.Text.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
    - '[java.util.HashMap].<init>()'
    - Encoder.TextStream.class.isAssignableFrom(io.undertow.websockets.jsr.EncodingFactory)
    - '[java.util.HashMap].put(Class<?>)'
    - '[io.undertow.websockets.jsr.EncodingFactory].createInstanceFactory(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.EncodingFactory)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.EncodingFactory
    signature: '[io.undertow.websockets.jsr.EncodingFactory].createFactory(io.undertow.servlet.api.ClassIntrospecter,java.util.List<Class<?extendsDecoder>>,java.util.List<Class<?extendsEncoder>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Method].getGenericReturnType()'
      Src: io.undertow.websockets.jsr.EncodingFactory:245,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.EncodingFactory:250,1
    - Dst: '[Method].getDeclaringClass()'
      Src: io.undertow.websockets.jsr.EncodingFactory:252,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:253,1
    - Dst: c.getSuperclass()
      Src: io.undertow.websockets.jsr.EncodingFactory:254,1
    - Dst: '[java.util.Collections].reverse(java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.EncodingFactory:256,1
    - Dst: type.getName()
      Src: io.undertow.websockets.jsr.EncodingFactory:258,1
    - Dst: clz.getSuperclass()
      Src: io.undertow.websockets.jsr.EncodingFactory:261,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].getTypeParameters()'
      Src: io.undertow.websockets.jsr.EncodingFactory:261,1
    - Dst: clz.getSuperclass()
      Src: io.undertow.websockets.jsr.EncodingFactory:262,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].getTypeParameters()'
      Src: io.undertow.websockets.jsr.EncodingFactory:262,1
    - Dst: param.getName()
      Src: io.undertow.websockets.jsr.EncodingFactory:263,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].equals(io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:263,1
    - Dst: clz.getGenericSuperclass()
      Src: io.undertow.websockets.jsr.EncodingFactory:268,1
    - Dst: pt.getActualTypeArguments()
      Src: io.undertow.websockets.jsr.EncodingFactory:271,1
    - Dst: tv.getName()
      Src: io.undertow.websockets.jsr.EncodingFactory:276,1
    - Dst: '[Method].getReturnType()'
      Src: io.undertow.websockets.jsr.EncodingFactory:281,1
    - Dst: '[Method].getReturnType()'
      Src: io.undertow.websockets.jsr.EncodingFactory:283,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - Class<?extendsDecoder>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Class<?>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - method
    - decoder
    argTypes:
    - Method
    - Class<?extendsDecoder>
    constantsTouched: []
    func_position:
      end: 285
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 285
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].resolveReturnType(Method,Class<?extendsDecoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - type.getName()
    - param.getName()
    - '[Method].getGenericReturnType()'
    - '[io.undertow.websockets.jsr.EncodingFactory].getTypeParameters()'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.EncodingFactory)'
    - '[io.undertow.websockets.jsr.EncodingFactory].equals(io.undertow.websockets.jsr.EncodingFactory)'
    - '[Method].getDeclaringClass()'
    - clz.getSuperclass()
    - tv.getName()
    - '[java.util.Collections].reverse(java.util.ArrayList)'
    - '[Method].getReturnType()'
    - clz.getGenericSuperclass()
    - '[java.util.ArrayList].<init>()'
    - pt.getActualTypeArguments()
    - c.getSuperclass()
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.EncodingFactory].resolveReturnType(Method,Class<?extendsDecoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<?extendsT>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:289,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].classDoesNotHaveDefaultConstructor(Class<?extendsT>,io.undertow.websockets.jsr.EncodingFactory)'
      Src: io.undertow.websockets.jsr.EncodingFactory:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.ClassIntrospecter
      - Class<?extendsT>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.api.InstanceFactory<?extendsT>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - classIntrospecter
    - decoder
    argTypes:
    - io.undertow.servlet.api.ClassIntrospecter
    - Class<?extendsT>
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].createInstanceFactory(io.undertow.servlet.api.ClassIntrospecter,Class<?extendsT>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.EncodingFactory].classDoesNotHaveDefaultConstructor(Class<?extendsT>,io.undertow.websockets.jsr.EncodingFactory)'
    - '[io.undertow.servlet.api.ClassIntrospecter].createInstanceFactory(Class<?extendsT>)'
    linkageType: ''
    returnType: io.undertow.servlet.api.InstanceFactory<?extendsT>
    signature: '[io.undertow.websockets.jsr.EncodingFactory].createInstanceFactory(io.undertow.servlet.api.ClassIntrospecter,Class<?extendsT>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?extendsEncoder>].getMethods()'
      Src: io.undertow.websockets.jsr.EncodingFactory:296,1
    - Dst: method.getName()
      Src: io.undertow.websockets.jsr.EncodingFactory:297,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].equals(String)'
      Src: io.undertow.websockets.jsr.EncodingFactory:297,1
    - Dst: method.isBridge()
      Src: io.undertow.websockets.jsr.EncodingFactory:297,1
    - Dst: method.getParameterCount()
      Src: io.undertow.websockets.jsr.EncodingFactory:298,1
    - Dst: method.getReturnType()
      Src: io.undertow.websockets.jsr.EncodingFactory:299,1
    - Dst: method.getParameterCount()
      Src: io.undertow.websockets.jsr.EncodingFactory:301,1
    - Dst: method.getParameterTypes()
      Src: io.undertow.websockets.jsr.EncodingFactory:302,1
    - Dst: method.getParameterTypes()
      Src: io.undertow.websockets.jsr.EncodingFactory:308,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].couldNotDetermineTypeOfEncodeMethodForClass(Class<?extendsEncoder>)'
      Src: io.undertow.websockets.jsr.EncodingFactory:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsEncoder>
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Class<?>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - encoder
    - returnType
    argTypes:
    - Class<?extendsEncoder>
    - Class<?>
    constantsTouched: []
    func_position:
      end: 313
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 313
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].findEncodeMethod(Class<?extendsEncoder>,Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.EncodingFactory].couldNotDetermineTypeOfEncodeMethodForClass(Class<?extendsEncoder>)'
    - method.getReturnType()
    - '[Class<?extendsEncoder>].getMethods()'
    - '[io.undertow.websockets.jsr.EncodingFactory].equals(String)'
    - method.getName()
    - method.getParameterTypes()
    - method.isBridge()
    - method.getParameterCount()
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.EncodingFactory].findEncodeMethod(Class<?extendsEncoder>,Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?>].isPrimitive()'
      Src: io.undertow.websockets.jsr.EncodingFactory:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceFactory<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/EncodingFactory.java
    functionUses: 5
    functionsReached:
    - '[Class<?>].isPrimitive()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - java.util.List<jakarta.websocket.Extension>
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.List<jakarta.websocket.Extension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ConfiguredServerEndpoint
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 6
    argNames:
    - endpointConfiguration
    - endpointFactory
    - pathTemplate
    - encodingFactory
    - annotatedEndpointFactory
    - installed
    argTypes:
    - jakarta.websocket.server.ServerEndpointConfig
    - io.undertow.servlet.api.InstanceFactory<?>
    - io.undertow.util.PathTemplate
    - io.undertow.websockets.jsr.EncodingFactory
    - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
    - java.util.List<jakarta.websocket.Extension>
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(jakarta.websocket.server.ServerEndpointConfig,io.undertow.servlet.api.InstanceFactory<?>,io.undertow.util.PathTemplate,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.List<jakarta.websocket.Extension>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    signature: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(jakarta.websocket.server.ServerEndpointConfig,io.undertow.servlet.api.InstanceFactory<?>,io.undertow.util.PathTemplate,io.undertow.websockets.jsr.EncodingFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.List<jakarta.websocket.Extension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getExtensions()'
      Src: io.undertow.websockets.jsr.ConfiguredServerEndpoint:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.List<jakarta.websocket.Extension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ConfiguredServerEndpoint
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 4
    argNames:
    - endpointConfiguration
    - endpointFactory
    - pathTemplate
    - encodingFactory
    argTypes:
    - jakarta.websocket.server.ServerEndpointConfig
    - io.undertow.servlet.api.InstanceFactory<?>
    - io.undertow.util.PathTemplate
    - io.undertow.websockets.jsr.EncodingFactory
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(jakarta.websocket.server.ServerEndpointConfig,io.undertow.servlet.api.InstanceFactory<?>,io.undertow.util.PathTemplate,io.undertow.websockets.jsr.EncodingFactory)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getExtensions()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    signature: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(jakarta.websocket.server.ServerEndpointConfig,io.undertow.servlet.api.InstanceFactory<?>,io.undertow.util.PathTemplate,io.undertow.websockets.jsr.EncodingFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.List<jakarta.websocket.Extension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.server.ServerEndpointConfig
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredServerEndpoint.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.server.ServerEndpointConfig
    signature: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.List<jakarta.websocket.Extension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.api.InstanceFactory<?>
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredServerEndpoint.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.api.InstanceFactory<?>
    signature: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.List<jakarta.websocket.Extension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplate
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getPathTemplate()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredServerEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplate
    signature: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getPathTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.List<jakarta.websocket.Extension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.EncodingFactory
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEncodingFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredServerEndpoint.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.EncodingFactory
    signature: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEncodingFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.List<jakarta.websocket.Extension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredServerEndpoint.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
    signature: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      - io.undertow.util.PathTemplate
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.List<jakarta.websocket.Extension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.Extension>
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getExtensions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredServerEndpoint.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].contains(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.DefaultContainerConfigurator
      - ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>
      - ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 2
    argNames:
    - supported
    - requested
    argTypes:
    - java.util.List<String>
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].getNegotiatedSubprotocol(java.util.List<String>,java.util.List<String>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultContainerConfigurator.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].contains(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].getNegotiatedSubprotocol(java.util.List<String>,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:61,1
    - Dst: extension.getName()
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:64,1
    - Dst: req.getName()
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:64,1
    - Dst: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].equals(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:64,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<jakarta.websocket.Extension>
      - java.util.List<jakarta.websocket.Extension>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.DefaultContainerConfigurator
      - ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>
      - ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.Extension>
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 2
    argNames:
    - installed
    - requested
    argTypes:
    - java.util.List<jakarta.websocket.Extension>
    - java.util.List<jakarta.websocket.Extension>
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].getNegotiatedExtensions(java.util.List<jakarta.websocket.Extension>,java.util.List<jakarta.websocket.Extension>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultContainerConfigurator.java
    functionUses: 0
    functionsReached:
    - extension.getName()
    - req.getName()
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.jsr.DefaultContainerConfigurator].equals(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].getNegotiatedExtensions(java.util.List<jakarta.websocket.Extension>,java.util.List<jakarta.websocket.Extension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.DefaultContainerConfigurator
      - ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>
      - ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - originHeaderValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].checkOrigin(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultContainerConfigurator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].checkOrigin(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.server.ServerEndpointConfig
      - jakarta.websocket.server.HandshakeRequest
      - jakarta.websocket.HandshakeResponse
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.DefaultContainerConfigurator
      - ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>
      - ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 3
    argNames:
    - sec
    - request
    - response
    argTypes:
    - jakarta.websocket.server.ServerEndpointConfig
    - jakarta.websocket.server.HandshakeRequest
    - jakarta.websocket.HandshakeResponse
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].modifyHandshake(jakarta.websocket.server.ServerEndpointConfig,jakarta.websocket.server.HandshakeRequest,jakarta.websocket.HandshakeResponse)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultContainerConfigurator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].modifyHandshake(jakarta.websocket.server.ServerEndpointConfig,jakarta.websocket.server.HandshakeRequest,jakarta.websocket.HandshakeResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>].get()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:85,1
    - Dst: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].createInstance()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:87,1
    - Dst: '[ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>].set(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:88,1
    - Dst: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].getInstance()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:89,1
    - Dst: '[Class<T>].newInstance()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:92,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.DefaultContainerConfigurator
      - ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>
      - ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>
      classPublic: true
      concrete: true
      exceptions:
      - InstantiationException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - endpointClass
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].getEndpointInstance(Class<T>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultContainerConfigurator.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.DefaultContainerConfigurator].createInstance()'
    - '[ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>].get()'
    - '[Class<T>].newInstance()'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
    - '[io.undertow.websockets.jsr.DefaultContainerConfigurator].getInstance()'
    - '[ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>].set(io.undertow.websockets.jsr.DefaultContainerConfigurator)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].getEndpointInstance(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>].set(io.undertow.servlet.api.InstanceFactory<?>)'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.InstanceFactory<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.DefaultContainerConfigurator
      - ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>
      - ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: ServerEndpointConfig.Configurator
    argCount: 1
    argNames:
    - factory
    argTypes:
    - io.undertow.servlet.api.InstanceFactory<?>
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].setCurrentInstanceFactory(io.undertow.servlet.api.InstanceFactory<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultContainerConfigurator.java
    functionUses: 1
    functionsReached:
    - '[ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>].set(io.undertow.servlet.api.InstanceFactory<?>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].setCurrentInstanceFactory(io.undertow.servlet.api.InstanceFactory<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>].remove()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:103,1
    - Dst: '[ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>].get()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:104,1
    - Dst: '[ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>].remove()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.DefaultContainerConfigurator
      - ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>
      - ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.api.InstanceHandle<?>
      static: true
      superClass: ServerEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].clearCurrentInstanceFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultContainerConfigurator.java
    functionUses: 1
    functionsReached:
    - '[ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>].get()'
    - '[ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>].remove()'
    - '[ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>].remove()'
    linkageType: ''
    returnType: io.undertow.servlet.api.InstanceHandle<?>
    signature: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].clearCurrentInstanceFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].<init>()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:41,1
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:46,1
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.websockets.jsr.DefaultContainerConfigurator:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.DefaultContainerConfigurator
      - ThreadLocal<io.undertow.servlet.api.InstanceFactory<?>>
      - ThreadLocal<io.undertow.servlet.api.InstanceHandle<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.DefaultContainerConfigurator
      static: false
      superClass: ServerEndpointConfig.Configurator
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultContainerConfigurator.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.DefaultContainerConfigurator].<init>()'
    - '[ThreadLocal].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.DefaultContainerConfigurator
    signature: '[io.undertow.websockets.jsr.DefaultContainerConfigurator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.Set<jakarta.websocket.Session>)'
      Src: io.undertow.websockets.jsr.SessionContainer:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Runnable
      - int
      - java.util.Set<jakarta.websocket.Session>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<jakarta.websocket.Session>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.jsr.SessionContainer].getOpenSessions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SessionContainer.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(java.util.Set<jakarta.websocket.Session>)'
    linkageType: ''
    returnType: java.util.Set<jakarta.websocket.Session>
    signature: '[io.undertow.websockets.jsr.SessionContainer].getOpenSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<jakarta.websocket.Session>].add(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.SessionContainer:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Runnable
      - int
      - java.util.Set<jakarta.websocket.Session>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.jsr.SessionContainer].addOpenSession(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SessionContainer.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<jakarta.websocket.Session>].add(jakarta.websocket.Session)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SessionContainer].addOpenSession(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<jakarta.websocket.Session>].remove(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.SessionContainer:48,1
    - Dst: '[java.util.Set<jakarta.websocket.Session>].isEmpty()'
      Src: io.undertow.websockets.jsr.SessionContainer:49,1
    - Dst: '[io.undertow.websockets.jsr.SessionContainer].notifyAll()'
      Src: io.undertow.websockets.jsr.SessionContainer:50,1
    - Dst: task.run()
      Src: io.undertow.websockets.jsr.SessionContainer:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Runnable
      - int
      - java.util.Set<jakarta.websocket.Session>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.jsr.SessionContainer].removeOpenSession(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SessionContainer.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<jakarta.websocket.Session>].remove(jakarta.websocket.Session)'
    - task.run()
    - '[java.util.Set<jakarta.websocket.Session>].isEmpty()'
    - '[io.undertow.websockets.jsr.SessionContainer].notifyAll()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SessionContainer].removeOpenSession(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<jakarta.websocket.Session>].isEmpty()'
      Src: io.undertow.websockets.jsr.SessionContainer:64,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.jsr.SessionContainer:68,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.jsr.SessionContainer:70,1
    - Dst: '[java.util.Set<jakarta.websocket.Session>].isEmpty()'
      Src: io.undertow.websockets.jsr.SessionContainer:70,1
    - Dst: '[io.undertow.websockets.jsr.SessionContainer].wait(io.undertow.websockets.jsr.SessionContainer)'
      Src: io.undertow.websockets.jsr.SessionContainer:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Runnable
      - int
      - java.util.Set<jakarta.websocket.Session>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: '[io.undertow.websockets.jsr.SessionContainer].awaitClose(long)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SessionContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.SessionContainer].wait(io.undertow.websockets.jsr.SessionContainer)'
    - '[java.util.Set<jakarta.websocket.Session>].isEmpty()'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SessionContainer].awaitClose(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<jakarta.websocket.Session>].isEmpty()'
      Src: io.undertow.websockets.jsr.SessionContainer:84,1
    - Dst: '[Runnable].run()'
      Src: io.undertow.websockets.jsr.SessionContainer:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - Runnable
      - int
      - java.util.Set<jakarta.websocket.Session>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - done
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.jsr.SessionContainer].notifyClosed(Runnable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SessionContainer.java
    functionUses: 0
    functionsReached:
    - '[Runnable].run()'
    - '[java.util.Set<jakarta.websocket.Session>].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SessionContainer].notifyClosed(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.jsr.SessionContainer:33,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.jsr.SessionContainer:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Runnable
      - int
      - java.util.Set<jakarta.websocket.Session>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.SessionContainer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.SessionContainer].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SessionContainer.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.SessionContainer
    signature: '[io.undertow.websockets.jsr.SessionContainer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:47,1
    - Dst: '[BasicWebSocketSessionRemoteEndpoint].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.UndertowSession
      - io.undertow.websockets.jsr.Encoding
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.UndertowSession
      - Async
      - Basic
      - io.undertow.websockets.jsr.Encoding
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.RemoteEndpoint
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - encoding
    argTypes:
    - io.undertow.websockets.jsr.UndertowSession
    - io.undertow.websockets.jsr.Encoding
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].<init>(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.Encoding)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].<init>()'
    - '[BasicWebSocketSessionRemoteEndpoint].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].<init>(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.Encoding)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.UndertowSession
      - Async
      - Basic
      - io.undertow.websockets.jsr.Encoding
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.RemoteEndpoint
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Async
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getAsync()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Async
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getAsync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.UndertowSession
      - Async
      - Basic
      - io.undertow.websockets.jsr.Encoding
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.RemoteEndpoint
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Basic
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getBasic()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Basic
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getBasic()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.UndertowSession
      - Async
      - Basic
      - io.undertow.websockets.jsr.Encoding
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.RemoteEndpoint
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].flushBatch()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].flushBatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.UndertowSession
      - Async
      - Basic
      - io.undertow.websockets.jsr.Encoding
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.websocket.RemoteEndpoint
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].setBatchingAllowed(boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].setBatchingAllowed(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.UndertowSession
      - Async
      - Basic
      - io.undertow.websockets.jsr.Encoding
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.RemoteEndpoint
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getBatchingAllowed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getBatchingAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:82,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:84,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:85,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint,int)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:85,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:87,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.UndertowSession
      - Async
      - Basic
      - io.undertow.websockets.jsr.Encoding
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - IllegalArgumentException
      interfaces:
      - jakarta.websocket.RemoteEndpoint
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - applicationData
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].sendPing(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint,int)'
    - '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].sendPing(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:93,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:95,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:96,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint,int)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:96,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:98,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.UndertowSession
      - Async
      - Basic
      - io.undertow.websockets.jsr.Encoding
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - IllegalArgumentException
      interfaces:
      - jakarta.websocket.RemoteEndpoint
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - applicationData
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].sendPong(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].sendPong(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].getSendTimeout()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].getSendTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutmillis
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].setSendTimeout(long)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].setSendTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].handlerIsNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:118,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:121,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:123,1
    - Dst: '[io.undertow.websockets.jsr.SendHandlerAdapter].<init>(jakarta.websocket.SendHandler)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:123,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.SendHandlerAdapter,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.websocket.SendHandler
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - text
    - handler
    argTypes:
    - String
    - jakarta.websocket.SendHandler
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendText(String,jakarta.websocket.SendHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.SendHandlerAdapter].<init>(jakarta.websocket.SendHandler)'
    - '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.SendHandlerAdapter,long)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].handlerIsNull()'
    - undertowSession.getWebSocketChannel()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendText(String,jakarta.websocket.SendHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:129,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:131,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:132,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.SendResultFuture,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.Future<Void>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - text
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendText(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.SendResultFuture].<init>()'
    - '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.SendResultFuture,long)'
    linkageType: ''
    returnType: java.util.concurrent.Future<Void>
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendText(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:139,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:141,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:142,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.SendResultFuture,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.Future<Void>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.SendResultFuture,long)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.SendResultFuture].<init>()'
    linkageType: ''
    returnType: java.util.concurrent.Future<Void>
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].handlerIsNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:150,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:153,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:155,1
    - Dst: '[io.undertow.websockets.jsr.SendHandlerAdapter].<init>(jakarta.websocket.SendHandler)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:155,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.SendHandlerAdapter,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - jakarta.websocket.SendHandler
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - completion
    argTypes:
    - java.nio.ByteBuffer
    - jakarta.websocket.SendHandler
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer,jakarta.websocket.SendHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.SendHandlerAdapter].<init>(jakarta.websocket.SendHandler)'
    - '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.SendHandlerAdapter,long)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].handlerIsNull()'
    - undertowSession.getWebSocketChannel()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer,jakarta.websocket.SendHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:161,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:163,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObjectImpl(Object,io.undertow.websockets.jsr.SendResultFuture)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.Future<Void>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObject(Object)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObjectImpl(Object,io.undertow.websockets.jsr.SendResultFuture)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.SendResultFuture].<init>()'
    linkageType: ''
    returnType: java.util.concurrent.Future<Void>
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObject(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].handlerIsNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:172,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:175,1
    - Dst: '[io.undertow.websockets.jsr.SendHandlerAdapter].<init>(jakarta.websocket.SendHandler)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:177,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObjectImpl(Object,io.undertow.websockets.jsr.SendHandlerAdapter)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - jakarta.websocket.SendHandler
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - handler
    argTypes:
    - Object
    - jakarta.websocket.SendHandler
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObject(Object,jakarta.websocket.SendHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObjectImpl(Object,io.undertow.websockets.jsr.SendHandlerAdapter)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.SendHandlerAdapter].<init>(jakarta.websocket.SendHandler)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].handlerIsNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObject(Object,jakarta.websocket.SendHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:183,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:183,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:185,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:185,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:185,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:187,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:187,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:188,1
    - Dst: encoding.canEncodeText(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint)
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:188,1
    - Dst: encoding.encodeText(Object)
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:189,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:189,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:189,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:190,1
    - Dst: encoding.canEncodeBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint)
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:190,1
    - Dst: encoding.encodeBinary(Object)
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:191,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:191,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:191,1
    - Dst: '[jakarta.websocket.EncodeException].<init>(Object,String)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:195,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:198,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback].onError(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,null,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - io.undertow.websockets.core.WebSocketCallback
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - o
    - callback
    argTypes:
    - Object
    - io.undertow.websockets.core.WebSocketCallback
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObjectImpl(Object,io.undertow.websockets.core.WebSocketCallback)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - encoding.canEncodeBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint)
    - '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
    - '[io.undertow.websockets.core.WebSocketCallback].onError(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,null,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint)'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[jakarta.websocket.EncodeException].<init>(Object,String)'
    - '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
    - encoding.canEncodeText(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint)
    - '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
    - '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,io.undertow.websockets.core.WebSocketCallback,long)'
    - encoding.encodeBinary(Object)
    - undertowSession.getWebSocketChannel()
    - '[Object].getClass()'
    - encoding.encodeText(Object)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendObjectImpl(Object,io.undertow.websockets.core.WebSocketCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:204,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].setRequireExplicitFlush(boolean)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].setBatchingAllowed(boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].setRequireExplicitFlush(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].setBatchingAllowed(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:209,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].isRequireExplicitFlush()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].getBatchingAllowed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].isRequireExplicitFlush()'
    - undertowSession.getWebSocketChannel()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].getBatchingAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:214,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].flush()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].flushBatch()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].flushBatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:220,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:222,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:223,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,int)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:223,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:225,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,null,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - IllegalArgumentException
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - applicationData
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendPing(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,int)'
    - '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,null,long)'
    - undertowSession.getWebSocketChannel()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendPing(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:231,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:233,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:234,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,int)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:234,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:236,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,null,long)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - IllegalArgumentException
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - applicationData
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendPong(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,int)'
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].sendPong(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Async
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.AsyncWebSocketSessionRemoteEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].cannotSendInMiddleOfFragmentedMessage()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].cannotSendInMiddleOfFragmentedMessage()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:255,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:257,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:258,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(String,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - text
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendText(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 1
    functionsReached:
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
    - '[io.undertow.websockets.core.WebSockets].sendTextBlocking(String,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendText(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:264,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:266,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:267,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:267,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
    - '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[java.nio.ByteBuffer].clear()'
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:274,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].cannotSendInMiddleOfFragmentedMessage()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:277,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:281,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].send(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:281,1
    - Dst: '[io.undertow.websockets.core.WebSocketUtils].fromUtf8String(String)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:284,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,java.nio.ByteBuffer)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:284,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].shutdownWrites()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:286,1
    - Dst: '[org.xnio.channels.Channels].flushBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - partialMessage
    - isLast
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendText(String,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].send(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[org.xnio.channels.Channels].flushBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[io.undertow.websockets.core.WebSocketUtils].fromUtf8String(String)'
    - '[org.xnio.channels.Channels].writeBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,java.nio.ByteBuffer)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].shutdownWrites()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].cannotSendInMiddleOfFragmentedMessage()'
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendText(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:301,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].cannotSendInMiddleOfFragmentedMessage()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:304,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:308,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].send(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:308,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,java.nio.ByteBuffer)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:311,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].shutdownWrites()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:313,1
    - Dst: '[org.xnio.channels.Channels].flushBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:315,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - partialByte
    - isLast
    argTypes:
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 322
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 322
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].send(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[org.xnio.channels.Channels].flushBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[java.nio.ByteBuffer].clear()'
    - '[org.xnio.channels.Channels].writeBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,java.nio.ByteBuffer)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].shutdownWrites()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].cannotSendInMiddleOfFragmentedMessage()'
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:326,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:328,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].send(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:328,1
    - Dst: '[io.undertow.websockets.core.BinaryOutputStream].<init>(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].getSendStream()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].send(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
    - '[io.undertow.websockets.core.BinaryOutputStream].<init>(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].getSendStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:333,1
    - Dst: '[java.io.OutputStreamWriter].<init>(io.undertow.websockets.core.BinaryOutputStream,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.Writer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].getSendWriter()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].assertNotInFragment()'
    - '[java.io.OutputStreamWriter].<init>(io.undertow.websockets.core.BinaryOutputStream,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    linkageType: ''
    returnType: java.io.Writer
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].getSendWriter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:340,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendObjectImpl(Object)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.websocket.EncodeException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendObject(Object)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendObjectImpl(Object)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendObject(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendText(String)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:347,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:349,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:349,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:351,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:352,1
    - Dst: encoding.canEncodeText(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:352,1
    - Dst: encoding.encodeText(Object)
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:353,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:353,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:353,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:354,1
    - Dst: encoding.canEncodeBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:354,1
    - Dst: encoding.encodeBinary(Object)
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:355,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:355,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:355,1
    - Dst: '[jakarta.websocket.EncodeException].<init>(Object,String)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.websocket.EncodeException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendObjectImpl(Object)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendTextBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendBinary(java.nio.ByteBuffer)'
    - encoding.canEncodeBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendBinary(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - encoding.canEncodeText(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)
    - '[jakarta.websocket.EncodeException].<init>(Object,String)'
    - encoding.encodeBinary(Object)
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendText(String)'
    - undertowSession.getWebSocketChannel()
    - '[Object].getClass()'
    - encoding.encodeText(Object)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendObjectImpl(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].setBatchingAllowed(boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].setBatchingAllowed(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].getBatchingAllowed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].getBatchingAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].flushBatch()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].flushBatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:381,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:383,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:384,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,int)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:384,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:386,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendPingBlocking(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - IllegalArgumentException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - applicationData
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendPing(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,int)'
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.core.WebSockets].sendPingBlocking(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendPing(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:392,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:394,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:395,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,int)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:395,1
    - Dst: undertowSession.getWebSocketChannel()
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:397,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendPongBlocking(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
      Src: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - IllegalArgumentException
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - applicationData
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendPong(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageTooLarge(io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint,int)'
    - '[io.undertow.websockets.core.WebSockets].sendPongBlocking(java.nio.ByteBuffer,io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint)'
    - undertowSession.getWebSocketChannel()
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].messageInNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].sendPong(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkFrameChannel
      - StreamSinkFrameChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Basic
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketSessionRemoteEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint
    signature: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint.BasicWebSocketSessionRemoteEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.jsr.ServerEndpointConfigImpl:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ServerEndpointConfigImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - endpointclass
    - path
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].<init>(Class<?>,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerEndpointConfigImpl
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].<init>(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getEndpointClass()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getEndpointClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getPath()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.ServerEndpointConfigImpl:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getSubprotocols()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getSubprotocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.ServerEndpointConfigImpl:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.Extension>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getExtensions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Configurator].<init>()'
      Src: io.undertow.websockets.jsr.ServerEndpointConfigImpl:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Configurator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getConfigurator()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached:
    - '[Configurator].<init>()'
    linkageType: ''
    returnType: Configurator
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getConfigurator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.ServerEndpointConfigImpl:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?extendsEncoder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getEncoders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<Class<?extendsEncoder>>
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getEncoders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.ServerEndpointConfigImpl:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?extendsDecoder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getDecoders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<Class<?extendsDecoder>>
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getDecoders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - String
      - java.util.Map<String,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getUserProperties()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ServerEndpointConfigImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,Object>
    signature: '[io.undertow.websockets.jsr.ServerEndpointConfigImpl].getUserProperties()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler].handshakes(io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:39,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Set<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketConnectionCallback
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler
      static: false
      superClass: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.websockets.WebSocketConnectionCallback
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler].handshakes(io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Set<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.WebSocketConnectionCallback)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:43,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].<init>(io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:45,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.jsr.handshake.JsrHybi07Handshake)'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:45,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].<init>(io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:46,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.jsr.handshake.JsrHybi08Handshake)'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:46,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].<init>(io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:47,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      static: true
      superClass: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler].handshakes()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(io.undertow.websockets.jsr.handshake.JsrHybi08Handshake)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].<init>(io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler)'
    - '[java.util.HashSet].add(io.undertow.websockets.jsr.handshake.JsrHybi07Handshake)'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].<init>(io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler)'
    - '[java.util.HashSet].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
    - '[java.util.HashSet].<init>()'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].<init>(io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler)'
    linkageType: ''
    returnType: java.util.Set<io.undertow.websockets.core.protocol.Handshake>
    signature: '[io.undertow.websockets.jsr.JsrWebSocketProtocolHandshakeHandler].handshakes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.ClientEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.websockets.jsr.EncodingFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.ClientEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.websockets.jsr.EncodingFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ConfiguredClientEndpoint
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 4
    argNames:
    - config
    - factory
    - encodingFactory
    - instanceFactory
    argTypes:
    - jakarta.websocket.ClientEndpointConfig
    - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
    - io.undertow.websockets.jsr.EncodingFactory
    - io.undertow.servlet.api.InstanceFactory<?>
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].<init>(jakarta.websocket.ClientEndpointConfig,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.EncodingFactory,io.undertow.servlet.api.InstanceFactory<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredClientEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ConfiguredClientEndpoint
    signature: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].<init>(jakarta.websocket.ClientEndpointConfig,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.EncodingFactory,io.undertow.servlet.api.InstanceFactory<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].<init>(null,null,null,null)'
      Src: io.undertow.websockets.jsr.ConfiguredClientEndpoint:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.ClientEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.websockets.jsr.EncodingFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ConfiguredClientEndpoint
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredClientEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].<init>(null,null,null,null)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ConfiguredClientEndpoint
    signature: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.ClientEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.websockets.jsr.EncodingFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.ClientEndpointConfig
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredClientEndpoint.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.ClientEndpointConfig
    signature: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.ClientEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.websockets.jsr.EncodingFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredClientEndpoint.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
    signature: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.ClientEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.websockets.jsr.EncodingFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.EncodingFactory
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getEncodingFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredClientEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.EncodingFactory
    signature: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getEncodingFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.ClientEndpointConfig
      - io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      - io.undertow.websockets.jsr.EncodingFactory
      - io.undertow.servlet.api.InstanceFactory<?>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.api.InstanceFactory<?>
      static: false
      superClass: io.undertow.websockets.jsr.SessionContainer
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getInstanceFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/ConfiguredClientEndpoint.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.api.InstanceFactory<?>
    signature: '[io.undertow.websockets.jsr.ConfiguredClientEndpoint].getInstanceFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>()'
      Src: io.undertow.websockets.jsr.UndertowSession:72,1
    - Dst: '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
      Src: io.undertow.websockets.jsr.UndertowSession:95,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.Map<String,java.util.List<String>>)'
      Src: io.undertow.websockets.jsr.UndertowSession:98,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.Map<String,String>)'
      Src: io.undertow.websockets.jsr.UndertowSession:99,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].<init>(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.UndertowSession:101,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
      Src: io.undertow.websockets.jsr.UndertowSession:103,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
      Src: io.undertow.websockets.jsr.UndertowSession:103,1
    - Dst: '[jakarta.websocket.EndpointConfig].getUserProperties()'
      Src: io.undertow.websockets.jsr.UndertowSession:104,1
    - Dst: '[java.util.HashMap].<init>(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.UndertowSession:104,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.HashMap)'
      Src: io.undertow.websockets.jsr.UndertowSession:104,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].setupWebSocketChannel(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.jsr.UndertowSession:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - java.net.URI
      - java.util.Map<String,String>
      - java.util.Map<String,java.util.List<String>>
      - io.undertow.websockets.jsr.EndpointSessionHandler
      - java.security.Principal
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - jakarta.websocket.EndpointConfig
      - String
      - io.undertow.websockets.jsr.Encoding
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.UndertowSession
      static: false
      superClass: Object
    argCount: 14
    argNames:
    - webSocketChannel
    - requestUri
    - pathParameters
    - requestParameterMap
    - handler
    - user
    - endpoint
    - config
    - queryString
    - encoding
    - openSessions
    - subProtocol
    - extensions
    - clientConnectionBuilder
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - java.net.URI
    - java.util.Map<String,String>
    - java.util.Map<String,java.util.List<String>>
    - io.undertow.websockets.jsr.EndpointSessionHandler
    - java.security.Principal
    - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
    - jakarta.websocket.EndpointConfig
    - String
    - io.undertow.websockets.jsr.Encoding
    - io.undertow.websockets.jsr.SessionContainer
    - String
    - java.util.List<jakarta.websocket.Extension>
    - WebSocketClient.ConnectionBuilder
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: '[io.undertow.websockets.jsr.UndertowSession].<init>(io.undertow.websockets.core.WebSocketChannel,java.net.URI,java.util.Map<String,String>,java.util.Map<String,java.util.List<String>>,io.undertow.websockets.jsr.EndpointSessionHandler,java.security.Principal,io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>,jakarta.websocket.EndpointConfig,String,io.undertow.websockets.jsr.Encoding,io.undertow.websockets.jsr.SessionContainer,String,java.util.List<jakarta.websocket.Extension>,WebSocketClient.ConnectionBuilder)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableMap(java.util.Map<String,String>)'
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
    - '[io.undertow.websockets.jsr.EndpointSessionHandler].getContainer()'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>()'
    - '[jakarta.websocket.EndpointConfig].getUserProperties()'
    - '[java.util.Collections].synchronizedMap(java.util.HashMap)'
    - '[io.undertow.websockets.jsr.UndertowSession].setupWebSocketChannel(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].<init>(io.undertow.websockets.jsr.Encoding)'
    - '[java.util.Collections].unmodifiableMap(java.util.Map<String,java.util.List<String>>)'
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
    - '[java.util.HashMap].<init>(io.undertow.websockets.jsr.UndertowSession)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.UndertowSession
    signature: '[io.undertow.websockets.jsr.UndertowSession].<init>(io.undertow.websockets.core.WebSocketChannel,java.net.URI,java.util.Map<String,String>,java.util.Map<String,java.util.List<String>>,io.undertow.websockets.jsr.EndpointSessionHandler,java.security.Principal,io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>,jakarta.websocket.EndpointConfig,String,io.undertow.websockets.jsr.Encoding,io.undertow.websockets.jsr.SessionContainer,String,java.util.List<jakarta.websocket.Extension>,WebSocketClient.ConnectionBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ServerWebSocketContainer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ServerWebSocketContainer
    signature: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].addHandler(jakarta.websocket.MessageHandler)'
      Src: io.undertow.websockets.jsr.UndertowSession:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.MessageHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - messageHandler
    argTypes:
    - jakarta.websocket.MessageHandler
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(jakarta.websocket.MessageHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].addHandler(jakarta.websocket.MessageHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(jakarta.websocket.MessageHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].addHandler(Class<T>,MessageHandler.Whole<T>)'
      Src: io.undertow.websockets.jsr.UndertowSession:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      - MessageHandler.Whole<T>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - clazz
    - handler
    argTypes:
    - Class<T>
    - MessageHandler.Whole<T>
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(Class<T>,MessageHandler.Whole<T>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].addHandler(Class<T>,MessageHandler.Whole<T>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(Class<T>,MessageHandler.Whole<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].addHandler(Class<T>,MessageHandler.Partial<T>)'
      Src: io.undertow.websockets.jsr.UndertowSession:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      - MessageHandler.Partial<T>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - clazz
    - handler
    argTypes:
    - Class<T>
    - MessageHandler.Partial<T>
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(Class<T>,MessageHandler.Partial<T>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].addHandler(Class<T>,MessageHandler.Partial<T>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(Class<T>,MessageHandler.Partial<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getHandlers()'
      Src: io.undertow.websockets.jsr.UndertowSession:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<jakarta.websocket.MessageHandler>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getMessageHandlers()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].getHandlers()'
    linkageType: ''
    returnType: java.util.Set<jakarta.websocket.MessageHandler>
    signature: '[io.undertow.websockets.jsr.UndertowSession].getMessageHandlers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].removeHandler(jakarta.websocket.MessageHandler)'
      Src: io.undertow.websockets.jsr.UndertowSession:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.MessageHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - messageHandler
    argTypes:
    - jakarta.websocket.MessageHandler
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.jsr.UndertowSession].removeMessageHandler(jakarta.websocket.MessageHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].removeHandler(jakarta.websocket.MessageHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].removeMessageHandler(jakarta.websocket.MessageHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getReceiveSetter()'
      Src: io.undertow.websockets.jsr.UndertowSession:149,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].set(org.xnio.ChannelListener<io.undertow.websockets.core.WebSocketChannel>)'
      Src: io.undertow.websockets.jsr.UndertowSession:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.websockets.core.WebSocketChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - org.xnio.ChannelListener<io.undertow.websockets.core.WebSocketChannel>
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.jsr.UndertowSession].setReceiveListener(org.xnio.ChannelListener<io.undertow.websockets.core.WebSocketChannel>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getReceiveSetter()'
    - '[io.undertow.websockets.jsr.UndertowSession].set(org.xnio.ChannelListener<io.undertow.websockets.core.WebSocketChannel>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].setReceiveListener(org.xnio.ChannelListener<io.undertow.websockets.core.WebSocketChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getVersion()'
      Src: io.undertow.websockets.jsr.UndertowSession:154,1
    - Dst: '[WebSocketVersion].toHttpHeaderValue()'
      Src: io.undertow.websockets.jsr.UndertowSession:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getProtocolVersion()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[WebSocketVersion].toHttpHeaderValue()'
    - '[io.undertow.websockets.core.WebSocketChannel].getVersion()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.UndertowSession].getProtocolVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getNegotiatedSubprotocol()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.UndertowSession].getNegotiatedSubprotocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isSecure()'
      Src: io.undertow.websockets.jsr.UndertowSession:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: '[io.undertow.websockets.jsr.UndertowSession].isSecure()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].isSecure()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.UndertowSession].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isOpen()'
      Src: io.undertow.websockets.jsr.UndertowSession:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: '[io.undertow.websockets.jsr.UndertowSession].isOpen()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.UndertowSession].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getIdleTimeout()'
      Src: io.undertow.websockets.jsr.UndertowSession:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getMaxIdleTimeout()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getIdleTimeout()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.UndertowSession].getMaxIdleTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setIdleTimeout(long)'
      Src: io.undertow.websockets.jsr.UndertowSession:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - milliseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.websockets.jsr.UndertowSession].setMaxIdleTimeout(long)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].setIdleTimeout(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].setMaxIdleTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getId()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.UndertowSession].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.UndertowSession,null)'
      Src: io.undertow.websockets.jsr.UndertowSession:189,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].close(jakarta.websocket.CloseReason)'
      Src: io.undertow.websockets.jsr.UndertowSession:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.websockets.jsr.UndertowSession].close()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowSession].close(jakarta.websocket.CloseReason)'
    - '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.UndertowSession,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].closeInternal(jakarta.websocket.CloseReason)'
      Src: io.undertow.websockets.jsr.UndertowSession:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - closeReason
    argTypes:
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: '[io.undertow.websockets.jsr.UndertowSession].close(jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowSession].closeInternal(jakarta.websocket.CloseReason)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].close(jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.UndertowSession,null)'
      Src: io.undertow.websockets.jsr.UndertowSession:199,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].closeInternal(jakarta.websocket.CloseReason)'
      Src: io.undertow.websockets.jsr.UndertowSession:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: '[io.undertow.websockets.jsr.UndertowSession].closeInternal()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.UndertowSession,null)'
    - '[io.undertow.websockets.jsr.UndertowSession].closeInternal(jakarta.websocket.CloseReason)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].closeInternal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].compareAndSet(boolean,boolean)'
      Src: io.undertow.websockets.jsr.UndertowSession:203,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameReceived()'
      Src: io.undertow.websockets.jsr.UndertowSession:206,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameSent()'
      Src: io.undertow.websockets.jsr.UndertowSession:206,1
    - Dst: '[jakarta.websocket.CloseReason].getCloseCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:209,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:209,1
    - Dst: CloseReason.CloseCodes.NO_STATUS_CODE.getCode()
      Src: io.undertow.websockets.jsr.UndertowSession:209,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].sendClose()'
      Src: io.undertow.websockets.jsr.UndertowSession:210,1
    - Dst: '[jakarta.websocket.CloseReason].getCloseCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:212,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:212,1
    - Dst: '[jakarta.websocket.CloseReason].getReasonPhrase()'
      Src: io.undertow.websockets.jsr.UndertowSession:212,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.UndertowSession:212,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
      Src: io.undertow.websockets.jsr.UndertowSession:212,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.jsr.UndertowSession:212,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getCloseCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:219,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getCloseReason()'
      Src: io.undertow.websockets.jsr.UndertowSession:220,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getCloseCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:221,1
    - Dst: CloseReason.CloseCodes.getCloseCode(int)
      Src: io.undertow.websockets.jsr.UndertowSession:221,1
    - Dst: '[jakarta.websocket.CloseReason].getReasonPhrase()'
      Src: io.undertow.websockets.jsr.UndertowSession:223,1
    - Dst: '[jakarta.websocket.CloseReason].getCloseCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:224,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isCloseInitiatedByRemotePeer()'
      Src: io.undertow.websockets.jsr.UndertowSession:230,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:230,1
    - Dst: CloseReason.CloseCodes.TOO_BIG.getCode()
      Src: io.undertow.websockets.jsr.UndertowSession:230,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getCode()'
      Src: io.undertow.websockets.jsr.UndertowSession:230,1
    - Dst: CloseReason.CloseCodes.VIOLATED_POLICY.getCode()
      Src: io.undertow.websockets.jsr.UndertowSession:230,1
    - Dst: '[io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>].getInstance()'
      Src: io.undertow.websockets.jsr.UndertowSession:236,1
    - Dst: '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.UndertowSession:236,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].onClose(jakarta.websocket.CloseReason)'
      Src: io.undertow.websockets.jsr.UndertowSession:236,1
    - Dst: '[io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>].getInstance()'
      Src: io.undertow.websockets.jsr.UndertowSession:238,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].onError(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.UndertowSession:238,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].close0()'
      Src: io.undertow.websockets.jsr.UndertowSession:242,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getWebSocketReconnectHandler()'
      Src: io.undertow.websockets.jsr.UndertowSession:244,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].debugf(String)'
      Src: io.undertow.websockets.jsr.UndertowSession:246,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketReconnectHandler].disconnected(jakarta.websocket.CloseReason,java.net.URI)'
      Src: io.undertow.websockets.jsr.UndertowSession:247,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].handleReconnect(long)'
      Src: io.undertow.websockets.jsr.UndertowSession:249,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - closeReason
    argTypes:
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 255
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 255
    functionName: '[io.undertow.websockets.jsr.UndertowSession].closeInternal(jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>].getInstance()'
    - CloseReason.CloseCodes.NO_STATUS_CODE.getCode()
    - '[jakarta.websocket.CloseReason].<init>(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.UndertowSession)'
    - CloseReason.CloseCodes.TOO_BIG.getCode()
    - '[jakarta.websocket.CloseReason].getReasonPhrase()'
    - '[io.undertow.websockets.jsr.WebSocketReconnectHandler].disconnected(jakarta.websocket.CloseReason,java.net.URI)'
    - '[io.undertow.websockets.jsr.UndertowSession].handleReconnect(long)'
    - '[io.undertow.websockets.jsr.UndertowSession].debugf(String)'
    - '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameSent()'
    - '[io.undertow.websockets.jsr.UndertowSession].getCode()'
    - '[jakarta.websocket.CloseReason].getCloseCode()'
    - '[io.undertow.websockets.core.WebSocketChannel].isCloseInitiatedByRemotePeer()'
    - '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getWebSocketReconnectHandler()'
    - '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameReceived()'
    - CloseReason.CloseCodes.getCloseCode(int)
    - '[io.undertow.websockets.core.CloseMessage].<init>(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.UndertowSession)'
    - '[io.undertow.websockets.core.WebSocketChannel].getCloseCode()'
    - CloseReason.CloseCodes.VIOLATED_POLICY.getCode()
    - '[io.undertow.websockets.core.WebSocketChannel].sendClose()'
    - '[io.undertow.websockets.core.WebSocketChannel].getCloseReason()'
    - '[io.undertow.websockets.jsr.UndertowSession].onClose(jakarta.websocket.CloseReason)'
    - '[java.util.concurrent.atomic.AtomicBoolean].compareAndSet(boolean,boolean)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.jsr.UndertowSession].close0()'
    - '[io.undertow.websockets.jsr.UndertowSession].onError(io.undertow.websockets.jsr.UndertowSession)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].closeInternal(jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].debugf(String,long)'
      Src: io.undertow.websockets.jsr.UndertowSession:258,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.websockets.jsr.UndertowSession,Runnable,long,io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.UndertowSession:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reconnect
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 283
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 283
    functionName: '[io.undertow.websockets.jsr.UndertowSession].handleReconnect(long)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.websockets.jsr.UndertowSession,Runnable,long,io.undertow.websockets.jsr.UndertowSession)'
    - '[io.undertow.websockets.jsr.UndertowSession].debugf(String,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].handleReconnect(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.jsr.UndertowSession:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 4
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].forceClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getRequestURI()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.websockets.jsr.UndertowSession].getRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getRequestParameterMap()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.jsr.UndertowSession].getRequestParameterMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getQueryString()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.UndertowSession].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getPathParameters()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.websockets.jsr.UndertowSession].getPathParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getUserProperties()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,Object>
    signature: '[io.undertow.websockets.jsr.UndertowSession].getUserProperties()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getUserPrincipal()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.websockets.jsr.UndertowSession].getUserPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: '[io.undertow.websockets.jsr.UndertowSession].setMaxBinaryMessageBufferSize(int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].setMaxBinaryMessageBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getMaxBinaryMessageBufferSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.UndertowSession].getMaxBinaryMessageBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: '[io.undertow.websockets.jsr.UndertowSession].setMaxTextMessageBufferSize(int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].setMaxTextMessageBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getMaxTextMessageBufferSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.UndertowSession].getMaxTextMessageBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getAsync()'
      Src: io.undertow.websockets.jsr.UndertowSession:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RemoteEndpoint.Async
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getAsync()'
    linkageType: ''
    returnType: RemoteEndpoint.Async
    signature: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getBasic()'
      Src: io.undertow.websockets.jsr.UndertowSession:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RemoteEndpoint.Basic
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getBasicRemote()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint].getBasic()'
    linkageType: ''
    returnType: RemoteEndpoint.Basic
    signature: '[io.undertow.websockets.jsr.UndertowSession].getBasicRemote()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.SessionContainer].getOpenSessions()'
      Src: io.undertow.websockets.jsr.UndertowSession:352,1
    - Dst: '[java.util.HashSet].<init>(java.util.Set<jakarta.websocket.Session>)'
      Src: io.undertow.websockets.jsr.UndertowSession:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<jakarta.websocket.Session>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getOpenSessions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.SessionContainer].getOpenSessions()'
    - '[java.util.HashSet].<init>(java.util.Set<jakarta.websocket.Session>)'
    linkageType: ''
    returnType: java.util.Set<jakarta.websocket.Session>
    signature: '[io.undertow.websockets.jsr.UndertowSession].getOpenSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.Extension>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getNegotiatedExtensions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.UndertowSession].getNegotiatedExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
      Src: io.undertow.websockets.jsr.UndertowSession:362,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.UndertowSession:362,1
    - Dst: '[java.util.concurrent.Executor].execute(Runnable)'
      Src: io.undertow.websockets.jsr.UndertowSession:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 376
    functionName: '[io.undertow.websockets.jsr.UndertowSession].close0()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.Executor].execute(Runnable)'
    - '[Runnable].<init>()'
    - '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].close0()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.Encoding
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getEncoding()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.Encoding
    signature: '[io.undertow.websockets.jsr.UndertowSession].getEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.jsr.UndertowSession].getWebSocketChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>].getInstance()'
      Src: io.undertow.websockets.jsr.UndertowSession:387,1
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].<init>(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.UndertowSession:387,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getReceiveSetter()'
      Src: io.undertow.websockets.jsr.UndertowSession:388,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].set(io.undertow.websockets.jsr.FrameHandler)'
      Src: io.undertow.websockets.jsr.UndertowSession:388,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.jsr.UndertowSession:389,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].addCloseTask(org.xnio.ChannelListener)'
      Src: io.undertow.websockets.jsr.UndertowSession:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - webSocketChannel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 415
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 415
    functionName: '[io.undertow.websockets.jsr.UndertowSession].setupWebSocketChannel(io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.jsr.UndertowSession].set(io.undertow.websockets.jsr.FrameHandler)'
    - '[io.undertow.websockets.core.WebSocketChannel].addCloseTask(org.xnio.ChannelListener)'
    - '[io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>].getInstance()'
    - '[io.undertow.websockets.jsr.FrameHandler].<init>(io.undertow.websockets.jsr.UndertowSession)'
    - '[io.undertow.websockets.core.WebSocketChannel].getReceiveSetter()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.UndertowSession].setupWebSocketChannel(io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.FrameHandler].getExecutor()'
      Src: io.undertow.websockets.jsr.UndertowSession:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.Executor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.websockets.jsr.FrameHandler].getExecutor()'
    linkageType: ''
    returnType: java.util.concurrent.Executor
    signature: '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.websockets.jsr.UndertowSession:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.FrameHandler
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      - java.security.Principal
      - io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint
      - java.util.Map<String,Object>
      - java.util.Map<String,java.util.List<String>>
      - java.net.URI
      - String
      - java.util.Map<String,String>
      - io.undertow.servlet.api.InstanceHandle<jakarta.websocket.Endpoint>
      - io.undertow.websockets.jsr.Encoding
      - java.util.concurrent.atomic.AtomicBoolean
      - io.undertow.websockets.jsr.SessionContainer
      - String
      - java.util.List<jakarta.websocket.Extension>
      - WebSocketClient.ConnectionBuilder
      - jakarta.websocket.EndpointConfig
      - int
      - int
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/UndertowSession.java
    functionUses: 6
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.UndertowSession].isSessionClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
      Src: io.undertow.websockets.jsr.OrderedExecutor:33,1
    - Dst: '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].<init>()'
      Src: io.undertow.websockets.jsr.OrderedExecutor:35,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.websockets.jsr.OrderedExecutor:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Runnable>
      - java.util.concurrent.Executor
      - ExecutorTask
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.websockets.jsr.OrderedExecutor>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.concurrent.Executor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.OrderedExecutor
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.websockets.jsr.OrderedExecutor].<init>(java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/OrderedExecutor.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.OrderedExecutor
    signature: '[io.undertow.websockets.jsr.OrderedExecutor].<init>(java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<Runnable>].add(Runnable)'
      Src: io.undertow.websockets.jsr.OrderedExecutor:50,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.websockets.jsr.OrderedExecutor>].get()'
      Src: io.undertow.websockets.jsr.OrderedExecutor:51,1
    - Dst: '[java.util.concurrent.Executor].execute(ExecutorTask)'
      Src: io.undertow.websockets.jsr.OrderedExecutor:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Runnable>
      - java.util.concurrent.Executor
      - ExecutorTask
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.websockets.jsr.OrderedExecutor>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.concurrent.Executor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - command
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.OrderedExecutor].execute(Runnable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/OrderedExecutor.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.Executor].execute(ExecutorTask)'
    - '[java.util.Deque<Runnable>].add(Runnable)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.websockets.jsr.OrderedExecutor>].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.OrderedExecutor].execute(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stateUpdater.compareAndSet(io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask,io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask,io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask)
      Src: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask:62,1
    - Dst: tasks.poll()
      Src: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask:63,1
    - Dst: '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].run()'
      Src: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask:67,1
    - Dst: '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].exceptionInWebSocketMethod(io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask)'
      Src: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask:69,1
    - Dst: tasks.poll()
      Src: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask:71,1
    - Dst: stateUpdater.set(io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask,io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask)
      Src: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask:74,1
    - Dst: tasks.isEmpty()
      Src: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].run()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/OrderedExecutor.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].exceptionInWebSocketMethod(io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask)'
    - stateUpdater.compareAndSet(io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask,io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask,io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask)
    - '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].run()'
    - tasks.poll()
    - stateUpdater.set(io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask,io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask)
    - tasks.isEmpty()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/OrderedExecutor.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask
    signature: '[io.undertow.websockets.jsr.OrderedExecutor.ExecutorTask].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getServletContextAttributes()'
      Src: io.undertow.websockets.jsr.Bootstrap:61,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.websockets.jsr.Bootstrap:61,1
    - Dst: info.getWorker()
      Src: io.undertow.websockets.jsr.Bootstrap:66,1
    - Dst: info.getBuffers()
      Src: io.undertow.websockets.jsr.Bootstrap:67,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].getDefaultContainer()'
      Src: io.undertow.websockets.jsr.Bootstrap:69,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap].bufferPoolWasNullAndNoDefault()'
      Src: io.undertow.websockets.jsr.Bootstrap:71,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap].bufferPoolWasNull()'
      Src: io.undertow.websockets.jsr.Bootstrap:73,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getBufferPool()'
      Src: io.undertow.websockets.jsr.Bootstrap:74,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.Bootstrap:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getClassLoader()'
      Src: io.undertow.websockets.jsr.Bootstrap:78,1
    - Dst: '[io.undertow.servlet.core.ContextClassLoaderSetupAction].<init>(ClassLoader)'
      Src: io.undertow.websockets.jsr.Bootstrap:78,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.core.ContextClassLoaderSetupAction)'
      Src: io.undertow.websockets.jsr.Bootstrap:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getThreadSetupActions()'
      Src: io.undertow.websockets.jsr.Bootstrap:79,1
    - Dst: '[java.util.ArrayList].addAll(java.util.List<io.undertow.servlet.api.ThreadSetupHandler>)'
      Src: io.undertow.websockets.jsr.Bootstrap:79,1
    - Dst: info.getClientBindAddress()
      Src: io.undertow.websockets.jsr.Bootstrap:82,1
    - Dst: info.getClientBindAddress()
      Src: io.undertow.websockets.jsr.Bootstrap:83,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.websockets.jsr.Bootstrap,int)'
      Src: io.undertow.websockets.jsr.Bootstrap:83,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.Bootstrap:85,1
    - Dst: info.getExtensions()
      Src: io.undertow.websockets.jsr.Bootstrap:86,1
    - Dst: e.getName()
      Src: io.undertow.websockets.jsr.Bootstrap:87,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.Bootstrap:87,1
    - Dst: '[io.undertow.websockets.jsr.ExtensionImpl].<init>(io.undertow.websockets.jsr.Bootstrap,io.undertow.websockets.jsr.Bootstrap)'
      Src: io.undertow.websockets.jsr.Bootstrap:87,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.ExtensionImpl)'
      Src: io.undertow.websockets.jsr.Bootstrap:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getClassIntrospecter()'
      Src: io.undertow.websockets.jsr.Bootstrap:89,1
    - Dst: '[jakarta.servlet.ServletContext].getClassLoader()'
      Src: io.undertow.websockets.jsr.Bootstrap:89,1
    - Dst: info.isDispatchToWorkerThread()
      Src: io.undertow.websockets.jsr.Bootstrap:89,1
    - Dst: info.getReconnectHandler()
      Src: io.undertow.websockets.jsr.Bootstrap:89,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.Bootstrap,io.undertow.websockets.jsr.Bootstrap,io.undertow.connector.ByteBufferPool,java.util.ArrayList,io.undertow.websockets.jsr.Bootstrap,java.net.InetSocketAddress,io.undertow.websockets.jsr.Bootstrap,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.Bootstrap:89,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap].getMaxTextBufferSize()'
      Src: io.undertow.websockets.jsr.Bootstrap:90,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxTextMessageBufferSize(int)'
      Src: io.undertow.websockets.jsr.Bootstrap:90,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap].getMaxBinaryBufferSize()'
      Src: io.undertow.websockets.jsr.Bootstrap:91,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxBinaryMessageBufferSize(int)'
      Src: io.undertow.websockets.jsr.Bootstrap:91,1
    - Dst: info.getAnnotatedEndpoints()
      Src: io.undertow.websockets.jsr.Bootstrap:93,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.Bootstrap)'
      Src: io.undertow.websockets.jsr.Bootstrap:94,1
    - Dst: info.getProgramaticEndpoints()
      Src: io.undertow.websockets.jsr.Bootstrap:96,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.Bootstrap)'
      Src: io.undertow.websockets.jsr.Bootstrap:97,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.Bootstrap)'
      Src: io.undertow.websockets.jsr.Bootstrap:100,1
    - Dst: ServerContainer.class.getName()
      Src: io.undertow.websockets.jsr.Bootstrap:102,1
    - Dst: '[jakarta.servlet.ServletContext].setAttribute(io.undertow.websockets.jsr.Bootstrap,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.Bootstrap:102,1
    - Dst: info.containerReady(io.undertow.websockets.jsr.ServerWebSocketContainer)
      Src: io.undertow.websockets.jsr.Bootstrap:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getClassLoader()'
      Src: io.undertow.websockets.jsr.Bootstrap:104,1
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].addContainer(ClassLoader,io.undertow.websockets.jsr.ServerWebSocketContainer)'
      Src: io.undertow.websockets.jsr.Bootstrap:104,1
    - Dst: '[io.undertow.servlet.Servlets].listener()'
      Src: io.undertow.websockets.jsr.Bootstrap:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.websockets.jsr.Bootstrap:106,1
    - Dst: '[jakarta.servlet.ServletContextListener].<init>()'
      Src: io.undertow.websockets.jsr.Bootstrap:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addDeploymentCompleteListener(jakarta.servlet.ServletContextListener)'
      Src: io.undertow.websockets.jsr.Bootstrap:107,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.DeploymentInfo
      - jakarta.servlet.ServletContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.ServletExtension
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - deploymentInfo
    - servletContext
    argTypes:
    - io.undertow.servlet.api.DeploymentInfo
    - jakarta.servlet.ServletContext
    constantsTouched: []
    func_position:
      end: 118
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 118
    functionName: '[io.undertow.websockets.jsr.Bootstrap].handleDeployment(io.undertow.servlet.api.DeploymentInfo,jakarta.servlet.ServletContext)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Bootstrap.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletContextListener].<init>()'
    - info.getAnnotatedEndpoints()
    - info.getClientBindAddress()
    - e.getName()
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].getDefaultContainer()'
    - info.getReconnectHandler()
    - '[io.undertow.websockets.jsr.SecurityActions].addContainer(ClassLoader,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - info.getWorker()
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].getClassLoader()'
    - '[io.undertow.servlet.core.ContextClassLoaderSetupAction].<init>(ClassLoader)'
    - '[io.undertow.websockets.jsr.Bootstrap].getMaxBinaryBufferSize()'
    - '[io.undertow.servlet.api.DeploymentInfo].getServletContextAttributes()'
    - info.getExtensions()
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxTextMessageBufferSize(int)'
    - '[java.util.ArrayList].addAll(java.util.List<io.undertow.servlet.api.ThreadSetupHandler>)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].setDefaultMaxBinaryMessageBufferSize(int)'
    - '[io.undertow.servlet.Servlets].listener()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.websockets.jsr.Bootstrap,int)'
    - '[jakarta.servlet.ServletContext].getClassLoader()'
    - '[io.undertow.servlet.api.DeploymentInfo].getClassIntrospecter()'
    - '[jakarta.servlet.ServletContext].setAttribute(io.undertow.websockets.jsr.Bootstrap,io.undertow.websockets.jsr.ServerWebSocketContainer)'
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.ExtensionImpl)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].addEndpoint(io.undertow.websockets.jsr.Bootstrap)'
    - '[io.undertow.servlet.api.DeploymentInfo].getThreadSetupActions()'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[io.undertow.websockets.jsr.Bootstrap].getMaxTextBufferSize()'
    - '[io.undertow.websockets.jsr.Bootstrap].bufferPoolWasNull()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].<init>(io.undertow.servlet.api.ClassIntrospecter,io.undertow.websockets.jsr.Bootstrap,io.undertow.websockets.jsr.Bootstrap,io.undertow.connector.ByteBufferPool,java.util.ArrayList,io.undertow.websockets.jsr.Bootstrap,java.net.InetSocketAddress,io.undertow.websockets.jsr.Bootstrap,java.util.ArrayList)'
    - '[java.util.ArrayList].<init>()'
    - info.containerReady(io.undertow.websockets.jsr.ServerWebSocketContainer)
    - '[io.undertow.servlet.api.DeploymentInfo].addDeploymentCompleteListener(jakarta.servlet.ServletContextListener)'
    - '[java.util.ArrayList].add(io.undertow.servlet.core.ContextClassLoaderSetupAction)'
    - info.isDispatchToWorkerThread()
    - info.getProgramaticEndpoints()
    - '[io.undertow.websockets.jsr.ExtensionImpl].<init>(io.undertow.websockets.jsr.Bootstrap,io.undertow.websockets.jsr.Bootstrap)'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.Bootstrap)'
    - ServerContainer.class.getName()
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getBufferPool()'
    - info.getBuffers()
    - '[io.undertow.websockets.jsr.Bootstrap].bufferPoolWasNullAndNoDefault()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.Bootstrap].handleDeployment(io.undertow.servlet.api.DeploymentInfo,jakarta.servlet.ServletContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(int)
      Src: io.undertow.websockets.jsr.Bootstrap:122,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap].getSystemProperty(String,io.undertow.websockets.jsr.Bootstrap)'
      Src: io.undertow.websockets.jsr.Bootstrap:122,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.websockets.jsr.Bootstrap:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.ServletExtension
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: '[io.undertow.websockets.jsr.Bootstrap].getMaxBinaryBufferSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Bootstrap.java
    functionUses: 1
    functionsReached:
    - Integer.toString(int)
    - '[io.undertow.websockets.jsr.Bootstrap].getSystemProperty(String,io.undertow.websockets.jsr.Bootstrap)'
    - Integer.parseInt(String)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.Bootstrap].getMaxBinaryBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(int)
      Src: io.undertow.websockets.jsr.Bootstrap:131,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap].getSystemProperty(String,io.undertow.websockets.jsr.Bootstrap)'
      Src: io.undertow.websockets.jsr.Bootstrap:131,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.websockets.jsr.Bootstrap:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.ServletExtension
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: '[io.undertow.websockets.jsr.Bootstrap].getMaxTextBufferSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Bootstrap.java
    functionUses: 1
    functionsReached:
    - Integer.toString(int)
    - '[io.undertow.websockets.jsr.Bootstrap].getSystemProperty(String,io.undertow.websockets.jsr.Bootstrap)'
    - Integer.parseInt(String)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.Bootstrap].getMaxTextBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.jsr.Bootstrap:138,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap].getProperty(String,String)'
      Src: io.undertow.websockets.jsr.Bootstrap:138,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
      Src: io.undertow.websockets.jsr.Bootstrap:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.ServletExtension
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - key
    - def
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[io.undertow.websockets.jsr.Bootstrap].getSystemProperty(String,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Bootstrap.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
    - '[io.undertow.websockets.jsr.Bootstrap].getProperty(String,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.Bootstrap].getSystemProperty(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.ServletExtension
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.Bootstrap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.Bootstrap].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Bootstrap.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.Bootstrap
    signature: '[io.undertow.websockets.jsr.Bootstrap].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:148,1
    - Dst: ServerContainer.class.getName()
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:148,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].getAttribute(io.undertow.websockets.jsr.Bootstrap.WebSocketListener)'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:148,1
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:149,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].addFilter(io.undertow.websockets.jsr.Bootstrap.WebSocketListener)'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:149,1
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:150,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].addListener()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:150,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].setAsyncSupported(boolean)'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:151,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].getConfiguredServerEndpoints()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:152,1
    - Dst: '[java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>].isEmpty()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:152,1
    - Dst: '[java.util.EnumSet].of(io.undertow.websockets.jsr.Bootstrap.WebSocketListener)'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:153,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].addMappingForUrlPatterns(io.undertow.websockets.jsr.Bootstrap.WebSocketListener,boolean,String)'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:153,1
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:155,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].setContextToAddFilter(io.undertow.servlet.spec.ServletContextImpl)'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextEvent
      classConcrete: true
      classEnum: false
      classFields:
      - ServerWebSocketContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServletContextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sce
    argTypes:
    - jakarta.servlet.ServletContextEvent
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].contextInitialized(jakarta.servlet.ServletContextEvent)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Bootstrap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].addListener()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].getConfiguredServerEndpoints()'
    - '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].addFilter(io.undertow.websockets.jsr.Bootstrap.WebSocketListener)'
    - '[java.util.EnumSet].of(io.undertow.websockets.jsr.Bootstrap.WebSocketListener)'
    - '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].getAttribute(io.undertow.websockets.jsr.Bootstrap.WebSocketListener)'
    - '[jakarta.servlet.ServletContextEvent].getServletContext()'
    - '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].addMappingForUrlPatterns(io.undertow.websockets.jsr.Bootstrap.WebSocketListener,boolean,String)'
    - ServerContainer.class.getName()
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].setContextToAddFilter(io.undertow.servlet.spec.ServletContextImpl)'
    - '[java.util.List<io.undertow.websockets.jsr.ConfiguredServerEndpoint>].isEmpty()'
    - '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].setAsyncSupported(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].contextInitialized(jakarta.servlet.ServletContextEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:161,1
    - Dst: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].getClassLoader()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:161,1
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].removeContainer(io.undertow.websockets.jsr.Bootstrap.WebSocketListener)'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:161,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
      Src: io.undertow.websockets.jsr.Bootstrap.WebSocketListener:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextEvent
      classConcrete: true
      classEnum: false
      classFields:
      - ServerWebSocketContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServletContextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sce
    argTypes:
    - jakarta.servlet.ServletContextEvent
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].contextDestroyed(jakarta.servlet.ServletContextEvent)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Bootstrap.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletContextEvent].getServletContext()'
    - '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].getClassLoader()'
    - '[io.undertow.websockets.jsr.SecurityActions].removeContainer(io.undertow.websockets.jsr.Bootstrap.WebSocketListener)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].contextDestroyed(jakarta.servlet.ServletContextEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServerWebSocketContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ServletContextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.Bootstrap.WebSocketListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Bootstrap.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.Bootstrap.WebSocketListener
    signature: '[io.undertow.websockets.jsr.Bootstrap.WebSocketListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.Encoding
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - binaryEncoders
    - binaryDecoders
    - textEncoders
    - textDecoders
    argTypes:
    - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
    - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
    - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
    - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.jsr.Encoding].<init>(java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.Encoding
    signature: '[io.undertow.websockets.jsr.Encoding].<init>(java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>,java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:60,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].keySet()'
      Src: io.undertow.websockets.jsr.Encoding:63,1
    - Dst: key.isAssignableFrom(Class<?>)
      Src: io.undertow.websockets.jsr.Encoding:64,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:68,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].boxedType(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:69,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:70,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey()'
      Src: io.undertow.websockets.jsr.Encoding:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.jsr.Encoding].canEncodeText(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey()'
    - '[io.undertow.websockets.jsr.Encoding].boxedType(Class<?>)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey(Class<?>)'
    - key.isAssignableFrom(Class<?>)
    - '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].keySet()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.Encoding].canEncodeText(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:77,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:80,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].boxedType(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:81,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:82,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey()'
      Src: io.undertow.websockets.jsr.Encoding:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.jsr.Encoding].canDecodeText(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.Encoding].boxedType(Class<?>)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey()'
    - '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].containsKey(Class<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.Encoding].canDecodeText(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:89,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].keySet()'
      Src: io.undertow.websockets.jsr.Encoding:93,1
    - Dst: key.isAssignableFrom(Class<?>)
      Src: io.undertow.websockets.jsr.Encoding:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.Encoding].canEncodeBinary(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].containsKey(Class<?>)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].keySet()'
    - key.isAssignableFrom(Class<?>)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.Encoding].canEncodeBinary(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].containsKey(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.jsr.Encoding].canDecodeBinary(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].containsKey(Class<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.Encoding].canDecodeBinary(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:108,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].decodePrimitive(Class<?>,String)'
      Src: io.undertow.websockets.jsr.Encoding:109,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].get(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:111,1
    - Dst: decoderHandle.getInstance()
      Src: io.undertow.websockets.jsr.Encoding:114,1
    - Dst: '[Decoder.Text].willDecode(String)'
      Src: io.undertow.websockets.jsr.Encoding:116,1
    - Dst: '[Decoder.Text].decode(String)'
      Src: io.undertow.websockets.jsr.Encoding:117,1
    - Dst: '[java.io.StringReader].<init>(String)'
      Src: io.undertow.websockets.jsr.Encoding:121,1
    - Dst: '[Decoder.TextStream].decode(java.io.StringReader)'
      Src: io.undertow.websockets.jsr.Encoding:121,1
    - Dst: '[jakarta.websocket.DecodeException].<init>(String,String,io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:123,1
    - Dst: '[jakarta.websocket.DecodeException].<init>(String,String)'
      Src: io.undertow.websockets.jsr.Encoding:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DecodeException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - targetType
    - message
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 129
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.jsr.Encoding].decodeText(Class<?>,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.Encoding].decodePrimitive(Class<?>,String)'
    - decoderHandle.getInstance()
    - '[Decoder.Text].willDecode(String)'
    - '[jakarta.websocket.DecodeException].<init>(String,String)'
    - '[Decoder.Text].decode(String)'
    - '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(Class<?>)'
    - '[jakarta.websocket.DecodeException].<init>(String,String,io.undertow.websockets.jsr.Encoding)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].get(Class<?>)'
    - '[java.io.StringReader].<init>(String)'
    - '[Decoder.TextStream].decode(java.io.StringReader)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.jsr.Encoding].decodeText(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Boolean.valueOf(String)
      Src: io.undertow.websockets.jsr.Encoding:133,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.websockets.jsr.Encoding:135,1
    - Dst: Byte.valueOf(String)
      Src: io.undertow.websockets.jsr.Encoding:137,1
    - Dst: Short.valueOf(String)
      Src: io.undertow.websockets.jsr.Encoding:139,1
    - Dst: Integer.valueOf(String)
      Src: io.undertow.websockets.jsr.Encoding:141,1
    - Dst: Long.valueOf(String)
      Src: io.undertow.websockets.jsr.Encoding:143,1
    - Dst: Float.valueOf(String)
      Src: io.undertow.websockets.jsr.Encoding:145,1
    - Dst: Double.valueOf(String)
      Src: io.undertow.websockets.jsr.Encoding:147,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DecodeException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - targetType
    - message
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.jsr.Encoding].decodePrimitive(Class<?>,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 1
    functionsReached:
    - Float.valueOf(String)
    - Byte.valueOf(String)
    - Integer.valueOf(String)
    - '[String].charAt(int)'
    - Short.valueOf(String)
    - Boolean.valueOf(String)
    - Double.valueOf(String)
    - Long.valueOf(String)
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.jsr.Encoding].decodePrimitive(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].get(Class<?>)'
      Src: io.undertow.websockets.jsr.Encoding:153,1
    - Dst: decoderHandle.getInstance()
      Src: io.undertow.websockets.jsr.Encoding:156,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.websockets.jsr.Encoding:158,1
    - Dst: '[Decoder.Binary].willDecode(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:158,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.websockets.jsr.Encoding:159,1
    - Dst: '[Decoder.Binary].decode(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:159,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(byte[])'
      Src: io.undertow.websockets.jsr.Encoding:163,1
    - Dst: '[Decoder.BinaryStream].decode(java.io.ByteArrayInputStream)'
      Src: io.undertow.websockets.jsr.Encoding:163,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.websockets.jsr.Encoding:165,1
    - Dst: '[jakarta.websocket.DecodeException].<init>(io.undertow.websockets.jsr.Encoding,String,io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:165,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.websockets.jsr.Encoding:170,1
    - Dst: '[jakarta.websocket.DecodeException].<init>(io.undertow.websockets.jsr.Encoding,String)'
      Src: io.undertow.websockets.jsr.Encoding:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DecodeException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - targetType
    - bytes
    argTypes:
    - Class<?>
    - byte[]
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: '[io.undertow.websockets.jsr.Encoding].decodeBinary(Class<?>,byte[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 0
    functionsReached:
    - '[Decoder.Binary].decode(io.undertow.websockets.jsr.Encoding)'
    - decoderHandle.getInstance()
    - '[jakarta.websocket.DecodeException].<init>(io.undertow.websockets.jsr.Encoding,String,io.undertow.websockets.jsr.Encoding)'
    - '[Decoder.BinaryStream].decode(java.io.ByteArrayInputStream)'
    - '[java.io.ByteArrayInputStream].<init>(byte[])'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[jakarta.websocket.DecodeException].<init>(io.undertow.websockets.jsr.Encoding,String)'
    - '[Decoder.Binary].willDecode(io.undertow.websockets.jsr.Encoding)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].get(Class<?>)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.jsr.Encoding].decodeBinary(Class<?>,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.Encoding:174,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].get(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:174,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.Encoding:176,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.Encoding:177,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.Encoding:177,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].isAssignableFrom(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:177,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.Encoding:178,1
    - Dst: decoderHandle.getInstance()
      Src: io.undertow.websockets.jsr.Encoding:185,1
    - Dst: '[Encoder.Text].encode(Object)'
      Src: io.undertow.websockets.jsr.Encoding:187,1
    - Dst: '[java.io.StringWriter].<init>()'
      Src: io.undertow.websockets.jsr.Encoding:190,1
    - Dst: '[Encoder.TextStream].encode(Object,java.io.StringWriter)'
      Src: io.undertow.websockets.jsr.Encoding:191,1
    - Dst: '[java.io.StringWriter].toString()'
      Src: io.undertow.websockets.jsr.Encoding:192,1
    - Dst: '[jakarta.websocket.EncodeException].<init>(Object,String,io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:194,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.Encoding:200,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:200,1
    - Dst: '[Object].toString()'
      Src: io.undertow.websockets.jsr.Encoding:201,1
    - Dst: '[jakarta.websocket.EncodeException].<init>(Object,String)'
      Src: io.undertow.websockets.jsr.Encoding:203,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.EncodeException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: '[io.undertow.websockets.jsr.Encoding].encodeText(Object)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 0
    functionsReached:
    - decoderHandle.getInstance()
    - '[java.io.StringWriter].toString()'
    - '[java.io.StringWriter].<init>()'
    - '[jakarta.websocket.EncodeException].<init>(Object,String,io.undertow.websockets.jsr.Encoding)'
    - '[Object].toString()'
    - entry.getValue()
    - '[io.undertow.websockets.jsr.EncodingFactory].isPrimitiveOrBoxed(io.undertow.websockets.jsr.Encoding)'
    - '[Encoder.Text].encode(Object)'
    - entry.getKey()
    - '[Encoder.TextStream].encode(Object,java.io.StringWriter)'
    - '[io.undertow.websockets.jsr.Encoding].isAssignableFrom(io.undertow.websockets.jsr.Encoding)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].get(io.undertow.websockets.jsr.Encoding)'
    - '[jakarta.websocket.EncodeException].<init>(Object,String)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].entrySet()'
    - '[Object].getClass()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.Encoding].encodeText(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.Encoding:207,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].get(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:207,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.Encoding:210,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.jsr.Encoding:211,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.websockets.jsr.Encoding:211,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].isAssignableFrom(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:211,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.Encoding:212,1
    - Dst: decoderHandle.getInstance()
      Src: io.undertow.websockets.jsr.Encoding:219,1
    - Dst: '[Encoder.Binary].encode(Object)'
      Src: io.undertow.websockets.jsr.Encoding:221,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.jsr.Encoding:224,1
    - Dst: '[Encoder.BinaryStream].encode(Object,java.io.ByteArrayOutputStream)'
      Src: io.undertow.websockets.jsr.Encoding:225,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.jsr.Encoding:226,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:226,1
    - Dst: '[jakarta.websocket.EncodeException].<init>(Object,String,io.undertow.websockets.jsr.Encoding)'
      Src: io.undertow.websockets.jsr.Encoding:228,1
    - Dst: '[jakarta.websocket.EncodeException].<init>(Object,String)'
      Src: io.undertow.websockets.jsr.Encoding:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.EncodeException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 234
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 234
    functionName: '[io.undertow.websockets.jsr.Encoding].encodeBinary(Object)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 0
    functionsReached:
    - decoderHandle.getInstance()
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[Encoder.BinaryStream].encode(Object,java.io.ByteArrayOutputStream)'
    - '[Encoder.Binary].encode(Object)'
    - '[jakarta.websocket.EncodeException].<init>(Object,String,io.undertow.websockets.jsr.Encoding)'
    - entry.getValue()
    - '[java.nio.ByteBuffer].wrap(io.undertow.websockets.jsr.Encoding)'
    - entry.getKey()
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[io.undertow.websockets.jsr.Encoding].isAssignableFrom(io.undertow.websockets.jsr.Encoding)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].get(io.undertow.websockets.jsr.Encoding)'
    - '[jakarta.websocket.EncodeException].<init>(Object,String)'
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].entrySet()'
    - '[Object].getClass()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.websockets.jsr.Encoding].encodeBinary(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.Encoding:238,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.Encoding:239,1
    - Dst: val.getInstance()
      Src: io.undertow.websockets.jsr.Encoding:240,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].destroy()'
      Src: io.undertow.websockets.jsr.Encoding:240,1
    - Dst: val.release()
      Src: io.undertow.websockets.jsr.Encoding:241,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.Encoding:244,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.Encoding:245,1
    - Dst: val.getInstance()
      Src: io.undertow.websockets.jsr.Encoding:246,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].destroy()'
      Src: io.undertow.websockets.jsr.Encoding:246,1
    - Dst: val.release()
      Src: io.undertow.websockets.jsr.Encoding:247,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.Encoding:250,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.Encoding:251,1
    - Dst: val.getInstance()
      Src: io.undertow.websockets.jsr.Encoding:252,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].destroy()'
      Src: io.undertow.websockets.jsr.Encoding:252,1
    - Dst: val.release()
      Src: io.undertow.websockets.jsr.Encoding:253,1
    - Dst: '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].entrySet()'
      Src: io.undertow.websockets.jsr.Encoding:256,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.jsr.Encoding:257,1
    - Dst: val.getInstance()
      Src: io.undertow.websockets.jsr.Encoding:258,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].destroy()'
      Src: io.undertow.websockets.jsr.Encoding:258,1
    - Dst: val.release()
      Src: io.undertow.websockets.jsr.Encoding:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 262
    functionName: '[io.undertow.websockets.jsr.Encoding].close()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>].entrySet()'
    - val.getInstance()
    - entry.getValue()
    - '[io.undertow.websockets.jsr.Encoding].destroy()'
    - val.release()
    - '[java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>].entrySet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.Encoding].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsEncoder>>>
      - java.util.Map<Class<?>,java.util.List<io.undertow.servlet.api.InstanceHandle<?extendsDecoder>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Class<?>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - targetType
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: '[io.undertow.websockets.jsr.Encoding].boxedType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/Encoding.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.Encoding].boxedType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.jsr.SecurityActions:27,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].addContainer(ClassLoader,jakarta.websocket.WebSocketContainer)'
      Src: io.undertow.websockets.jsr.SecurityActions:28,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
      Src: io.undertow.websockets.jsr.SecurityActions:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      - jakarta.websocket.WebSocketContainer
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - classLoader
    - webSocketContainer
    argTypes:
    - ClassLoader
    - jakarta.websocket.WebSocketContainer
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: '[io.undertow.websockets.jsr.SecurityActions].addContainer(ClassLoader,jakarta.websocket.WebSocketContainer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SecurityActions.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].addContainer(ClassLoader,jakarta.websocket.WebSocketContainer)'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SecurityActions].addContainer(ClassLoader,jakarta.websocket.WebSocketContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.jsr.SecurityActions:38,1
    - Dst: '[io.undertow.websockets.jsr.UndertowContainerProvider].removeContainer(ClassLoader)'
      Src: io.undertow.websockets.jsr.SecurityActions:39,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
      Src: io.undertow.websockets.jsr.SecurityActions:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - classLoader
    argTypes:
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.jsr.SecurityActions].removeContainer(ClassLoader)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SecurityActions.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.websockets.jsr.UndertowContainerProvider].removeContainer(ClassLoader)'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SecurityActions].removeContainer(ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.SecurityActions
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.SecurityActions].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SecurityActions.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.SecurityActions
    signature: '[io.undertow.websockets.jsr.SecurityActions].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].pongMessageNotSupported()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].pongMessageNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].sendStreamClosed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].sendStreamClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].sendWriterClosed()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].sendWriterClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].clientNotSupported()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].clientNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - FrameHandler.FrameType
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frameType
    argTypes:
    - FrameHandler.FrameType
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].handlerAlreadyRegistered(FrameHandler.FrameType)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].handlerAlreadyRegistered(FrameHandler.FrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].unsupportedFrameType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].unsupportedFrameType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].unknownHandlerType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].unknownHandlerType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].unknownEncoderType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].unknownEncoderType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - Method
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - type
    - method
    argTypes:
    - Class<?>
    - Method
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].moreThanOneParameterOfType(Class<?>,Method)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].moreThanOneParameterOfType(Class<?>,Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - Method
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - type
    - method
    argTypes:
    - Class<?>
    - Method
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].parameterNotFound(Class<?>,Method)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].parameterNotFound(Class<?>,Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].moreThanOneAnnotation(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].moreThanOneAnnotation(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - java.util.Set<Integer>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - allParams
    argTypes:
    - Method
    - java.util.Set<Integer>
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].invalidParameters(Method,java.util.Set<Integer>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].invalidParameters(Method,java.util.Set<Integer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - decoderClass
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotDetermineDecoderTypeFor(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotDetermineDecoderTypeFor(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<?extendsDecoder>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - decoders
    argTypes:
    - java.util.List<?extendsDecoder>
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].noDecoderAcceptedMessage(java.util.List<?extendsDecoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].noDecoderAcceptedMessage(java.util.List<?extendsDecoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].cannotSendInMiddleOfFragmentedMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].cannotSendInMiddleOfFragmentedMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].cannotAddEndpointAfterDeployment()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].cannotAddEndpointAfterDeployment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsDecoder>
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - decoder
    - e
    argTypes:
    - Class<?extendsDecoder>
    - Exception
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotDetermineTypeOfDecodeMethodForClass(Class<?extendsDecoder>,Exception)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotDetermineTypeOfDecodeMethodForClass(Class<?extendsDecoder>,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsEncoder>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - Class<?extendsEncoder>
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotDetermineTypeOfEncodeMethodForClass(Class<?extendsEncoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotDetermineTypeOfEncodeMethodForClass(Class<?extendsEncoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsDecoder>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - Class<?extendsDecoder>
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].didNotImplementKnownDecoderSubclass(Class<?extendsDecoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].didNotImplementKnownDecoderSubclass(Class<?extendsDecoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - NoSuchMethodException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - Class<?>
    - NoSuchMethodException
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].classDoesNotHaveDefaultConstructor(Class<?>,NoSuchMethodException)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].classDoesNotHaveDefaultConstructor(Class<?>,NoSuchMethodException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplate
      - io.undertow.util.PathTemplate
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - existing
    argTypes:
    - io.undertow.util.PathTemplate
    - io.undertow.util.PathTemplate
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].multipleEndpointsWithOverlappingPaths(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].multipleEndpointsWithOverlappingPaths(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotDeploy(Exception)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotDeploy(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].cannotConnectUntilDeploymentComplete()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].cannotConnectUntilDeploymentComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].notAValidClientEndpointType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].notAValidClientEndpointType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].classWasNotAnnotated(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].classWasNotAnnotated(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - Method
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - param
    - method
    argTypes:
    - Class<?>
    - Method
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotFindDecoderForType(Class<?>,Method)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotFindDecoderForType(Class<?>,Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - Method
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotFindMessageParameter(Method)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].couldNotFindMessageParameter(Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].receivedTextFrameButNoMethod()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].receivedTextFrameButNoMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].receivedBinaryFrameButNoMethod()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].receivedBinaryFrameButNoMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - java.util.Set<Integer>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - allParams
    argTypes:
    - Method
    - java.util.Set<Integer>
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].invalidParametersWithWrongAnnotation(Method,java.util.Set<Integer>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].invalidParametersWithWrongAnnotation(Method,java.util.Set<Integer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - e
    - supportedExtensions
    argTypes:
    - String
    - java.util.List<io.undertow.websockets.WebSocketExtension>
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].extensionWasNotPresentInClientHandshake(String,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].extensionWasNotPresentInClientHandshake(String,java.util.List<io.undertow.websockets.WebSocketExtension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].connectionTimedOut()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].connectionTimedOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].handlerIsNull()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].handlerIsNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].messageInNull()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].messageInNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - size
    - max
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].messageTooLarge(int,int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].messageTooLarge(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: InstantiationException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].cannotInstantiateEndpoint(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InstantiationException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].cannotInstantiateEndpoint(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - Class
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - instance
    - expected
    argTypes:
    - Object
    - Class
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].endpointNotOfCorrectType(Object,Class)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].endpointNotOfCorrectType(Object,Class)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: InstantiationException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].endpointDoesNotHaveAppropriateConstructor(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InstantiationException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].endpointDoesNotHaveAppropriateConstructor(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].deploymentFailedDueToProgramaticErrors()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].deploymentFailedDueToProgramaticErrors()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.JsrWebSocketMessages
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.JsrWebSocketMessages
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getThreadLocalSsl(org.xnio.XnioWorker)'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - Class<?>
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - ThreadLocal<javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.WebsocketClientSslProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - worker
    - annotatedEndpoint
    - uri
    argTypes:
    - org.xnio.XnioWorker
    - Class<?>
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getSsl(org.xnio.XnioWorker,Class<?>,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultWebSocketClientSslProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getThreadLocalSsl(org.xnio.XnioWorker)'
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getSsl(org.xnio.XnioWorker,Class<?>,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getThreadLocalSsl(org.xnio.XnioWorker)'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - Object
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - ThreadLocal<javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.WebsocketClientSslProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - worker
    - annotatedEndpointInstance
    - uri
    argTypes:
    - org.xnio.XnioWorker
    - Object
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getSsl(org.xnio.XnioWorker,Object,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultWebSocketClientSslProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getThreadLocalSsl(org.xnio.XnioWorker)'
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getSsl(org.xnio.XnioWorker,Object,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getThreadLocalSsl(org.xnio.XnioWorker)'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:60,1
    - Dst: '[jakarta.websocket.ClientEndpointConfig].getUserProperties()'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:65,1
    - Dst: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].get(String)'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:65,1
    - Dst: '[jakarta.websocket.ClientEndpointConfig].getSSLContext()'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:67,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider,io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider,io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider)'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - jakarta.websocket.Endpoint
      - jakarta.websocket.ClientEndpointConfig
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - ThreadLocal<javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.WebsocketClientSslProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - worker
    - endpoint
    - cec
    - uri
    argTypes:
    - org.xnio.XnioWorker
    - jakarta.websocket.Endpoint
    - jakarta.websocket.ClientEndpointConfig
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getSsl(org.xnio.XnioWorker,jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultWebSocketClientSslProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getThreadLocalSsl(org.xnio.XnioWorker)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider,io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider,io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider)'
    - '[jakarta.websocket.ClientEndpointConfig].getSSLContext()'
    - '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].get(String)'
    - '[jakarta.websocket.ClientEndpointConfig].getUserProperties()'
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getSsl(org.xnio.XnioWorker,jakarta.websocket.Endpoint,jakarta.websocket.ClientEndpointConfig,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<javax.net.ssl.SSLContext>].set(javax.net.ssl.SSLContext)'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - ThreadLocal<javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.WebsocketClientSslProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - context
    argTypes:
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].setSslContext(javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultWebSocketClientSslProvider.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal<javax.net.ssl.SSLContext>].set(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].setSslContext(javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<javax.net.ssl.SSLContext>].get()'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:80,1
    - Dst: '[ThreadLocal<javax.net.ssl.SSLContext>].remove()'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:82,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider,io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider,io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider)'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - ThreadLocal<javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.WebsocketClientSslProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - worker
    argTypes:
    - org.xnio.XnioWorker
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getThreadLocalSsl(org.xnio.XnioWorker)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultWebSocketClientSslProvider.java
    functionUses: 3
    functionsReached:
    - '[ThreadLocal<javax.net.ssl.SSLContext>].get()'
    - '[ThreadLocal<javax.net.ssl.SSLContext>].remove()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider,io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider,io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider)'
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].getThreadLocalSsl(org.xnio.XnioWorker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - ThreadLocal<javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.WebsocketClientSslProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/DefaultWebSocketClientSslProvider.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider
    signature: '[io.undertow.websockets.jsr.DefaultWebSocketClientSslProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].endpointCreationFailed(Exception)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].endpointCreationFailed(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - clazz
    - t
    argTypes:
    - Class<?>
    - Throwable
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].couldNotInitializeConfiguration(Class<?>,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].couldNotInitializeConfiguration(Class<?>,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - endpoint
    - value
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].addingAnnotatedServerEndpoint(Class<?>,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].addingAnnotatedServerEndpoint(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].addingAnnotatedClientEndpoint(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].addingAnnotatedClientEndpoint(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - endpointClass
    - path
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].addingProgramaticEndpoint(Class<?>,String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].addingProgramaticEndpoint(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].exceptionInWebSocketMethod(Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].exceptionInWebSocketMethod(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - jakarta.websocket.server.PathParam
      - Method
      - java.util.Set<String>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - endpointClass
    - param
    - method
    - paths
    argTypes:
    - Class<?>
    - jakarta.websocket.server.PathParam
    - Method
    - java.util.Set<String>
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].pathTemplateNotFound(Class<?>,jakarta.websocket.server.PathParam,Method,java.util.Set<String>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].pathTemplateNotFound(Class<?>,jakarta.websocket.server.PathParam,Method,java.util.Set<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].couldNotCloseOnUndeploy(Exception)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].couldNotCloseOnUndeploy(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].xnioWorkerWasNull()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].xnioWorkerWasNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].bufferPoolWasNull()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].bufferPoolWasNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].xnioWorkerWasNullAndNoDefault()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].xnioWorkerWasNullAndNoDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].bufferPoolWasNullAndNoDefault()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].bufferPoolWasNullAndNoDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.JsrWebSocketLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/JsrWebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.JsrWebSocketLogger
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.function.Supplier<org.xnio.XnioWorker>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getWorker()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.function.Supplier<org.xnio.XnioWorker>
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Supplier<org.xnio.XnioWorker>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - worker
    argTypes:
    - java.util.function.Supplier<org.xnio.XnioWorker>
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.function.Supplier].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - worker
    argTypes:
    - org.xnio.XnioWorker
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 4
    functionsReached:
    - '[java.util.function.Supplier].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(org.xnio.XnioWorker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getBuffers()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getBuffers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:89,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.server.XnioByteBufferPool)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffers
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(org.xnio.Pool<java.nio.ByteBuffer>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.server.XnioByteBufferPool)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(org.xnio.Pool<java.nio.ByteBuffer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffers
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Class<?>>].add(Class<?>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - annotated
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<Class<?>>].add(Class<?>)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Class<?>>].addAll(java.util.Collection<Class<?>>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<Class<?>>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - annotatedEndpoints
    argTypes:
    - java.util.Collection<Class<?>>
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addAnnotatedEndpoints(java.util.Collection<Class<?>>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<Class<?>>].addAll(java.util.Collection<Class<?>>)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addAnnotatedEndpoints(java.util.Collection<Class<?>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<jakarta.websocket.server.ServerEndpointConfig>].add(jakarta.websocket.server.ServerEndpointConfig)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.server.ServerEndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - jakarta.websocket.server.ServerEndpointConfig
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(jakarta.websocket.server.ServerEndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<jakarta.websocket.server.ServerEndpointConfig>].add(jakarta.websocket.server.ServerEndpointConfig)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addEndpoint(jakarta.websocket.server.ServerEndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<jakarta.websocket.server.ServerEndpointConfig>].addAll(java.util.Collection<jakarta.websocket.server.ServerEndpointConfig>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<jakarta.websocket.server.ServerEndpointConfig>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - programaticEndpoints
    argTypes:
    - java.util.Collection<jakarta.websocket.server.ServerEndpointConfig>
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addProgramaticEndpoints(java.util.Collection<jakarta.websocket.server.ServerEndpointConfig>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<jakarta.websocket.server.ServerEndpointConfig>].addAll(java.util.Collection<jakarta.websocket.server.ServerEndpointConfig>)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addProgramaticEndpoints(java.util.Collection<jakarta.websocket.server.ServerEndpointConfig>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getAnnotatedEndpoints()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<Class<?>>
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getAnnotatedEndpoints()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getProgramaticEndpoints()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.server.ServerEndpointConfig>
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getProgramaticEndpoints()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener.ready(io.undertow.websockets.jsr.ServerWebSocketContainer)
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - container
    argTypes:
    - io.undertow.websockets.jsr.ServerWebSocketContainer
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].containerReady(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - listener.ready(io.undertow.websockets.jsr.ServerWebSocketContainer)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].containerReady(io.undertow.websockets.jsr.ServerWebSocketContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<ContainerReadyListener>].add(ContainerReadyListener)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ContainerReadyListener
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - ContainerReadyListener
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener(ContainerReadyListener)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<ContainerReadyListener>].add(ContainerReadyListener)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListener(ContainerReadyListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<ContainerReadyListener>].addAll(java.util.Collection<ContainerReadyListener>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<ContainerReadyListener>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listeners
    argTypes:
    - java.util.Collection<ContainerReadyListener>
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListeners(java.util.Collection<ContainerReadyListener>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<ContainerReadyListener>].addAll(java.util.Collection<ContainerReadyListener>)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListeners(java.util.Collection<ContainerReadyListener>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<ContainerReadyListener>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getListeners()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<ContainerReadyListener>
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getListeners()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].isDispatchToWorkerThread()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].isDispatchToWorkerThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dispatchToWorkerThread
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>].add(io.undertow.websockets.extensions.ExtensionHandshake)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.extensions.ExtensionHandshake
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extension
    argTypes:
    - io.undertow.websockets.extensions.ExtensionHandshake
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.ExtensionHandshake)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>].add(io.undertow.websockets.extensions.ExtensionHandshake)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtension(io.undertow.websockets.extensions.ExtensionHandshake)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>].addAll(java.util.Collection<io.undertow.websockets.extensions.ExtensionHandshake>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extensions
    argTypes:
    - java.util.Collection<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtensions(java.util.Collection<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>].addAll(java.util.Collection<io.undertow.websockets.extensions.ExtensionHandshake>)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtensions(java.util.Collection<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getExtensions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getClientBindAddress()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getClientBindAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clientBindAddress
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setClientBindAddress(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setClientBindAddress(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketReconnectHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getReconnectHandler()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketReconnectHandler
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].getReconnectHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reconnectHandler
    argTypes:
    - io.undertow.websockets.jsr.WebSocketReconnectHandler
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setReconnectHandler(io.undertow.websockets.jsr.WebSocketReconnectHandler)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setReconnectHandler(io.undertow.websockets.jsr.WebSocketReconnectHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addAnnotatedEndpoints(java.util.List<Class<?>>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addProgramaticEndpoints(java.util.List<jakarta.websocket.server.ServerEndpointConfig>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListeners(java.util.List<ContainerReadyListener>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtensions(java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setClientBindAddress(String)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    - Dst: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setReconnectHandler(io.undertow.websockets.jsr.WebSocketReconnectHandler)'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].clone()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setBuffers(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setReconnectHandler(io.undertow.websockets.jsr.WebSocketReconnectHandler)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addExtensions(java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addListeners(java.util.List<ContainerReadyListener>)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setWorker(java.util.function.Supplier<org.xnio.XnioWorker>)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setClientBindAddress(String)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].setDispatchToWorkerThread(boolean)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addAnnotatedEndpoints(java.util.List<Class<?>>)'
    - '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].addProgramaticEndpoints(java.util.List<jakarta.websocket.server.ServerEndpointConfig>)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].clone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.function.Supplier].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:43,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:57,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:58,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:59,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.WebSocketDeploymentInfo:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.function.Supplier<org.xnio.XnioWorker>
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.List<Class<?>>
      - java.util.List<jakarta.websocket.server.ServerEndpointConfig>
      - java.util.List<ContainerReadyListener>
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      - String
      - io.undertow.websockets.jsr.WebSocketReconnectHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 20
    functionsReached:
    - '[java.util.function.Supplier].<init>()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ServerWebSocketContainer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - container
    argTypes:
    - io.undertow.websockets.jsr.ServerWebSocketContainer
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener].ready(io.undertow.websockets.jsr.ServerWebSocketContainer)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener].ready(io.undertow.websockets.jsr.ServerWebSocketContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/WebSocketDeploymentInfo.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener
    signature: '[io.undertow.websockets.jsr.WebSocketDeploymentInfo.ContainerReadyListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].notifyAll()'
      Src: io.undertow.websockets.jsr.SendResultFuture:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - context
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - T
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].complete(io.undertow.websockets.core.WebSocketChannel,T)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.SendResultFuture].notifyAll()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SendResultFuture].complete(io.undertow.websockets.core.WebSocketChannel,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].notifyAll()'
      Src: io.undertow.websockets.jsr.SendResultFuture:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - T
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - context
    - throwable
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - T
    - Throwable
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].onError(io.undertow.websockets.core.WebSocketChannel,T,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.SendResultFuture].notifyAll()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.SendResultFuture].onError(io.undertow.websockets.core.WebSocketChannel,T,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mayInterruptIfRunning
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].cancel(boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.SendResultFuture].cancel(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].isCancelled()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.SendResultFuture].isCancelled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].isDone()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.SendResultFuture].isDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.interrupted()
      Src: io.undertow.websockets.jsr.SendResultFuture:84,1
    - Dst: '[InterruptedException].<init>()'
      Src: io.undertow.websockets.jsr.SendResultFuture:85,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].wait()'
      Src: io.undertow.websockets.jsr.SendResultFuture:92,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].handleResult()'
      Src: io.undertow.websockets.jsr.SendResultFuture:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions:
      - InterruptedException
      - java.util.concurrent.ExecutionException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].get()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 0
    functionsReached:
    - '[InterruptedException].<init>()'
    - '[io.undertow.websockets.jsr.SendResultFuture].wait()'
    - '[io.undertow.websockets.jsr.SendResultFuture].handleResult()'
    - Thread.interrupted()
    linkageType: ''
    returnType: Void
    signature: '[io.undertow.websockets.jsr.SendResultFuture].get()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.interrupted()
      Src: io.undertow.websockets.jsr.SendResultFuture:103,1
    - Dst: '[InterruptedException].<init>()'
      Src: io.undertow.websockets.jsr.SendResultFuture:104,1
    - Dst: '[java.util.concurrent.TimeUnit].toNanos(long)'
      Src: io.undertow.websockets.jsr.SendResultFuture:106,1
    - Dst: System.nanoTime()
      Src: io.undertow.websockets.jsr.SendResultFuture:107,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].handleResult()'
      Src: io.undertow.websockets.jsr.SendResultFuture:112,1
    - Dst: '[java.util.concurrent.TimeoutException].<init>()'
      Src: io.undertow.websockets.jsr.SendResultFuture:115,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].wait(int,int)'
      Src: io.undertow.websockets.jsr.SendResultFuture:121,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].handleResult()'
      Src: io.undertow.websockets.jsr.SendResultFuture:124,1
    - Dst: System.nanoTime()
      Src: io.undertow.websockets.jsr.SendResultFuture:126,1
    - Dst: '[io.undertow.websockets.jsr.SendResultFuture].handleResult()'
      Src: io.undertow.websockets.jsr.SendResultFuture:129,1
    - Dst: '[java.util.concurrent.TimeoutException].<init>()'
      Src: io.undertow.websockets.jsr.SendResultFuture:132,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions:
      - InterruptedException
      - java.util.concurrent.ExecutionException
      - java.util.concurrent.TimeoutException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - timeout
    - unit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 141
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].get(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 0
    functionsReached:
    - System.nanoTime()
    - '[io.undertow.websockets.jsr.SendResultFuture].wait(int,int)'
    - '[io.undertow.websockets.jsr.SendResultFuture].handleResult()'
    - '[InterruptedException].<init>()'
    - '[java.util.concurrent.TimeoutException].<init>()'
    - '[java.util.concurrent.TimeUnit].toNanos(long)'
    - Thread.interrupted()
    linkageType: ''
    returnType: Void
    signature: '[io.undertow.websockets.jsr.SendResultFuture].get(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ExecutionException].<init>(Throwable)'
      Src: io.undertow.websockets.jsr.SendResultFuture:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.util.concurrent.ExecutionException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].handleResult()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.ExecutionException].<init>(Throwable)'
    linkageType: ''
    returnType: Void
    signature: '[io.undertow.websockets.jsr.SendResultFuture].handleResult()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.SendResultFuture
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.SendResultFuture].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/SendResultFuture.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.SendResultFuture
    signature: '[io.undertow.websockets.jsr.SendResultFuture].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:44,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:47,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.handshake.HandshakeUtil
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.handshake.HandshakeUtil
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:57,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:58,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(String)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - config
    - exchange
    argTypes:
    - jakarta.websocket.server.ServerEndpointConfig
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].<init>(jakarta.websocket.server.ServerEndpointConfig)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:65,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>,io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:66,1
    - Dst: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].<init>(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:67,1
    - Dst: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].<init>(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:68,1
    - Dst: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:69,1
    - Dst: '[Configurator].modifyHandshake(io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig,io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest,io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:70,1
    - Dst: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].update()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.server.ServerEndpointConfig
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - config
    - exchange
    argTypes:
    - jakarta.websocket.server.ServerEndpointConfig
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].prepareUpgrade(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].<init>(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[Configurator].modifyHandshake(io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig,io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest,io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>,io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig)'
    - '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].<init>(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getConfigurator()'
    - '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].update()'
    - '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].<init>(jakarta.websocket.server.ServerEndpointConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].prepareUpgrade(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:78,1
    - Dst: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint,T)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:79,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setAttribute(String,io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - config
    - exchange
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint,T)'
    - '[io.undertow.websockets.core.WebSocketChannel].setAttribute(String,io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setAttribute(String,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - config
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].setAttribute(String,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getAttribute(String)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.ConfiguredServerEndpoint
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].getConfig(io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getAttribute(String)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].getConfig(io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:99,1
    - Dst: '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>,io.undertow.websockets.jsr.handshake.HandshakeUtil)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.servlet.websockets.ServletWebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.servlet.websockets.ServletWebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].propagate(io.undertow.server.HttpServerExchange,io.undertow.servlet.websockets.ServletWebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>)'
    - '[io.undertow.servlet.websockets.ServletWebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>,io.undertow.websockets.jsr.handshake.HandshakeUtil)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].propagate(io.undertow.server.HttpServerExchange,io.undertow.servlet.websockets.ServletWebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:104,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:104,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:105,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:105,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:105,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getSubprotocols()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:105,1
    - Dst: '[java.util.Arrays].asList(String[])'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:105,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].getNegotiatedSubprotocol(io.undertow.websockets.jsr.handshake.HandshakeUtil,io.undertow.websockets.jsr.handshake.HandshakeUtil)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:105,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:107,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getSubprotocols()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:107,1
    - Dst: protocol.equals(io.undertow.websockets.jsr.handshake.HandshakeUtil)
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - config
    - requestedSubprotocolArray
    argTypes:
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    - String[]
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectSubProtocol(io.undertow.websockets.jsr.ConfiguredServerEndpoint,String[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 3
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getSubprotocols()'
    - protocol.equals(io.undertow.websockets.jsr.handshake.HandshakeUtil)
    - '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].getNegotiatedSubprotocol(io.undertow.websockets.jsr.handshake.HandshakeUtil,io.undertow.websockets.jsr.handshake.HandshakeUtil)'
    - '[java.util.Arrays].asList(String[])'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectSubProtocol(io.undertow.websockets.jsr.ConfiguredServerEndpoint,String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:119,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:119,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:120,1
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:120,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getExtensions()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:120,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].getNegotiatedExtensions(java.util.List<jakarta.websocket.Extension>,java.util.List<jakarta.websocket.Extension>)'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:120,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.handshake.HandshakeUtil:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - java.util.List<jakarta.websocket.Extension>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<jakarta.websocket.server.ServerEndpointConfig>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<java.security.Principal>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<jakarta.websocket.Extension>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - config
    - requestedExtensions
    argTypes:
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    - java.util.List<jakarta.websocket.Extension>
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectExtensions(io.undertow.websockets.jsr.ConfiguredServerEndpoint,java.util.List<jakarta.websocket.Extension>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/HandshakeUtil.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].getNegotiatedExtensions(java.util.List<jakarta.websocket.Extension>,java.util.List<jakarta.websocket.Extension>)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getExtensions()'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectExtensions(io.undertow.websockets.jsr.ConfiguredServerEndpoint,java.util.List<jakarta.websocket.Extension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:39,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.jsr.handshake.JsrHybi07Handshake,boolean)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 1
    argNames:
    - config
    argTypes:
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi07Handshake.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.jsr.handshake.JsrHybi07Handshake,boolean)'
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:45,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].prepareUpgrade(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:45,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 2
    argNames:
    - exchange
    - data
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - byte[]
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi07Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].prepareUpgrade(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:51,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 3
    argNames:
    - exchange
    - c
    - buffers
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi07Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.spi.WebSocketHttpExchange)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:58,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:58,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi07Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectSubProtocol(io.undertow.websockets.jsr.ConfiguredServerEndpoint,String[])'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi07Handshake:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 1
    argNames:
    - requestedSubprotocolArray
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].supportedSubprotols(String[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi07Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectSubProtocol(io.undertow.websockets.jsr.ConfiguredServerEndpoint,String[])'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi07Handshake].supportedSubprotols(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(null,null,null,null,null,null)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 2
    argNames:
    - cseDelegate
    - secDelegate
    argTypes:
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    - jakarta.websocket.server.ServerEndpointConfig
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint,jakarta.websocket.server.ServerEndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].<init>(null,null,null,null,null,null)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint,jakarta.websocket.server.ServerEndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.server.ServerEndpointConfig
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getEndpointConfiguration()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.websocket.server.ServerEndpointConfig
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getEndpointConfiguration()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointFactory()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.api.InstanceFactory<?>
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getEndpointFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointFactory()'
    linkageType: ''
    returnType: io.undertow.servlet.api.InstanceFactory<?>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getEndpointFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getPathTemplate()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplate
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getPathTemplate()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getPathTemplate()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplate
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getPathTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEncodingFactory()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.EncodingFactory
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getEncodingFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEncodingFactory()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.EncodingFactory
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getEncodingFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getAnnotatedEndpointFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getExtensions()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.Extension>
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getExtensions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getExtensions()'
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getOpenSessions()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<jakarta.websocket.Session>
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getOpenSessions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getOpenSessions()'
    linkageType: ''
    returnType: java.util.Set<jakarta.websocket.Session>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].getOpenSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].addOpenSession(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].addOpenSession(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].addOpenSession(jakarta.websocket.Session)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].addOpenSession(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].removeOpenSession(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].removeOpenSession(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].removeOpenSession(jakarta.websocket.Session)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].removeOpenSession(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].awaitClose(long)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].awaitClose(long)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].awaitClose(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].awaitClose(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].notifyClosed(Runnable)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 1
    argNames:
    - done
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].notifyClosed(Runnable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].notifyClosed(Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].notifyClosed(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].hashCode()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].hashCode()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].equals(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:108,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].equals(Object)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].equals(Object)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].equals(Object)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].equals(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].toString()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      - jakarta.websocket.server.ServerEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.websockets.jsr.ConfiguredServerEndpoint
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].toString()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionConfiguredServerEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionConfiguredServerEndpoint].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.HandshakeRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].<init>(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeRequest.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].<init>(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeaders()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.HandshakeRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getHeaders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeRequest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeaders()'
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getUserPrincipal()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.HandshakeRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getUserPrincipal()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeRequest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getUserPrincipal()'
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getUserPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestURI()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:60,1
    - Dst: '[java.net.URI].create(String)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.HandshakeRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getRequestURI()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeRequest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestURI()'
    - '[java.net.URI].create(String)'
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].isUserInRole(String)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.HandshakeRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - role
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].isUserInRole(String)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeRequest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].isUserInRole(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].isUserInRole(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getSession()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.HandshakeRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getHttpSession()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeRequest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getSession()'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getHttpSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:75,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestParameters()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:76,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].entrySet()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:76,1
    - Dst: e.getKey()
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:77,1
    - Dst: '[java.util.HashMap].get(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:77,1
    - Dst: e.getKey()
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:79,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:79,1
    - Dst: e.getValue()
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:81,1
    - Dst: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].addAll(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:81,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:83,1
    - Dst: '[T].entrySet()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:85,1
    - Dst: e.getKey()
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:86,1
    - Dst: '[java.util.HashMap].get(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:86,1
    - Dst: e.getKey()
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:88,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:88,1
    - Dst: e.getValue()
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:90,1
    - Dst: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].add(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:90,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.HandshakeRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getParameterMap()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeRequest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestParameters()'
    - e.getValue()
    - '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].add(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
    - '[java.util.HashMap].<init>()'
    - '[java.util.HashMap].get(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
    - '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
    - e.getKey()
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>)'
    - '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].addAll(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
    - '[T].entrySet()'
    - '[java.util.HashMap].put(io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest)'
    - '[java.util.Map<String,java.util.List<String>>].entrySet()'
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getParameterMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getQueryString()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.HandshakeRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getQueryString()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeRequest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getQueryString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeRequest].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getUserProperties()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:40,1
    - Dst: '[java.util.HashMap].<init>(io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:40,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.HashMap)'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.server.ServerEndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - jakarta.websocket.server.ServerEndpointConfig
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].<init>(jakarta.websocket.server.ServerEndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].synchronizedMap(java.util.HashMap)'
    - '[jakarta.websocket.server.ServerEndpointConfig].getUserProperties()'
    - '[java.util.HashMap].<init>(io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].<init>(jakarta.websocket.server.ServerEndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getEndpointClass()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getEndpointClass()'
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getEndpointClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getPath()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getPath()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getPath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getSubprotocols()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getSubprotocols()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getSubprotocols()'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getSubprotocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getExtensions()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.Extension>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getExtensions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getExtensions()'
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Extension>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Configurator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getConfigurator()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 1
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getConfigurator()'
    linkageType: ''
    returnType: Configurator
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getConfigurator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getEncoders()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?extendsEncoder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getEncoders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getEncoders()'
    linkageType: ''
    returnType: java.util.List<Class<?extendsEncoder>>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getEncoders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.server.ServerEndpointConfig].getDecoders()'
      Src: io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?extendsDecoder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getDecoders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.server.ServerEndpointConfig].getDecoders()'
    linkageType: ''
    returnType: java.util.List<Class<?extendsDecoder>>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getDecoders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.websocket.server.ServerEndpointConfig
      - java.util.Map<String,Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.server.ServerEndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getUserProperties()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/PerConnectionServerEndpointConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,Object>
    signature: '[io.undertow.websockets.jsr.handshake.PerConnectionServerEndpointConfig].getUserProperties()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.HandshakeResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].<init>(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeResponse.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].<init>(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>(io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse:46,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeaders()'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse:47,1
    - Dst: '[java.util.TreeMap].putAll(java.util.Map<String,java.util.List<String>>)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.HandshakeResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].getHeaders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeResponse.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeaders()'
    - '[java.util.TreeMap].<init>(io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse)'
    - '[java.util.TreeMap].putAll(java.util.Map<String,java.util.List<String>>)'
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeaders(java.util.Map<String,java.util.List<String>>)'
      Src: io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.util.Map<String,java.util.List<String>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.HandshakeResponse
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].update()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/ExchangeHandshakeResponse.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeaders(java.util.Map<String,java.util.List<String>>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.ExchangeHandshakeResponse].update()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:48,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake,boolean)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
    argCount: 1
    argNames:
    - config
    argTypes:
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi13Handshake.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake,boolean)'
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:54,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].prepareUpgrade(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:54,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
    argCount: 2
    argNames:
    - exchange
    - data
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - byte[]
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi13Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].prepareUpgrade(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:60,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
    argCount: 3
    argNames:
    - exchange
    - c
    - buffers
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi13Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.spi.WebSocketHttpExchange)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:67,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:67,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi13Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectSubProtocol(io.undertow.websockets.jsr.ConfiguredServerEndpoint,String[])'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
    argCount: 1
    argNames:
    - requestedSubprotocolArray
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].supportedSubprotols(String[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi13Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectSubProtocol(io.undertow.websockets.jsr.ConfiguredServerEndpoint,String[])'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].supportedSubprotols(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:77,1
    - Dst: '[io.undertow.websockets.jsr.ExtensionImpl].create(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:79,1
    - Dst: '[java.util.ArrayList].add(jakarta.websocket.Extension)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:79,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectExtensions(io.undertow.websockets.jsr.ConfiguredServerEndpoint,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:81,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:83,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:85,1
    - Dst: availible.getName()
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:87,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake,io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:87,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:89,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:90,1
    - Dst: i.getName()
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:92,1
    - Dst: '[java.util.HashMap].get(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:92,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:96,1
    - Dst: i.getParameters()
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:97,1
    - Dst: p.getName()
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:98,1
    - Dst: p.getValue()
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:98,1
    - Dst: '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake,io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:98,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension.Parameter)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:98,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].isIncompatible(java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:100,1
    - Dst: i.getName()
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:101,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].<init>(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake,java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:101,1
    - Dst: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].accept(io.undertow.websockets.WebSocketExtension)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:101,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:103,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi13Handshake:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.websockets.WebSocketExtension>
      static: false
      superClass: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
    argCount: 1
    argNames:
    - extensionList
    argTypes:
    - java.util.List<io.undertow.websockets.WebSocketExtension>
    constantsTouched: []
    func_position:
      end: 110
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].selectedExtension(java.util.List<io.undertow.websockets.WebSocketExtension>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi13Handshake.java
    functionUses: 0
    functionsReached:
    - p.getValue()
    - '[io.undertow.websockets.WebSocketExtension].<init>(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake,java.util.ArrayList)'
    - i.getParameters()
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
    - '[java.util.Collections].emptyList()'
    - i.getName()
    - '[java.util.HashMap].put(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake,io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
    - '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension.Parameter)'
    - availible.getName()
    - '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].isIncompatible(java.util.ArrayList)'
    - '[java.util.ArrayList].add(jakarta.websocket.Extension)'
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectExtensions(io.undertow.websockets.jsr.ConfiguredServerEndpoint,java.util.ArrayList)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].accept(io.undertow.websockets.WebSocketExtension)'
    - '[java.util.HashMap].get(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
    - '[java.util.HashMap].<init>()'
    - p.getName()
    - '[io.undertow.websockets.jsr.ExtensionImpl].create(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
    - '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(io.undertow.websockets.jsr.handshake.JsrHybi13Handshake,io.undertow.websockets.jsr.handshake.JsrHybi13Handshake)'
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.WebSocketExtension>
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi13Handshake].selectedExtension(java.util.List<io.undertow.websockets.WebSocketExtension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:39,1
    - Dst: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>(io.undertow.websockets.jsr.handshake.JsrHybi08Handshake,boolean)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
    argCount: 1
    argNames:
    - config
    argTypes:
    - io.undertow.websockets.jsr.ConfiguredServerEndpoint
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi08Handshake.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>(io.undertow.websockets.jsr.handshake.JsrHybi08Handshake,boolean)'
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].<init>(io.undertow.websockets.jsr.ConfiguredServerEndpoint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:45,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].prepareUpgrade(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:45,1
    - Dst: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
    argCount: 2
    argNames:
    - exchange
    - data
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - byte[]
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi08Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].prepareUpgrade(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:51,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
    argCount: 3
    argNames:
    - exchange
    - c
    - buffers
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi08Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].setConfig(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.jsr.ConfiguredServerEndpoint,io.undertow.websockets.spi.WebSocketHttpExchange)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:58,1
    - Dst: '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:58,1
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi08Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].checkOrigin(jakarta.websocket.server.ServerEndpointConfig,io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.jsr.ConfiguredServerEndpoint].getEndpointConfiguration()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectSubProtocol(io.undertow.websockets.jsr.ConfiguredServerEndpoint,String[])'
      Src: io.undertow.websockets.jsr.handshake.JsrHybi08Handshake:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.ConfiguredServerEndpoint
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
    argCount: 1
    argNames:
    - requestedSubprotocolArray
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].supportedSubprotols(String[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/handshake/JsrHybi08Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.handshake.HandshakeUtil].selectSubProtocol(io.undertow.websockets.jsr.ConfiguredServerEndpoint,String[])'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.handshake.JsrHybi08Handshake].supportedSubprotols(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:40,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:41,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:51,1
    - Dst: '[Method].getParameterCount()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:52,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:53,1
    - Dst: '[java.util.Set<Class>].add()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:54,1
    - Dst: '[java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>].add(io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:57,1
    - Dst: param.positions()
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:58,1
    - Dst: '[java.util.HashSet].removeAll(io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:58,1
    - Dst: '[java.util.HashSet].isEmpty()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:60,1
    - Dst: '[Method].getParameterAnnotations()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:64,1
    - Dst: '[Method].getParameterAnnotations()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:65,1
    - Dst: '[Method].getParameterAnnotations()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:66,1
    - Dst: annotation.annotationType()
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:67,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getName()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:67,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].equals(String)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:67,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].invalidParametersWithWrongAnnotation(Method,java.util.HashSet)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:73,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].invalidParameters(Method,java.util.HashSet)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:75,1
    - Dst: '[Method].setAccessible(boolean)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - Class<?>
      - boolean
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>
      - java.util.Set<Class>
      - Class<?>
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.BoundMethod
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - method
    - messageType
    - decoderRequired
    - maxMessageSize
    argTypes:
    - Method
    - Class<?>
    - boolean
    - long
    constantsTouched: []
    func_position:
      end: 79
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 79
    functionName: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(Method,Class<?>,boolean,long)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundMethod.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(io.undertow.websockets.jsr.annotated.BoundMethod)'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].getName()'
    - param.positions()
    - '[java.util.HashSet].removeAll(io.undertow.websockets.jsr.annotated.BoundMethod)'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].invalidParameters(Method,java.util.HashSet)'
    - '[Method].setAccessible(boolean)'
    - '[Method].getParameterAnnotations()'
    - annotation.annotationType()
    - '[java.util.Set<Class>].add()'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].invalidParametersWithWrongAnnotation(Method,java.util.HashSet)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.HashSet].isEmpty()'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>].add(io.undertow.websockets.jsr.annotated.BoundMethod)'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].equals(String)'
    - '[Method].getParameterCount()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.BoundMethod
    signature: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(Method,Class<?>,boolean,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Method].getParameterCount()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:82,1
    - Dst: param.populate(io.undertow.websockets.jsr.annotated.BoundMethod,java.util.Map<Class<?>,Object>)
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:84,1
    - Dst: '[Method].invoke(Object,io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:87,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:89,1
    - Dst: e.getCause()
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:91,1
    - Dst: e.getCause()
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:92,1
    - Dst: e.getCause()
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:94,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - java.util.Map<Class<?>,Object>
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>
      - java.util.Set<Class>
      - Class<?>
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - instance
    - values
    argTypes:
    - Object
    - java.util.Map<Class<?>,Object>
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: '[io.undertow.websockets.jsr.annotated.BoundMethod].invoke(Object,java.util.Map<Class<?>,Object>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundMethod.java
    functionUses: 0
    functionsReached:
    - param.populate(io.undertow.websockets.jsr.annotated.BoundMethod,java.util.Map<Class<?>,Object>)
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.annotated.BoundMethod)'
    - '[Method].invoke(Object,io.undertow.websockets.jsr.annotated.BoundMethod)'
    - e.getCause()
    - '[Method].getParameterCount()'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.jsr.annotated.BoundMethod].invoke(Object,java.util.Map<Class<?>,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<Class>].contains(Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>
      - java.util.Set<Class>
      - Class<?>
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.jsr.annotated.BoundMethod].hasParameterType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundMethod.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<Class>].contains(Class<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.annotated.BoundMethod].hasParameterType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>
      - java.util.Set<Class>
      - Class<?>
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundMethod.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>
      - java.util.Set<Class>
      - Class<?>
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.jsr.annotated.BoundMethod].isDecoderRequired()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundMethod.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.annotated.BoundMethod].isDecoderRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>
      - java.util.Set<Class>
      - Class<?>
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMaxMessageSize()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundMethod.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMaxMessageSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Method].getName()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:116,1
    - Dst: '[Method].getName()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:116,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].equals(io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:116,1
    - Dst: '[Method].getReturnType()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:119,1
    - Dst: '[Method].getReturnType()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:119,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].isAssignableFrom(io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:119,1
    - Dst: '[Method].getParameterCount()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:122,1
    - Dst: '[Method].getParameterCount()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:122,1
    - Dst: '[Method].getParameterCount()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:125,1
    - Dst: '[Method].getParameterTypes()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:128,1
    - Dst: '[Method].getParameterTypes()'
      Src: io.undertow.websockets.jsr.annotated.BoundMethod:129,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - java.util.List<io.undertow.websockets.jsr.annotated.BoundParameter>
      - java.util.Set<Class>
      - Class<?>
      - boolean
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - Method
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: '[io.undertow.websockets.jsr.annotated.BoundMethod].overrides(Method)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundMethod.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].isAssignableFrom(io.undertow.websockets.jsr.annotated.BoundMethod)'
    - '[Method].getName()'
    - '[Method].getReturnType()'
    - '[Method].getParameterTypes()'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].equals(io.undertow.websockets.jsr.annotated.BoundMethod)'
    - '[Method].getParameterCount()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.annotated.BoundMethod].overrides(Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<jakarta.websocket.Decoder>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - type
    - endpointConfiguration
    argTypes:
    - Class<?>
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.jsr.annotated.DecoderUtils].getDecodersForType(Class<?>,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/DecoderUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<jakarta.websocket.Decoder>
    signature: '[io.undertow.websockets.jsr.annotated.DecoderUtils].getDecodersForType(Class<?>,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.DecoderUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.annotated.DecoderUtils].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/DecoderUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.DecoderUtils
    signature: '[io.undertow.websockets.jsr.annotated.DecoderUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].<init>()'
      Src: io.undertow.websockets.jsr.annotated.EmptyEndpointConfig:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.annotated.EmptyEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.EndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.EmptyEndpointConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/EmptyEndpointConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.EmptyEndpointConfig
    signature: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.annotated.EmptyEndpointConfig:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.annotated.EmptyEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.EndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?extendsEncoder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].getEncoders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/EmptyEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<Class<?extendsEncoder>>
    signature: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].getEncoders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.jsr.annotated.EmptyEndpointConfig:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.annotated.EmptyEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.EndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Class<?extendsDecoder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].getDecoders()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/EmptyEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<Class<?extendsDecoder>>
    signature: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].getDecoders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.websockets.jsr.annotated.EmptyEndpointConfig:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.jsr.annotated.EmptyEndpointConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.websocket.EndpointConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].getUserProperties()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/EmptyEndpointConfig.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Object>
    signature: '[io.undertow.websockets.jsr.annotated.EmptyEndpointConfig].getUserProperties()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<Integer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.websockets.jsr.annotated.BoundParameter].positions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundParameter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<Integer>
    signature: '[io.undertow.websockets.jsr.annotated.BoundParameter].positions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      - java.util.Map<Class<?>,Object>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DecodeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - params
    - value
    argTypes:
    - Object[]
    - java.util.Map<Class<?>,Object>
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[io.undertow.websockets.jsr.annotated.BoundParameter].populate(Object[],java.util.Map<Class<?>,Object>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundParameter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.BoundParameter].populate(Object[],java.util.Map<Class<?>,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Class<?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.jsr.annotated.BoundParameter].getType()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundParameter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.annotated.BoundParameter].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.annotated.BoundParameter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.jsr.annotated.BoundParameter].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/BoundParameter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.BoundParameter
    signature: '[io.undertow.websockets.jsr.annotated.BoundParameter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 7
    argNames:
    - instance
    - webSocketOpen
    - webSocketClose
    - webSocketError
    - textMessage
    - binaryMessage
    - pongMessage
    argTypes:
    - io.undertow.servlet.api.InstanceHandle<?>
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].<init>(io.undertow.servlet.api.InstanceHandle<?>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].<init>(io.undertow.servlet.api.InstanceHandle<?>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].hasParameterType()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:70,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:70,1
    - Dst: '[Class<?>].equals()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:70,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].hasParameterType()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:71,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:71,1
    - Dst: '[Class<?>].equals()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:71,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addPartialHandler(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:75,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMaxMessageSize()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:77,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMaxMessageSize()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:78,1
    - Dst: s.setMaxTextMessageBufferSize(int)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:78,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addWholeHandler(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:80,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addPartialHandler(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:85,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMaxMessageSize()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:87,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMaxMessageSize()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:88,1
    - Dst: s.setMaxBinaryMessageBufferSize(int)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:88,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addWholeHandler(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:90,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addWholeHandler(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:94,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:98,1
    - Dst: '[java.util.HashMap].put(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:99,1
    - Dst: '[java.util.HashMap].put(jakarta.websocket.EndpointConfig)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:100,1
    - Dst: '[jakarta.websocket.Session].getPathParameters()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:101,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:101,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].invokeMethod(java.util.HashMap,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.EndpointConfig
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - endpointConfiguration
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.EndpointConfig
    constantsTouched: []
    func_position:
      end: 105
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[Class<?>].equals()'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].getMaxMessageSize()'
    - '[jakarta.websocket.Session].getPathParameters()'
    - '[java.util.HashMap].put(jakarta.websocket.EndpointConfig)'
    - '[java.util.HashMap].put(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addWholeHandler(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.BoundMethod)'
    - s.setMaxTextMessageBufferSize(int)
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].invokeMethod(java.util.HashMap,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].hasParameterType()'
    - '[java.util.HashMap].put(jakarta.websocket.Session)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addPartialHandler(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.BoundMethod)'
    - s.setMaxBinaryMessageBufferSize(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onOpen(jakarta.websocket.Session,jakarta.websocket.EndpointConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:108,1
    - Dst: '[MessageHandler.Partial].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:108,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(Class,MessageHandler.Partial)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.UndertowSession
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - method
    argTypes:
    - io.undertow.websockets.jsr.UndertowSession
    - io.undertow.websockets.jsr.annotated.BoundMethod
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addPartialHandler(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.annotated.BoundMethod)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
    - '[MessageHandler.Partial].<init>()'
    - '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(Class,MessageHandler.Partial)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addPartialHandler(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.annotated.BoundMethod)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:137,1
    - Dst: '[MessageHandler.Whole].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:137,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(Class,MessageHandler.Whole)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.UndertowSession
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - method
    argTypes:
    - io.undertow.websockets.jsr.UndertowSession
    - io.undertow.websockets.jsr.annotated.BoundMethod
    constantsTouched: []
    func_position:
      end: 160
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 160
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addWholeHandler(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.annotated.BoundMethod)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].getMessageType()'
    - '[io.undertow.websockets.jsr.UndertowSession].addMessageHandler(Class,MessageHandler.Whole)'
    - '[MessageHandler.Whole].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].addWholeHandler(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.annotated.BoundMethod)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:163,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:163,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:163,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<Class<?>,Object>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.UndertowSession
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 3
    argNames:
    - params
    - method
    - session
    argTypes:
    - java.util.Map<Class<?>,Object>
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.UndertowSession
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].invokeMethod(java.util.Map<Class<?>,Object>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.UndertowSession)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[Runnable].<init>()'
    - '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].invokeMethod(java.util.Map<Class<?>,Object>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.UndertowSession)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:181,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].<init>(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:181,1
    - Dst: '[RemoteEndpoint.Async].sendText(String,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:181,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:183,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:183,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].<init>(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:183,1
    - Dst: '[RemoteEndpoint.Async].sendBinary(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:183,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:185,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].<init>(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:185,1
    - Dst: '[RemoteEndpoint.Async].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:185,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:187,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].<init>(io.undertow.websockets.jsr.UndertowSession)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:187,1
    - Dst: '[RemoteEndpoint.Async].sendObject(Object,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:187,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:189,1
    - Dst: '[RemoteEndpoint.Async].getBatchingAllowed()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:189,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:191,1
    - Dst: '[RemoteEndpoint.Async].flushBatch()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:191,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onError(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - io.undertow.websockets.jsr.UndertowSession
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - result
    - session
    argTypes:
    - Object
    - io.undertow.websockets.jsr.UndertowSession
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].sendResult(Object,io.undertow.websockets.jsr.UndertowSession)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[RemoteEndpoint.Async].getBatchingAllowed()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].<init>(io.undertow.websockets.jsr.UndertowSession)'
    - '[io.undertow.websockets.jsr.UndertowSession].getAsyncRemote()'
    - '[RemoteEndpoint.Async].sendObject(Object,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onError(io.undertow.websockets.jsr.UndertowSession,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
    - '[RemoteEndpoint.Async].sendText(String,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[RemoteEndpoint.Async].sendBinary(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
    - '[RemoteEndpoint.Async].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
    - '[RemoteEndpoint.Async].flushBatch()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].sendResult(Object,io.undertow.websockets.jsr.UndertowSession)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:202,1
    - Dst: '[java.util.HashMap].put(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:203,1
    - Dst: '[jakarta.websocket.Session].getPathParameters()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:204,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:204,1
    - Dst: '[java.util.HashMap].put(jakarta.websocket.CloseReason)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:205,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:206,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:206,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:206,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - jakarta.websocket.CloseReason
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - closeReason
    argTypes:
    - jakarta.websocket.Session
    - jakarta.websocket.CloseReason
    constantsTouched: []
    func_position:
      end: 224
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 224
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
    - '[jakarta.websocket.Session].getPathParameters()'
    - '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
    - '[java.util.HashMap].put(jakarta.websocket.CloseReason)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    - '[java.util.HashMap].put(jakarta.websocket.Session)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onClose(jakarta.websocket.Session,jakarta.websocket.CloseReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:230,1
    - Dst: '[java.util.HashMap].put(jakarta.websocket.Session)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:231,1
    - Dst: '[java.util.HashMap].put(Throwable)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:232,1
    - Dst: '[jakarta.websocket.Session].getPathParameters()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:233,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:233,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:234,1
    - Dst: '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:234,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:234,1
    - Dst: '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:234,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].ioException(java.io.IOException)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:250,1
    - Dst: '[io.undertow.servlet.api.InstanceHandle<?>].getInstance()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:252,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].unhandledErrorInAnnotatedEndpoint(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,Throwable)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.InstanceHandle<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.websocket.Endpoint
    argCount: 2
    argNames:
    - session
    - thr
    argTypes:
    - jakarta.websocket.Session
    - Throwable
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onError(jakarta.websocket.Session,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].unhandledErrorInAnnotatedEndpoint(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint,Throwable)'
    - '[jakarta.websocket.Session].getPathParameters()'
    - '[java.util.HashMap].put(io.undertow.websockets.jsr.annotated.AnnotatedEndpoint)'
    - '[io.undertow.servlet.api.InstanceHandle<?>].getInstance()'
    - '[io.undertow.websockets.jsr.UndertowSession].getExecutor()'
    - '[java.util.HashMap].<init>()'
    - '[java.util.HashMap].put(Throwable)'
    - '[io.undertow.websockets.jsr.UndertowSession].getContainer()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].ioException(java.io.IOException)'
    - '[io.undertow.websockets.jsr.ServerWebSocketContainer].invokeEndpointMethod(java.util.concurrent.Executor,Runnable)'
    - '[java.util.HashMap].put(jakarta.websocket.Session)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].onError(jakarta.websocket.Session,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.Session
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SendHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - jakarta.websocket.Session
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].<init>(jakarta.websocket.Session)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].<init>(jakarta.websocket.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.websocket.SendResult].isOK()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler:267,1
    - Dst: '[jakarta.websocket.SendResult].getException()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler:268,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].onError(Session,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.websocket.SendResult
      classConcrete: true
      classEnum: false
      classFields:
      - Session
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SendHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - jakarta.websocket.SendResult
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].onResult(jakarta.websocket.SendResult)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpoint.java
    functionUses: 0
    functionsReached:
    - '[jakarta.websocket.SendResult].getException()'
    - '[jakarta.websocket.SendResult].isOK()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].onError(Session,io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint.ErrorReportingSendHandler].onResult(jakarta.websocket.SendResult)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - endpointClass
    - OnOpen
    - OnClose
    - OnError
    - textMessage
    - binaryMessage
    - pongMessage
    argTypes:
    - Class<?>
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    - io.undertow.websockets.jsr.annotated.BoundMethod
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].<init>(Class<?>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].<init>(Class<?>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:79,1
    - Dst: c.getDeclaredMethods()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:89,1
    - Dst: method.isAnnotationPresent()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:90,1
    - Dst: '[java.util.HashSet].contains()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:91,1
    - Dst: onOpen.overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:92,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:93,1
    - Dst: '[java.util.HashSet].add()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:98,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:99,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:100,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:101,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,null,boolean,int,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:99,1
    - Dst: method.isAnnotationPresent()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:103,1
    - Dst: '[java.util.HashSet].contains()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:104,1
    - Dst: onClose.overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:105,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:106,1
    - Dst: '[java.util.HashSet].add()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:111,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:112,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:113,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:114,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,null,boolean,int,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:112,1
    - Dst: method.isAnnotationPresent()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:116,1
    - Dst: '[java.util.HashSet].contains()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:117,1
    - Dst: onError.overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:118,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:119,1
    - Dst: '[java.util.HashSet].add()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:124,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:125,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:126,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:127,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,null,boolean,int,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:125,1
    - Dst: method.isAnnotationPresent()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:129,1
    - Dst: method.isBridge()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:129,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:130,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:133,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:136,1
    - Dst: method.getAnnotation()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:139,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].maxMessageSize()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:139,1
    - Dst: method.getParameterTypes()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:142,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].hasAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:145,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].canDecodeText(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:152,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:154,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:156,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:157,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:158,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:156,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].canDecodeBinary(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:161,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:163,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:165,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:166,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:167,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:165,1
    - Dst: param.equals()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:170,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:172,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:174,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:175,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:176,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:177,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:174,1
    - Dst: param.equals()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:180,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:182,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:185,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:186,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:187,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:188,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:184,1
    - Dst: param.equals()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:192,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:194,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:197,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:198,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:199,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:196,1
    - Dst: param.equals()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:203,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].getPathParam(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:203,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:205,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:207,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:208,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:209,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:210,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:207,1
    - Dst: param.equals()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:214,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].getPathParam(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:214,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:216,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:219,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:220,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:221,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:218,1
    - Dst: param.equals()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:225,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:227,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:229,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:230,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:231,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:229,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:239,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:242,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:243,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:244,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:245,1
    - Dst: '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:242,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].couldNotFindMessageParameter(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:249,1
    - Dst: c.getSuperclass()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:253,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].<init>(Class<?>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:255,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 162
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - io.undertow.websockets.jsr.EncodingFactory
      - java.util.Set<String>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - endpointClass
    - encodingFactory
    - paths
    argTypes:
    - Class<?>
    - io.undertow.websockets.jsr.EncodingFactory
    - java.util.Set<String>
    constantsTouched: []
    func_position:
      end: 256
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 256
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(Class<?>,io.undertow.websockets.jsr.EncodingFactory,java.util.Set<String>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashSet].add()'
    - onClose.overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].maxMessageSize()'
    - '[io.undertow.websockets.jsr.EncodingFactory].canDecodeText(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    - method.getParameterTypes()
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,null,boolean,int,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].moreThanOneAnnotation()'
    - '[java.util.HashSet].<init>()'
    - onError.overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].couldNotFindMessageParameter(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].hasAnnotation()'
    - method.getAnnotation()
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].<init>(Class<?>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod)'
    - param.equals()
    - method.isAnnotationPresent()
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].getPathParam(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    - '[io.undertow.websockets.jsr.annotated.BoundMethod].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,boolean,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter,BoundPathParameters)'
    - '[io.undertow.websockets.jsr.EncodingFactory].canDecodeBinary(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    - c.getDeclaredMethods()
    - c.getSuperclass()
    - onOpen.overrides(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)
    - method.isBridge()
    - '[java.util.HashSet].contains()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory,java.util.Set<String>,Class<?>)'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].create(Class<?>,io.undertow.websockets.jsr.EncodingFactory,java.util.Set<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].pathParams(Method)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:259,1
    - Dst: '[BoundPathParameters].<init>(String[],Method,Class<?>,java.util.Set<String>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - java.util.Set<String>
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: BoundPathParameters
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - method
    - paths
    - endpointClass
    argTypes:
    - Method
    - java.util.Set<String>
    - Class<?>
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(Method,java.util.Set<String>,Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].pathParams(Method)'
    - '[BoundPathParameters].<init>(String[],Method,Class<?>,java.util.Set<String>)'
    linkageType: ''
    returnType: BoundPathParameters
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createBoundPathParameters(Method,java.util.Set<String>,Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Method].getParameterCount()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:264,1
    - Dst: '[Method].getParameterCount()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:265,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].getPathParam(Method,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:266,1
    - Dst: '[jakarta.websocket.server.PathParam].value()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - Method
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].pathParams(Method)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 1
    functionsReached:
    - '[jakarta.websocket.server.PathParam].value()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].getPathParam(Method,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    - '[Method].getParameterCount()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].pathParams(Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Method].getParameterAnnotations()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:275,1
    - Dst: annotation.annotationType()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:276,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].equals()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.websocket.server.PathParam
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - method
    - parameter
    argTypes:
    - Method
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].getPathParam(Method,int)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[Method].getParameterAnnotations()'
    - annotation.annotationType()
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].equals()'
    linkageType: ''
    returnType: jakarta.websocket.server.PathParam
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].getPathParam(Method,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: annotation.annotationType()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:285,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].equals(Class<?extendsAnnotation>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsAnnotation>
      - Annotation[]
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - annotationType
    - annotations
    argTypes:
    - Class<?extendsAnnotation>
    - Annotation[]
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].hasAnnotation(Class<?extendsAnnotation>,Annotation[])'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - annotation.annotationType()
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].equals(Class<?extendsAnnotation>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].hasAnnotation(Class<?extendsAnnotation>,Annotation[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.InstanceHandle<?>].getInstance()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:294,1
    - Dst: '[Class<?>].isInstance(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:294,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].endpointNotOfCorrectType(io.undertow.servlet.api.InstanceHandle<?>,Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:295,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].<init>(io.undertow.servlet.api.InstanceHandle<?>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.InstanceHandle<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      - io.undertow.websockets.jsr.annotated.BoundMethod
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpointInstance
    argTypes:
    - io.undertow.servlet.api.InstanceHandle<?>
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.api.InstanceHandle<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpoint].<init>(io.undertow.servlet.api.InstanceHandle<?>,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod,io.undertow.websockets.jsr.annotated.BoundMethod)'
    - '[Class<?>].isInstance(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory)'
    - '[io.undertow.servlet.api.InstanceHandle<?>].getInstance()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].endpointNotOfCorrectType(io.undertow.servlet.api.InstanceHandle<?>,Class<?>)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpoint
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory].createInstance(io.undertow.servlet.api.InstanceHandle<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Class<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - position
    - type
    argTypes:
    - int
    - Class<?>
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(int,Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(int,Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Method].getParameterCount()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:316,1
    - Dst: '[Method].getParameterAnnotations()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:318,1
    - Dst: annotation.annotationType()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:319,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].equals()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:319,1
    - Dst: method.getParameterTypes()[i].equals(Class<?>)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:327,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].moreThanOneParameterOfType(Class<?>,Method)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:329,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].parameterNotFound(Class<?>,Method)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:339,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - Class<?>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Class<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - method
    - type
    - optional
    argTypes:
    - Method
    - Class<?>
    - boolean
    constantsTouched: []
    func_position:
      end: 341
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 341
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(Method,Class<?>,boolean)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].moreThanOneParameterOfType(Class<?>,Method)'
    - '[Method].getParameterAnnotations()'
    - annotation.annotationType()
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].equals()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].parameterNotFound(Class<?>,Method)'
    - method.getParameterTypes()[i].equals(Class<?>)
    - '[Method].getParameterCount()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].<init>(Method,Class<?>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:345,1
    - Dst: '[java.util.Collections].singleton(int)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Class<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<Integer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].positions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(int)'
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<Integer>
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].positions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,Object>].get(Class<?>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      - java.util.Map<Class<?>,Object>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Class<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - params
    - value
    argTypes:
    - Object[]
    - java.util.Map<Class<?>,Object>
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].populate(Object[],java.util.Map<Class<?>,Object>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,Object>].get(Class<?>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].populate(Object[],java.util.Map<Class<?>,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Class<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].getType()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundSingleParameter].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Method].getParameterTypes()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:382,1
    - Dst: '[Method].getParameterAnnotations()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:383,1
    - Dst: param.value()
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:387,1
    - Dst: '[java.util.Set<String>].contains(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:387,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].pathTemplateNotFound(Class<?>,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters,Method,java.util.Set<String>)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:388,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].canEncodeText(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:395,1
    - Dst: '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(io.undertow.websockets.jsr.annotated.EmptyEndpointConfig)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:396,1
    - Dst: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].couldNotFindDecoderForType(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters,Method)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:400,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      - Method
      - Class<?>
      - java.util.Set<String>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - Set<String>
      - String[]
      - Encoding[]
      - Class[]
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.websocket.DeploymentException
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - positions
    - method
    - endpointClass
    - paths
    argTypes:
    - String[]
    - Method
    - Class<?>
    - java.util.Set<String>
    constantsTouched: []
    func_position:
      end: 403
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 403
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].<init>(String[],Method,Class<?>,java.util.Set<String>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].couldNotFindDecoderForType(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters,Method)'
    - '[Method].getParameterAnnotations()'
    - '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].pathTemplateNotFound(Class<?>,io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters,Method,java.util.Set<String>)'
    - param.value()
    - '[io.undertow.websockets.jsr.EncodingFactory].canEncodeText(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)'
    - '[Method].getParameterTypes()'
    - '[java.util.Set<String>].contains(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)'
    - '[io.undertow.websockets.jsr.EncodingFactory].createEncoding(io.undertow.websockets.jsr.annotated.EmptyEndpointConfig)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].<init>(String[],Method,Class<?>,java.util.Set<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:406,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - Set<String>
      - String[]
      - Encoding[]
      - Class[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<Integer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].positions()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>()'
    - '[java.util.HashSet].add(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)'
    linkageType: ''
    returnType: java.util.Set<Integer>
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].positions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Class<?>,Object>].get()'
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:417,1
    - Dst: data.get(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:423,1
    - Dst: data.get(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:425,1
    - Dst: encoding.decodeText(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)
      Src: io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      - java.util.Map<Class<?>,Object>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - Set<String>
      - String[]
      - Encoding[]
      - Class[]
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.websocket.DecodeException
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - params
    - value
    argTypes:
    - Object[]
    - java.util.Map<Class<?>,Object>
    constantsTouched: []
    func_position:
      end: 429
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 429
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].populate(Object[],java.util.Map<Class<?>,Object>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Class<?>,Object>].get()'
    - data.get(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)
    - encoding.decodeText(io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].populate(Object[],java.util.Map<Class<?>,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?>
      - Set<String>
      - String[]
      - Encoding[]
      - Class[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BoundParameter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].getType()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/annotated/AnnotatedEndpointFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.annotated.AnnotatedEndpointFactory.BoundPathParameters].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.util.ClassUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.util.ClassUtils].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/util/ClassUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.jsr.util.ClassUtils
    signature: '[io.undertow.websockets.jsr.util.ClassUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.IdentityHashMap].<init>(int)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:51,1
    - Dst: c.getSuperclass()
      Src: io.undertow.websockets.jsr.util.ClassUtils:52,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].exampleGenericInterfaces(java.util.IdentityHashMap,io.undertow.websockets.jsr.util.ClassUtils,Class<?extendsMessageHandler>)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:53,1
    - Dst: '[java.util.IdentityHashMap].isEmpty()'
      Src: io.undertow.websockets.jsr.util.ClassUtils:55,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].unknownHandlerType(Class<?extendsMessageHandler>)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsMessageHandler>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<Class<?>,Boolean>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?extendsMessageHandler>
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes(Class<?extendsMessageHandler>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/util/ClassUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.util.ClassUtils].exampleGenericInterfaces(java.util.IdentityHashMap,io.undertow.websockets.jsr.util.ClassUtils,Class<?extendsMessageHandler>)'
    - '[java.util.IdentityHashMap].isEmpty()'
    - '[java.util.IdentityHashMap].<init>(int)'
    - '[io.undertow.websockets.jsr.util.ClassUtils].unknownHandlerType(Class<?extendsMessageHandler>)'
    - c.getSuperclass()
    linkageType: ''
    returnType: java.util.Map<Class<?>,Boolean>
    signature: '[io.undertow.websockets.jsr.util.ClassUtils].getHandlerTypes(Class<?extendsMessageHandler>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?>].getGenericInterfaces()'
      Src: io.undertow.websockets.jsr.util.ClassUtils:62,1
    - Dst: pt.getRawType()
      Src: io.undertow.websockets.jsr.util.ClassUtils:65,1
    - Dst: pt.getActualTypeArguments()
      Src: io.undertow.websockets.jsr.util.ClassUtils:67,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].put(Class<?>,io.undertow.websockets.jsr.util.ClassUtils)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:68,1
    - Dst: pt.getActualTypeArguments()
      Src: io.undertow.websockets.jsr.util.ClassUtils:70,1
    - Dst: '[java.util.Map<Class<?>,Boolean>].put(Class<?>,io.undertow.websockets.jsr.util.ClassUtils)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:71,1
    - Dst: rawClass.getGenericInterfaces()
      Src: io.undertow.websockets.jsr.util.ClassUtils:74,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].exampleGenericInterfaces(java.util.Map<Class<?>,Boolean>,io.undertow.websockets.jsr.util.ClassUtils,Class)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:75,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].exampleGenericInterfaces(java.util.Map<Class<?>,Boolean>,Class,Class)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<Class<?>,Boolean>
      - Class<?>
      - Class
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - types
    - c
    - actualClass
    argTypes:
    - java.util.Map<Class<?>,Boolean>
    - Class<?>
    - Class
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.jsr.util.ClassUtils].exampleGenericInterfaces(java.util.Map<Class<?>,Boolean>,Class<?>,Class)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/util/ClassUtils.java
    functionUses: 0
    functionsReached:
    - pt.getRawType()
    - '[Class<?>].getGenericInterfaces()'
    - '[io.undertow.websockets.jsr.util.ClassUtils].exampleGenericInterfaces(java.util.Map<Class<?>,Boolean>,Class,Class)'
    - rawClass.getGenericInterfaces()
    - pt.getActualTypeArguments()
    - '[java.util.Map<Class<?>,Boolean>].put(Class<?>,io.undertow.websockets.jsr.util.ClassUtils)'
    - '[io.undertow.websockets.jsr.util.ClassUtils].exampleGenericInterfaces(java.util.Map<Class<?>,Boolean>,io.undertow.websockets.jsr.util.ClassUtils,Class)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.util.ClassUtils].exampleGenericInterfaces(java.util.Map<Class<?>,Boolean>,Class<?>,Class)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.jsr.util.ClassUtils:90,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.jsr.util.ClassUtils)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:93,1
    - Dst: i.getSuperclass()
      Src: io.undertow.websockets.jsr.util.ClassUtils:94,1
    - Dst: '[java.util.Collections].reverse(java.util.ArrayList)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:96,1
    - Dst: ptype.getGenericSuperclass()
      Src: io.undertow.websockets.jsr.util.ClassUtils:98,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].unknownHandlerType(Class)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:100,1
    - Dst: pt.getRawType()
      Src: io.undertow.websockets.jsr.util.ClassUtils:105,1
    - Dst: '[Class].getTypeParameters()'
      Src: io.undertow.websockets.jsr.util.ClassUtils:105,1
    - Dst: tp.getName()
      Src: io.undertow.websockets.jsr.util.ClassUtils:108,1
    - Dst: '[TypeVariable].getName()'
      Src: io.undertow.websockets.jsr.util.ClassUtils:108,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].equals(io.undertow.websockets.jsr.util.ClassUtils)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:108,1
    - Dst: pt.getActualTypeArguments()
      Src: io.undertow.websockets.jsr.util.ClassUtils:114,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].unknownHandlerType(Class)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:122,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - Type
      - Class<?>
      - Class
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Class<?>
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - messageType
    - c
    - actualClass
    argTypes:
    - Type
    - Class<?>
    - Class
    constantsTouched: []
    func_position:
      end: 125
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 125
    functionName: '[io.undertow.websockets.jsr.util.ClassUtils].resolvePotentialTypeVariable(Type,Class<?>,Class)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/util/ClassUtils.java
    functionUses: 0
    functionsReached:
    - pt.getRawType()
    - '[Class].getTypeParameters()'
    - i.getSuperclass()
    - pt.getActualTypeArguments()
    - '[io.undertow.websockets.jsr.util.ClassUtils].equals(io.undertow.websockets.jsr.util.ClassUtils)'
    - '[TypeVariable].getName()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.jsr.util.ClassUtils].unknownHandlerType(Class)'
    - ptype.getGenericSuperclass()
    - tp.getName()
    - '[java.util.ArrayList].add(io.undertow.websockets.jsr.util.ClassUtils)'
    - '[java.util.Collections].reverse(java.util.ArrayList)'
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.util.ClassUtils].resolvePotentialTypeVariable(Type,Class<?>,Class)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?extendsEncoder>].getMethods()'
      Src: io.undertow.websockets.jsr.util.ClassUtils:131,1
    - Dst: m.getName()
      Src: io.undertow.websockets.jsr.util.ClassUtils:133,1
    - Dst: '[String].equals(io.undertow.websockets.jsr.util.ClassUtils)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:133,1
    - Dst: m.isBridge()
      Src: io.undertow.websockets.jsr.util.ClassUtils:133,1
    - Dst: m.getParameterTypes()
      Src: io.undertow.websockets.jsr.util.ClassUtils:134,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].unknownEncoderType(Class<?extendsEncoder>)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsEncoder>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?extendsEncoder>
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: '[io.undertow.websockets.jsr.util.ClassUtils].getEncoderType(Class<?extendsEncoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/util/ClassUtils.java
    functionUses: 0
    functionsReached:
    - m.isBridge()
    - '[String].equals(io.undertow.websockets.jsr.util.ClassUtils)'
    - '[Class<?extendsEncoder>].getMethods()'
    - '[io.undertow.websockets.jsr.util.ClassUtils].unknownEncoderType(Class<?extendsEncoder>)'
    - m.getParameterTypes()
    - m.getName()
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.util.ClassUtils].getEncoderType(Class<?extendsEncoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?extendsDecoder>].getMethods()'
      Src: io.undertow.websockets.jsr.util.ClassUtils:144,1
    - Dst: m.getName()
      Src: io.undertow.websockets.jsr.util.ClassUtils:146,1
    - Dst: '[String].equals(io.undertow.websockets.jsr.util.ClassUtils)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:146,1
    - Dst: m.isBridge()
      Src: io.undertow.websockets.jsr.util.ClassUtils:146,1
    - Dst: m.getReturnType()
      Src: io.undertow.websockets.jsr.util.ClassUtils:147,1
    - Dst: '[io.undertow.websockets.jsr.util.ClassUtils].couldNotDetermineDecoderTypeFor(Class<?extendsDecoder>)'
      Src: io.undertow.websockets.jsr.util.ClassUtils:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsDecoder>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<?>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?extendsDecoder>
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: '[io.undertow.websockets.jsr.util.ClassUtils].getDecoderType(Class<?extendsDecoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/src/main/java/io/undertow/websockets/jsr/util/ClassUtils.java
    functionUses: 0
    functionsReached:
    - m.isBridge()
    - '[String].equals(io.undertow.websockets.jsr.util.ClassUtils)'
    - '[Class<?extendsDecoder>].getMethods()'
    - m.getReturnType()
    - m.getName()
    - '[io.undertow.websockets.jsr.util.ClassUtils].couldNotDetermineDecoderTypeFor(Class<?extendsDecoder>)'
    linkageType: ''
    returnType: Class<?>
    signature: '[io.undertow.websockets.jsr.util.ClassUtils].getDecoderType(Class<?extendsDecoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JsrWebSocketLogger_$logger.class.getName()
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:30,1
    - Dst: '[org.jboss.logging.DelegatingBasicLogger].<init>(org.jboss.logging.Logger)'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.jboss.logging.Logger
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - log
    argTypes:
    - org.jboss.logging.Logger
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].<init>(org.jboss.logging.Logger)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - JsrWebSocketLogger_$logger.class.getName()
    - '[org.jboss.logging.DelegatingBasicLogger].<init>(org.jboss.logging.Logger)'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].<init>(org.jboss.logging.Logger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Locale
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].getLoggingLocale()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].getLoggingLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].endpointCreationFailed$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:40,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,Exception,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].endpointCreationFailed(Exception)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,Exception,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].endpointCreationFailed$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].endpointCreationFailed(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].endpointCreationFailed$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].endpointCreationFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotInitializeConfiguration$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:47,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,Throwable,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - clazz
    - t
    argTypes:
    - Class<?>
    - Throwable
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotInitializeConfiguration(Class<?>,Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,Throwable,String,Class<?>)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotInitializeConfiguration$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotInitializeConfiguration(Class<?>,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotInitializeConfiguration$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotInitializeConfiguration$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedServerEndpoint$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:54,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String,Class<?>,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - endpoint
    - value
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedServerEndpoint(Class<?>,String)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String,Class<?>,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedServerEndpoint$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedServerEndpoint(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedServerEndpoint$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedServerEndpoint$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedClientEndpoint$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:61,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedClientEndpoint(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String,Class<?>)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedClientEndpoint$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedClientEndpoint(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedClientEndpoint$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingAnnotatedClientEndpoint$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingProgramaticEndpoint$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:68,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String,Class<?>,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - endpointClass
    - path
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingProgramaticEndpoint(Class<?>,String)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String,Class<?>,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingProgramaticEndpoint$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingProgramaticEndpoint(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingProgramaticEndpoint$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].addingProgramaticEndpoint$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].exceptionInWebSocketMethod$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:75,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,Throwable,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].exceptionInWebSocketMethod(Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].exceptionInWebSocketMethod$str()'
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,Throwable,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].exceptionInWebSocketMethod(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].exceptionInWebSocketMethod$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].exceptionInWebSocketMethod$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].pathTemplateNotFound$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:82,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String,Class<?>,jakarta.websocket.server.PathParam,Method,java.util.Set<String>)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - jakarta.websocket.server.PathParam
      - Method
      - java.util.Set<String>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 4
    argNames:
    - endpointClass
    - param
    - method
    - paths
    argTypes:
    - Class<?>
    - jakarta.websocket.server.PathParam
    - Method
    - java.util.Set<String>
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].pathTemplateNotFound(Class<?>,jakarta.websocket.server.PathParam,Method,java.util.Set<String>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].pathTemplateNotFound$str()'
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String,Class<?>,jakarta.websocket.server.PathParam,Method,java.util.Set<String>)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].pathTemplateNotFound(Class<?>,jakarta.websocket.server.PathParam,Method,java.util.Set<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].pathTemplateNotFound$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].pathTemplateNotFound$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotCloseOnUndeploy$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:89,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,Exception,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotCloseOnUndeploy(Exception)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,Exception,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotCloseOnUndeploy$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotCloseOnUndeploy(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotCloseOnUndeploy$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].couldNotCloseOnUndeploy$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNull$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:96,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNull()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNull$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNull$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNull$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:103,1
    - Dst: super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNull()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,null,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNull$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNull$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNullAndNoDefault$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNullAndNoDefault$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:113,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNullAndNoDefault$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:113,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:113,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketLogger_$logger)'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:113,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNullAndNoDefault()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNullAndNoDefault$str()'
    - String.format(java.util.Locale,String)
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketLogger_$logger)'
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].getLoggingLocale()'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].xnioWorkerWasNullAndNoDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getStackTrace()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:118,1
    - Dst: '[java.util.Arrays].copyOfRange(io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,int,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger)'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:119,1
    - Dst: '[Throwable].setStackTrace(io.undertow.websockets.jsr.JsrWebSocketLogger_$logger)'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger]._copyStackTraceMinusOne(Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[Throwable].setStackTrace(io.undertow.websockets.jsr.JsrWebSocketLogger_$logger)'
    - '[Throwable].getStackTrace()'
    - '[java.util.Arrays].copyOfRange(io.undertow.websockets.jsr.JsrWebSocketLogger_$logger,int,io.undertow.websockets.jsr.JsrWebSocketLogger_$logger)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger]._copyStackTraceMinusOne(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNullAndNoDefault$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNullAndNoDefault$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:126,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNullAndNoDefault$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:126,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:126,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketLogger_$logger)'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:126,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketLogger_$logger:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.jsr.JsrWebSocketLogger
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNullAndNoDefault()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketLogger_$logger)'
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNullAndNoDefault$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].getLoggingLocale()'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketLogger_$logger].bufferPoolWasNullAndNoDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].<init>()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].<init>()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].readResolve()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].readResolve()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Locale
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].pongMessageNotSupported$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].pongMessageNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:44,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].pongMessageNotSupported$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:44,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:44,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:44,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].pongMessageNotSupported()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].pongMessageNotSupported$str()'
    - '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].pongMessageNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getStackTrace()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:49,1
    - Dst: '[java.util.Arrays].copyOfRange(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle,int,io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:50,1
    - Dst: '[Throwable].setStackTrace(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(Throwable)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[Throwable].setStackTrace(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[java.util.Arrays].copyOfRange(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle,int,io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[Throwable].getStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendStreamClosed$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendStreamClosed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:57,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendStreamClosed$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:57,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:57,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:57,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendStreamClosed()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendStreamClosed$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendStreamClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendWriterClosed$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendWriterClosed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:66,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendWriterClosed$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:66,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:66,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:66,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendWriterClosed()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendWriterClosed$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].sendWriterClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].clientNotSupported$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].clientNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:75,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].clientNotSupported$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:75,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:75,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:75,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].clientNotSupported()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].clientNotSupported$str()'
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].clientNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerAlreadyRegistered$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerAlreadyRegistered$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:84,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerAlreadyRegistered$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:84,1
    - Dst: String.format(java.util.Locale,String,io.undertow.websockets.jsr.FrameHandler.FrameType)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:84,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:84,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.jsr.FrameHandler.FrameType
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frameType
    argTypes:
    - io.undertow.websockets.jsr.FrameHandler.FrameType
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerAlreadyRegistered(io.undertow.websockets.jsr.FrameHandler.FrameType)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,io.undertow.websockets.jsr.FrameHandler.FrameType)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerAlreadyRegistered$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerAlreadyRegistered(io.undertow.websockets.jsr.FrameHandler.FrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unsupportedFrameType$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unsupportedFrameType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:93,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unsupportedFrameType$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:93,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:93,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:93,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unsupportedFrameType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unsupportedFrameType$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - String.format(java.util.Locale,String,Class<?>)
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unsupportedFrameType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownHandlerType$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownHandlerType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:102,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownHandlerType$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:102,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:102,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:102,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownHandlerType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownHandlerType$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - String.format(java.util.Locale,String,Class<?>)
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownHandlerType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownEncoderType$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownEncoderType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:111,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownEncoderType$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:111,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:111,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:111,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownEncoderType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownEncoderType$str()'
    - String.format(java.util.Locale,String,Class<?>)
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].unknownEncoderType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneParameterOfType$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneParameterOfType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:120,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneParameterOfType$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:120,1
    - Dst: String.format(java.util.Locale,String,Class<?>,Method)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:120,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:120,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - Method
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - type
    - method
    argTypes:
    - Class<?>
    - Method
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneParameterOfType(Class<?>,Method)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,Class<?>,Method)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneParameterOfType$str()'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneParameterOfType(Class<?>,Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].parameterNotFound$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].parameterNotFound$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:129,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].parameterNotFound$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:129,1
    - Dst: String.format(java.util.Locale,String,Class<?>,Method)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:129,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:129,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - Method
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - type
    - method
    argTypes:
    - Class<?>
    - Method
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].parameterNotFound(Class<?>,Method)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].parameterNotFound$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,Class<?>,Method)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].parameterNotFound(Class<?>,Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneAnnotation$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneAnnotation$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:138,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneAnnotation$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:138,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:138,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:138,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneAnnotation(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneAnnotation$str()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    - String.format(java.util.Locale,String,Class<?>)
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].moreThanOneAnnotation(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParameters$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParameters$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:147,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParameters$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:147,1
    - Dst: String.format(java.util.Locale,String,Method,java.util.Set<Integer>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:147,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:147,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - java.util.Set<Integer>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - allParams
    argTypes:
    - Method
    - java.util.Set<Integer>
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParameters(Method,java.util.Set<Integer>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParameters$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    - String.format(java.util.Locale,String,Method,java.util.Set<Integer>)
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParameters(Method,java.util.Set<Integer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineDecoderTypeFor$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineDecoderTypeFor$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:156,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineDecoderTypeFor$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:156,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:156,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:156,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - decoderClass
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineDecoderTypeFor(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineDecoderTypeFor$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,Class<?>)
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineDecoderTypeFor(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].noDecoderAcceptedMessage$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].noDecoderAcceptedMessage$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:165,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].noDecoderAcceptedMessage$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:165,1
    - Dst: String.format(java.util.Locale,String,java.util.List<?extendsjakarta.websocket.Decoder>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<?extendsjakarta.websocket.Decoder>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - decoders
    argTypes:
    - java.util.List<?extendsjakarta.websocket.Decoder>
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].noDecoderAcceptedMessage(java.util.List<?extendsjakarta.websocket.Decoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].noDecoderAcceptedMessage$str()'
    - String.format(java.util.Locale,String,java.util.List<?extendsjakarta.websocket.Decoder>)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].noDecoderAcceptedMessage(java.util.List<?extendsjakarta.websocket.Decoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotSendInMiddleOfFragmentedMessage$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotSendInMiddleOfFragmentedMessage$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:172,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotSendInMiddleOfFragmentedMessage$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:172,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:172,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:172,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotSendInMiddleOfFragmentedMessage()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotSendInMiddleOfFragmentedMessage$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotSendInMiddleOfFragmentedMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotAddEndpointAfterDeployment$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotAddEndpointAfterDeployment$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:181,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotAddEndpointAfterDeployment$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:181,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:181,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:181,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotAddEndpointAfterDeployment()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotAddEndpointAfterDeployment$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotAddEndpointAfterDeployment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfDecodeMethodForClass$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfDecodeMethodForClass$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:190,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfDecodeMethodForClass$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:190,1
    - Dst: String.format(java.util.Locale,String,Class<?extendsjakarta.websocket.Decoder>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:190,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle,Exception)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:190,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsjakarta.websocket.Decoder>
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - decoder
    - e
    argTypes:
    - Class<?extendsjakarta.websocket.Decoder>
    - Exception
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfDecodeMethodForClass(Class<?extendsjakarta.websocket.Decoder>,Exception)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,Class<?extendsjakarta.websocket.Decoder>)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfDecodeMethodForClass$str()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle,Exception)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfDecodeMethodForClass(Class<?extendsjakarta.websocket.Decoder>,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfEncodeMethodForClass$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfEncodeMethodForClass$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:199,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfEncodeMethodForClass$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:199,1
    - Dst: String.format(java.util.Locale,String,Class<?extendsjakarta.websocket.Encoder>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:199,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:199,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsjakarta.websocket.Encoder>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - Class<?extendsjakarta.websocket.Encoder>
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfEncodeMethodForClass(Class<?extendsjakarta.websocket.Encoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,Class<?extendsjakarta.websocket.Encoder>)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfEncodeMethodForClass$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDetermineTypeOfEncodeMethodForClass(Class<?extendsjakarta.websocket.Encoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].didNotImplementKnownDecoderSubclass$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].didNotImplementKnownDecoderSubclass$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:208,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].didNotImplementKnownDecoderSubclass$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:208,1
    - Dst: String.format(java.util.Locale,String,Class<?extendsjakarta.websocket.Decoder>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:208,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:208,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsjakarta.websocket.Decoder>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - Class<?extendsjakarta.websocket.Decoder>
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].didNotImplementKnownDecoderSubclass(Class<?extendsjakarta.websocket.Decoder>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,Class<?extendsjakarta.websocket.Decoder>)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].didNotImplementKnownDecoderSubclass$str()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].didNotImplementKnownDecoderSubclass(Class<?extendsjakarta.websocket.Decoder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classDoesNotHaveDefaultConstructor$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classDoesNotHaveDefaultConstructor$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:217,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classDoesNotHaveDefaultConstructor$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:217,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:217,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle,NoSuchMethodException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:217,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - NoSuchMethodException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - Class<?>
    - NoSuchMethodException
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classDoesNotHaveDefaultConstructor(Class<?>,NoSuchMethodException)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle,NoSuchMethodException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classDoesNotHaveDefaultConstructor$str()'
    - String.format(java.util.Locale,String,Class<?>)
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classDoesNotHaveDefaultConstructor(Class<?>,NoSuchMethodException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].multipleEndpointsWithOverlappingPaths$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].multipleEndpointsWithOverlappingPaths$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:226,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].multipleEndpointsWithOverlappingPaths$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:226,1
    - Dst: String.format(java.util.Locale,String,io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:226,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:226,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplate
      - io.undertow.util.PathTemplate
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - existing
    argTypes:
    - io.undertow.util.PathTemplate
    - io.undertow.util.PathTemplate
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].multipleEndpointsWithOverlappingPaths(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].multipleEndpointsWithOverlappingPaths$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].multipleEndpointsWithOverlappingPaths(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDeploy$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDeploy$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:235,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDeploy$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:235,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:235,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle,Exception)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:235,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDeploy(Exception)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDeploy$str()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle,Exception)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotDeploy(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotConnectUntilDeploymentComplete$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotConnectUntilDeploymentComplete$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:244,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotConnectUntilDeploymentComplete$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:244,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:244,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:244,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotConnectUntilDeploymentComplete()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotConnectUntilDeploymentComplete$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotConnectUntilDeploymentComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].notAValidClientEndpointType$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].notAValidClientEndpointType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:253,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].notAValidClientEndpointType$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:253,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:253,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:253,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].notAValidClientEndpointType(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].notAValidClientEndpointType$str()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    - String.format(java.util.Locale,String,Class<?>)
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].notAValidClientEndpointType(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classWasNotAnnotated$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classWasNotAnnotated$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:262,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classWasNotAnnotated$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:262,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:262,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:262,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classWasNotAnnotated(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classWasNotAnnotated$str()'
    - String.format(java.util.Locale,String,Class<?>)
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].classWasNotAnnotated(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindDecoderForType$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindDecoderForType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:271,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindDecoderForType$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:271,1
    - Dst: String.format(java.util.Locale,String,Class<?>,Method)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:271,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:271,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - Method
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - param
    - method
    argTypes:
    - Class<?>
    - Method
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindDecoderForType(Class<?>,Method)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindDecoderForType$str()'
    - String.format(java.util.Locale,String,Class<?>,Method)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindDecoderForType(Class<?>,Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindMessageParameter$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindMessageParameter$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:280,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindMessageParameter$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:280,1
    - Dst: String.format(java.util.Locale,String,Method)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:280,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:280,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - Method
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindMessageParameter(Method)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindMessageParameter$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - String.format(java.util.Locale,String,Method)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].couldNotFindMessageParameter(Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedTextFrameButNoMethod$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedTextFrameButNoMethod$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:289,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedTextFrameButNoMethod$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:289,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:289,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:289,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedTextFrameButNoMethod()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedTextFrameButNoMethod$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedTextFrameButNoMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedBinaryFrameButNoMethod$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedBinaryFrameButNoMethod$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:298,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedBinaryFrameButNoMethod$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:298,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:298,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:298,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedBinaryFrameButNoMethod()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedBinaryFrameButNoMethod$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].receivedBinaryFrameButNoMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParametersWithWrongAnnotation$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParametersWithWrongAnnotation$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:307,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParametersWithWrongAnnotation$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:307,1
    - Dst: String.format(java.util.Locale,String,Method,java.util.Set<Integer>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:307,1
    - Dst: '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:307,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - java.util.Set<Integer>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.websocket.DeploymentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - allParams
    argTypes:
    - Method
    - java.util.Set<Integer>
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParametersWithWrongAnnotation(Method,java.util.Set<Integer>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParametersWithWrongAnnotation$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[jakarta.websocket.DeploymentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(jakarta.websocket.DeploymentException)'
    - String.format(java.util.Locale,String,Method,java.util.Set<Integer>)
    linkageType: ''
    returnType: jakarta.websocket.DeploymentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].invalidParametersWithWrongAnnotation(Method,java.util.Set<Integer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].extensionWasNotPresentInClientHandshake$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].extensionWasNotPresentInClientHandshake$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:316,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].extensionWasNotPresentInClientHandshake$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:316,1
    - Dst: String.format(java.util.Locale,String,String,java.util.List<io.undertow.websockets.WebSocketExtension>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:316,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:316,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - e
    - supportedExtensions
    argTypes:
    - String
    - java.util.List<io.undertow.websockets.WebSocketExtension>
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].extensionWasNotPresentInClientHandshake(String,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].extensionWasNotPresentInClientHandshake$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - String.format(java.util.Locale,String,String,java.util.List<io.undertow.websockets.WebSocketExtension>)
    - '[java.io.IOException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].extensionWasNotPresentInClientHandshake(String,java.util.List<io.undertow.websockets.WebSocketExtension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].connectionTimedOut$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].connectionTimedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:325,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].connectionTimedOut$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:325,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:325,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:325,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].connectionTimedOut()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].connectionTimedOut$str()'
    - '[java.io.IOException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].connectionTimedOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerIsNull$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerIsNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:334,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerIsNull$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:334,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:334,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:334,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerIsNull()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerIsNull$str()'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].handlerIsNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageInNull$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageInNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:343,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageInNull$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:343,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:343,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:343,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageInNull()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageInNull$str()'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageInNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageTooLarge$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageTooLarge$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:352,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageTooLarge$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:352,1
    - Dst: String.format(java.util.Locale,String,int,int)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:352,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:352,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - size
    - max
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageTooLarge(int,int)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,int,int)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageTooLarge$str()'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].messageTooLarge(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotInstantiateEndpoint$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotInstantiateEndpoint$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:361,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotInstantiateEndpoint$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:361,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:361,1
    - Dst: '[InstantiationException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:361,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(InstantiationException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: InstantiationException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotInstantiateEndpoint(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotInstantiateEndpoint$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(InstantiationException)'
    - String.format(java.util.Locale,String,Class<?>)
    - '[InstantiationException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: InstantiationException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].cannotInstantiateEndpoint(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointNotOfCorrectType$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointNotOfCorrectType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:370,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointNotOfCorrectType$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:370,1
    - Dst: String.format(java.util.Locale,String,Object,Class)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:370,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:370,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - Class
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - instance
    - expected
    argTypes:
    - Object
    - Class
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointNotOfCorrectType(Object,Class)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,Object,Class)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointNotOfCorrectType$str()'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointNotOfCorrectType(Object,Class)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointDoesNotHaveAppropriateConstructor$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointDoesNotHaveAppropriateConstructor$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:379,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointDoesNotHaveAppropriateConstructor$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:379,1
    - Dst: String.format(java.util.Locale,String,Class<?>)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:379,1
    - Dst: '[InstantiationException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:379,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(InstantiationException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: InstantiationException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointDoesNotHaveAppropriateConstructor(Class<?>)'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointDoesNotHaveAppropriateConstructor$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(InstantiationException)'
    - String.format(java.util.Locale,String,Class<?>)
    - '[InstantiationException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    linkageType: ''
    returnType: InstantiationException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].endpointDoesNotHaveAppropriateConstructor(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].deploymentFailedDueToProgramaticErrors$str()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].deploymentFailedDueToProgramaticErrors$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:388,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].deploymentFailedDueToProgramaticErrors$str()'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:388,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:388,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:388,1
    - Dst: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.jsr.JsrWebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].deploymentFailedDueToProgramaticErrors()'
    functionSourceFile: /src/undertow/websockets-jsr/target/generated-sources/annotations/io/undertow/websockets/jsr/JsrWebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].deploymentFailedDueToProgramaticErrors$str()'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].getLoggingLocale()'
    - '[RuntimeException].<init>(io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle)'
    - '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.websockets.jsr.JsrWebSocketMessages_$bundle].deploymentFailedDueToProgramaticErrors()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:39,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:39,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:39,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:41,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:43,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:43,1
    - Dst: '[org.junit.Assert].assertFalse(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testSimpleNestedAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertFalse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testSimpleNestedAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:53,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:53,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:53,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:55,1
    - Dst: '[org.junit.Assert].assertFalse(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:57,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:58,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testComplexNestedAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertFalse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testComplexNestedAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:67,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:67,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:67,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:69,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:70,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:71,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testSimpleAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testSimpleAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:80,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:80,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:80,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:83,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:84,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:85,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:88,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:89,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:90,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestMethodAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestMethodAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:99,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:99,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:99,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:103,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:104,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:105,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:109,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:110,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:111,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRelativePathAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRelativePathAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:120,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:120,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:120,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:124,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:125,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:126,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:126,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:130,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:131,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:132,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRemoteIPAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRemoteIPAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:141,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:141,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:141,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:145,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:146,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:147,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:147,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:151,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:152,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testLocalIPAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testLocalIPAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:162,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:162,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:162,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:166,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:167,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:168,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:168,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:172,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:173,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:174,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testLocalPortAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testLocalPortAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:183,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:183,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:183,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:187,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:188,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:189,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:189,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:193,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:194,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:195,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestProtocolAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestProtocolAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:204,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:204,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:204,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:208,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:209,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:210,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:210,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:213,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:214,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:215,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:215,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:219,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:220,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:221,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 222
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testQueryStringAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testQueryStringAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:230,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:230,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:230,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:234,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:235,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:236,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:236,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:240,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:241,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:242,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestURLAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestURLAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:251,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:251,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:251,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:255,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:256,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:257,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:257,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:261,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:262,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:263,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:263,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:267,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:268,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:269,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testBytesSentAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testBytesSentAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:278,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:278,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:278,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:282,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:283,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:284,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:284,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:288,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:289,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:290,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:290,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:294,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:295,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:296,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 297
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testBytesReadAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testBytesReadAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:305,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:305,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:305,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:309,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:310,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:311,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:311,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:315,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:316,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:317,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:317,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:321,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:322,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:323,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 324
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testDateTimeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testDateTimeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:332,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:332,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:332,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:336,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:337,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:338,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:338,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:342,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:343,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:344,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRemoteUserAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRemoteUserAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:353,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:353,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:353,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:357,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:358,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:359,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:359,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:363,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:364,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:365,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseCodeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseCodeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:374,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:374,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:374,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:378,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:379,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:380,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:380,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:384,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:385,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:386,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 387
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRemoteHostAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRemoteHostAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:395,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:395,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:395,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:399,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:400,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:401,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:401,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:405,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:406,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:407,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 408
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRemoteObfuscatedIPAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRemoteObfuscatedIPAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:416,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:416,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:416,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:419,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:420,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:421,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testIdentUsernameAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testIdentUsernameAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:430,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:430,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:430,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:433,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:434,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:435,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 436
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testAuthenticationTypeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testAuthenticationTypeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:444,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:444,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:444,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:447,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:448,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:449,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testHostAndPortAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testHostAndPortAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:458,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:458,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:458,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:462,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:463,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:464,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:464,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:468,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:469,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:470,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 471
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testLocalServerNameAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testLocalServerNameAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:479,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:479,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:479,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:482,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:483,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:484,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestPathAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestPathAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:493,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:493,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:493,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:496,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:497,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:498,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testResolvedPathAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testResolvedPathAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:507,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:507,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:507,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:510,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:511,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:512,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestSchemeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestSchemeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:521,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:521,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:521,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:524,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:525,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:526,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 527
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseReasonPhraseAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseReasonPhraseAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:535,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:535,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:535,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:538,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:539,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:540,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 541
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testSecureExchangeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testSecureExchangeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:549,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:549,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:549,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:552,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:553,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:554,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testSecureProtocolAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testSecureProtocolAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:563,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:563,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:563,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:566,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:567,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:568,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testSslCipherAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testSslCipherAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:577,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:577,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:577,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:580,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:581,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:582,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testSslClientCertAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testSslClientCertAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:591,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:591,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:591,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:594,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:595,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:596,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 597
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testSslSessionIdAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testSslSessionIdAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:605,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:605,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:605,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:609,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:610,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:611,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:611,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:615,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:616,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:617,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testThreadNameAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testThreadNameAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:626,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:626,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:626,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:629,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:630,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:631,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testTransportProtocolAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testTransportProtocolAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:640,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:640,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:640,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:643,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:644,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:645,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 646
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testNullAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testNullAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:654,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:654,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:654,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:658,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:659,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:660,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:660,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:664,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:665,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:666,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:666,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:670,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:671,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:672,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:672,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:676,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:677,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:678,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:678,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:682,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:683,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:684,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 685
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseTimeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseTimeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:693,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:693,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:693,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:697,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:698,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:699,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 700
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestHeaderAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestHeaderAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:708,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:708,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:708,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:712,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:713,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:714,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 715
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseHeaderAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseHeaderAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:723,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:723,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:723,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:727,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:728,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:729,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 730
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testCookieAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testCookieAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:738,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:738,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:738,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:742,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:743,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:744,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 745
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 745
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestCookieAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testRequestCookieAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:753,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:753,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:753,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:757,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:758,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:759,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 760
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 760
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseCookieAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testResponseCookieAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:768,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:768,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:768,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:772,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:773,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:774,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 775
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testQueryParameterAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testQueryParameterAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:783,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:783,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:783,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:787,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:788,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:789,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 790
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testPathParameterAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testPathParameterAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:798,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:798,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:798,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:801,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:802,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:803,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testPredicateContextAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testPredicateContextAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:812,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:812,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:812,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:816,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:817,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:818,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:818,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:822,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:823,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:824,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:824,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:828,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:829,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:830,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 831
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testConstantAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testConstantAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExchangeAttributeParserTest.class.getClassLoader()
      Src: io.undertow.attribute.ExchangeAttributeParserTest:839,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:839,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:839,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:843,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:844,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:846,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:846,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:850,1
    - Dst: '[org.junit.Assert].assertTrue(String)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:851,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:852,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
      Src: io.undertow.attribute.ExchangeAttributeParserTest:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 853
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 853
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].testCompositeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(io.undertow.attribute.ExchangeAttributeParserTest,io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - ExchangeAttributeParserTest.class.getClassLoader()
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(io.undertow.attribute.ExchangeAttributeParserTest)'
    - '[org.junit.Assert].assertTrue(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.attribute.ExchangeAttributeParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].testCompositeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttributeParserTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ExchangeAttributeParserTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeParserTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttributeParserTest
    signature: '[io.undertow.attribute.ExchangeAttributeParserTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].relativePath()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:46,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:49,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:49,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRelativePathAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].relativePath()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRelativePathAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].requestMethod()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:60,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:63,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:63,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpPost,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRequestMethodAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributes].requestMethod()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpPost,String)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRequestMethodAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].localIp()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:74,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:77,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:77,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].getHostAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:79,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:79,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testLocalIPAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].getHostAddress()'
    - '[io.undertow.attribute.ExchangeAttributes].localIp()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.InetSocketAddress].getAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testLocalIPAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].remoteIp()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:90,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:93,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:93,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].getHostAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:94,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRemoteIPAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributes].remoteIp()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].getHostAddress()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.InetSocketAddress].getAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRemoteIPAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].localPort()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:103,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:103,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:106,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:106,1
    - Dst: String.valueOf()
      Src: io.undertow.attribute.ExchangeAttributeReadTest:107,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testLocalPortAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].localPort()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
    - String.valueOf()
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testLocalPortAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].requestProtocol()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:119,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:122,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRequestProtocolAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].requestProtocol()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRequestProtocolAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].requestList()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:133,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:133,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:136,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:136,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRequestLineAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].requestList()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRequestLineAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:147,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:147,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].queryString()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:149,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:149,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:151,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:153,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testQueryStringAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.attribute.ExchangeAttributes].queryString()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testQueryStringAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].requestURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:164,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:164,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:167,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:167,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:166,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:173,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:173,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRequestURLAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].requestURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRequestURLAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:184,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:187,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:187,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:188,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:188,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].getHostAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:188,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRemoteHostAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].getHostAddress()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.InetSocketAddress].getAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRemoteHostAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].remoteObfuscatedIp()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:198,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:198,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:201,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:201,1
    - Dst: '[io.undertow.util.NetworkUtils].toObfuscatedString(io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:201,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:202,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:202,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRemoteObfuscatedIPAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.util.NetworkUtils].toObfuscatedString(io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.attribute.ExchangeAttributes].remoteObfuscatedIp()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.InetSocketAddress].getAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRemoteObfuscatedIPAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:211,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:213,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:213,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testIdentUsernameAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testIdentUsernameAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.text.SimpleDateFormat].<init>(io.undertow.attribute.ExchangeAttributeReadTest,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:223,1
    - Dst: '[io.undertow.attribute.DateTimeAttribute].<init>(io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:225,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.DateTimeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:225,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:227,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:229,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:229,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:229,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].getStatusLine()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:230,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].getStatusCode()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:230,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:230,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:231,1
    - Dst: '[org.junit.Assert].assertNotNull(String,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:234,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:235,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:235,1
    - Dst: '[java.text.SimpleDateFormat].parse(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:239,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].fail(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:241,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:244,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].shutdown()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:244,1
    - Dst: '[io.undertow.testutils.TestHttpClient].close()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 247
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testDateTimeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[java.text.SimpleDateFormat].<init>(io.undertow.attribute.ExchangeAttributeReadTest,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].getStatusLine()'
    - '[org.junit.Assert].assertFalse(String,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.testutils.TestHttpClient].close()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].shutdown()'
    - '[io.undertow.attribute.DateTimeAttribute].<init>(io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].fail(String)'
    - '[java.text.SimpleDateFormat].parse(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertNotNull(String,String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.DateTimeAttribute)'
    - '[String].isEmpty()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testDateTimeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].bytesSent(boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:255,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:255,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:258,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:258,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:257,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].bytesSent(boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:263,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:263,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:266,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:266,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testBytesSentAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].bytesSent(boolean)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testBytesSentAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.BytesReadAttribute].<init>(boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:277,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:279,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:279,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:291,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:291,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:292,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:292,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:296,1
    - Dst: String.valueOf(io.undertow.attribute.ExchangeAttributeReadTest)
      Src: io.undertow.attribute.ExchangeAttributeReadTest:296,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpPost,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testBytesReadAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - String.valueOf(io.undertow.attribute.ExchangeAttributeReadTest)
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].getBytes()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpPost,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[io.undertow.attribute.BytesReadAttribute].<init>(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testBytesReadAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].constant(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:306,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:306,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:308,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:308,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testConstantAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributes].constant(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testConstantAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].remoteUser()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:317,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:317,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:319,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:319,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testRemoteUserAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributes].remoteUser()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testRemoteUserAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].authenticationType()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:328,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:328,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:330,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:330,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testAuthenticationTypeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributes].authenticationType()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testAuthenticationTypeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:339,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:341,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:342,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:343,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:343,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testHostAndPortAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testHostAndPortAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map].of(String,String,String,String,String,String,String,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:353,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].entrySet()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:359,1
    - Dst: constant.getKey()
      Src: io.undertow.attribute.ExchangeAttributeReadTest:361,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].constant(io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:361,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWrapper].wrap(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:363,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:363,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:365,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:365,1
    - Dst: constant.getValue()
      Src: io.undertow.attribute.ExchangeAttributeReadTest:365,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 367
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testQuotingExchangeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map].of(String,String,String,String,String,String,String,String)'
    - constant.getKey()
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributes].constant(io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeReadTest)'
    - constant.getValue()
    - '[io.undertow.attribute.ExchangeAttributeReadTest].entrySet()'
    - '[io.undertow.attribute.ExchangeAttributeWrapper].wrap(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testQuotingExchangeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:375,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:375,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:378,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:378,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:381,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:381,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String,boolean,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testResponseTimeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ResponseTimeAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testResponseTimeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.SecureProtocolAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:395,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:396,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:400,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:400,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:399,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 392
    functionDepth: 6
    functionLinenumber: 392
    functionLinenumberEnd: 409
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testSecureProtocolAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,boolean)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.SecureProtocolAttribute)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testSecureProtocolAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.SslCipherAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:417,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:418,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:422,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:422,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:421,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 6
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testSslCipherAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.SslCipherAttribute)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testSslCipherAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.SslClientCertAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:437,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:438,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:442,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:442,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String,boolean,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:441,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 6
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testSslClientCertAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.SslClientCertAttribute)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testSslClientCertAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.SslSessionIdAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:458,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:459,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:463,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:463,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String,boolean,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:462,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 456
    functionDepth: 6
    functionLinenumber: 456
    functionLinenumberEnd: 471
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testSslSessionIdAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.SslSessionIdAttribute)'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testSslSessionIdAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.CompositeExchangeAttribute].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:479,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.CompositeExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:479,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:488,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:488,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 491
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].testCompositeExchangeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.CompositeExchangeAttribute)'
    - '[io.undertow.attribute.CompositeExchangeAttribute].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].testCompositeExchangeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 18
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].setRootHandler(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.methods.HttpRequestBase
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - expectedResponse
    argTypes:
    - org.apache.http.client.methods.HttpRequestBase
    - String
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 8
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.methods.HttpRequestBase
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - method
    - expectedResponse
    - setSSLContext
    argTypes:
    - org.apache.http.client.methods.HttpRequestBase
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 7
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:534,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:536,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:536,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpRequestBase)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:539,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].getStatusLine()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:540,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].getStatusCode()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:540,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:540,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:541,1
    - Dst: '[String].matches(String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:543,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.attribute.ExchangeAttributeReadTest)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:543,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:545,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:548,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeReadTest].shutdown()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:548,1
    - Dst: '[io.undertow.testutils.TestHttpClient].close()'
      Src: io.undertow.attribute.ExchangeAttributeReadTest:549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.methods.HttpRequestBase
      - String
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - method
    - expectedResponse
    - setSSLContext
    - isRegex
    argTypes:
    - org.apache.http.client.methods.HttpRequestBase
    - String
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 551
      start: 533
    functionDepth: 6
    functionLinenumber: 533
    functionLinenumberEnd: 551
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeReadTest].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpRequestBase)'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].getStatusLine()'
    - '[String].matches(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.testutils.TestHttpClient].close()'
    - '[io.undertow.attribute.ExchangeAttributeReadTest].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[org.junit.Assert].assertTrue(io.undertow.attribute.ExchangeAttributeReadTest)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttributeReadTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ExchangeAttributeReadTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeReadTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttributeReadTest
    signature: '[io.undertow.attribute.ExchangeAttributeReadTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.CookieAttribute].<init>(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:40,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.CookieAttribute,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:42,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:44,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:44,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:46,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:49,1
    - Dst: '[org.apache.http.HttpResponse].getFirstHeader(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:52,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:52,1
    - Dst: '[org.apache.http.HttpResponse].getFirstHeader(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:53,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].getValue()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:53,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].equals(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:53,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testCookieAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].getValue()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].equals(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.CookieAttribute,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[org.apache.http.HttpResponse].getFirstHeader(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.attribute.CookieAttribute].<init>(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertNotNull(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,io.undertow.attribute.ExchangeAttributeWriteTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testCookieAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.PathParameterAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:62,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.PathParameterAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:65,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:65,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testPathParameterAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.PathParameterAttribute].<init>(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.PathParameterAttribute,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testPathParameterAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.PredicateContextAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:94,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testPredicateContextAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.PredicateContextAttribute].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testPredicateContextAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QueryParameterAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:105,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.QueryParameterAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:108,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testQueryParameterAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QueryParameterAttribute].<init>(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.QueryParameterAttribute,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testQueryParameterAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].queryString()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:119,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:122,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:121,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].queryString()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:127,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:127,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:130,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:130,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testQueryStringAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributes].queryString()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testQueryStringAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].relativePath()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:141,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:141,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:144,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRelativePathAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].relativePath()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRelativePathAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RequestCookieAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:155,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.RequestCookieAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:155,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:158,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:158,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestCookieAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.RequestCookieAttribute,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.RequestCookieAttribute].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestCookieAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:169,1
    - Dst: '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:169,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.RequestHeaderAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:169,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:172,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:172,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestHeaderAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.RequestHeaderAttribute,String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestHeaderAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:183,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:186,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:186,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestPathAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestPathAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:200,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:200,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestSchemeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestSchemeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].requestURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:211,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:211,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:214,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:214,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestURLAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributes].requestURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testRequestURLAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:225,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:228,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:228,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResolvedPathAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResolvedPathAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:239,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:242,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:244,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:244,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:244,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].getStatusLine()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:246,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].getStatusCode()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:246,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:246,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:248,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:249,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:251,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].shutdown()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:251,1
    - Dst: '[io.undertow.testutils.TestHttpClient].close()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResponseCodeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].getStatusLine()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].getStatusCode()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].close()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResponseCodeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ResponseCookieAttribute].<init>(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:264,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ResponseCookieAttribute,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:264,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:267,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:267,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:266,1
    - Dst: '[org.apache.http.HttpResponse].getFirstHeader(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:272,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:272,1
    - Dst: '[org.apache.http.HttpResponse].getFirstHeader(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:273,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].getValue()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:273,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].equals(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:273,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 274
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResponseCookieAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].getValue()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ResponseCookieAttribute,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].equals(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.apache.http.HttpResponse].getFirstHeader(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.attribute.ResponseCookieAttribute].<init>(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertNotNull(io.undertow.attribute.ExchangeAttributeWriteTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResponseCookieAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:282,1
    - Dst: '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:282,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ResponseHeaderAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:282,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:285,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:285,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:284,1
    - Dst: '[org.apache.http.HttpResponse].getFirstHeader(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:290,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:290,1
    - Dst: '[org.apache.http.HttpResponse].getFirstHeader(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:291,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].getValue()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:291,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResponseHeaderAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].getValue()'
    - '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[org.apache.http.HttpResponse].getFirstHeader(String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertNotNull(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ResponseHeaderAttribute,String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResponseHeaderAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:302,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:313,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:313,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:312,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:318,1
    - Dst: '[org.apache.http.HttpResponse].getStatusLine()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:319,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].getReasonPhrase()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:319,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.attribute.ExchangeAttributeWriteTest,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 320
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResponseReasonPhraseAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[org.apache.http.HttpResponse].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].getReasonPhrase()'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(io.undertow.attribute.ExchangeAttributeWriteTest,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testResponseReasonPhraseAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:328,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:331,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:331,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testSecureExchangeAttribute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testSecureExchangeAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.PathParameterAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:343,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:344,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper].wrap(io.undertow.attribute.PathParameterAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:345,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:348,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:355,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:355,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:354,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:360,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:363,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:363,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 366
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].testSubstituteEmptyWrapper()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.SubstituteEmptyWrapper].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[io.undertow.attribute.PathParameterAttribute].<init>(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.SubstituteEmptyWrapper].wrap(io.undertow.attribute.PathParameterAttribute)'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpGet,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].testSubstituteEmptyWrapper()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - attribute
    - newValue
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    - String
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 9
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].setRootHandler(io.undertow.attribute.ExchangeAttribute,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.methods.HttpRequestBase
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.HttpResponse
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - expectedResponse
    argTypes:
    - org.apache.http.client.methods.HttpRequestBase
    - String
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 8
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean)'
    linkageType: ''
    returnType: org.apache.http.HttpResponse
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean,boolean)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.methods.HttpRequestBase
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.HttpResponse
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - method
    - expectedResponse
    - setSSLContext
    argTypes:
    - org.apache.http.client.methods.HttpRequestBase
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 7
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean,boolean)'
    linkageType: ''
    returnType: org.apache.http.HttpResponse
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:414,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:416,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:416,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpRequestBase)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:419,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].getStatusLine()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:420,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].getStatusCode()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:420,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:420,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:421,1
    - Dst: '[String].matches(String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:423,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.attribute.ExchangeAttributeWriteTest)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:423,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:425,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:429,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeWriteTest].shutdown()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:429,1
    - Dst: '[io.undertow.testutils.TestHttpClient].close()'
      Src: io.undertow.attribute.ExchangeAttributeWriteTest:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.methods.HttpRequestBase
      - String
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.HttpResponse
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - method
    - expectedResponse
    - setSSLContext
    - isRegex
    argTypes:
    - org.apache.http.client.methods.HttpRequestBase
    - String
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 432
      start: 413
    functionDepth: 6
    functionLinenumber: 413
    functionLinenumberEnd: 432
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpRequestBase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[String].matches(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].shutdown()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].getStatusLine()'
    - '[io.undertow.attribute.ExchangeAttributeWriteTest].getStatusCode()'
    - '[org.junit.Assert].assertTrue(io.undertow.attribute.ExchangeAttributeWriteTest)'
    - '[io.undertow.testutils.TestHttpClient].close()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: org.apache.http.HttpResponse
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].doSuccessfulRequest(org.apache.http.client.methods.HttpRequestBase,String,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttributeWriteTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ExchangeAttributeWriteTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/attribute/ExchangeAttributeWriteTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttributeWriteTest
    signature: '[io.undertow.attribute.ExchangeAttributeWriteTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.BufferTortureTestCase:44,1
    - Dst: '[io.undertow.Handlers].websocket(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:44,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:79,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:79,1
    - Dst: exchange.getRequestHeaders()
      Src: io.undertow.websockets.core.BufferTortureTestCase:85,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:85,1
    - Dst: '[String].equalsIgnoreCase(io.undertow.websockets.core.BufferTortureTestCase)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:86,1
    - Dst: originCheckCalled.set(boolean)
      Src: io.undertow.websockets.core.BufferTortureTestCase:87,1
    - Dst: exchange.getRequestHeaders()
      Src: io.undertow.websockets.core.BufferTortureTestCase:88,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:88,1
    - Dst: allowedOrigins.contains(io.undertow.websockets.core.BufferTortureTestCase)
      Src: io.undertow.websockets.core.BufferTortureTestCase:90,1
    - Dst: upgradesRejected.incrementAndGet()
      Src: io.undertow.websockets.core.BufferTortureTestCase:91,1
    - Dst: exchange.setStatusCode(int)
      Src: io.undertow.websockets.core.BufferTortureTestCase:92,1
    - Dst: exchange.getResponseSender()
      Src: io.undertow.websockets.core.BufferTortureTestCase:93,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestCase].send(String)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:93,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].handleRequest(io.undertow.websockets.core.BufferTortureTestCase)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:97,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.core.BufferTortureTestCase)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.core.BufferTortureTestCase].beforeTests()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferTortureTestCase].send(String)'
    - upgradesRejected.incrementAndGet()
    - '[io.undertow.websockets.core.BufferTortureTestCase].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.core.BufferTortureTestCase)'
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - originCheckCalled.set(boolean)
    - '[String].equalsIgnoreCase(io.undertow.websockets.core.BufferTortureTestCase)'
    - exchange.getRequestHeaders()
    - exchange.getResponseSender()
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].handleRequest(io.undertow.websockets.core.BufferTortureTestCase)'
    - '[io.undertow.Handlers].websocket(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - exchange.setStatusCode(int)
    - allowedOrigins.contains(io.undertow.websockets.core.BufferTortureTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestCase].beforeTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.core.BufferTortureTestCase)'
      Src: io.undertow.websockets.core.BufferTortureTestCase:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.core.BufferTortureTestCase].afterTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.core.BufferTortureTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestCase].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.BufferTortureTestCase
      static: false
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.BufferTortureTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.BufferTortureTestCase
    signature: '[io.undertow.websockets.core.BufferTortureTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:80,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:83,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:84,1
    - Dst: probe.upgradeWithDeflate(String,String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:85,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].toString()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:86,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:86,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:86,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].toString()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:87,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].isDeflateNegotiated(io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:87,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(io.undertow.websockets.core.BufferTortureTestBase,boolean)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:87,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:88,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].isDeflateNegotiated(io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:88,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:88,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:90,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].setupTorture()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 1
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.websockets.core.BufferTortureTestBase)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].toString()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(io.undertow.websockets.core.BufferTortureTestBase,boolean)'
    - probe.upgradeWithDeflate(String,String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].isDeflateNegotiated(io.undertow.websockets.core.BufferTortureTestBase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].setupTorture()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].exit()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].exit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].setupTorture()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:103,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].set(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:104,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].set(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:105,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].set(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:106,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:107,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].clearSlate()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.BufferTortureTestBase].setupTorture()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[java.util.concurrent.atomic.AtomicInteger].set(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].clearSlate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:113,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].<init>(String,int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.utils.WebSocketRawTestClient
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].<init>(String,int)'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketRawTestClient
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println()
      Src: io.undertow.websockets.core.BufferTortureTestBase:118,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:119,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:121,1
    - Dst: client.upgrade(String,String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:122,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:124,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:124,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:125,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:125,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:125,1
    - Dst: client.sendText(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:127,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:128,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:130,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:131,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertEquals(String,String)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:132,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 136
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].test_1_baseline_Origin()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
    - client.upgrade(String,String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
    - client.sendText(String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertEquals(String,String)'
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
    - System.out.println()
    - '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].test_1_baseline_Origin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println()
      Src: io.undertow.websockets.core.BufferTortureTestBase:140,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:141,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:143,1
    - Dst: client.upgrade(String,String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:144,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:146,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:146,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:147,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertFalse(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:147,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:148,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:148,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:151,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].test_2_baseline_InValidOrigin()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
    - client.upgrade(String,String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertFalse(String,io.undertow.websockets.core.BufferTortureTestBase)'
    - System.out.println()
    - '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].test_2_baseline_InValidOrigin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:157,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:157,1
    - Dst: System.out.println()
      Src: io.undertow.websockets.core.BufferTortureTestBase:159,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:160,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:162,1
    - Dst: client.upgradeWithDeflate(String,String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:163,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:164,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:164,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildDeflateFragmentBomb(int,int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:169,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.BufferTortureTestBase:172,1
    - Dst: client.sendRaw(byte[])
      Src: io.undertow.websockets.core.BufferTortureTestBase:174,1
    - Dst: e.printStackTrace()
      Src: io.undertow.websockets.core.BufferTortureTestBase:176,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.BufferTortureTestBase:179,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.websockets.core.BufferTortureTestBase:181,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:183,1
    - Dst: client.readAvailableFrame(int)
      Src: io.undertow.websockets.core.BufferTortureTestBase:184,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertNotNull(io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:185,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].toString()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:186,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isClose()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:186,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:186,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,int)
      Src: io.undertow.websockets.core.BufferTortureTestBase:187,1
    - Dst: Math.max(int,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:188,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:188,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:189,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:190,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:191,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getOpCode()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:192,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:192,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getRawContent()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:192,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:192,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertEquals(String,int,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:194,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:195,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:199,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:200,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 203
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].test_3_deflateFragment()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferTortureTestBase].getRawContent()'
    - client.upgradeWithDeflate(String,String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].toString()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,String,io.undertow.websockets.core.BufferTortureTestBase)'
    - Math.max(int,io.undertow.websockets.core.BufferTortureTestBase)
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildDeflateFragmentBomb(int,int)'
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
    - System.out.println()
    - client.sendRaw(byte[])
    - client.readAvailableFrame(int)
    - System.out.println(String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].isClose()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
    - e.printStackTrace()
    - System.currentTimeMillis()
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertNotNull(io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].getOpCode()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertEquals(String,int,io.undertow.websockets.core.BufferTortureTestBase)'
    - Thread.sleep(int)
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,int)
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)'
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].test_3_deflateFragment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:207,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:207,1
    - Dst: System.out.println()
      Src: io.undertow.websockets.core.BufferTortureTestBase:209,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:210,1
    - Dst: java.util.Arrays.fill(io.undertow.websockets.core.BufferTortureTestBase,byte)
      Src: io.undertow.websockets.core.BufferTortureTestBase:213,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:215,1
    - Dst: client.upgradeWithDeflate(String,String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:216,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:217,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:217,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompressedFrame(int,boolean,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:219,1
    - Dst: client.sendRaw(byte[])
      Src: io.undertow.websockets.core.BufferTortureTestBase:224,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:231,1
    - Dst: client.readAvailableFrame(int)
      Src: io.undertow.websockets.core.BufferTortureTestBase:232,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertNotNull(io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:233,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].toString()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:234,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isClose()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:234,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:234,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,int)
      Src: io.undertow.websockets.core.BufferTortureTestBase:235,1
    - Dst: Math.max(int,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:236,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:236,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:237,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:238,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getOpCode()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:239,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:239,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].getRawContent()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:239,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:239,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:242,1
    - Dst: System.out.printf(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:243,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:245,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:246,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].fail()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:247,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:249,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 253
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].test_4_compressionBomb()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferTortureTestBase].getRawContent()'
    - client.upgradeWithDeflate(String,String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].toString()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
    - java.util.Arrays.fill(io.undertow.websockets.core.BufferTortureTestBase,byte)
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.core.BufferTortureTestBase)'
    - Math.max(int,io.undertow.websockets.core.BufferTortureTestBase)
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
    - System.out.println()
    - System.out.printf(String)
    - client.sendRaw(byte[])
    - client.readAvailableFrame(int)
    - System.out.println(String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].isClose()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].getStatusCode()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].fail()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertNotNull(io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompressedFrame(int,boolean,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].getOpCode()'
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,int)
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)'
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].test_4_compressionBomb()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println()
      Src: io.undertow.websockets.core.BufferTortureTestBase:259,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:260,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:262,1
    - Dst: client.upgrade(String,String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:263,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:264,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:264,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.BufferTortureTestBase:266,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildPingFlood(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:268,1
    - Dst: client.sendRaw(byte[])
      Src: io.undertow.websockets.core.BufferTortureTestBase:268,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.BufferTortureTestBase:269,1
    - Dst: client.countPongFrames(int)
      Src: io.undertow.websockets.core.BufferTortureTestBase:271,1
    - Dst: System.out.printf(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:273,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:274,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:275,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:276,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:276,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,String,int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:278,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:280,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertEquals(String,int,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:280,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:283,1
    - Dst: System.out.printf(String,int)
      Src: io.undertow.websockets.core.BufferTortureTestBase:284,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:286,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].fail()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 291
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].test_5_pingFlood()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertEquals(String,int,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,String,int)'
    - client.sendRaw(byte[])
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildPingFlood(int)'
    - client.upgrade(String,String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
    - client.countPongFrames(int)
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase)
    - '[io.undertow.websockets.core.BufferTortureTestBase].fail()'
    - System.out.println()
    - System.out.printf(String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String)'
    - System.currentTimeMillis()
    - System.out.printf(String,int)
    - '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
    - System.out.println(String)
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].test_5_pingFlood()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:296,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:296,1
    - Dst: System.out.println()
      Src: io.undertow.websockets.core.BufferTortureTestBase:298,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:299,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:300,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:301,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:302,1
    - Dst: System.out.println()
      Src: io.undertow.websockets.core.BufferTortureTestBase:303,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].clearSlate()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:312,1
    - Dst: java.util.Arrays.fill(io.undertow.websockets.core.BufferTortureTestBase,byte)
      Src: io.undertow.websockets.core.BufferTortureTestBase:315,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:317,1
    - Dst: client.upgradeWithDeflate(String,String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:318,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:319,1
    - Dst: System.out.printf(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:320,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompressedFrame(int,boolean,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:324,1
    - Dst: client.sendRaw(byte[])
      Src: io.undertow.websockets.core.BufferTortureTestBase:329,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:334,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:349,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:355,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:356,1
    - Dst: System.out.println(String)
      Src: io.undertow.websockets.core.BufferTortureTestBase:357,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].fail()'
      Src: io.undertow.websockets.core.BufferTortureTestBase:358,1
    - Dst: System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)
      Src: io.undertow.websockets.core.BufferTortureTestBase:360,1
    - Dst: '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,String,io.undertow.websockets.core.BufferTortureTestBase)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 294
    functionDepth: 6
    functionLinenumber: 294
    functionLinenumberEnd: 367
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].test_6_doublingGrowthPattern()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompressedFrame(int,boolean,io.undertow.websockets.core.BufferTortureTestBase)'
    - client.upgradeWithDeflate(String,String)
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].clearSlate()'
    - client.sendRaw(byte[])
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,io.undertow.websockets.core.BufferTortureTestBase)'
    - '[io.undertow.websockets.core.BufferTortureTestBase].createRawClient()'
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].fail()'
    - System.out.println()
    - java.util.Arrays.fill(io.undertow.websockets.core.BufferTortureTestBase,byte)
    - System.out.printf(String)
    - '[io.undertow.websockets.core.BufferTortureTestBase].isUpgraded()'
    - '[io.undertow.websockets.core.BufferTortureTestBase].assertTrue(String,String,io.undertow.websockets.core.BufferTortureTestBase)'
    - System.out.println(String)
    - System.out.printf(String,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase,io.undertow.websockets.core.BufferTortureTestBase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].test_6_doublingGrowthPattern()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:64,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:65,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:66,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:67,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:68,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:70,1
    - Dst: '[java.util.Set].of(String)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:71,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.BufferTortureTestBase:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.atomic.AtomicBoolean
      - java.util.concurrent.CountDownLatch
      - java.util.Set<String>
      - String
      - java.nio.charset.Charset
      - java.util.concurrent.atomic.AtomicBoolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.BufferTortureTestBase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.BufferTortureTestBase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/BufferTortureTestBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[java.util.Set].of(String)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    linkageType: ''
    returnType: io.undertow.websockets.core.BufferTortureTestBase
    signature: '[io.undertow.websockets.core.BufferTortureTestBase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.FrameTortureTestCase:43,1
    - Dst: '[io.undertow.Handlers].websocket(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:43,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:78,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:78,1
    - Dst: exchange.getRequestHeaders()
      Src: io.undertow.websockets.core.FrameTortureTestCase:84,1
    - Dst: '[io.undertow.websockets.core.FrameTortureTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:84,1
    - Dst: '[String].equalsIgnoreCase(io.undertow.websockets.core.FrameTortureTestCase)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:85,1
    - Dst: originCheckCalled.set(boolean)
      Src: io.undertow.websockets.core.FrameTortureTestCase:86,1
    - Dst: exchange.getRequestHeaders()
      Src: io.undertow.websockets.core.FrameTortureTestCase:87,1
    - Dst: '[io.undertow.websockets.core.FrameTortureTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:87,1
    - Dst: allowedOrigins.contains(io.undertow.websockets.core.FrameTortureTestCase)
      Src: io.undertow.websockets.core.FrameTortureTestCase:89,1
    - Dst: upgradesRejected.incrementAndGet()
      Src: io.undertow.websockets.core.FrameTortureTestCase:90,1
    - Dst: exchange.setStatusCode(int)
      Src: io.undertow.websockets.core.FrameTortureTestCase:91,1
    - Dst: exchange.getResponseSender()
      Src: io.undertow.websockets.core.FrameTortureTestCase:92,1
    - Dst: '[io.undertow.websockets.core.FrameTortureTestCase].send(String)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:92,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].handleRequest(io.undertow.websockets.core.FrameTortureTestCase)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.core.FrameTortureTestCase)'
      Src: io.undertow.websockets.core.FrameTortureTestCase:99,1
    - Dst: System.setProperty(String,String)
      Src: io.undertow.websockets.core.FrameTortureTestCase:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 107
    functionName: '[io.undertow.websockets.core.FrameTortureTestCase].beforeTests()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/FrameTortureTestCase.java
    functionUses: 0
    functionsReached:
    - System.setProperty(String,String)
    - upgradesRejected.incrementAndGet()
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - allowedOrigins.contains(io.undertow.websockets.core.FrameTortureTestCase)
    - originCheckCalled.set(boolean)
    - exchange.getResponseSender()
    - exchange.getRequestHeaders()
    - '[io.undertow.websockets.core.FrameTortureTestCase].send(String)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].handleRequest(io.undertow.websockets.core.FrameTortureTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.core.FrameTortureTestCase)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    - '[io.undertow.Handlers].websocket(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - exchange.setStatusCode(int)
    - '[io.undertow.websockets.core.FrameTortureTestCase].getFirst(io.undertow.util.HttpString)'
    - '[String].equalsIgnoreCase(io.undertow.websockets.core.FrameTortureTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.FrameTortureTestCase].beforeTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.clearProperty(String)
      Src: io.undertow.websockets.core.FrameTortureTestCase:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.core.FrameTortureTestCase].afterTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/FrameTortureTestCase.java
    functionUses: 0
    functionsReached:
    - System.clearProperty(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.FrameTortureTestCase].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.FrameTortureTestCase
      static: false
      superClass: io.undertow.websockets.core.BufferTortureTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.FrameTortureTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/FrameTortureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.FrameTortureTestCase
    signature: '[io.undertow.websockets.core.FrameTortureTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:66,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:70,1
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:71,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:71,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:91,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:92,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:92,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:92,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:93,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].messageToBig(long)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:95,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:95,1
    - Dst: '[io.netty.buffer.Unpooled].copiedBuffer(String,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:96,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:96,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:96,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:96,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:96,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:96,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:97,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:97,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testTextSizeLimited()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/AbstractWebSocketServerTest.java
    functionUses: 0
    functionsReached:
    - '[io.netty.buffer.Unpooled].copiedBuffer(String,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[java.nio.ByteBuffer].array()'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,org.xnio.FutureResult)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].messageToBig(long)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testTextSizeLimited()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:103,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:107,1
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:108,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:108,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:108,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:128,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:129,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:129,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:129,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:130,1
    - Dst: '[io.netty.buffer.Unpooled].copiedBuffer(String,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:131,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:131,1
    - Dst: '[String].getBytes(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:131,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:131,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:131,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:132,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:132,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testText()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/AbstractWebSocketServerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.net.URI].<init>(String)'
    - '[io.netty.buffer.Unpooled].copiedBuffer(String,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,org.xnio.FutureResult)'
    - '[String].getBytes(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testText()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:138,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:142,1
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:143,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:143,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:143,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:173,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:174,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:176,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:176,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:176,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:177,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].messageToBig(long)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:179,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:179,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:180,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:180,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:180,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:180,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:180,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:180,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:181,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:181,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 183
    functionName: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testBinarySizeLimited()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/AbstractWebSocketServerTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[java.nio.ByteBuffer].array()'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,org.xnio.FutureResult)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].messageToBig(long)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testBinarySizeLimited()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:187,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:191,1
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:192,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:192,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:192,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:218,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:219,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:221,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:221,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:221,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:222,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:223,1
    - Dst: '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:223,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:223,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:223,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:224,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:224,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 227
    functionName: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testBinary()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/AbstractWebSocketServerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.net.URI].<init>(String)'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,org.xnio.FutureResult)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame].<init>(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testBinary()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:231,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:235,1
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:236,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:236,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:236,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:251,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:253,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:254,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:254,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:254,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:255,1
    - Dst: '[io.netty.handler.codec.http.websocketx.CloseWebSocketFrame].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:256,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(org.xnio.FutureResult)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:256,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.CloseWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:256,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:257,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:257,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:258,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:258,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 260
    functionName: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testCloseFrame()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/AbstractWebSocketServerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.netty.handler.codec.http.websocketx.CloseWebSocketFrame].<init>()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.net.URI].<init>(String)'
    - '[org.junit.Assert].assertFalse(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.CloseWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(org.xnio.FutureResult)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testCloseFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:264,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:268,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:269,1
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:270,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:270,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:270,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:295,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:296,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:295,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:298,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy(boolean)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:299,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:300,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].await(int,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:300,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:301,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:301,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:302,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].messageCloseWebSocket()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:303,1
    - Dst: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getReason()'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:303,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 304
    functionName: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testCloseOnPeerGone()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/AbstractWebSocketServerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy(boolean)'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getReason()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].await(int,io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].messageCloseWebSocket()'
    - '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[org.junit.Assert].assertNotNull(io.undertow.websockets.core.protocol.AbstractWebSocketServerTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].testCloseOnPeerGone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http.websocketx.WebSocketVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/AbstractWebSocketServerTest.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: io.netty.handler.codec.http.websocketx.WebSocketVersion
    signature: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].repeat(int)'
      Src: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/AbstractWebSocketServerTest.java
    functionUses: 0
    functionsReached:
    - '[String].repeat(int)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest
    signature: '[io.undertow.websockets.core.protocol.AbstractWebSocketServerTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http.websocketx.WebSocketVersion
      static: false
      superClass: io.undertow.websockets.core.protocol.WebSocket08ServerTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: '[io.undertow.websockets.core.protocol.WebSocket13ServerTestCase].getVersion()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocket13ServerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.netty.handler.codec.http.websocketx.WebSocketVersion
    signature: '[io.undertow.websockets.core.protocol.WebSocket13ServerTestCase].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.WebSocket13ServerTestCase
      static: false
      superClass: io.undertow.websockets.core.protocol.WebSocket08ServerTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.protocol.WebSocket13ServerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocket13ServerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.WebSocket13ServerTestCase
    signature: '[io.undertow.websockets.core.protocol.WebSocket13ServerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http.websocketx.WebSocketVersion
      static: false
      superClass: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].getVersion()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocket07ServerTest.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.netty.handler.codec.http.websocketx.WebSocketVersion
    signature: '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:56,1
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:57,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:57,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:82,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:83,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].getVersion()'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:85,1
    - Dst: '[java.net.URI].<init>(char)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:85,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:85,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:86,1
    - Dst: '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.core.protocol.WebSocket07ServerTest)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:87,1
    - Dst: '[io.netty.handler.codec.http.websocketx.PingWebSocketFrame].<init>(io.undertow.websockets.core.protocol.WebSocket07ServerTest)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:87,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.WebSocket07ServerTest,org.xnio.FutureResult)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:87,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.PingWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:87,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:88,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].get()'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:88,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.websockets.core.protocol.WebSocket07ServerTest:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 90
    functionName: '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].testPing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocket07ServerTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.WebSocket07ServerTest,org.xnio.FutureResult)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.PingWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[org.xnio.FutureResult].<init>()'
    - '[String].getBytes()'
    - '[io.netty.handler.codec.http.websocketx.PingWebSocketFrame].<init>(io.undertow.websockets.core.protocol.WebSocket07ServerTest)'
    - '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].get()'
    - '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].getVersion()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[java.net.URI].<init>(char)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[io.netty.buffer.Unpooled].wrappedBuffer(io.undertow.websockets.core.protocol.WebSocket07ServerTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].testPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.WebSocket07ServerTest
      static: false
      superClass: io.undertow.websockets.core.protocol.AbstractWebSocketServerTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocket07ServerTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.WebSocket07ServerTest
    signature: '[io.undertow.websockets.core.protocol.WebSocket07ServerTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http.websocketx.WebSocketVersion
      static: false
      superClass: io.undertow.websockets.core.protocol.WebSocket07ServerTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: '[io.undertow.websockets.core.protocol.WebSocket08ServerTest].getVersion()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocket08ServerTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.netty.handler.codec.http.websocketx.WebSocketVersion
    signature: '[io.undertow.websockets.core.protocol.WebSocket08ServerTest].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.WebSocket08ServerTest
      static: false
      superClass: io.undertow.websockets.core.protocol.WebSocket07ServerTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.protocol.WebSocket08ServerTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocket08ServerTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.WebSocket08ServerTest
    signature: '[io.undertow.websockets.core.protocol.WebSocket08ServerTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:60,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].set(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase,int)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:60,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].set(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase,int)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:60,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:60,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:60,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].getMap()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:60,1
    - Dst: '[java.util.concurrent.Executors].newScheduledThreadPool(int)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - java.util.concurrent.ScheduledExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].beforeTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].set(org.xnio.Option<Integer>,int)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
    - '[java.util.concurrent.Executors].newScheduledThreadPool(int)'
    - '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].set(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase,int)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].getMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].beforeTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ScheduledExecutorService].shutdown()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - java.util.concurrent.ScheduledExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].afterTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ScheduledExecutorService].shutdown()'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - java.util.concurrent.ScheduledExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http.websocketx.WebSocketVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].getVersion()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.netty.handler.codec.http.websocketx.WebSocketVersion
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:80,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:97,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].getVersion()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:98,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:98,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:98,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:99,1
    - Dst: '[io.netty.buffer.Unpooled].copiedBuffer(String,io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:100,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:100,1
    - Dst: '[String].getBytes(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:100,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase,org.xnio.FutureResult)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:100,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:100,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:101,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].get()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:101,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:103,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:104,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:105,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].<init>(io.undertow.websockets.utils.WebSocketTestClient,org.xnio.FutureResult,io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:106,1
    - Dst: '[java.util.concurrent.ScheduledExecutorService].scheduleAtFixedRate(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard,int,int,io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:108,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].setTaskScheduledFuture(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:109,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:111,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].get()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:111,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:113,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - java.util.concurrent.ScheduledExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 121
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].testServerReadTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.netty.buffer.Unpooled].copiedBuffer(String,io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase,org.xnio.FutureResult)'
    - '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].<init>(io.undertow.websockets.utils.WebSocketTestClient,org.xnio.FutureResult,io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
    - '[org.junit.Assert].fail(String)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    - '[java.util.concurrent.ScheduledExecutorService].scheduleAtFixedRate(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard,int,int,io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
    - '[String].getBytes(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[java.net.URI].<init>(String)'
    - System.currentTimeMillis()
    - '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].setTaskScheduledFuture(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase)'
    - '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].getVersion()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].testServerReadTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - java.util.concurrent.ScheduledExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.utils.WebSocketTestClient
      - org.xnio.FutureResult<Long>
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketTestClient
      - FutureResult<Long>
      - long
      - ScheduledFuture<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - resultHandler
    - watchEnd
    argTypes:
    - io.undertow.websockets.utils.WebSocketTestClient
    - org.xnio.FutureResult<Long>
    - long
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].<init>(io.undertow.websockets.utils.WebSocketTestClient,org.xnio.FutureResult<Long>,long)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].<init>(io.undertow.websockets.utils.WebSocketTestClient,org.xnio.FutureResult<Long>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.ScheduledFuture<?>
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketTestClient
      - FutureResult<Long>
      - long
      - ScheduledFuture<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sf2
    argTypes:
    - java.util.concurrent.ScheduledFuture<?>
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].setTaskScheduledFuture(java.util.concurrent.ScheduledFuture<?>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].setTaskScheduledFuture(java.util.concurrent.ScheduledFuture<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:142,1
    - Dst: '[ScheduledFuture<?>].cancel(boolean)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:143,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].channelActive()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:144,1
    - Dst: '[FutureResult<Long>].setResult(long)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:145,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:147,1
    - Dst: '[FutureResult<Long>].setResult(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:147,1
    - Dst: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].channelActive()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:150,1
    - Dst: '[ScheduledFuture<?>].cancel(boolean)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:151,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:152,1
    - Dst: '[FutureResult<Long>].setResult(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard)'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketTestClient
      - FutureResult<Long>
      - long
      - ScheduledFuture<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].run()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[FutureResult<Long>].setResult(long)'
    - '[FutureResult<Long>].setResult(io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard)'
    - '[ScheduledFuture<?>].cancel(boolean)'
    - System.currentTimeMillis()
    - '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].channelActive()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].isOpen()'
      Src: io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketTestClient
      - FutureResult<Long>
      - long
      - ScheduledFuture<?>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].channelActive()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/WebSocketTimeoutTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketTestClient].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.WebSocketTimeoutTestCase.ReadTimeoutChannelGuard].channelActive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:96,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].<init>(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/server/AutobahnWebSocketServer.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer
    signature: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:111,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,boolean)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,boolean)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getMap()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].createWorker(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:113,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:124,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:124,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,boolean)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:124,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,boolean)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:124,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getMap()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:124,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:129,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:129,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:130,1
    - Dst: '[java.net.InetSocketAddress].<init>(int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:131,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:131,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getRootHandler()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:134,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:134,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].resumeAccepts()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:135,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].run()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/server/AutobahnWebSocketServer.java
    functionUses: 1
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer)'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,int)'
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getMap()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
    - '[java.net.InetSocketAddress].<init>(int)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getRootHandler()'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].resumeAccepts()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer)'
    - '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].createWorker(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer)'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:142,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getRootHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/server/AutobahnWebSocketServer.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getRootHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/server/AutobahnWebSocketServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].<init>(int)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:195,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].run()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].main(String[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/server/AutobahnWebSocketServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].run()'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].receive()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:157,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].getType()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:160,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].getType()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:161,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].send()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:162,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].getType()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:163,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].getReadSetter()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:164,1
    - Dst: '[org.xnio.ChannelListeners].drainListener(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,null,null)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:164,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:164,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].wakeupReads()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:165,1
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].getType()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:168,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].send(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:168,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:170,1
    - Dst: '[org.xnio.ChannelListeners].writeShutdownChannelListener(org.xnio.ChannelListener,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:170,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:175,1
    - Dst: '[io.undertow.util.Transfer].initiateTransfer(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,io.undertow.websockets.core.StreamSinkFrameChannel,null,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver)'
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:170,1
    - Dst: e.printStackTrace()
      Src: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].handleEvent(io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/server/AutobahnWebSocketServer.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.core.WebSocketChannel].send()'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].getReadSetter()'
    - '[org.xnio.ChannelListeners].drainListener(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,null,null)'
    - '[io.undertow.websockets.core.WebSocketChannel].receive()'
    - '[io.undertow.util.Transfer].initiateTransfer(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,io.undertow.websockets.core.StreamSinkFrameChannel,null,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver)'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].wakeupReads()'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].getType()'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[io.undertow.websockets.core.WebSocketChannel].send(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver)'
    - e.printStackTrace()
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].set(io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver)'
    - '[org.xnio.ChannelListeners].writeShutdownChannelListener(org.xnio.ChannelListener,io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].handleEvent(io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/core/protocol/server/AutobahnWebSocketServer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver
    signature: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer.Receiver].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:67,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].<init>(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionCustomReceiverServer.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:82,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,boolean)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,boolean)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].getMap()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].createWorker(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:84,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:95,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:95,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,boolean)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:95,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,boolean)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:95,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].getMap()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:95,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:100,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:100,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:101,1
    - Dst: '[java.net.InetSocketAddress].<init>(int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:102,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:102,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].getRootHandler()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:105,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:106,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:105,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:105,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].resumeAccepts()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:108,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].run()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionCustomReceiverServer.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].createWorker(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer)'
    - '[java.net.InetSocketAddress].<init>(int)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
    - '[RuntimeException].<init>(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,boolean)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer,int)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].resumeAccepts()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].getMap()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].getRootHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:115,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].getRootHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionCustomReceiverServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].getRootHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionCustomReceiverServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].<init>(int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:168,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].run()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      - io.undertow.websockets.core.WebSocketChannel
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSinkFrameChannel>
      - org.xnio.ChannelExceptionHandler<io.undertow.websockets.core.StreamSourceFrameChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 7
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].main(String[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionCustomReceiverServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].<init>(int)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].run()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].receive()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:130,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].getType()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:133,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].getType()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:134,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].send()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:135,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].getType()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:136,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].getReadSetter()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:137,1
    - Dst: '[org.xnio.ChannelListeners].drainListener(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,null,null)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:137,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:137,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].wakeupReads()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:138,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].getType()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:141,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].send(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:141,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:143,1
    - Dst: '[org.xnio.ChannelListeners].writeShutdownChannelListener(org.xnio.ChannelListener,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:143,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:148,1
    - Dst: '[io.undertow.util.Transfer].initiateTransfer(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,io.undertow.websockets.core.StreamSinkFrameChannel,null,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:143,1
    - Dst: e.printStackTrace()
      Src: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].handleEvent(io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionCustomReceiverServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].send(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].getType()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].wakeupReads()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.core.WebSocketChannel].send()'
    - '[io.undertow.websockets.core.WebSocketChannel].receive()'
    - '[org.xnio.ChannelListeners].drainListener(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,null,null)'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[io.undertow.util.Transfer].initiateTransfer(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,io.undertow.websockets.core.StreamSinkFrameChannel,null,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].getReadSetter()'
    - e.printStackTrace()
    - '[org.xnio.ChannelListeners].writeShutdownChannelListener(org.xnio.ChannelListener,io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].set(io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].handleEvent(io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionCustomReceiverServer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionCustomReceiverServer.Receiver].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:58,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].webSocketDebugHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionsServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].webSocketDebugHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.AutobahnExtensionsServer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].<init>(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionsServer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.AutobahnExtensionsServer
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:73,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,boolean)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,boolean)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].getMap()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].createWorker(io.undertow.websockets.extensions.AutobahnExtensionsServer)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:75,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,boolean)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,boolean)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:84,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].getMap()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:84,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:88,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:88,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:89,1
    - Dst: '[java.net.InetSocketAddress].<init>(int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:90,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.extensions.AutobahnExtensionsServer,io.undertow.websockets.extensions.AutobahnExtensionsServer)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:90,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].webSocketDebugHandler()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:92,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:93,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:92,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:95,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].setRootHandler(io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:97,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].resumeAccepts()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:98,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.extensions.AutobahnExtensionsServer)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 102
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].run()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionsServer.java
    functionUses: 1
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.websockets.extensions.AutobahnExtensionsServer)'
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].getMap()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].resumeAccepts()'
    - '[java.net.InetSocketAddress].<init>(int)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].setRootHandler(io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,int)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].webSocketDebugHandler()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].createWorker(io.undertow.websockets.extensions.AutobahnExtensionsServer)'
    - '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.websockets.extensions.AutobahnExtensionsServer,io.undertow.websockets.extensions.AutobahnExtensionsServer)'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].set(io.undertow.websockets.extensions.AutobahnExtensionsServer,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionsServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].<init>(int)'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:109,1
    - Dst: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].run()'
      Src: io.undertow.websockets.extensions.AutobahnExtensionsServer:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.HttpOpenListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<org.xnio.StreamConnection>
      - org.xnio.Xnio
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 7
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].main(String[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/AutobahnExtensionsServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].run()'
    - '[io.undertow.websockets.extensions.AutobahnExtensionsServer].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.AutobahnExtensionsServer].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].getData()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:46,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:47,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:48,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedTextMessage
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedTextMessage
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
    - '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
    - '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
    - '[io.undertow.websockets.core.BufferedTextMessage].getData()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:56,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:56,1
    - Dst: data[i].remaining()
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:59,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:61,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:62,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].append(io.undertow.websockets.extensions.DebugExtensionsListener)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:62,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:62,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:62,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:64,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].info(io.undertow.websockets.extensions.DebugExtensionsListener)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:64,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:65,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.websockets.extensions.DebugExtensionsListener,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullBinaryMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[io.undertow.websockets.extensions.DebugExtensionsListener].info(io.undertow.websockets.extensions.DebugExtensionsListener)'
    - '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.websockets.extensions.DebugExtensionsListener,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
    - '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
    - '[io.undertow.websockets.extensions.DebugExtensionsListener].append(String)'
    - data[i].remaining()
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.websockets.extensions.DebugExtensionsListener].append(io.undertow.websockets.extensions.DebugExtensionsListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullBinaryMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:72,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:73,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:73,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:74,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.websockets.extensions.DebugExtensionsListener,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullPingMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
    - '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.websockets.extensions.DebugExtensionsListener,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
    - '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullPingMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullPongMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullPongMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:86,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:87,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:89,1
    - Dst: data[0].hasRemaining()
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:93,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:94,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(int,String,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:95,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:98,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.extensions.DebugExtensionsListener,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:99,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].close()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - data[0].hasRemaining()
    - '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
    - '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.extensions.DebugExtensionsListener,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
    - '[org.xnio.Pooled<ByteBuffer[]>].close()'
    - '[io.undertow.websockets.core.WebSockets].sendClose(int,String,io.undertow.websockets.extensions.DebugExtensionsListener,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.DebugExtensionsListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getMessage()'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:109,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsListener:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 2
    argNames:
    - channel
    - error
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Throwable
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsListener.java
    functionUses: 0
    functionsReached:
    - '[Throwable].getMessage()'
    - '[io.undertow.websockets.extensions.DebugExtensionsListener].info(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.DebugExtensionsListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.DebugExtensionsListener
      static: false
      superClass: io.undertow.websockets.core.AbstractReceiveListener
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsListener].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.DebugExtensionsListener
    signature: '[io.undertow.websockets.extensions.DebugExtensionsListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:45,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].size()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:46,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:46,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:47,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getName()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:47,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:47,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:48,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getName()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:48,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:48,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:56,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].size()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:57,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:57,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:58,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getName()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:58,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:58,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:59,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getParameters()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:59,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].size()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:59,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:59,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:60,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getName()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:60,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:60,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:61,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getParameters()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:61,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].size()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:61,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:61,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:62,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getParameters()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:62,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:62,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getName()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:62,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:62,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:63,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getParameters()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:63,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].get(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:63,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getValue()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:63,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].testParseExtension()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionParserTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].size()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getParameters()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getName()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].get(int)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].size()'
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].get(int)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].getValue()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].testParseExtension()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:74,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].toExtensionHeader(java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:75,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:76,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:84,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].toExtensionHeader(java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].testToExtensionHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionParserTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
    - '[io.undertow.websockets.WebSocketExtension].toExtensionHeader(java.util.List<io.undertow.websockets.WebSocketExtension>)'
    - '[org.junit.Assert].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].testToExtensionHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:92,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:93,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:94,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:97,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:98,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:99,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:102,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:103,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:104,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:107,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:108,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:109,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:112,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:113,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:114,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:117,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:118,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:119,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:122,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:123,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:124,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:127,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:128,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:129,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:132,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:133,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:134,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:137,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:138,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:139,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:142,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:143,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionParserTest:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 79
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 145
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].testWriteRsvBits()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionParserTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
    - '[org.junit.Assert].assertNotEquals(io.undertow.websockets.extensions.WebSocketExtensionParserTest,io.undertow.websockets.extensions.WebSocketExtensionParserTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].testWriteRsvBits()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.WebSocketExtensionParserTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionParserTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.WebSocketExtensionParserTest
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionParserTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Deflater].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,boolean)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:46,1
    - Dst: '[java.util.zip.Inflater].<init>(boolean)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Deflater].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,boolean)'
    - '[java.util.zip.Inflater].<init>(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Deflater].end()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:52,1
    - Dst: '[java.util.zip.Inflater].end()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].finish()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Deflater].end()'
    - '[java.util.zip.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].finish()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:60,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:60,1
    - Dst: '[java.util.zip.Deflater].finish()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:61,1
    - Dst: '[java.util.zip.Deflater].deflate(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:62,1
    - Dst: '[java.util.zip.Inflater].setInput(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:64,1
    - Dst: '[java.util.zip.Inflater].inflate(byte[])'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:65,1
    - Dst: '[String].<init>(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:67,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:67,1
    - Dst: '[java.util.zip.Deflater].reset()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:69,1
    - Dst: '[java.util.zip.Inflater].reset()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:70,1
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:74,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:74,1
    - Dst: '[java.util.zip.Deflater].finish()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:75,1
    - Dst: '[java.util.zip.Deflater].deflate(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:76,1
    - Dst: '[java.util.zip.Inflater].setInput(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:78,1
    - Dst: '[java.util.zip.Inflater].inflate(byte[])'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:79,1
    - Dst: '[String].<init>(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:81,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].testBasicCompressDecompress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    - '[java.util.zip.Deflater].finish()'
    - '[java.util.zip.Deflater].deflate(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].inflate(byte[])'
    - '[java.util.zip.Deflater].reset()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.zip.Inflater].setInput(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].reset()'
    - raw.getBytes()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].testBasicCompressDecompress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:96,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:96,1
    - Dst: '[java.util.zip.Deflater].deflate(byte[],int,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:98,1
    - Dst: '[java.util.zip.Inflater].setInput(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:100,1
    - Dst: '[java.util.zip.Inflater].inflate(byte[],io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:101,1
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:106,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:106,1
    - Dst: '[java.util.zip.Deflater].deflate(byte[],int,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:108,1
    - Dst: '[java.util.zip.Inflater].setInput(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:110,1
    - Dst: '[java.util.zip.Inflater].finished()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:111,1
    - Dst: '[java.util.zip.Inflater].inflate(byte[],io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:112,1
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:117,1
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:117,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:117,1
    - Dst: '[java.util.zip.Deflater].finish()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:118,1
    - Dst: '[java.util.zip.Deflater].deflate(byte[],int,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:119,1
    - Dst: '[java.util.zip.Inflater].setInput(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:121,1
    - Dst: '[java.util.zip.Inflater].inflate(byte[],io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:122,1
    - Dst: '[String].<init>(byte[],int,int,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:124,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 125
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].testCompressDecompressByFrames()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Inflater].inflate(byte[],io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Deflater].finish()'
    - '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    - '[java.util.zip.Deflater].deflate(byte[],int,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[String].<init>(byte[],int,int,String)'
    - '[java.util.zip.Inflater].setInput(byte[],int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].finished()'
    - raw.getBytes()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].testCompressDecompressByFrames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw.length()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:131,1
    - Dst: raw.length()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:132,1
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:137,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,int)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:137,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:138,1
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:142,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,int)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:142,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:143,1
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:147,1
    - Dst: raw.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:147,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,int)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:147,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:149,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:153,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:154,1
    - Dst: '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:156,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 157
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].testCompressByFramesDecompressWhole()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - raw.length()
    - '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    - '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,int)'
    - '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - raw.getBytes()
    - '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].testCompressByFramesDecompressWhole()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:163,1
    - Dst: '[Integer].<init>(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:169,1
    - Dst: '[Integer].toString()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:169,1
    - Dst: '[io.undertow.websockets.extensions.CompressionUtilsTest].charAt(int)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:169,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:169,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:171,1
    - Dst: '[io.undertow.websockets.extensions.CompressionUtilsTest].getBytes()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:172,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:176,1
    - Dst: '[java.util.zip.Deflater].finish()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:177,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:178,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:180,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:181,1
    - Dst: '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:183,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].testLongMessage()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Deflater].finish()'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    - '[io.undertow.websockets.extensions.CompressionUtilsTest].charAt(int)'
    - '[Integer].toString()'
    - '[io.undertow.websockets.extensions.CompressionUtilsTest].getBytes()'
    - '[StringBuilder].toString()'
    - '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[Integer].<init>(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[StringBuilder].<init>(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].testLongMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:189,1
    - Dst: '[Integer].<init>(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:195,1
    - Dst: '[Integer].toString()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:195,1
    - Dst: '[io.undertow.websockets.extensions.CompressionUtilsTest].charAt(int)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:195,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:195,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:197,1
    - Dst: '[io.undertow.websockets.extensions.CompressionUtilsTest].getBytes()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:198,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:210,1
    - Dst: '[java.util.zip.Deflater].finish()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:216,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:219,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:227,1
    - Dst: '[java.util.zip.Inflater].finished()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:228,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:229,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:231,1
    - Dst: '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:231,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 232
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].testCompressByFramesDecompressWholeLongMessage()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Deflater].finish()'
    - '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    - '[io.undertow.websockets.extensions.CompressionUtilsTest].charAt(int)'
    - '[Integer].toString()'
    - '[io.undertow.websockets.extensions.CompressionUtilsTest].getBytes()'
    - '[StringBuilder].toString()'
    - '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[Integer].<init>(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[StringBuilder].<init>(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].finished()'
    - '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].testCompressByFramesDecompressWholeLongMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Inflater].reset()'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:236,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:245,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:246,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:247,1
    - Dst: '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:248,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:248,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:250,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:251,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:252,1
    - Dst: '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:253,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:253,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:255,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:256,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:257,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:259,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:260,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:261,1
    - Dst: '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:262,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:262,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:264,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:265,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:266,1
    - Dst: '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:267,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 268
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].testEmptyFrames()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Inflater].reset()'
    - '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].testEmptyFrames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: original.getBytes()
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:276,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:276,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:277,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:292,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:293,1
    - Dst: '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:295,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
      Src: io.undertow.websockets.extensions.CompressionUtilsTest:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 296
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].testPadding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    - '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest)'
    - original.getBytes()
    - '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,io.undertow.websockets.extensions.CompressionUtilsTest)'
    - '[String].<init>(io.undertow.websockets.extensions.CompressionUtilsTest,int,io.undertow.websockets.extensions.CompressionUtilsTest,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].testPadding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.CompressionUtilsTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.extensions.CompressionUtilsTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/CompressionUtilsTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.CompressionUtilsTest
    signature: '[io.undertow.websockets.extensions.CompressionUtilsTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:70,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].webSocketDebugHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionBasicTestCase.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].webSocketDebugHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocketExtensionBasicTestCase.class.getClassLoader()
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:84,1
    - Dst: '[org.xnio.Xnio].getInstance(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:84,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getMap()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].createWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:85,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].webSocketDebugHandler()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:95,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:96,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:95,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:98,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].path()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:100,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].addPrefixPath(String,io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:100,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:103,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(null,java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:105,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:107,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:108,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:108,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,null,io.undertow.connector.ByteBufferPool,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,java.net.URI,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.HashSet)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:110,1
    - Dst: '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:110,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:112,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:113,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getReceiveSetter()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:115,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:115,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:115,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].resumeReceives()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:139,1
    - Dst: '[StringBuilder].<init>(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:142,1
    - Dst: Integer.toString(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:145,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].charAt(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:145,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:145,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:148,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:148,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:150,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:151,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:151,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].sendClose()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:152,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].stopWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 155
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].testLongTextMessage()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionBasicTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
    - '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
    - '[java.util.HashSet].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[StringBuilder].append(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.core.WebSockets].sendTextBlocking(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].webSocketDebugHandler()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
    - '[io.undertow.websockets.client.WebSocketClient].connect(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,null,io.undertow.connector.ByteBufferPool,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,java.net.URI,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.HashSet)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].resumeReceives()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].sendClose()'
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(null,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[StringBuilder].toString()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].charAt(int)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].stopWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[org.xnio.Xnio].getInstance(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].addPrefixPath(String,io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
    - Integer.toString(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)
    - WebSocketExtensionBasicTestCase.class.getClassLoader()
    - '[StringBuilder].<init>(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getReceiveSetter()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getMap()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].path()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].createWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].testLongTextMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocketExtensionBasicTestCase.class.getClassLoader()
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:163,1
    - Dst: '[org.xnio.Xnio].getInstance(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:163,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getMap()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].createWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:164,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].webSocketDebugHandler()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:175,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:176,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:175,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:178,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].path()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:180,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].addPrefixPath(String,io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:180,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:180,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.connector.ByteBufferPool,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,java.net.URI,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:184,1
    - Dst: '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:184,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:186,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:187,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getReceiveSetter()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:189,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:189,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:189,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].resumeReceives()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:213,1
    - Dst: '[StringBuilder].<init>(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:216,1
    - Dst: '[Integer].<init>(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:219,1
    - Dst: '[Integer].toString()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:219,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].charAt(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:219,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:219,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].send(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:222,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:223,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:223,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:223,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:225,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:227,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:227,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:227,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].sendClose()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:228,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].stopWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 62
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 231
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].testLongMessageWithoutExtensions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionBasicTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
    - '[Integer].toString()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[StringBuilder].append(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[Integer].<init>(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].webSocketDebugHandler()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].send(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].resumeReceives()'
    - '[io.undertow.websockets.client.WebSocketClient].connect(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.connector.ByteBufferPool,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,java.net.URI,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].sendClose()'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[StringBuilder].toString()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].charAt(int)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].stopWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[org.xnio.Xnio].getInstance(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].addPrefixPath(String,io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
    - '[io.undertow.util.StringWriteChannelListener].<init>(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - WebSocketExtensionBasicTestCase.class.getClassLoader()
    - '[StringBuilder].<init>(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getReceiveSetter()'
    - '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getMap()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].path()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].createWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].testLongMessageWithoutExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocketExtensionBasicTestCase.class.getClassLoader()
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:257,1
    - Dst: '[org.xnio.Xnio].getInstance(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:257,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getMap()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].createWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:258,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].webSocketDebugHandler()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:268,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:269,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:268,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:271,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].path()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:273,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].addPrefixPath(String,io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:273,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:273,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:277,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(null,java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:279,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:281,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:282,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:282,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,null,io.undertow.connector.ByteBufferPool,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,java.net.URI,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.HashSet)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:284,1
    - Dst: '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:284,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:286,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:287,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getReceiveSetter()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:289,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:289,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:289,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].resumeReceives()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:313,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].send(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:315,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:316,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:316,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:318,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:319,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:319,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].sendClose()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:320,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].shutdown()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:322,1
    - Dst: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].stopWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:323,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].getResponseExtensions()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:325,1
    - Dst: '[io.undertow.util.HeaderValues].toString()'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:325,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
      Src: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 326
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].testExtensionsHeaders()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionBasicTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,boolean)'
    - '[io.undertow.util.StringWriteChannelListener].<init>(String)'
    - '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>].get()'
    - '[java.util.HashSet].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.util.HeaderValues].toString()'
    - '[java.util.HashSet].<init>()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].webSocketDebugHandler()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].send(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.client.WebSocketClient].connect(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,null,io.undertow.connector.ByteBufferPool,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,java.net.URI,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.HashSet)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].resumeReceives()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].shutdown()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].sendClose()'
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(null,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].getResponseExtensions()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].stopWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[org.xnio.Xnio].getInstance(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].set(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase,int)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].addPrefixPath(String,io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
    - WebSocketExtensionBasicTestCase.class.getClassLoader()
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getReceiveSetter()'
    - '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].getMap()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].path()'
    - '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].createWorker(io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].testExtensionsHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/WebSocketExtensionBasicTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase
    signature: '[io.undertow.websockets.extensions.WebSocketExtensionBasicTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.util.HeaderValues
      - io.undertow.util.HeaderValues
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler
    signature: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.util.HeaderValues
      - io.undertow.util.HeaderValues
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].getRequestExtensions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].getRequestExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.util.HeaderValues
      - io.undertow.util.HeaderValues
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].getResponseExtensions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsHeaderHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].getResponseExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:54,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:55,1
    - Dst: '[io.undertow.util.HeaderMap].get(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:55,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:59,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:59,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:59,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:59,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:59,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].append(io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:59,1
    - Dst: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].append(String)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:59,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:68,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:68,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.websockets.extensions.DebugExtensionsHeaderHandler:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.util.HeaderValues
      - io.undertow.util.HeaderValues
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 94
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/extensions/DebugExtensionsHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].get(String)'
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].append(io.undertow.websockets.extensions.DebugExtensionsHeaderHandler)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].append(String)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.DebugExtensionsHeaderHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.utils.TestUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.utils.TestUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/TestUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.utils.TestUtils
    signature: '[io.undertow.websockets.utils.TestUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.utils.TestUtils:41,1
    - Dst: System.arraycopy(io.undertow.websockets.utils.TestUtils,io.undertow.websockets.utils.TestUtils,io.undertow.websockets.utils.TestUtils,int,io.undertow.websockets.utils.TestUtils)
      Src: io.undertow.websockets.utils.TestUtils:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.utils.TestUtils].readableBytes(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/TestUtils.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - System.arraycopy(io.undertow.websockets.utils.TestUtils,io.undertow.websockets.utils.TestUtils,io.undertow.websockets.utils.TestUtils,int,io.undertow.websockets.utils.TestUtils)
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.TestUtils].readableBytes(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.TestUtils].verify(io.undertow.websockets.utils.TestUtils)'
      Src: io.undertow.websockets.utils.TestUtils:50,1
    - Dst: '[io.undertow.websockets.utils.TestUtils].reset(io.undertow.websockets.utils.TestUtils)'
      Src: io.undertow.websockets.utils.TestUtils:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.websockets.utils.TestUtils].verifyAndReset()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/TestUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.TestUtils].verify(io.undertow.websockets.utils.TestUtils)'
    - '[io.undertow.websockets.utils.TestUtils].reset(io.undertow.websockets.utils.TestUtils)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.TestUtils].verifyAndReset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.bootstrap.Bootstrap].<init>()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:56,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - io.netty.bootstrap.Bootstrap
      - io.netty.channel.Channel
      - java.net.URI
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - boolean
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.utils.WebSocketTestClient
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - version
    - uri
    argTypes:
    - io.netty.handler.codec.http.websocketx.WebSocketVersion
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 22
    functionsReached:
    - '[io.netty.bootstrap.Bootstrap].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketTestClient
    signature: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.netty.handler.codec.http.websocketx.WebSocketVersion,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:75,1
    - Dst: '[String].equals(io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:76,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:77,1
    - Dst: '[io.netty.handler.codec.http.DefaultHttpHeaders].<init>()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:81,1
    - Dst: '[io.netty.handler.codec.http.websocketx.WebSocketClientHandshakerFactory].newHandshaker(java.net.URI,io.netty.handler.codec.http.websocketx.WebSocketVersion,null,boolean,io.netty.handler.codec.http.DefaultHttpHeaders)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:80,1
    - Dst: '[WSClientHandler].<init>(io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:82,1
    - Dst: '[io.netty.channel.nio.NioEventLoopGroup].<init>()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:83,1
    - Dst: '[io.netty.bootstrap.Bootstrap].group(io.netty.channel.nio.NioEventLoopGroup)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:84,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].channel()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:84,1
    - Dst: '[io.netty.channel.ChannelInitializer].<init>()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:86,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].handler(io.netty.channel.ChannelInitializer)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:84,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:99,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:99,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.websockets.utils.WebSocketTestClient,io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:99,1
    - Dst: '[io.netty.bootstrap.Bootstrap].connect(java.net.InetSocketAddress)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:98,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].syncUninterruptibly()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:100,1
    - Dst: handler.handshakeFuture.syncUninterruptibly()
      Src: io.undertow.websockets.utils.WebSocketTestClient:101,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].channel()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.netty.bootstrap.Bootstrap
      - io.netty.channel.Channel
      - java.net.URI
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - boolean
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.utils.WebSocketTestClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 33
    functionsReached:
    - '[io.netty.channel.ChannelInitializer].<init>()'
    - '[IllegalArgumentException].<init>(String)'
    - '[java.net.URI].getPort()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].syncUninterruptibly()'
    - handler.handshakeFuture.syncUninterruptibly()
    - '[String].equals(io.undertow.websockets.utils.WebSocketTestClient)'
    - '[io.netty.handler.codec.http.DefaultHttpHeaders].<init>()'
    - '[io.netty.bootstrap.Bootstrap].connect(java.net.InetSocketAddress)'
    - '[WSClientHandler].<init>(io.undertow.websockets.utils.WebSocketTestClient)'
    - '[java.net.URI].getScheme()'
    - '[java.net.URI].getHost()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].channel()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].handler(io.netty.channel.ChannelInitializer)'
    - '[io.netty.channel.nio.NioEventLoopGroup].<init>()'
    - '[io.netty.bootstrap.Bootstrap].group(io.netty.channel.nio.NioEventLoopGroup)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.websockets.utils.WebSocketTestClient,io.undertow.websockets.utils.WebSocketTestClient)'
    - '[io.netty.handler.codec.http.websocketx.WebSocketClientHandshakerFactory].newHandshaker(java.net.URI,io.netty.handler.codec.http.websocketx.WebSocketVersion,null,boolean,io.netty.handler.codec.http.DefaultHttpHeaders)'
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketTestClient
    signature: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.Channel].pipeline()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:111,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:111,1
    - Dst: '[io.netty.channel.SimpleChannelInboundHandler].<init>()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:111,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].addLast(String,io.netty.channel.SimpleChannelInboundHandler)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:111,1
    - Dst: '[io.netty.channel.Channel].writeAndFlush(io.netty.handler.codec.http.websocketx.WebSocketFrame)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:129,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].syncUninterruptibly()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:129,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].isSuccess()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:130,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].cause()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:131,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].onError(io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.handler.codec.http.websocketx.WebSocketFrame
      - FrameListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.netty.bootstrap.Bootstrap
      - io.netty.channel.Channel
      - java.net.URI
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - boolean
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.utils.WebSocketTestClient
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frame
    - listener
    argTypes:
    - io.netty.handler.codec.http.websocketx.WebSocketFrame
    - FrameListener
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.WebSocketFrame,FrameListener)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketTestClient].cause()'
    - '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
    - '[io.netty.channel.Channel].pipeline()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].addLast(String,io.netty.channel.SimpleChannelInboundHandler)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].syncUninterruptibly()'
    - '[io.netty.channel.Channel].writeAndFlush(io.netty.handler.codec.http.websocketx.WebSocketFrame)'
    - '[io.netty.channel.SimpleChannelInboundHandler].<init>()'
    - '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].onError(io.undertow.websockets.utils.WebSocketTestClient)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].isSuccess()'
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketTestClient
    signature: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.WebSocketFrame,FrameListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy(boolean)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.netty.bootstrap.Bootstrap
      - io.netty.channel.Channel
      - java.net.URI
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - boolean
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 31
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:145,1
    - Dst: '[io.netty.handler.codec.http.websocketx.CloseWebSocketFrame].<init>()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:146,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].<init>()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:146,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.CloseWebSocketFrame,io.undertow.websockets.utils.WebSocketTestClient.FrameListener)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:146,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:158,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:160,1
    - Dst: '[io.netty.channel.Channel].close()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:165,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].syncUninterruptibly()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:165,1
    - Dst: '[io.netty.bootstrap.Bootstrap].group()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:168,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].shutdownGracefully(int,int,io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:168,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].get()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:168,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:170,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.utils.WebSocketTestClient)'
      Src: io.undertow.websockets.utils.WebSocketTestClient:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.netty.bootstrap.Bootstrap
      - io.netty.channel.Channel
      - java.net.URI
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - boolean
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dirty
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 174
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 174
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient].destroy(boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.netty.handler.codec.http.websocketx.CloseWebSocketFrame].<init>()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].get()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].syncUninterruptibly()'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.CloseWebSocketFrame,io.undertow.websockets.utils.WebSocketTestClient.FrameListener)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].shutdownGracefully(int,int,io.undertow.websockets.utils.WebSocketTestClient)'
    - '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].<init>()'
    - '[RuntimeException].<init>(io.undertow.websockets.utils.WebSocketTestClient)'
    - '[io.netty.bootstrap.Bootstrap].group()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.utils.WebSocketTestClient)'
    - '[io.netty.channel.Channel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketTestClient].destroy(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.Channel].isActive()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.netty.bootstrap.Bootstrap
      - io.netty.channel.Channel
      - java.net.URI
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - boolean
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient].isActive()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.netty.channel.Channel].isActive()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketTestClient].isActive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.Channel].isOpen()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.netty.bootstrap.Bootstrap
      - io.netty.channel.Channel
      - java.net.URI
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - boolean
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient].isOpen()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 1
    functionsReached:
    - '[io.netty.channel.Channel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketTestClient].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.Channel].isWritable()'
      Src: io.undertow.websockets.utils.WebSocketTestClient:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.netty.bootstrap.Bootstrap
      - io.netty.channel.Channel
      - java.net.URI
      - io.netty.handler.codec.http.websocketx.WebSocketVersion
      - boolean
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient].isWritable()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.netty.channel.Channel].isWritable()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketTestClient].isWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.handler.codec.http.websocketx.WebSocketFrame
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frame
    argTypes:
    - io.netty.handler.codec.http.websocketx.WebSocketFrame
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].onFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].onFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].onError(Throwable)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].onError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.utils.WebSocketTestClient.FrameListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketTestClient.FrameListener
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.FrameListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(boolean)'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketClientHandshaker
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handshaker
    argTypes:
    - io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].<init>(io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].<init>(io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketClientHandshaker
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.netty.channel.ChannelFuture
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].handshakeFuture()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.netty.channel.ChannelFuture
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].handshakeFuture()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.ChannelHandlerContext].newPromise()'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelHandlerContext
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketClientHandshaker
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - io.netty.channel.ChannelHandlerContext
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].handlerAdded(io.netty.channel.ChannelHandlerContext)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.netty.channel.ChannelHandlerContext].newPromise()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].handlerAdded(io.netty.channel.ChannelHandlerContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.ChannelHandlerContext].channel()'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:229,1
    - Dst: '[WebSocketClientHandshaker].handshake(io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler)'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelHandlerContext
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketClientHandshaker
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - io.netty.channel.ChannelHandlerContext
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].channelActive(io.netty.channel.ChannelHandlerContext)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached:
    - '[WebSocketClientHandshaker].handshake(io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler)'
    - '[io.netty.channel.ChannelHandlerContext].channel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].channelActive(io.netty.channel.ChannelHandlerContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.ChannelHandlerContext].channel()'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:235,1
    - Dst: '[WebSocketClientHandshaker].isHandshakeComplete()'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:237,1
    - Dst: '[WebSocketClientHandshaker].finishHandshake(io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler,io.netty.handler.codec.http.FullHttpResponse)'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:238,1
    - Dst: '[ChannelPromise].setSuccess()'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:240,1
    - Dst: '[io.netty.util.ReferenceCountUtil].release(Object)'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:241,1
    - Dst: '[io.netty.util.ReferenceCountUtil].release(Object)'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:247,1
    - Dst: '[Exception].<init>(char)'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:248,1
    - Dst: '[io.netty.channel.ChannelHandlerContext].fireChannelRead(Object)'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelHandlerContext
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketClientHandshaker
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ctx
    - o
    argTypes:
    - io.netty.channel.ChannelHandlerContext
    - Object
    constantsTouched: []
    func_position:
      end: 252
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 252
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].channelRead0(io.netty.channel.ChannelHandlerContext,Object)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(char)'
    - '[io.netty.channel.ChannelHandlerContext].channel()'
    - '[io.netty.channel.ChannelHandlerContext].fireChannelRead(Object)'
    - '[io.netty.util.ReferenceCountUtil].release(Object)'
    - '[WebSocketClientHandshaker].isHandshakeComplete()'
    - '[ChannelPromise].setSuccess()'
    - '[WebSocketClientHandshaker].finishHandshake(io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler,io.netty.handler.codec.http.FullHttpResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].channelRead0(io.netty.channel.ChannelHandlerContext,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:255,1
    - Dst: '[ChannelPromise].isDone()'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:256,1
    - Dst: '[ChannelPromise].setFailure(Throwable)'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:257,1
    - Dst: '[io.netty.channel.ChannelHandlerContext].close()'
      Src: io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelHandlerContext
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocketClientHandshaker
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ctx
    - cause
    argTypes:
    - io.netty.channel.ChannelHandlerContext
    - Throwable
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].exceptionCaught(io.netty.channel.ChannelHandlerContext,Throwable)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketTestClient.java
    functionUses: 0
    functionsReached:
    - '[ChannelPromise].isDone()'
    - '[ChannelPromise].setFailure(Throwable)'
    - '[Throwable].printStackTrace()'
    - '[io.netty.channel.ChannelHandlerContext].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketTestClient.WSClientHandler].exceptionCaught(io.netty.channel.ChannelHandlerContext,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?extendsWebSocketFrame>
      - byte[]
      - org.xnio.FutureResult<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?extendsWebSocketFrame>
      - byte[]
      - org.xnio.FutureResult<?>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketTestClient.FrameListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.utils.FrameChecker
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - clazz
    - expectedPayload
    - latch
    argTypes:
    - Class<?extendsWebSocketFrame>
    - byte[]
    - org.xnio.FutureResult<?>
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.utils.FrameChecker].<init>(Class<?extendsWebSocketFrame>,byte[],org.xnio.FutureResult<?>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/FrameChecker.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.utils.FrameChecker
    signature: '[io.undertow.websockets.utils.FrameChecker].<init>(Class<?extendsWebSocketFrame>,byte[],org.xnio.FutureResult<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?extendsWebSocketFrame>].isInstance(io.netty.handler.codec.http.websocketx.WebSocketFrame)'
      Src: io.undertow.websockets.utils.FrameChecker:51,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.utils.FrameChecker:51,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].text()'
      Src: io.undertow.websockets.utils.FrameChecker:54,1
    - Dst: '[String].<init>(byte[],io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.utils.FrameChecker:56,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.utils.FrameChecker:56,1
    - Dst: '[io.netty.handler.codec.http.websocketx.WebSocketFrame].content()'
      Src: io.undertow.websockets.utils.FrameChecker:58,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].readableBytes()'
      Src: io.undertow.websockets.utils.FrameChecker:59,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].readBytes(io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.utils.FrameChecker:60,1
    - Dst: '[org.junit.Assert].assertArrayEquals(byte[],io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.utils.FrameChecker:62,1
    - Dst: '[org.xnio.FutureResult<?>].setResult(null)'
      Src: io.undertow.websockets.utils.FrameChecker:64,1
    - Dst: CloseWebSocketFrame.class.isInstance(io.netty.handler.codec.http.websocketx.WebSocketFrame)
      Src: io.undertow.websockets.utils.FrameChecker:67,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.utils.FrameChecker:67,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.websockets.utils.FrameChecker:70,1
    - Dst: '[org.xnio.FutureResult<?>].setException(java.io.IOException)'
      Src: io.undertow.websockets.utils.FrameChecker:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.handler.codec.http.websocketx.WebSocketFrame
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?extendsWebSocketFrame>
      - byte[]
      - org.xnio.FutureResult<?>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketTestClient.FrameListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frame
    argTypes:
    - io.netty.handler.codec.http.websocketx.WebSocketFrame
    constantsTouched: []
    func_position:
      end: 72
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.utils.FrameChecker].onFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/FrameChecker.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.FutureResult<?>].setResult(null)'
    - '[org.junit.Assert].assertTrue(io.undertow.websockets.utils.FrameChecker)'
    - '[org.xnio.FutureResult<?>].setException(java.io.IOException)'
    - '[Class<?extendsWebSocketFrame>].isInstance(io.netty.handler.codec.http.websocketx.WebSocketFrame)'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].text()'
    - CloseWebSocketFrame.class.isInstance(io.netty.handler.codec.http.websocketx.WebSocketFrame)
    - '[org.junit.Assert].assertEquals(String,io.undertow.websockets.utils.FrameChecker)'
    - '[io.netty.handler.codec.http.websocketx.WebSocketFrame].content()'
    - '[io.undertow.websockets.utils.FrameChecker].readableBytes()'
    - '[io.undertow.websockets.utils.FrameChecker].readBytes(io.undertow.websockets.utils.FrameChecker)'
    - '[java.io.IOException].<init>(io.undertow.websockets.utils.FrameChecker)'
    - '[org.junit.Assert].assertArrayEquals(byte[],io.undertow.websockets.utils.FrameChecker)'
    - '[String].<init>(byte[],io.undertow.websockets.utils.FrameChecker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.FrameChecker].onFrame(io.netty.handler.codec.http.websocketx.WebSocketFrame)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.websockets.utils.FrameChecker:77,1
    - Dst: '[org.junit.Assert].fail()'
      Src: io.undertow.websockets.utils.FrameChecker:78,1
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.websockets.utils.FrameChecker:80,1
    - Dst: '[org.xnio.FutureResult<?>].setException(java.io.IOException)'
      Src: io.undertow.websockets.utils.FrameChecker:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - Class<?extendsWebSocketFrame>
      - byte[]
      - org.xnio.FutureResult<?>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketTestClient.FrameListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.utils.FrameChecker].onError(Throwable)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/FrameChecker.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].fail()'
    - '[org.xnio.FutureResult<?>].setException(java.io.IOException)'
    - '[Throwable].printStackTrace()'
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.FrameChecker].onError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:44,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.WritableByteChannel
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.utils.StreamSinkChannelAdapter
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - java.nio.channels.WritableByteChannel
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].<init>(java.nio.channels.WritableByteChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[ChannelListener.SimpleSetter].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.utils.StreamSinkChannelAdapter
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].<init>(java.nio.channels.WritableByteChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.WritableByteChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 1
    functionsReached:
    - '[java.nio.channels.WritableByteChannel].write(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.WritableByteChannel].close()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].close()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.WritableByteChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.WritableByteChannel].isOpen()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].isOpen()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.WritableByteChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(ByteBuffer[],int,io.undertow.websockets.utils.StreamSinkChannelAdapter)'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(ByteBuffer[],int,io.undertow.websockets.utils.StreamSinkChannelAdapter)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].shutdownWrites()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].shutdownWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getWriteThread()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: org.xnio.XnioExecutor
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getWriteThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].flush()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getWorker()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getIoThread()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,java.nio.channels.WritableByteChannel)'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].transferTo(long,long,java.nio.channels.WritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:165,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:167,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:168,1
    - Dst: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:169,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:171,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.websockets.utils.StreamSinkChannelAdapter].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener.Setter<?extendsStreamSinkChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getWriteSetter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener.Setter<?extendsStreamSinkChannel>
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getWriteSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener.Setter<?extendsStreamSinkChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener.Setter<?extendsStreamSinkChannel>
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.Channels].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.Channels].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.Channels].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.Channels].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.Channels].writeFinalBasic(ByteBuffer[],int,io.undertow.websockets.utils.StreamSinkChannelAdapter)'
      Src: io.undertow.websockets.utils.StreamSinkChannelAdapter:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSinkChannel>
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].writeFinal(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSinkChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.Channels].writeFinalBasic(ByteBuffer[],int,io.undertow.websockets.utils.StreamSinkChannelAdapter)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSinkChannelAdapter].writeFinal(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.utils.WebSocketPayloadUtil
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketPayloadUtil
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: request.getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - host
    - port
    - path
    - origin
    - wsKey
    argTypes:
    - String
    - int
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildUpgradeRequest(String,int,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 1
    functionsReached:
    - request.getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildUpgradeRequest(String,int,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:82,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:82,1
    - Dst: '[java.util.Base64].getEncoder()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:83,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].encodeToString(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].generateWebSocketKey()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 3
    functionsReached:
    - '[java.util.Base64].getEncoder()'
    - '[java.util.Random].nextBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.util.Random].<init>()'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].encodeToString(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].generateWebSocketKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:91,1
    - Dst: (wsKey + WS_MAGIC).getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:92,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].update(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:92,1
    - Dst: '[java.util.Base64].getEncoder()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:93,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].digest()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:93,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].encodeToString(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:93,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - wsKey
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].computeAcceptKey(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached:
    - '[java.util.Base64].getEncoder()'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].digest()'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].update(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].encodeToString(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[RuntimeException].<init>(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - (wsKey + WS_MAGIC).getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].computeAcceptKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:104,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:108,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:113,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int,int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:115,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:116,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:117,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int,int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:119,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:121,1
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:127,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:127,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil,int,int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:128,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:132,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - opcode
    - fin
    - payload
    argTypes:
    - int
    - boolean
    - byte[]
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 1
    functionsReached:
    - '[java.util.Random].nextBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil,int,int)'
    - '[java.util.Random].<init>()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].write(int)'
    - '[java.io.ByteArrayOutputStream].write(int,int)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:143,1
    - Dst: '[String].getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:144,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:146,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:147,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildPingFlood(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 1
    functionsReached:
    - '[String].getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildPingFlood(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFragmentationBomb(int,int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - fragmentCount
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFragmentationBomb(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFragmentationBomb(int,int)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFragmentationBomb(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:169,1
    - Dst: java.util.Arrays.fill(io.undertow.websockets.utils.WebSocketPayloadUtil,byte)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:171,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:174,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:175,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:179,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:180,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - fragmentCount
    - payloadPerFragment
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 185
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFragmentationBomb(int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 1
    functionsReached:
    - java.util.Arrays.fill(io.undertow.websockets.utils.WebSocketPayloadUtil,byte)
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFragmentationBomb(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:192,1
    - Dst: '[String].getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:193,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:195,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:196,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:199,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:200,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:203,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:204,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - fragmentCount
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompletedFragmentedMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompletedFragmentedMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].generateWebSocketKey()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:216,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildUpgradeRequest(String,int,String,String,String)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:217,1
    - Dst: '[String].getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:218,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:218,1
    - Dst: System.arraycopy(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil,int,io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:221,1
    - Dst: System.arraycopy(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - host
    - port
    - path
    - origin
    - message
    argTypes:
    - String
    - int
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildUpgradeWithEarlyFrame(String,int,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)
    - System.arraycopy(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil,int,io.undertow.websockets.utils.WebSocketPayloadUtil)
    - '[String].getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildUpgradeRequest(String,int,String,String,String)'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].generateWebSocketKey()'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildUpgradeWithEarlyFrame(String,int,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: request.getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - host
    - port
    - path
    - origin
    - wsKey
    argTypes:
    - String
    - int
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildDeflateUpgradeRequest(String,int,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached:
    - request.getBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildDeflateUpgradeRequest(String,int,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Deflater].<init>(io.undertow.websockets.utils.WebSocketPayloadUtil,boolean)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:250,1
    - Dst: '[java.util.zip.Deflater].setInput(byte[])'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:251,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:253,1
    - Dst: Math.max(int,int)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:254,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.websockets.utils.WebSocketPayloadUtil,int,io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:257,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil,int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:258,1
    - Dst: '[java.util.zip.Deflater].end()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:259,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:261,1
    - Dst: java.util.Arrays.copyOf(io.undertow.websockets.utils.WebSocketPayloadUtil,int)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].deflateCompress(byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 1
    functionsReached:
    - '[java.util.zip.Deflater].setInput(byte[])'
    - java.util.Arrays.copyOf(io.undertow.websockets.utils.WebSocketPayloadUtil,int)
    - '[java.util.zip.Deflater].<init>(io.undertow.websockets.utils.WebSocketPayloadUtil,boolean)'
    - '[java.util.zip.Deflater].end()'
    - Math.max(int,int)
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.util.zip.Deflater].deflate(io.undertow.websockets.utils.WebSocketPayloadUtil,int,io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil,int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].deflateCompress(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:277,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:278,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:282,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int,int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:284,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:285,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:286,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int,int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:288,1
    - Dst: '[java.io.ByteArrayOutputStream].write(int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:290,1
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:295,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:295,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil,int,int)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:296,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:299,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - firstByte
    - payload
    argTypes:
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 303
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 303
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildMaskedFrame(int,byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].nextBytes(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil,int,int)'
    - '[java.util.Random].<init>()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].write(int)'
    - '[java.io.ByteArrayOutputStream].write(int,int)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildMaskedFrame(int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].deflateCompress(byte[])'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:310,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildMaskedFrame(io.undertow.websockets.utils.WebSocketPayloadUtil,byte[])'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - opcode
    - fin
    - payload
    argTypes:
    - int
    - boolean
    - byte[]
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompressedFrame(int,boolean,byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].deflateCompress(byte[])'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildMaskedFrame(io.undertow.websockets.utils.WebSocketPayloadUtil,byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompressedFrame(int,boolean,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,byte[])'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - fin
    - rawPayload
    argTypes:
    - boolean
    - byte[]
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompressedContinuationFrame(boolean,byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildCompressedContinuationFrame(boolean,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: java.util.Arrays.fill(io.undertow.websockets.utils.WebSocketPayloadUtil,byte)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:354,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].deflateCompress(io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:357,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:360,1
    - Dst: Math.max(int,io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:361,1
    - Dst: Math.min(io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:365,1
    - Dst: java.util.Arrays.copyOfRange(byte[],io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:366,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildMaskedFrame(io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:371,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:372,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:375,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:376,1
    - Dst: Math.max(int,io.undertow.websockets.utils.WebSocketPayloadUtil)
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:383,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:384,1
    - Dst: '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:385,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.utils.WebSocketPayloadUtil:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - fragmentCount
    - totalDecompressedSize
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 391
    functionName: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildDeflateFragmentBomb(int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketPayloadUtil.java
    functionUses: 1
    functionsReached:
    - java.util.Arrays.fill(io.undertow.websockets.utils.WebSocketPayloadUtil,byte)
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildMaskedFrame(io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].write(byte[],int,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - Math.min(io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)
    - java.util.Arrays.copyOfRange(byte[],io.undertow.websockets.utils.WebSocketPayloadUtil,io.undertow.websockets.utils.WebSocketPayloadUtil)
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].deflateCompress(io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - Math.max(int,io.undertow.websockets.utils.WebSocketPayloadUtil)
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketPayloadUtil)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildDeflateFragmentBomb(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:43,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.ReadableByteChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.utils.StreamSourceChannelAdapter
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - java.nio.channels.ReadableByteChannel
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].<init>(java.nio.channels.ReadableByteChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[ChannelListener.SimpleSetter].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.utils.StreamSourceChannelAdapter
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].<init>(java.nio.channels.ReadableByteChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ReadableByteChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ReadableByteChannel].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ReadableByteChannel].close()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].close()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ReadableByteChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ReadableByteChannel].isOpen()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].isOpen()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ReadableByteChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].read(ByteBuffer[],int,io.undertow.websockets.utils.StreamSourceChannelAdapter)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].read(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.StreamSourceChannelAdapter].read(ByteBuffer[],int,io.undertow.websockets.utils.StreamSourceChannelAdapter)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].read(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ReadableByteChannel].read()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ReadableByteChannel].read()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].suspendReads()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].resumeReads()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].shutdownReads()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].shutdownReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getReadThread()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: org.xnio.XnioExecutor
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getReadThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getWorker()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getIoThread()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:144,1
    - Dst: '[java.nio.channels.ReadableByteChannel].read(io.undertow.websockets.utils.StreamSourceChannelAdapter)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:145,1
    - Dst: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].flip()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:146,1
    - Dst: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].hasRemaining()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:147,1
    - Dst: '[java.nio.channels.FileChannel].write(io.undertow.websockets.utils.StreamSourceChannelAdapter)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:148,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:149,1
    - Dst: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].clear()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.StreamSourceChannelAdapter].hasRemaining()'
    - '[java.nio.ByteBuffer].allocate(int)'
    - '[java.nio.channels.FileChannel].write(io.undertow.websockets.utils.StreamSourceChannelAdapter)'
    - '[java.io.IOException].<init>(String)'
    - '[io.undertow.websockets.utils.StreamSourceChannelAdapter].clear()'
    - '[java.nio.channels.ReadableByteChannel].read(io.undertow.websockets.utils.StreamSourceChannelAdapter)'
    - '[io.undertow.websockets.utils.StreamSourceChannelAdapter].flip()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:158,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:159,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:160,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.websockets.utils.StreamSourceChannelAdapter)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:160,1
    - Dst: '[java.nio.channels.ReadableByteChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:162,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:163,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:164,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.utils.StreamSourceChannelAdapter:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - buf
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].limit(io.undertow.websockets.utils.StreamSourceChannelAdapter)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.io.IOException].<init>(String)'
    - '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.channels.ReadableByteChannel].read(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener.Setter<?extendsStreamSourceChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getReadSetter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener.Setter<?extendsStreamSourceChannel>
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getReadSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.channels.ReadableByteChannel
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      - ChannelListener.SimpleSetter<?extendsStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener.Setter<?extendsStreamSourceChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/StreamSourceChannelAdapter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener.Setter<?extendsStreamSourceChannel>
    signature: '[io.undertow.websockets.utils.StreamSourceChannelAdapter].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:17,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:18,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:19,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.utils.WebSocketRawTestClient
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].<init>(String,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 1
    functionsReached:
    - '[java.net.Socket].<init>(String,int)'
    - '[java.net.Socket].setSoTimeout(int)'
    - '[java.net.Socket].getInputStream()'
    - '[java.net.Socket].getOutputStream()'
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketRawTestClient
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].<init>(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].generateWebSocketKey()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:28,1
    - Dst: '[java.net.Socket].getPort()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:30,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildUpgradeRequest(String,io.undertow.websockets.utils.WebSocketRawTestClient,String,String,String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:29,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:31,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:32,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:35,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:38,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:39,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:42,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:44,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:47,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:52,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].parseStatusCode(io.undertow.websockets.utils.WebSocketRawTestClient)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:53,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].parseHeader(io.undertow.websockets.utils.WebSocketRawTestClient,String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:54,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].<init>(int,io.undertow.websockets.utils.WebSocketRawTestClient,String,String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: UpgradeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - origin
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].upgrade(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].parseStatusCode(io.undertow.websockets.utils.WebSocketRawTestClient)'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildUpgradeRequest(String,io.undertow.websockets.utils.WebSocketRawTestClient,String,String,String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].<init>(int,io.undertow.websockets.utils.WebSocketRawTestClient,String,String)'
    - '[StringBuilder].toString()'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].parseHeader(io.undertow.websockets.utils.WebSocketRawTestClient,String)'
    - '[java.net.Socket].getPort()'
    - '[java.io.OutputStream].write(byte[])'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].generateWebSocketKey()'
    - '[java.io.InputStream].read()'
    - '[java.io.OutputStream].flush()'
    linkageType: ''
    returnType: UpgradeResult
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].upgrade(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].generateWebSocketKey()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:63,1
    - Dst: '[java.net.Socket].getPort()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:65,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildDeflateUpgradeRequest(String,io.undertow.websockets.utils.WebSocketRawTestClient,String,String,String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:64,1
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:66,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:67,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:69,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:72,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:73,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:75,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:77,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:80,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:85,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].parseStatusCode(io.undertow.websockets.utils.WebSocketRawTestClient)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:86,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].parseHeader(io.undertow.websockets.utils.WebSocketRawTestClient,String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:87,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].<init>(int,io.undertow.websockets.utils.WebSocketRawTestClient,String,String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: UpgradeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - origin
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].upgradeWithDeflate(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].parseStatusCode(io.undertow.websockets.utils.WebSocketRawTestClient)'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].<init>(int,io.undertow.websockets.utils.WebSocketRawTestClient,String,String)'
    - '[StringBuilder].toString()'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].parseHeader(io.undertow.websockets.utils.WebSocketRawTestClient,String)'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildDeflateUpgradeRequest(String,io.undertow.websockets.utils.WebSocketRawTestClient,String,String,String)'
    - '[java.net.Socket].getPort()'
    - '[java.io.OutputStream].write(byte[])'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].generateWebSocketKey()'
    - '[java.io.InputStream].read()'
    - '[java.io.OutputStream].flush()'
    linkageType: ''
    returnType: UpgradeResult
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].upgradeWithDeflate(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getRawResponse()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:96,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].toLowerCase()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:96,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].contains(String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - UpgradeResult
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - UpgradeResult
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].isDeflateNegotiated(UpgradeResult)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getRawResponse()'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].contains(String)'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].toLowerCase()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].isDeflateNegotiated(UpgradeResult)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:103,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].sendRaw(byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 1
    functionsReached:
    - '[java.io.OutputStream].flush()'
    - '[java.io.OutputStream].write(byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].sendRaw(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.websockets.utils.WebSocketRawTestClient)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:113,1
    - Dst: '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketRawTestClient)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:111,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].sendRaw(byte[])'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].sendText(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.websockets.utils.WebSocketRawTestClient)'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].sendRaw(byte[])'
    - '[io.undertow.websockets.utils.WebSocketPayloadUtil].buildFrame(int,boolean,io.undertow.websockets.utils.WebSocketRawTestClient)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].sendText(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read(io.undertow.websockets.utils.WebSocketRawTestClient)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:122,1
    - Dst: System.arraycopy(io.undertow.websockets.utils.WebSocketRawTestClient,int,io.undertow.websockets.utils.WebSocketRawTestClient,int,io.undertow.websockets.utils.WebSocketRawTestClient)
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].readAvailable()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].read(io.undertow.websockets.utils.WebSocketRawTestClient)'
    - System.arraycopy(io.undertow.websockets.utils.WebSocketRawTestClient,int,io.undertow.websockets.utils.WebSocketRawTestClient,int,io.undertow.websockets.utils.WebSocketRawTestClient)
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].readAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].available()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:131,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:132,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:135,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:136,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:138,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:140,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:143,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].readAvailableresponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[java.io.InputStream].available()'
    - '[StringBuilder].append(String)'
    - '[java.io.InputStream].read()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].readAvailableresponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].availableInput()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:155,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:156,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:157,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:158,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:160,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:165,1
    - Dst: '[java.io.InputStream].readNBytes(io.undertow.websockets.utils.WebSocketRawTestClient)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:167,1
    - Dst: '[String].<init>(io.undertow.websockets.utils.WebSocketRawTestClient,int,int)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:171,1
    - Dst: '[RawFrame].<init>(io.undertow.websockets.utils.WebSocketRawTestClient,io.undertow.websockets.utils.WebSocketRawTestClient,io.undertow.websockets.utils.WebSocketRawTestClient,String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:171,1
    - Dst: '[java.io.IOException].<init>()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:173,1
    - Dst: '[String].<init>(io.undertow.websockets.utils.WebSocketRawTestClient)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:176,1
    - Dst: '[RawFrame].<init>(io.undertow.websockets.utils.WebSocketRawTestClient,io.undertow.websockets.utils.WebSocketRawTestClient,String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:176,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:180,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RawFrame
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutMs
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 190
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].readAvailableFrame(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[RawFrame].<init>(io.undertow.websockets.utils.WebSocketRawTestClient,io.undertow.websockets.utils.WebSocketRawTestClient,String)'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].availableInput()'
    - '[RawFrame].<init>(io.undertow.websockets.utils.WebSocketRawTestClient,io.undertow.websockets.utils.WebSocketRawTestClient,io.undertow.websockets.utils.WebSocketRawTestClient,String)'
    - '[java.io.IOException].<init>()'
    - '[String].<init>(io.undertow.websockets.utils.WebSocketRawTestClient,int,int)'
    - '[java.io.IOException].<init>(String)'
    - '[java.io.InputStream].readNBytes(io.undertow.websockets.utils.WebSocketRawTestClient)'
    - '[java.net.Socket].setSoTimeout(int)'
    - System.currentTimeMillis()
    - '[String].<init>(io.undertow.websockets.utils.WebSocketRawTestClient)'
    - '[java.io.InputStream].read()'
    linkageType: ''
    returnType: RawFrame
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].readAvailableFrame(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].available()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].availableInput()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 1
    functionsReached:
    - '[java.io.InputStream].available()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].availableInput()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:200,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:201,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:203,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:205,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:211,1
    - Dst: '[java.io.InputStream].readNBytes(io.undertow.websockets.utils.WebSocketRawTestClient)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:212,1
    - Dst: '[java.net.Socket].setSoTimeout(int)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutMs
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 221
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 221
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].countPongFrames(long)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].read()'
    - '[java.net.Socket].setSoTimeout(int)'
    - System.currentTimeMillis()
    - '[java.io.InputStream].readNBytes(io.undertow.websockets.utils.WebSocketRawTestClient)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].countPongFrames(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.Socket].close()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].close()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.parseInt()
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].parseStatusCode(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - Integer.parseInt()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].parseStatusCode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:240,1
    - Dst: line.toLowerCase()
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:241,1
    - Dst: '[String].toLowerCase()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:241,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].startsWith(String)'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:241,1
    - Dst: '[String].length()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:242,1
    - Dst: line.substring(int)
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:242,1
    - Dst: '[io.undertow.websockets.utils.WebSocketRawTestClient].trim()'
      Src: io.undertow.websockets.utils.WebSocketRawTestClient:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AutoCloseable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - response
    - headerName
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient].parseHeader(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached:
    - line.toLowerCase()
    - '[String].toLowerCase()'
    - '[String].length()'
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].startsWith(String)'
    - line.substring(int)
    - '[io.undertow.websockets.utils.WebSocketRawTestClient].trim()'
    - '[String].split(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient].parseHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - statusCode
    - rawResponse
    - acceptKey
    - wsKey
    argTypes:
    - int
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].<init>(int,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].<init>(int,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].isUpgraded()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].isUpgraded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].isRejected()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].isRejected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getStatusCode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getStatusCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].setStatusCode(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].setStatusCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getRawResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getRawResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rawResponse
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].setRawResponse(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].setRawResponse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getAcceptKey()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getAcceptKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - acceptKey
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].setAcceptKey(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].setAcceptKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getWsKey()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].getWsKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wsKey
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].setWsKey(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].setWsKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].toString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.UpgradeResult].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - opCode
    - statusCode
    - length
    - rawContent
    argTypes:
    - int
    - int
    - int
    - String
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].<init>(int,int,int,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].<init>(int,int,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isText()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isText()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isBinary()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isBinary()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isClose()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isPing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isPong()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].isPong()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].getOpCode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].getOpCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].setOpCode(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].setOpCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].getStatusCode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].getStatusCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].setStatusCode(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].setStatusCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].getLength()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].getLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].setLength(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].setLength(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].getRawContent()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].getRawContent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rawContent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].setRawContent(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].setRawContent(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].toString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/utils/WebSocketRawTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.utils.WebSocketRawTestClient.RawFrame].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getRootHandler()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:72,1
    - Dst: DefaultServer.class.getClassLoader()
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:73,1
    - Dst: '[org.xnio.Xnio].getInstance(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:73,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,boolean)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,boolean)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getMap()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].createWorker(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:74,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:84,1
    - Dst: '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:91,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:93,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:93,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:94,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:93,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].build()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:93,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].start()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].createWorker(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.core.protocol.server.AutobahnWebSocketServer].getRootHandler()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].start()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getMap()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[org.xnio.OptionMap].builder()'
    - '[org.xnio.Xnio].getInstance(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].build()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].setHandler(io.undertow.server.HttpHandler)'
    - DefaultServer.class.getClassLoader()
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,boolean)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.client.version13.WebSocketClient13TestCase,int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.websockets.WebSocketProtocolHandshakeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:109,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].stopAndShutdown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].stopWorker(org.xnio.XnioWorker)'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.Undertow].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].stopAndShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:116,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:116,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:116,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:116,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].get()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:116,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:118,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:119,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getReceiveSetter()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:120,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:120,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:120,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].resumeReceives()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:135,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].send(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:138,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:139,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:139,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:141,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:142,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(String,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:142,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].sendClose()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 144
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessage()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].resumeReceives()'
    - '[io.undertow.util.StringWriteChannelListener].<init>(String)'
    - '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].sendClose()'
    - '[java.net.URI].<init>(String)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].send(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(String,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getReceiveSetter()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].get()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageSecure(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 7
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageWss()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageSecure(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageWss()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageSecure(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 7
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageHttps()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageSecure(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageHttps()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:158,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:158,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:159,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:159,1
    - Dst: '[java.net.URI].<init>(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:159,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:159,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:159,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].connect()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:161,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:162,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:162,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].get()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:163,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:165,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:166,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getReceiveSetter()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:167,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:167,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:167,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].resumeReceives()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:182,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].send(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:185,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:186,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:186,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:188,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:189,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(String,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:189,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].sendClose()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - urlProtocol
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 191
      start: 156
    functionDepth: 6
    functionLinenumber: 156
    functionLinenumberEnd: 191
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageSecure(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].resumeReceives()'
    - '[io.undertow.util.StringWriteChannelListener].<init>(String)'
    - '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].sendClose()'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].send(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(String,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getReceiveSetter()'
    - '[java.net.URI].<init>(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].get()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testTextMessageSecure(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:197,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:197,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:198,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:198,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,null,null)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:198,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setProxyUri(java.net.URI)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:197,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].connect()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:197,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].get()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:197,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:201,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:202,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getReceiveSetter()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:203,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:203,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:203,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].resumeReceives()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:218,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].send(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:221,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:222,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:222,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:224,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:225,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(String,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:225,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].sendClose()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:226,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:227,1
    - Dst: '[java.util.Deque<String>].poll()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:227,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 228
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testMessageViaProxy()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].resumeReceives()'
    - '[io.undertow.util.StringWriteChannelListener].<init>(String)'
    - '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.Deque<String>].poll()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[java.net.URI].<init>(String,null,String,int,String,null,null)'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].sendClose()'
    - '[java.net.URI].<init>(String)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].send(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(String,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setProxyUri(java.net.URI)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getReceiveSetter()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].get()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testMessageViaProxy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:236,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:236,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:236,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:236,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:237,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:237,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:236,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:238,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:238,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,null,null)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:238,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].setProxyUri(java.net.URI)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:236,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].connect()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:236,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].get()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:236,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:241,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:242,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getReceiveSetter()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:243,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:243,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:243,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].resumeReceives()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:258,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].send(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:261,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:262,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:262,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:264,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:265,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(String,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:265,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].sendClose()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:266,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:267,1
    - Dst: '[java.util.Deque<String>].poll()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:267,1
    - Dst: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 231
    functionDepth: 6
    functionLinenumber: 231
    functionLinenumberEnd: 268
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testMessageViaWssProxy()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].resumeReceives()'
    - '[io.undertow.util.StringWriteChannelListener].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].setProxyUri(java.net.URI)'
    - '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[java.util.Deque<String>].poll()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    - '[java.net.URI].<init>(String,null,String,int,String,null,null)'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].sendClose()'
    - '[java.net.URI].<init>(String)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].set(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.websockets.client.version13.WebSocketClient13TestCase,io.undertow.websockets.client.version13.WebSocketClient13TestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].send(io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].assertEquals(String,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.websockets.client.version13.WebSocketClient13TestCase)'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].getReceiveSetter()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].get()'
    - '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].connect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].testMessageViaWssProxy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.websockets.client.version13.WebSocketClient13TestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.util.Deque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.version13.WebSocketClient13TestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/websockets/client/version13/WebSocketClient13TestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.client.version13.WebSocketClient13TestCase
    signature: '[io.undertow.websockets.client.version13.WebSocketClient13TestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.testutils.DebuggingSlicePool:20,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.testutils.DebuggingSlicePool:22,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.testutils.DebuggingSlicePool:22,1
    - Dst: '[io.undertow.connector.ByteBufferPool].isDirect()'
      Src: io.undertow.testutils.DebuggingSlicePool:31,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.testutils.DebuggingSlicePool:32,1
    - Dst: '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.testutils.DebuggingSlicePool:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<String>
      - java.util.Set<DebuggingBuffer>
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.DebuggingSlicePool
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.connector.ByteBufferPool)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[ThreadLocal].<init>()'
    - '[io.undertow.connector.ByteBufferPool].isDirect()'
    linkageType: ''
    returnType: io.undertow.testutils.DebuggingSlicePool
    signature: '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<String>].set(String)'
      Src: io.undertow.testutils.DebuggingSlicePool:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<String>
      - java.util.Set<DebuggingBuffer>
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - context
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.testutils.DebuggingSlicePool].addContext(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal<String>].set(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DebuggingSlicePool].addContext(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.testutils.DebuggingSlicePool:44,1
    - Dst: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].<init>(io.undertow.connector.PooledByteBuffer,String)'
      Src: io.undertow.testutils.DebuggingSlicePool:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<String>
      - java.util.Set<DebuggingBuffer>
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '[io.undertow.testutils.DebuggingSlicePool].allocate()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].<init>(io.undertow.connector.PooledByteBuffer,String)'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.testutils.DebuggingSlicePool].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<String>
      - java.util.Set<DebuggingBuffer>
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.testutils.DebuggingSlicePool].getArrayBackedPool()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.testutils.DebuggingSlicePool].getArrayBackedPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].close()'
      Src: io.undertow.testutils.DebuggingSlicePool:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<String>
      - java.util.Set<DebuggingBuffer>
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.testutils.DebuggingSlicePool].close()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.ByteBufferPool].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DebuggingSlicePool].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.testutils.DebuggingSlicePool:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<String>
      - java.util.Set<DebuggingBuffer>
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.testutils.DebuggingSlicePool].getBufferSize()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.testutils.DebuggingSlicePool].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].isDirect()'
      Src: io.undertow.testutils.DebuggingSlicePool:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<String>
      - java.util.Set<DebuggingBuffer>
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.testutils.DebuggingSlicePool].isDirect()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.ByteBufferPool].isDirect()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DebuggingSlicePool].isDirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:70,1
    - Dst: '[AtomicInteger].getAndIncrement()'
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:81,1
    - Dst: ALLOCATION_CONTEXT.get()
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:82,1
    - Dst: ALLOCATION_CONTEXT.remove()
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:83,1
    - Dst: '[RuntimeException].<init>(io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer)'
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:84,1
    - Dst: BUFFERS.add()
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      - RuntimeException
      - PooledByteBuffer
      - String
      - int
      - boolean
      - RuntimeException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - delegate
    - label
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - String
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].<init>(io.undertow.connector.PooledByteBuffer,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 1
    functionsReached:
    - BUFFERS.add()
    - '[RuntimeException].<init>(io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - ALLOCATION_CONTEXT.remove()
    - ALLOCATION_CONTEXT.get()
    - '[AtomicInteger].getAndIncrement()'
    linkageType: ''
    returnType: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer
    signature: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].<init>(io.undertow.connector.PooledByteBuffer,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[RuntimeException].<init>(String)'
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:93,1
    - Dst: BUFFERS.remove()
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:95,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      - RuntimeException
      - PooledByteBuffer
      - String
      - int
      - boolean
      - RuntimeException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].close()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(String)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - BUFFERS.remove()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      - RuntimeException
      - PooledByteBuffer
      - String
      - int
      - boolean
      - RuntimeException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].isOpen()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>(String,RuntimeException)'
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:107,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      - RuntimeException
      - PooledByteBuffer
      - String
      - int
      - boolean
      - RuntimeException
      classPublic: false
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].getBuffer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>(String,RuntimeException)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].getBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      - RuntimeException
      - PooledByteBuffer
      - String
      - int
      - boolean
      - RuntimeException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].getAllocationPoint()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].getAllocationPoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      - RuntimeException
      - PooledByteBuffer
      - String
      - int
      - boolean
      - RuntimeException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].getLabel()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].getLabel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].toString()'
      Src: io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      - RuntimeException
      - PooledByteBuffer
      - String
      - int
      - boolean
      - RuntimeException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].toString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DebuggingSlicePool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.DebuggingSlicePool.DebuggingBuffer].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.StopServerWithExternalWorkerUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/StopServerWithExternalWorkerUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.testutils.StopServerWithExternalWorkerUtils
    signature: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].getWorker()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:71,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:72,1
    - Dst: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.Undertow
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - server
    argTypes:
    - io.undertow.Undertow
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopServerAndWorker(io.undertow.Undertow)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/StopServerWithExternalWorkerUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].getWorker()'
    - '[io.undertow.Undertow].stop()'
    - '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopServerAndWorker(io.undertow.Undertow)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.XnioWorker].shutdown()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:83,1
    - Dst: '[org.xnio.XnioWorker].awaitTermination(int,io.undertow.testutils.StopServerWithExternalWorkerUtils)'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:85,1
    - Dst: '[org.xnio.XnioWorker].shutdownNow()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:86,1
    - Dst: task.run()
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:88,1
    - Dst: '[org.xnio.XnioWorker].awaitTermination(int,io.undertow.testutils.StopServerWithExternalWorkerUtils)'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:89,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:90,1
    - Dst: e.printStackTrace()
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:93,1
    - Dst: e.getMessage()
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:94,1
    - Dst: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].fail(io.undertow.testutils.StopServerWithExternalWorkerUtils)'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - worker
    argTypes:
    - org.xnio.XnioWorker
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/StopServerWithExternalWorkerUtils.java
    functionUses: 4
    functionsReached:
    - '[IllegalStateException].<init>(String)'
    - task.run()
    - '[org.xnio.XnioWorker].shutdown()'
    - '[org.xnio.XnioWorker].awaitTermination(int,io.undertow.testutils.StopServerWithExternalWorkerUtils)'
    - '[io.undertow.testutils.StopServerWithExternalWorkerUtils].fail(io.undertow.testutils.StopServerWithExternalWorkerUtils)'
    - e.printStackTrace()
    - e.getMessage()
    - '[org.xnio.XnioWorker].shutdownNow()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].getWorker()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:108,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:109,1
    - Dst: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.Undertow
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - server
    argTypes:
    - io.undertow.Undertow
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopServer(io.undertow.Undertow)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/StopServerWithExternalWorkerUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].getWorker()'
    - '[io.undertow.Undertow].stop()'
    - '[io.undertow.testutils.StopServerWithExternalWorkerUtils].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopServer(io.undertow.Undertow)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:121,1
    - Dst: '[org.xnio.XnioWorker].getIoThread()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:122,1
    - Dst: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].execute()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:122,1
    - Dst: '[java.util.concurrent.CountDownLatch].await()'
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:125,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.testutils.StopServerWithExternalWorkerUtils:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - worker
    argTypes:
    - org.xnio.XnioWorker
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/StopServerWithExternalWorkerUtils.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - Thread.sleep(int)
    - '[java.util.concurrent.CountDownLatch].await()'
    - '[io.undertow.testutils.StopServerWithExternalWorkerUtils].execute()'
    - '[org.xnio.XnioWorker].getIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.conn.ssl.X509HostnameVerifier].<init>()'
      Src: io.undertow.testutils.TestHttpClient:47,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.testutils.TestHttpClient:66,1
    - Dst: '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(null)'
      Src: io.undertow.testutils.TestHttpClient:69,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].<init>(org.apache.http.params.HttpParams)'
      Src: io.undertow.testutils.TestHttpClient:69,1
    - Dst: '[java.util.List<io.undertow.testutils.TestHttpClient>].add()'
      Src: io.undertow.testutils.TestHttpClient:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.testutils.TestHttpClient].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 511
    functionsReached:
    - '[org.apache.http.conn.ssl.X509HostnameVerifier].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(null)'
    - '[org.apache.http.impl.client.DefaultHttpClient].<init>(org.apache.http.params.HttpParams)'
    - '[java.util.List<io.undertow.testutils.TestHttpClient>].add()'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.testutils.TestHttpClient].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.conn.ssl.X509HostnameVerifier].<init>()'
      Src: io.undertow.testutils.TestHttpClient:47,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.testutils.TestHttpClient:66,1
    - Dst: '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(org.apache.http.params.HttpParams)'
      Src: io.undertow.testutils.TestHttpClient:74,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].<init>(org.apache.http.params.HttpParams)'
      Src: io.undertow.testutils.TestHttpClient:74,1
    - Dst: '[java.util.List<io.undertow.testutils.TestHttpClient>].add()'
      Src: io.undertow.testutils.TestHttpClient:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.params.HttpParams
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 1
    argNames:
    - params
    argTypes:
    - org.apache.http.params.HttpParams
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.params.HttpParams)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.conn.ssl.X509HostnameVerifier].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(org.apache.http.params.HttpParams)'
    - '[org.apache.http.impl.client.DefaultHttpClient].<init>(org.apache.http.params.HttpParams)'
    - '[java.util.List<io.undertow.testutils.TestHttpClient>].add()'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.params.HttpParams)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.conn.ssl.X509HostnameVerifier].<init>()'
      Src: io.undertow.testutils.TestHttpClient:47,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.testutils.TestHttpClient:66,1
    - Dst: '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(null)'
      Src: io.undertow.testutils.TestHttpClient:79,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].<init>(org.apache.http.conn.ClientConnectionManager,org.apache.http.params.HttpParams)'
      Src: io.undertow.testutils.TestHttpClient:79,1
    - Dst: '[java.util.List<io.undertow.testutils.TestHttpClient>].add()'
      Src: io.undertow.testutils.TestHttpClient:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.conn.ClientConnectionManager
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 1
    argNames:
    - conman
    argTypes:
    - org.apache.http.conn.ClientConnectionManager
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.conn.ClientConnectionManager)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.conn.ssl.X509HostnameVerifier].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(null)'
    - '[java.util.List<io.undertow.testutils.TestHttpClient>].add()'
    - '[org.apache.http.impl.client.DefaultHttpClient].<init>(org.apache.http.conn.ClientConnectionManager,org.apache.http.params.HttpParams)'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.conn.ClientConnectionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.conn.ssl.X509HostnameVerifier].<init>()'
      Src: io.undertow.testutils.TestHttpClient:47,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.testutils.TestHttpClient:66,1
    - Dst: '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(org.apache.http.params.HttpParams)'
      Src: io.undertow.testutils.TestHttpClient:84,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].<init>(org.apache.http.conn.ClientConnectionManager,org.apache.http.params.HttpParams)'
      Src: io.undertow.testutils.TestHttpClient:84,1
    - Dst: '[java.util.List<io.undertow.testutils.TestHttpClient>].add()'
      Src: io.undertow.testutils.TestHttpClient:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.conn.ClientConnectionManager
      - org.apache.http.params.HttpParams
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 2
    argNames:
    - conman
    - params
    argTypes:
    - org.apache.http.conn.ClientConnectionManager
    - org.apache.http.params.HttpParams
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.conn.ClientConnectionManager,org.apache.http.params.HttpParams)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.conn.ssl.X509HostnameVerifier].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(org.apache.http.params.HttpParams)'
    - '[java.util.List<io.undertow.testutils.TestHttpClient>].add()'
    - '[org.apache.http.impl.client.DefaultHttpClient].<init>(org.apache.http.conn.ClientConnectionManager,org.apache.http.params.HttpParams)'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.conn.ClientConnectionManager,org.apache.http.params.HttpParams)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.testutils.TestHttpClient:91,1
    - Dst: '[org.apache.http.params.SyncBasicHttpParams].<init>()'
      Src: io.undertow.testutils.TestHttpClient:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setDefaultHttpParams(org.apache.http.params.SyncBasicHttpParams)'
      Src: io.undertow.testutils.TestHttpClient:94,1
    - Dst: '[org.apache.http.params.HttpConnectionParams].setSoTimeout(org.apache.http.params.SyncBasicHttpParams,int)'
      Src: io.undertow.testutils.TestHttpClient:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.params.HttpParams
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.params.HttpParams
      static: true
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 1
    argNames:
    - params
    argTypes:
    - org.apache.http.params.HttpParams
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(org.apache.http.params.HttpParams)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].setDefaultHttpParams(org.apache.http.params.SyncBasicHttpParams)'
    - '[org.apache.http.params.SyncBasicHttpParams].<init>()'
    - '[org.apache.http.params.HttpConnectionParams].setSoTimeout(org.apache.http.params.SyncBasicHttpParams,int)'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    linkageType: ''
    returnType: org.apache.http.params.HttpParams
    signature: '[io.undertow.testutils.TestHttpClient].preventSocketTimeoutException(org.apache.http.params.HttpParams)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.DefaultHttpRequestRetryHandler].<init>(int,boolean)'
      Src: io.undertow.testutils.TestHttpClient:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.client.HttpRequestRetryHandler
      static: false
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.testutils.TestHttpClient].createHttpRequestRetryHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.impl.client.DefaultHttpRequestRetryHandler].<init>(int,boolean)'
    linkageType: ''
    returnType: org.apache.http.client.HttpRequestRetryHandler
    signature: '[io.undertow.testutils.TestHttpClient].createHttpRequestRetryHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].createHttpParams()'
      Src: io.undertow.testutils.TestHttpClient:109,1
    - Dst: '[org.apache.http.params.HttpConnectionParams].setSoTimeout(io.undertow.testutils.TestHttpClient,int)'
      Src: io.undertow.testutils.TestHttpClient:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.params.HttpParams
      static: false
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: '[io.undertow.testutils.TestHttpClient].createHttpParams()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.impl.client.DefaultHttpClient].createHttpParams()'
    - '[org.apache.http.params.HttpConnectionParams].setSoTimeout(io.undertow.testutils.TestHttpClient,int)'
    linkageType: ''
    returnType: org.apache.http.params.HttpParams
    signature: '[io.undertow.testutils.TestHttpClient].createHttpParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.testutils.TestHttpClient:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getSchemeRegistry()'
      Src: io.undertow.testutils.TestHttpClient:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].unregister(String)'
      Src: io.undertow.testutils.TestHttpClient:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.TestHttpClient:117,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.testutils.TestHttpClient:117,1
    - Dst: '[org.apache.http.conn.ssl.SSLSocketFactory].<init>(javax.net.ssl.SSLContext)'
      Src: io.undertow.testutils.TestHttpClient:118,1
    - Dst: '[org.apache.http.conn.scheme.Scheme].<init>(String,int,org.apache.http.conn.ssl.SSLSocketFactory)'
      Src: io.undertow.testutils.TestHttpClient:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].register(org.apache.http.conn.scheme.Scheme)'
      Src: io.undertow.testutils.TestHttpClient:118,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.testutils.TestHttpClient:119,1
    - Dst: '[org.apache.http.conn.ssl.SSLSocketFactory].<init>(javax.net.ssl.SSLContext)'
      Src: io.undertow.testutils.TestHttpClient:119,1
    - Dst: '[org.apache.http.conn.scheme.Scheme].<init>(String,int,org.apache.http.conn.ssl.SSLSocketFactory)'
      Src: io.undertow.testutils.TestHttpClient:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].register(org.apache.http.conn.scheme.Scheme)'
      Src: io.undertow.testutils.TestHttpClient:119,1
    - Dst: '[org.apache.http.conn.ssl.SSLSocketFactory].<init>(javax.net.ssl.SSLContext,org.apache.http.conn.ssl.X509HostnameVerifier)'
      Src: io.undertow.testutils.TestHttpClient:121,1
    - Dst: '[org.apache.http.conn.scheme.Scheme].<init>(String,int,org.apache.http.conn.ssl.SSLSocketFactory)'
      Src: io.undertow.testutils.TestHttpClient:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].register(org.apache.http.conn.scheme.Scheme)'
      Src: io.undertow.testutils.TestHttpClient:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.testutils.TestHttpClient:122,1
    - Dst: '[org.apache.http.conn.ssl.SSLSocketFactory].<init>(javax.net.ssl.SSLContext,org.apache.http.conn.ssl.X509HostnameVerifier)'
      Src: io.undertow.testutils.TestHttpClient:122,1
    - Dst: '[org.apache.http.conn.scheme.Scheme].<init>(String,int,org.apache.http.conn.ssl.SSLSocketFactory)'
      Src: io.undertow.testutils.TestHttpClient:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].register(org.apache.http.conn.scheme.Scheme)'
      Src: io.undertow.testutils.TestHttpClient:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 1
    argNames:
    - sslContext
    argTypes:
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 37
    functionsReached:
    - '[org.apache.http.conn.ssl.SSLSocketFactory].<init>(javax.net.ssl.SSLContext,org.apache.http.conn.ssl.X509HostnameVerifier)'
    - '[String].equals(String)'
    - '[io.undertow.testutils.TestHttpClient].unregister(String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.testutils.TestHttpClient].getSchemeRegistry()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].register(org.apache.http.conn.scheme.Scheme)'
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    - '[org.apache.http.conn.ssl.SSLSocketFactory].<init>(javax.net.ssl.SSLContext)'
    - '[org.apache.http.conn.scheme.Scheme].<init>(String,int,org.apache.http.conn.ssl.SSLSocketFactory)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i.getConnectionManager()
      Src: io.undertow.testutils.TestHttpClient:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].shutdown()'
      Src: io.undertow.testutils.TestHttpClient:128,1
    - Dst: '[java.util.List<io.undertow.testutils.TestHttpClient>].clear()'
      Src: io.undertow.testutils.TestHttpClient:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.apache.http.conn.ssl.X509HostnameVerifier
      - java.util.List<io.undertow.testutils.TestHttpClient>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.apache.http.impl.client.DefaultHttpClient
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: '[io.undertow.testutils.TestHttpClient].afterTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/TestHttpClient.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].shutdown()'
    - '[java.util.List<io.undertow.testutils.TestHttpClient>].clear()'
    - i.getConnectionManager()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.TestHttpClient].afterTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.HttpClientUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.testutils.HttpClientUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.testutils.HttpClientUtils
    signature: '[io.undertow.testutils.HttpClientUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse,io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.HttpResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - org.apache.http.HttpResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse,io.undertow.testutils.HttpClientUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.HttpResponse].getEntity()'
      Src: io.undertow.testutils.HttpClientUtils:45,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].getContent()'
      Src: io.undertow.testutils.HttpClientUtils:49,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.testutils.HttpClientUtils,java.nio.charset.Charset)'
      Src: io.undertow.testutils.HttpClientUtils:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.HttpResponse
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - response
    - charset
    argTypes:
    - org.apache.http.HttpResponse
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.HttpResponse].getEntity()'
    - '[io.undertow.testutils.HttpClientUtils].getContent()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.testutils.HttpClientUtils,java.nio.charset.Charset)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.testutils.HttpClientUtils:56,1
    - Dst: '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:57,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.testutils.HttpClientUtils,int,io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:58,1
    - Dst: '[String].<init>(io.undertow.testutils.HttpClientUtils,io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - stream
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: '[io.undertow.testutils.HttpClientUtils].readResponse(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 0
    functionsReached:
    - '[java.io.ByteArrayOutputStream].write(io.undertow.testutils.HttpClientUtils,int,io.undertow.testutils.HttpClientUtils)'
    - '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
    - '[String].<init>(io.undertow.testutils.HttpClientUtils,io.undertow.testutils.HttpClientUtils)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.HttpClientUtils].readResponse(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.testutils.HttpClientUtils:67,1
    - Dst: '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:68,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.testutils.HttpClientUtils,int,io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:69,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.testutils.HttpClientUtils:71,1
    - Dst: '[String].<init>(io.undertow.testutils.HttpClientUtils,java.nio.charset.Charset)'
      Src: io.undertow.testutils.HttpClientUtils:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - stream
    - charset
    argTypes:
    - java.io.InputStream
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: '[io.undertow.testutils.HttpClientUtils].readResponse(java.io.InputStream,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 0
    functionsReached:
    - '[java.io.ByteArrayOutputStream].write(io.undertow.testutils.HttpClientUtils,int,io.undertow.testutils.HttpClientUtils)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[String].<init>(io.undertow.testutils.HttpClientUtils,java.nio.charset.Charset)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.HttpClientUtils].readResponse(java.io.InputStream,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.HttpResponse].getEntity()'
      Src: io.undertow.testutils.HttpClientUtils:75,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].getContent()'
      Src: io.undertow.testutils.HttpClientUtils:75,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.HttpResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - org.apache.http.HttpResponse
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.testutils.HttpClientUtils].readRawResponse(org.apache.http.HttpResponse)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.testutils.HttpClientUtils)'
    - '[org.apache.http.HttpResponse].getEntity()'
    - '[io.undertow.testutils.HttpClientUtils].getContent()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.testutils.HttpClientUtils].readRawResponse(org.apache.http.HttpResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.testutils.HttpClientUtils:79,1
    - Dst: '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:82,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.testutils.HttpClientUtils,int,io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:83,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.testutils.HttpClientUtils:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - stream
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: '[io.undertow.testutils.HttpClientUtils].readRawResponse(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 0
    functionsReached:
    - '[java.io.ByteArrayOutputStream].write(io.undertow.testutils.HttpClientUtils,int,io.undertow.testutils.HttpClientUtils)'
    - '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.testutils.HttpClientUtils].readRawResponse(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.testutils.HttpClientUtils:89,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].transfer(java.io.InputStream,io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:90,1
    - Dst: out.toByteArray()
      Src: io.undertow.testutils.HttpClientUtils:91,1
    - Dst: '[String].<init>(io.undertow.testutils.HttpClientUtils,java.nio.charset.Charset)'
      Src: io.undertow.testutils.HttpClientUtils:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - is
    - charset
    argTypes:
    - java.io.InputStream
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '[io.undertow.testutils.HttpClientUtils].toString(java.io.InputStream,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(io.undertow.testutils.HttpClientUtils,java.nio.charset.Charset)'
    - out.toByteArray()
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].transfer(java.io.InputStream,io.undertow.testutils.HttpClientUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.HttpClientUtils].toString(java.io.InputStream,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:97,1
    - Dst: '[java.io.OutputStream].write(io.undertow.testutils.HttpClientUtils,int,io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:99,1
    - Dst: '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
      Src: io.undertow.testutils.HttpClientUtils:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - is
    - os
    argTypes:
    - java.io.InputStream
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: '[io.undertow.testutils.HttpClientUtils].transfer(java.io.InputStream,java.io.OutputStream)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/HttpClientUtils.java
    functionUses: 0
    functionsReached:
    - '[java.io.OutputStream].write(io.undertow.testutils.HttpClientUtils,int,io.undertow.testutils.HttpClientUtils)'
    - '[java.io.InputStream].read(io.undertow.testutils.HttpClientUtils)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.HttpClientUtils].transfer(java.io.InputStream,java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DefaultServer.class.getClassLoader()
      Src: io.undertow.testutils.DefaultServer:240,1
    - Dst: '[io.undertow.testutils.DefaultServer].getResourceAsStream(String)'
      Src: io.undertow.testutils.DefaultServer:240,1
    - Dst: '[RuntimeException].<init>(String)'
      Src: io.undertow.testutils.DefaultServer:242,1
    - Dst: '[java.security.KeyStore].getInstance(String)'
      Src: io.undertow.testutils.DefaultServer:245,1
    - Dst: '[io.undertow.testutils.DefaultServer].load(io.undertow.testutils.DefaultServer,char[])'
      Src: io.undertow.testutils.DefaultServer:246,1
    - Dst: String.format(String,String)
      Src: io.undertow.testutils.DefaultServer:250,1
    - Dst: '[java.io.IOException].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:250,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.KeyStore
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 4
    functionsReached:
    - DefaultServer.class.getClassLoader()
    - '[org.xnio.IoUtils].safeClose(io.undertow.testutils.DefaultServer)'
    - String.format(String,String)
    - '[RuntimeException].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getResourceAsStream(String)'
    - '[java.security.KeyStore].getInstance(String)'
    - '[java.io.IOException].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].load(io.undertow.testutils.DefaultServer,char[])'
    linkageType: ''
    returnType: java.security.KeyStore
    signature: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,String,boolean)'
      Src: io.undertow.testutils.DefaultServer:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.security.KeyStore
      - java.security.KeyStore
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLContext
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 3
    argNames:
    - keyStore
    - trustStore
    - client
    argTypes:
    - java.security.KeyStore
    - java.security.KeyStore
    - boolean
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,String,boolean)'
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.KeyManagerFactory].getDefaultAlgorithm()'
      Src: io.undertow.testutils.DefaultServer:263,1
    - Dst: '[javax.net.ssl.KeyManagerFactory].getInstance(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:263,1
    - Dst: '[io.undertow.testutils.DefaultServer].init(java.security.KeyStore,char[])'
      Src: io.undertow.testutils.DefaultServer:264,1
    - Dst: '[io.undertow.testutils.DefaultServer].getKeyManagers()'
      Src: io.undertow.testutils.DefaultServer:265,1
    - Dst: '[java.io.IOException].<init>(String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:267,1
    - Dst: '[javax.net.ssl.KeyManagerFactory].getDefaultAlgorithm()'
      Src: io.undertow.testutils.DefaultServer:272,1
    - Dst: '[javax.net.ssl.TrustManagerFactory].getInstance(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:272,1
    - Dst: '[io.undertow.testutils.DefaultServer].init(java.security.KeyStore)'
      Src: io.undertow.testutils.DefaultServer:273,1
    - Dst: '[io.undertow.testutils.DefaultServer].getTrustManagers()'
      Src: io.undertow.testutils.DefaultServer:274,1
    - Dst: '[java.io.IOException].<init>(String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:276,1
    - Dst: '[javax.net.ssl.SSLContext].getInstance(String)'
      Src: io.undertow.testutils.DefaultServer:282,1
    - Dst: '[javax.net.ssl.SSLContext].getInstance(String)'
      Src: io.undertow.testutils.DefaultServer:284,1
    - Dst: '[io.undertow.testutils.DefaultServer].init(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,null)'
      Src: io.undertow.testutils.DefaultServer:286,1
    - Dst: '[java.io.IOException].<init>(String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:288,1
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].<init>()'
      Src: io.undertow.testutils.DefaultServer:291,1
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].setDefaultContext(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:291,1
    - Dst: '[io.undertow.testutils.DefaultServer].addMatch(String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:291,1
    - Dst: '[io.undertow.testutils.DefaultServer].build()'
      Src: io.undertow.testutils.DefaultServer:291,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLContext].<init>(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - java.security.KeyStore
      - java.security.KeyStore
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLContext
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 4
    argNames:
    - keyStore
    - trustStore
    - protocol
    - client
    argTypes:
    - java.security.KeyStore
    - java.security.KeyStore
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 298
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 298
    functionName: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,String,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 2
    functionsReached:
    - '[javax.net.ssl.SSLContext].getInstance(String)'
    - '[io.undertow.testutils.DefaultServer].build()'
    - '[io.undertow.testutils.DefaultServer].init(java.security.KeyStore)'
    - '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].<init>()'
    - '[javax.net.ssl.TrustManagerFactory].getInstance(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getTrustManagers()'
    - '[javax.net.ssl.KeyManagerFactory].getDefaultAlgorithm()'
    - '[io.undertow.testutils.DefaultServer].init(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,null)'
    - '[javax.net.ssl.KeyManagerFactory].getInstance(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].setDefaultContext(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].init(java.security.KeyStore,char[])'
    - '[io.undertow.testutils.DefaultServer].addMatch(String,io.undertow.testutils.DefaultServer)'
    - '[java.io.IOException].<init>(String,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.protocols.ssl.SNISSLContext].<init>(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getKeyManagers()'
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:304,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
      Src: io.undertow.testutils.DefaultServer:304,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 507
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:308,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:308,1
    - Dst: '[java.net.InetSocketAddress].<init>(String,int)'
      Src: io.undertow.testutils.DefaultServer:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 20
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[java.net.InetSocketAddress].<init>(String,int)'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isApacheTest()'
      Src: io.undertow.testutils.DefaultServer:312,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.testutils.DefaultServer:313,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:315,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
      Src: io.undertow.testutils.DefaultServer:315,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.testutils.DefaultServer:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 41
    functionsReached:
    - '[IllegalStateException].<init>(String)'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    - '[io.undertow.testutils.DefaultServer].isApacheTest()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.testutils.DefaultServer:178,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int)'
      Src: io.undertow.testutils.DefaultServer:179,1
    - Dst: '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.testutils.DefaultServer:179,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:182,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.testutils.DefaultServer:197,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:199,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:200,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:201,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:202,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:203,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:204,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:205,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:206,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:207,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:208,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:209,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.testutils.DefaultServer:210,1
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.testutils.DefaultServer:211,1
    - Dst: '[DelegatingHandler].<init>()'
      Src: io.undertow.testutils.DefaultServer:213,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,io.undertow.testutils.DefaultServer,int,int,int)'
      Src: io.undertow.testutils.DefaultServer:215,1
    - Dst: '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.testutils.DefaultServer:215,1
    - Dst: '[org.junit.runners.BlockJUnit4ClassRunner].<init>(Class<?>)'
      Src: io.undertow.testutils.DefaultServer:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - org.junit.runners.model.InitializationError
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.DefaultServer
      static: false
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - klass
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: '[io.undertow.testutils.DefaultServer].<init>(Class<?>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - Boolean.getBoolean(String)
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,io.undertow.testutils.DefaultServer,int,int,int)'
    - Integer.getInteger(String,int)
    - '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int)'
    - '[org.xnio.OptionMap].builder()'
    - '[DelegatingHandler].<init>()'
    - '[String].toCharArray()'
    - '[org.junit.runners.BlockJUnit4ClassRunner].<init>(Class<?>)'
    linkageType: ''
    returnType: io.undertow.testutils.DefaultServer
    signature: '[io.undertow.testutils.DefaultServer].<init>(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DefaultServer.class.getClassLoader()
      Src: io.undertow.testutils.DefaultServer:324,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:324,1
    - Dst: DefaultServer.class.getClassLoader()
      Src: io.undertow.testutils.DefaultServer:325,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:325,1
    - Dst: DefaultServer.class.getClassLoader()
      Src: io.undertow.testutils.DefaultServer:326,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:326,1
    - Dst: DefaultServer.class.getClassLoader()
      Src: io.undertow.testutils.DefaultServer:327,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - proxyHandler
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyHandler
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: '[io.undertow.testutils.DefaultServer].setupProxyHandlerForSSL(io.undertow.server.handlers.proxy.ProxyHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String,io.undertow.testutils.DefaultServer)'
    - DefaultServer.class.getClassLoader()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].setupProxyHandlerForSSL(io.undertow.server.handlers.proxy.ProxyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: '[io.undertow.testutils.DefaultServer].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.testutils.DefaultServer].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.function.Supplier<org.xnio.XnioWorker>
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: java.util.function.Supplier<org.xnio.XnioWorker>
    signature: '[io.undertow.testutils.DefaultServer].getWorkerSupplier()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.runners.BlockJUnit4ClassRunner].getDescription()'
      Src: io.undertow.testutils.DefaultServer:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.junit.runner.Description
      static: false
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: '[io.undertow.testutils.DefaultServer].getDescription()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[org.junit.runners.BlockJUnit4ClassRunner].getDescription()'
    linkageType: ''
    returnType: org.junit.runner.Description
    signature: '[io.undertow.testutils.DefaultServer].getDescription()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getTestClass()'
      Src: io.undertow.testutils.DefaultServer:353,1
    - Dst: '[org.junit.runners.BlockJUnit4ClassRunner].classBlock(org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer:353,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClassStatement(io.undertow.testutils.DefaultServer,org.junit.runner.notification.RunNotifier,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runner.notification.RunNotifier
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.junit.runners.model.Statement
      static: false
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - notifier
    argTypes:
    - org.junit.runner.notification.RunNotifier
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: '[io.undertow.testutils.DefaultServer].classBlock(org.junit.runner.notification.RunNotifier)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].createClassStatement(io.undertow.testutils.DefaultServer,org.junit.runner.notification.RunNotifier,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getTestClass()'
    - '[org.junit.runners.BlockJUnit4ClassRunner].classBlock(org.junit.runner.notification.RunNotifier)'
    linkageType: ''
    returnType: org.junit.runners.model.Statement
    signature: '[io.undertow.testutils.DefaultServer].classBlock(org.junit.runner.notification.RunNotifier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.RunDefaultServer].<init>(org.junit.runners.model.Statement,org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer:357,1
    - Dst: '[org.junit.runners.model.TestClass].getAnnotatedMethods()'
      Src: io.undertow.testutils.DefaultServer:359,1
    - Dst: '[io.undertow.testutils.DefaultServer].assertFrameworkMethods(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:360,1
    - Dst: '[io.undertow.testutils.DefaultServer].isEmpty()'
      Src: io.undertow.testutils.DefaultServer:361,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopServer()'
      Src: io.undertow.testutils.DefaultServer:363,1
    - Dst: '[org.junit.internal.runners.statements.RunBefores].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,null)'
      Src: io.undertow.testutils.DefaultServer:364,1
    - Dst: '[org.junit.runners.model.TestClass].getAnnotatedMethods()'
      Src: io.undertow.testutils.DefaultServer:366,1
    - Dst: '[io.undertow.testutils.DefaultServer].assertFrameworkMethods(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:367,1
    - Dst: '[io.undertow.testutils.DefaultServer].isEmpty()'
      Src: io.undertow.testutils.DefaultServer:368,1
    - Dst: '[io.undertow.testutils.RunDefaultServer].stopTheServerWhenDone()'
      Src: io.undertow.testutils.DefaultServer:369,1
    - Dst: '[org.junit.internal.runners.statements.RunAfters].<init>(org.junit.internal.runners.statements.RunBefores,io.undertow.testutils.DefaultServer,null)'
      Src: io.undertow.testutils.DefaultServer:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runners.model.TestClass
      - org.junit.runner.notification.RunNotifier
      - org.junit.runners.model.Statement
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.junit.runners.model.Statement
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 3
    argNames:
    - testClass
    - notifier
    - classBlock
    argTypes:
    - org.junit.runners.model.TestClass
    - org.junit.runner.notification.RunNotifier
    - org.junit.runners.model.Statement
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: '[io.undertow.testutils.DefaultServer].createClassStatement(org.junit.runners.model.TestClass,org.junit.runner.notification.RunNotifier,org.junit.runners.model.Statement)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopServer()'
    - '[org.junit.runners.model.TestClass].getAnnotatedMethods()'
    - '[io.undertow.testutils.DefaultServer].assertFrameworkMethods(io.undertow.testutils.DefaultServer)'
    - '[org.junit.internal.runners.statements.RunBefores].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,null)'
    - '[org.junit.internal.runners.statements.RunAfters].<init>(org.junit.internal.runners.statements.RunBefores,io.undertow.testutils.DefaultServer,null)'
    - '[io.undertow.testutils.RunDefaultServer].stopTheServerWhenDone()'
    - '[io.undertow.testutils.DefaultServer].isEmpty()'
    - '[io.undertow.testutils.RunDefaultServer].<init>(org.junit.runners.model.Statement,org.junit.runner.notification.RunNotifier)'
    linkageType: ''
    returnType: org.junit.runners.model.Statement
    signature: '[io.undertow.testutils.DefaultServer].createClassStatement(org.junit.runners.model.TestClass,org.junit.runner.notification.RunNotifier,org.junit.runners.model.Statement)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: frameworkMethod.isStatic()
      Src: io.undertow.testutils.DefaultServer:377,1
    - Dst: frameworkMethod.isPublic()
      Src: io.undertow.testutils.DefaultServer:377,1
    - Dst: frameworkMethod.getMethod()
      Src: io.undertow.testutils.DefaultServer:378,1
    - Dst: '[io.undertow.testutils.DefaultServer].getParameterTypes()'
      Src: io.undertow.testutils.DefaultServer:378,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.testutils.DefaultServer:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Class<?extendsAnnotation>
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 2
    argNames:
    - frameworkMethods
    - frameworkAnnotation
    argTypes:
    - java.util.List<org.junit.runners.model.FrameworkMethod>
    - Class<?extendsAnnotation>
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: '[io.undertow.testutils.DefaultServer].assertFrameworkMethods(java.util.List<org.junit.runners.model.FrameworkMethod>,Class<?extendsAnnotation>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getParameterTypes()'
    - frameworkMethod.isPublic()
    - frameworkMethod.isStatic()
    - '[org.junit.Assert].fail(String)'
    - frameworkMethod.getMethod()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].assertFrameworkMethods(java.util.List<org.junit.runners.model.FrameworkMethod>,Class<?extendsAnnotation>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: '[io.undertow.testutils.DefaultServer].getProxyServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
    signature: '[io.undertow.testutils.DefaultServer].getProxyServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].addRunNotifierListener(org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer:392,1
    - Dst: '[org.junit.runners.BlockJUnit4ClassRunner].run(org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runner.notification.RunNotifier
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - notifier
    argTypes:
    - org.junit.runner.notification.RunNotifier
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: '[io.undertow.testutils.DefaultServer].run(org.junit.runner.notification.RunNotifier)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].addRunNotifierListener(org.junit.runner.notification.RunNotifier)'
    - '[org.junit.runners.BlockJUnit4ClassRunner].run(org.junit.runner.notification.RunNotifier)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].run(org.junit.runner.notification.RunNotifier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.runner.notification.RunListener].<init>()'
      Src: io.undertow.testutils.DefaultServer:397,1
    - Dst: '[org.junit.runner.notification.RunNotifier].addListener(org.junit.runner.notification.RunListener)'
      Src: io.undertow.testutils.DefaultServer:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runner.notification.RunNotifier
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - notifier
    argTypes:
    - org.junit.runner.notification.RunNotifier
    constantsTouched: []
    func_position:
      end: 428
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 428
    functionName: '[io.undertow.testutils.DefaultServer].addRunNotifierListener(org.junit.runner.notification.RunNotifier)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[org.junit.runner.notification.RunNotifier].addListener(org.junit.runner.notification.RunListener)'
    - '[org.junit.runner.notification.RunListener].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].addRunNotifierListener(org.junit.runner.notification.RunNotifier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[RuntimeException].<init>(Throwable)'
      Src: io.undertow.testutils.DefaultServer:441,1
    - Dst: DefaultServer.class.getClassLoader()
      Src: io.undertow.testutils.DefaultServer:446,1
    - Dst: '[org.xnio.Xnio].getInstance(String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:446,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,boolean)'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,boolean)'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:449,1
    - Dst: '[io.undertow.testutils.DefaultServer].createWorker(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:448,1
    - Dst: '[OptionMap.Builder].set(io.undertow.testutils.DefaultServer,boolean)'
      Src: io.undertow.testutils.DefaultServer:451,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:451,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,boolean)'
      Src: io.undertow.testutils.DefaultServer:451,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:451,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:451,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:451,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:452,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:452,1
    - Dst: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
      Src: io.undertow.testutils.DefaultServer:452,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.testutils.DefaultServer:453,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:455,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:455,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:455,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:455,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:456,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:456,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:459,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:459,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:459,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:459,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:461,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:461,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:461,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:461,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:463,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:463,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:463,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:463,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:463,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:464,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:464,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:465,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:465,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:465,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:465,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:465,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker)'
      Src: io.undertow.testutils.DefaultServer:466,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
      Src: io.undertow.testutils.DefaultServer:466,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:468,1
    - Dst: '[io.undertow.testutils.DefaultServer].getProxyPort()'
      Src: io.undertow.testutils.DefaultServer:468,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,null,null)'
      Src: io.undertow.testutils.DefaultServer:468,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI)'
      Src: io.undertow.testutils.DefaultServer:466,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.testutils.DefaultServer:469,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.testutils.DefaultServer:469,1
    - Dst: '[io.undertow.testutils.DefaultServer].setMaxRequestTime(int)'
      Src: io.undertow.testutils.DefaultServer:469,1
    - Dst: '[io.undertow.testutils.DefaultServer].setNext(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:469,1
    - Dst: '[io.undertow.testutils.DefaultServer].setReuseXForwarded(boolean)'
      Src: io.undertow.testutils.DefaultServer:469,1
    - Dst: '[io.undertow.testutils.DefaultServer].build()'
      Src: io.undertow.testutils.DefaultServer:469,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:475,1
    - Dst: '[io.undertow.testutils.DefaultServer].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:476,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAlpnEnabled()'
      Src: io.undertow.testutils.DefaultServer:478,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:480,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:480,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:480,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.testutils.DefaultServer:480,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:480,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:479,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool)'
      Src: io.undertow.testutils.DefaultServer:481,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.DelegateOpenListener,int)'
      Src: io.undertow.testutils.DefaultServer:481,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.testutils.DefaultServer:481,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:481,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:483,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:483,1
    - Dst: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
      Src: io.undertow.testutils.DefaultServer:483,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:484,1
    - Dst: '[java.net.InetSocketAddress].<init>(String,int)'
      Src: io.undertow.testutils.DefaultServer:484,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(io.undertow.testutils.DefaultServer,java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:484,1
    - Dst: '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:485,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:487,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:487,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:487,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:487,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:487,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:488,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:488,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:489,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:489,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:489,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:489,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:489,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker)'
      Src: io.undertow.testutils.DefaultServer:490,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
      Src: io.undertow.testutils.DefaultServer:490,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:492,1
    - Dst: '[io.undertow.testutils.DefaultServer].getProxyPort()'
      Src: io.undertow.testutils.DefaultServer:492,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,null,null)'
      Src: io.undertow.testutils.DefaultServer:492,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.testutils.DefaultServer:493,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:498,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,null,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:490,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.testutils.DefaultServer:499,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.testutils.DefaultServer:499,1
    - Dst: '[io.undertow.testutils.DefaultServer].setMaxRequestTime(int)'
      Src: io.undertow.testutils.DefaultServer:499,1
    - Dst: '[io.undertow.testutils.DefaultServer].setNext(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:499,1
    - Dst: '[io.undertow.testutils.DefaultServer].setReuseXForwarded(boolean)'
      Src: io.undertow.testutils.DefaultServer:499,1
    - Dst: '[io.undertow.testutils.DefaultServer].build()'
      Src: io.undertow.testutils.DefaultServer:499,1
    - Dst: '[io.undertow.testutils.DefaultServer].setupProxyHandlerForSSL(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:505,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:506,1
    - Dst: '[io.undertow.testutils.DefaultServer].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:507,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:509,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:509,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:509,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.testutils.DefaultServer:509,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:509,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:509,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:510,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:510,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:512,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:512,1
    - Dst: '[io.undertow.testutils.DefaultServer].getProxyPort()'
      Src: io.undertow.testutils.DefaultServer:512,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:512,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:513,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:515,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:515,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:515,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:515,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:515,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:516,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:516,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:517,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:517,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:517,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:517,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:517,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker)'
      Src: io.undertow.testutils.DefaultServer:518,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
      Src: io.undertow.testutils.DefaultServer:518,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:520,1
    - Dst: '[io.undertow.testutils.DefaultServer].getProxyPort()'
      Src: io.undertow.testutils.DefaultServer:521,1
    - Dst: '[java.net.URI].<init>(null,String,int,String,null,null)'
      Src: io.undertow.testutils.DefaultServer:520,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:527,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,null,null,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:518,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.testutils.DefaultServer:528,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.testutils.DefaultServer:528,1
    - Dst: '[io.undertow.testutils.DefaultServer].setMaxRequestTime(int)'
      Src: io.undertow.testutils.DefaultServer:528,1
    - Dst: '[io.undertow.testutils.DefaultServer].setNext(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:528,1
    - Dst: '[io.undertow.testutils.DefaultServer].setReuseXForwarded(boolean)'
      Src: io.undertow.testutils.DefaultServer:528,1
    - Dst: '[io.undertow.testutils.DefaultServer].build()'
      Src: io.undertow.testutils.DefaultServer:528,1
    - Dst: '[io.undertow.testutils.DefaultServer].setupProxyHandlerForSSL(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:534,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:535,1
    - Dst: '[io.undertow.testutils.DefaultServer].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:536,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.testutils.DefaultServer:539,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.testutils.DefaultServer:539,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:540,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:540,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:540,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:540,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:540,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:541,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:541,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:542,1
    - Dst: '[java.net.InetSocketAddress].<init>(String,int)'
      Src: io.undertow.testutils.DefaultServer:542,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(io.undertow.testutils.DefaultServer,java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:542,1
    - Dst: '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].getAcceptSetter()'
      Src: io.undertow.testutils.DefaultServer:543,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:543,1
    - Dst: '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:544,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:546,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:546,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:546,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:546,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:546,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:547,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:547,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:548,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:548,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:548,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:548,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:548,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker)'
      Src: io.undertow.testutils.DefaultServer:549,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
      Src: io.undertow.testutils.DefaultServer:549,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:551,1
    - Dst: '[io.undertow.testutils.DefaultServer].getProxyPort()'
      Src: io.undertow.testutils.DefaultServer:551,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,null,null)'
      Src: io.undertow.testutils.DefaultServer:551,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.testutils.DefaultServer:549,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.testutils.DefaultServer:552,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.testutils.DefaultServer:552,1
    - Dst: '[io.undertow.testutils.DefaultServer].setMaxRequestTime(int)'
      Src: io.undertow.testutils.DefaultServer:552,1
    - Dst: '[io.undertow.testutils.DefaultServer].setNext(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:552,1
    - Dst: '[io.undertow.testutils.DefaultServer].setReuseXForwarded(boolean)'
      Src: io.undertow.testutils.DefaultServer:552,1
    - Dst: '[io.undertow.testutils.DefaultServer].build()'
      Src: io.undertow.testutils.DefaultServer:552,1
    - Dst: '[io.undertow.testutils.DefaultServer].setupProxyHandlerForSSL(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:558,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:559,1
    - Dst: '[io.undertow.testutils.DefaultServer].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:560,1
    - Dst: '[io.undertow.testutils.DefaultServer].error(String)'
      Src: io.undertow.testutils.DefaultServer:564,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:566,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:566,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:566,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:566,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:566,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:566,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:566,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:567,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:567,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:569,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:569,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:569,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:569,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:569,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:571,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:571,1
    - Dst: '[io.undertow.testutils.DefaultServer].getProxyPort()'
      Src: io.undertow.testutils.DefaultServer:571,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:571,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:572,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:574,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:574,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:574,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:574,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:574,1
    - Dst: '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.testutils.DefaultServer:575,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.testutils.DefaultServer:575,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:576,1
    - Dst: '[java.net.Inet4Address].getByName(String)'
      Src: io.undertow.testutils.DefaultServer:576,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:576,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:576,1
    - Dst: '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:576,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker)'
      Src: io.undertow.testutils.DefaultServer:577,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
      Src: io.undertow.testutils.DefaultServer:577,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:579,1
    - Dst: '[io.undertow.testutils.DefaultServer].getProxyPort()'
      Src: io.undertow.testutils.DefaultServer:579,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,null,null)'
      Src: io.undertow.testutils.DefaultServer:579,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI)'
      Src: io.undertow.testutils.DefaultServer:577,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.testutils.DefaultServer:580,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.testutils.DefaultServer:580,1
    - Dst: '[io.undertow.testutils.DefaultServer].setMaxRequestTime(int)'
      Src: io.undertow.testutils.DefaultServer:580,1
    - Dst: '[io.undertow.testutils.DefaultServer].setNext(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:580,1
    - Dst: '[io.undertow.testutils.DefaultServer].setReuseXForwarded(boolean)'
      Src: io.undertow.testutils.DefaultServer:580,1
    - Dst: '[io.undertow.testutils.DefaultServer].build()'
      Src: io.undertow.testutils.DefaultServer:580,1
    - Dst: '[io.undertow.testutils.DefaultServer].setupProxyHandlerForSSL(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:586,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:587,1
    - Dst: '[io.undertow.testutils.DefaultServer].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:588,1
    - Dst: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(DelegatingHandler)'
      Src: io.undertow.testutils.DefaultServer:592,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
      Src: io.undertow.testutils.DefaultServer:592,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(DelegatingHandler)'
      Src: io.undertow.testutils.DefaultServer:594,1
    - Dst: '[io.undertow.testutils.DefaultServer].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:596,1
    - Dst: '[RuntimeException].<init>(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:598,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 296
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 439
    functionDepth: 5
    functionLinenumber: 439
    functionLinenumberEnd: 601
    functionName: '[io.undertow.testutils.DefaultServer].startServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].setNext(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
    - '[org.xnio.Xnio].getInstance(String,io.undertow.testutils.DefaultServer)'
    - '[RuntimeException].<init>(Throwable)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(DelegatingHandler)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Integer>,int)'
    - '[io.undertow.testutils.DefaultServer].setupProxyHandlerForSSL(io.undertow.testutils.DefaultServer)'
    - '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].getAcceptSetter()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].createWorker(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[org.xnio.ChannelListeners].openListenerAdapter(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[OptionMap.Builder].set(io.undertow.testutils.DefaultServer,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,null,null,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[RuntimeException].<init>(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.DelegateOpenListener,int)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(io.undertow.testutils.DefaultServer,java.net.InetSocketAddress,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,boolean)'
    - '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.ajp.AjpOpenListener)'
    - '[java.net.URI].<init>(String,null,String,int,String,null,null)'
    - '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].resumeAccepts()'
    - '[java.net.Inet4Address].getByName(String)'
    - '[io.undertow.testutils.DefaultServer].build()'
    - '[io.undertow.testutils.DefaultServer].wrapOpenListener(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.testutils.DefaultServer].getMap()'
    - DefaultServer.class.getClassLoader()
    - '[io.undertow.testutils.DefaultServer].isAlpnEnabled()'
    - '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
    - '[io.undertow.testutils.DefaultServer].setMaxRequestTime(int)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.testutils.DebuggingSlicePool,io.undertow.testutils.DefaultServer)'
    - '[java.net.InetSocketAddress].<init>(String,int)'
    - '[java.net.URI].<init>(null,String,int,String,null,null)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI)'
    - '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
    - '[io.undertow.testutils.DefaultServer].setReuseXForwarded(boolean)'
    - '[io.undertow.testutils.DefaultServer].error(String)'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[io.undertow.testutils.DefaultServer].resumeAccepts()'
    - '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,int)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,null,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].addAll(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(DelegatingHandler)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    - '[io.undertow.testutils.DefaultServer].getProxyPort()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].startServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].close()'
      Src: io.undertow.testutils.DefaultServer:614,1
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].close()'
      Src: io.undertow.testutils.DefaultServer:617,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.testutils.DefaultServer:619,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.testutils.DefaultServer:621,1
    - Dst: '[RuntimeException].<init>(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 635
    functionName: '[io.undertow.testutils.DefaultServer].stopServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 2
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.testutils.DefaultServer)'
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].close()'
    - '[io.undertow.testutils.DefaultServer].stopWorker(org.xnio.XnioWorker)'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].stopServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:639,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeRepeatTest(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:640,1
    - Dst: '[org.junit.runners.BlockJUnit4ClassRunner].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runners.model.FrameworkMethod
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.junit.runner.Description
      static: false
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - method
    argTypes:
    - org.junit.runners.model.FrameworkMethod
    constantsTouched: []
    func_position:
      end: 643
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 643
    functionName: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].describeRepeatTest(org.junit.runners.model.FrameworkMethod)'
    - '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
    - '[org.junit.runners.BlockJUnit4ClassRunner].describeChild(org.junit.runners.model.FrameworkMethod)'
    linkageType: ''
    returnType: org.junit.runner.Description
    signature: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotations()'
      Src: io.undertow.testutils.DefaultServer:649,1
    - Dst: '[org.junit.runner.Description].createSuiteDescription(String,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:647,1
    - Dst: '[io.undertow.testutils.DefaultServer].getTestClass()'
      Src: io.undertow.testutils.DefaultServer:653,1
    - Dst: '[io.undertow.testutils.DefaultServer].getJavaClass()'
      Src: io.undertow.testutils.DefaultServer:653,1
    - Dst: '[io.undertow.testutils.DefaultServer].testName(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:654,1
    - Dst: '[org.junit.runner.Description].createTestDescription(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:652,1
    - Dst: '[io.undertow.testutils.DefaultServer].addChild(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runners.model.FrameworkMethod
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.junit.runner.Description
      static: false
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - method
    argTypes:
    - org.junit.runners.model.FrameworkMethod
    constantsTouched: []
    func_position:
      end: 657
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 657
    functionName: '[io.undertow.testutils.DefaultServer].describeRepeatTest(org.junit.runners.model.FrameworkMethod)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[org.junit.runner.Description].createTestDescription(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].addChild(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getTestClass()'
    - '[org.junit.runner.Description].createSuiteDescription(String,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getJavaClass()'
    - '[org.junit.runners.model.FrameworkMethod].getAnnotations()'
    - '[io.undertow.testutils.DefaultServer].testName(org.junit.runners.model.FrameworkMethod)'
    linkageType: ''
    returnType: org.junit.runner.Description
    signature: '[io.undertow.testutils.DefaultServer].describeRepeatTest(org.junit.runners.model.FrameworkMethod)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel.getSinkChannel()
      Src: io.undertow.testutils.DefaultServer:664,1
    - Dst: channel.getSinkChannel()
      Src: io.undertow.testutils.DefaultServer:664,1
    - Dst: '[io.undertow.testutils.DefaultServer].getConduit()'
      Src: io.undertow.testutils.DefaultServer:664,1
    - Dst: '[io.undertow.util.SingleByteStreamSinkConduit].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:664,1
    - Dst: '[io.undertow.testutils.DefaultServer].setConduit(io.undertow.util.SingleByteStreamSinkConduit)'
      Src: io.undertow.testutils.DefaultServer:664,1
    - Dst: channel.getSourceChannel()
      Src: io.undertow.testutils.DefaultServer:665,1
    - Dst: channel.getSourceChannel()
      Src: io.undertow.testutils.DefaultServer:665,1
    - Dst: '[io.undertow.testutils.DefaultServer].getConduit()'
      Src: io.undertow.testutils.DefaultServer:665,1
    - Dst: '[io.undertow.util.SingleByteStreamSourceConduit].<init>(io.undertow.testutils.DefaultServer,int)'
      Src: io.undertow.testutils.DefaultServer:665,1
    - Dst: '[io.undertow.testutils.DefaultServer].setConduit(io.undertow.util.SingleByteStreamSourceConduit)'
      Src: io.undertow.testutils.DefaultServer:665,1
    - Dst: '[org.xnio.ChannelListener<org.xnio.StreamConnection>].handleEvent(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<org.xnio.StreamConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ChannelListener<org.xnio.StreamConnection>
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - listener
    argTypes:
    - org.xnio.ChannelListener<org.xnio.StreamConnection>
    constantsTouched: []
    func_position:
      end: 668
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 668
    functionName: '[io.undertow.testutils.DefaultServer].wrapOpenListener(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setConduit(io.undertow.util.SingleByteStreamSinkConduit)'
    - '[org.xnio.ChannelListener<org.xnio.StreamConnection>].handleEvent(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.util.SingleByteStreamSourceConduit].<init>(io.undertow.testutils.DefaultServer,int)'
    - channel.getSinkChannel()
    - '[io.undertow.testutils.DefaultServer].setConduit(io.undertow.util.SingleByteStreamSourceConduit)'
    - channel.getSourceChannel()
    - '[io.undertow.util.SingleByteStreamSinkConduit].<init>(io.undertow.testutils.DefaultServer,int)'
    - '[io.undertow.testutils.DefaultServer].getConduit()'
    linkageType: ''
    returnType: org.xnio.ChannelListener<org.xnio.StreamConnection>
    signature: '[io.undertow.testutils.DefaultServer].wrapOpenListener(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:672,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getMethod()'
      Src: io.undertow.testutils.DefaultServer:674,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDeclaringClass()'
      Src: io.undertow.testutils.DefaultServer:674,1
    - Dst: '[io.undertow.testutils.DefaultServer].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:674,1
    - Dst: '[io.undertow.testutils.DefaultServer].apacheOnly()'
      Src: io.undertow.testutils.DefaultServer:677,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:678,1
    - Dst: '[org.junit.runner.notification.RunNotifier].fireTestIgnored(org.junit.runner.Description)'
      Src: io.undertow.testutils.DefaultServer:678,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:684,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getMethod()'
      Src: io.undertow.testutils.DefaultServer:686,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDeclaringClass()'
      Src: io.undertow.testutils.DefaultServer:686,1
    - Dst: '[io.undertow.testutils.DefaultServer].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:686,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:689,1
    - Dst: '[org.junit.runner.notification.RunNotifier].fireTestIgnored(org.junit.runner.Description)'
      Src: io.undertow.testutils.DefaultServer:689,1
    - Dst: '[io.undertow.testutils.DefaultServer].assumeAlpnEnabled()'
      Src: io.undertow.testutils.DefaultServer:693,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:697,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getMethod()'
      Src: io.undertow.testutils.DefaultServer:699,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDeclaringClass()'
      Src: io.undertow.testutils.DefaultServer:699,1
    - Dst: '[io.undertow.testutils.DefaultServer].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:699,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:702,1
    - Dst: '[org.junit.runner.notification.RunNotifier].fireTestIgnored(org.junit.runner.Description)'
      Src: io.undertow.testutils.DefaultServer:702,1
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.testutils.DefaultServer:706,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:707,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getMethod()'
      Src: io.undertow.testutils.DefaultServer:708,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDeclaringClass()'
      Src: io.undertow.testutils.DefaultServer:708,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAnnotationPresent()'
      Src: io.undertow.testutils.DefaultServer:708,1
    - Dst: '[io.undertow.testutils.DefaultServer].getTestClass()'
      Src: io.undertow.testutils.DefaultServer:709,1
    - Dst: '[io.undertow.testutils.DefaultServer].getJavaClass()'
      Src: io.undertow.testutils.DefaultServer:709,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAnnotationPresent()'
      Src: io.undertow.testutils.DefaultServer:709,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:710,1
    - Dst: '[org.junit.runner.notification.RunNotifier].fireTestIgnored(org.junit.runner.Description)'
      Src: io.undertow.testutils.DefaultServer:710,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:715,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getMethod()'
      Src: io.undertow.testutils.DefaultServer:716,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDeclaringClass()'
      Src: io.undertow.testutils.DefaultServer:716,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAnnotationPresent()'
      Src: io.undertow.testutils.DefaultServer:716,1
    - Dst: '[io.undertow.testutils.DefaultServer].getTestClass()'
      Src: io.undertow.testutils.DefaultServer:717,1
    - Dst: '[io.undertow.testutils.DefaultServer].getJavaClass()'
      Src: io.undertow.testutils.DefaultServer:717,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAnnotationPresent()'
      Src: io.undertow.testutils.DefaultServer:717,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:718,1
    - Dst: '[org.junit.runner.notification.RunNotifier].fireTestIgnored(org.junit.runner.Description)'
      Src: io.undertow.testutils.DefaultServer:718,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:722,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getMethod()'
      Src: io.undertow.testutils.DefaultServer:723,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDeclaringClass()'
      Src: io.undertow.testutils.DefaultServer:723,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAnnotationPresent()'
      Src: io.undertow.testutils.DefaultServer:723,1
    - Dst: '[io.undertow.testutils.DefaultServer].getTestClass()'
      Src: io.undertow.testutils.DefaultServer:724,1
    - Dst: '[io.undertow.testutils.DefaultServer].getJavaClass()'
      Src: io.undertow.testutils.DefaultServer:724,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAnnotationPresent()'
      Src: io.undertow.testutils.DefaultServer:724,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:725,1
    - Dst: '[org.junit.runner.notification.RunNotifier].fireTestIgnored(org.junit.runner.Description)'
      Src: io.undertow.testutils.DefaultServer:725,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:731,1
    - Dst: '[org.junit.runners.model.FrameworkMethod].getMethod()'
      Src: io.undertow.testutils.DefaultServer:733,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDeclaringClass()'
      Src: io.undertow.testutils.DefaultServer:733,1
    - Dst: '[io.undertow.testutils.DefaultServer].getAnnotation()'
      Src: io.undertow.testutils.DefaultServer:733,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:737,1
    - Dst: '[org.junit.runner.notification.RunNotifier].fireTestIgnored(org.junit.runner.Description)'
      Src: io.undertow.testutils.DefaultServer:737,1
    - Dst: '[io.undertow.testutils.DefaultServer].methodBlock(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:743,1
    - Dst: '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:744,1
    - Dst: '[org.junit.runner.Description].getChildren()'
      Src: io.undertow.testutils.DefaultServer:745,1
    - Dst: '[io.undertow.testutils.DefaultServer].runLeaf(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer:746,1
    - Dst: '[org.junit.runners.BlockJUnit4ClassRunner].runChild(org.junit.runners.model.FrameworkMethod,org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer:749,1
    - Dst: '[io.undertow.testutils.TestHttpClient].afterTest()'
      Src: io.undertow.testutils.DefaultServer:752,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 89
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runners.model.FrameworkMethod
      - org.junit.runner.notification.RunNotifier
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 2
    argNames:
    - method
    - notifier
    argTypes:
    - org.junit.runners.model.FrameworkMethod
    - org.junit.runner.notification.RunNotifier
    constantsTouched: []
    func_position:
      end: 754
      start: 670
    functionDepth: 8
    functionLinenumber: 670
    functionLinenumberEnd: 754
    functionName: '[io.undertow.testutils.DefaultServer].runChild(org.junit.runners.model.FrameworkMethod,org.junit.runner.notification.RunNotifier)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[org.junit.runners.BlockJUnit4ClassRunner].runChild(org.junit.runners.model.FrameworkMethod,org.junit.runner.notification.RunNotifier)'
    - '[io.undertow.testutils.DefaultServer].runLeaf(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,org.junit.runner.notification.RunNotifier)'
    - '[io.undertow.testutils.DefaultServer].getAnnotation()'
    - '[org.junit.runner.Description].getChildren()'
    - '[io.undertow.testutils.DefaultServer].methodBlock(org.junit.runners.model.FrameworkMethod)'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    - '[io.undertow.testutils.DefaultServer].apacheOnly()'
    - '[io.undertow.testutils.TestHttpClient].afterTest()'
    - '[io.undertow.testutils.DefaultServer].describeChild(org.junit.runners.model.FrameworkMethod)'
    - '[io.undertow.testutils.DefaultServer].isAnnotationPresent()'
    - '[io.undertow.testutils.DefaultServer].assumeAlpnEnabled()'
    - '[io.undertow.testutils.DefaultServer].getTestClass()'
    - '[io.undertow.testutils.DefaultServer].getJavaClass()'
    - '[io.undertow.testutils.DefaultServer].getDeclaringClass()'
    - '[org.junit.runners.model.FrameworkMethod].getAnnotation()'
    - '[org.junit.runner.notification.RunNotifier].fireTestIgnored(org.junit.runner.Description)'
    - '[org.junit.runners.model.FrameworkMethod].getMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].runChild(org.junit.runners.model.FrameworkMethod,org.junit.runner.notification.RunNotifier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.testutils.DefaultServer:758,1
    - Dst: '[org.junit.runners.BlockJUnit4ClassRunner].testName(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:759,1
    - Dst: '[org.junit.runners.BlockJUnit4ClassRunner].testName(org.junit.runners.model.FrameworkMethod)'
      Src: io.undertow.testutils.DefaultServer:761,1
    - Dst: '[StringBuilder].<init>(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:761,1
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.testutils.DefaultServer:762,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.testutils.DefaultServer:763,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.testutils.DefaultServer:766,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.testutils.DefaultServer:769,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.testutils.DefaultServer:772,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.testutils.DefaultServer:775,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.testutils.DefaultServer:778,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.testutils.DefaultServer:781,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.testutils.DefaultServer:783,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runners.model.FrameworkMethod
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - method
    argTypes:
    - org.junit.runners.model.FrameworkMethod
    constantsTouched: []
    func_position:
      end: 785
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 785
    functionName: '[io.undertow.testutils.DefaultServer].testName(org.junit.runners.model.FrameworkMethod)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    - '[StringBuilder].toString()'
    - '[org.junit.runners.BlockJUnit4ClassRunner].testName(org.junit.runners.model.FrameworkMethod)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.DefaultServer].testName(org.junit.runners.model.FrameworkMethod)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.testutils.DefaultServer:794,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.testutils.DefaultServer:797,1
    - Dst: '[io.undertow.server.handlers.SSLHeaderHandler].<init>(io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.testutils.DefaultServer:797,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.testutils.DefaultServer:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 804
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 804
    functionName: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 26
    functionsReached:
    - '[io.undertow.server.handlers.SSLHeaderHandler].<init>(io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.server.handlers.SSLHeaderHandler)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.testutils.DefaultServer:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 814
    functionDepth: 5
    functionLinenumber: 814
    functionLinenumberEnd: 819
    functionName: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 61
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.testutils.DefaultServer:829,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.testutils.DefaultServer:830,1
    - Dst: '[org.xnio.Sequence].of(String)'
      Src: io.undertow.testutils.DefaultServer:832,1
    - Dst: '[org.xnio.OptionMap].create(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:832,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 828
    functionDepth: 5
    functionLinenumber: 828
    functionLinenumberEnd: 833
    functionName: '[io.undertow.testutils.DefaultServer].startSSLServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 44
    functionsReached:
    - '[org.xnio.Sequence].of(String)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[org.xnio.OptionMap].create(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,io.undertow.testutils.DefaultServer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].startSSLServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext(String)'
      Src: io.undertow.testutils.DefaultServer:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 835
    functionDepth: 4
    functionLinenumber: 835
    functionLinenumberEnd: 837
    functionName: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 12
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].createClientSslContext(String)'
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:841,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:841,1
    - Dst: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,String,boolean)'
      Src: io.undertow.testutils.DefaultServer:841,1
    - Dst: '[RuntimeException].<init>(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 845
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 845
    functionName: '[io.undertow.testutils.DefaultServer].createClientSslContext(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 2
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,String,boolean)'
    - '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.testutils.DefaultServer].createClientSslContext(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:849,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:849,1
    - Dst: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
      Src: io.undertow.testutils.DefaultServer:849,1
    - Dst: '[RuntimeException].<init>(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 853
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 853
    functionName: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 17
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
    - '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.testutils.DefaultServer:862,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer(org.xnio.OptionMap)'
      Src: io.undertow.testutils.DefaultServer:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - optionMap
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 5
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: '[io.undertow.testutils.DefaultServer].startSSLServer(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].startSSLServer(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:873,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:873,1
    - Dst: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
      Src: io.undertow.testutils.DefaultServer:873,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:874,1
    - Dst: '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
      Src: io.undertow.testutils.DefaultServer:874,1
    - Dst: '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
      Src: io.undertow.testutils.DefaultServer:874,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap,org.xnio.ChannelListener)'
      Src: io.undertow.testutils.DefaultServer:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      - org.xnio.ChannelListener
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 2
    argNames:
    - optionMap
    - openListener
    argTypes:
    - org.xnio.OptionMap
    - org.xnio.ChannelListener
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 4
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: '[io.undertow.testutils.DefaultServer].startSSLServer(org.xnio.OptionMap,org.xnio.ChannelListener)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].createSSLContext(java.security.KeyStore,java.security.KeyStore,boolean)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap,org.xnio.ChannelListener)'
    - '[io.undertow.testutils.DefaultServer].loadKeyStore(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].startSSLServer(org.xnio.OptionMap,org.xnio.ChannelListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap)'
      Src: io.undertow.testutils.DefaultServer:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 2
    argNames:
    - context
    - options
    argTypes:
    - javax.net.ssl.SSLContext
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 887
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 887
    functionName: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.testutils.DefaultServer:897,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap,org.xnio.ChannelListener,int)'
      Src: io.undertow.testutils.DefaultServer:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      - org.xnio.OptionMap
      - org.xnio.ChannelListener
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 3
    argNames:
    - context
    - options
    - openListener
    argTypes:
    - javax.net.ssl.SSLContext
    - org.xnio.OptionMap
    - org.xnio.ChannelListener
    constantsTouched: []
    func_position:
      end: 898
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 898
    functionName: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap,org.xnio.ChannelListener)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap,org.xnio.ChannelListener,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap,org.xnio.ChannelListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isApacheTest()'
      Src: io.undertow.testutils.DefaultServer:909,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:912,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
      Src: io.undertow.testutils.DefaultServer:912,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
      Src: io.undertow.testutils.DefaultServer:912,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,boolean)'
      Src: io.undertow.testutils.DefaultServer:912,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:912,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.testutils.DefaultServer:916,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:917,1
    - Dst: '[java.net.InetSocketAddress].<init>(String,int)'
      Src: io.undertow.testutils.DefaultServer:917,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener,io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:917,1
    - Dst: '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].getAcceptSetter()'
      Src: io.undertow.testutils.DefaultServer:918,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.ChannelListener)'
      Src: io.undertow.testutils.DefaultServer:918,1
    - Dst: '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].resumeAccepts()'
      Src: io.undertow.testutils.DefaultServer:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      - org.xnio.OptionMap
      - org.xnio.ChannelListener
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 4
    argNames:
    - context
    - options
    - openListener
    - port
    argTypes:
    - javax.net.ssl.SSLContext
    - org.xnio.OptionMap
    - org.xnio.ChannelListener
    - int
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap,org.xnio.ChannelListener,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
    - '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].getAcceptSetter()'
    - '[io.undertow.testutils.DefaultServer].getMap()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener,io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.testutils.DefaultServer,io.undertow.testutils.DefaultServer,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.testutils.DefaultServer].isApacheTest()'
    - '[io.undertow.testutils.DefaultServer].set(io.undertow.testutils.DefaultServer,boolean)'
    - '[java.net.InetSocketAddress].<init>(String,int)'
    - '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].resumeAccepts()'
    - '[io.undertow.testutils.DefaultServer].set(org.xnio.ChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].startSSLServer(javax.net.ssl.SSLContext,org.xnio.OptionMap,org.xnio.ChannelListener,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 924
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 924
    functionName: '[io.undertow.testutils.DefaultServer].isApacheTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].isApacheTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].close()'
      Src: io.undertow.testutils.DefaultServer:933,1
    - Dst: '[io.undertow.server.OpenListener].closeConnections()'
      Src: io.undertow.testutils.DefaultServer:939,1
    - Dst: '[io.undertow.server.OpenListener].closeConnections()'
      Src: io.undertow.testutils.DefaultServer:943,1
    - Dst: '[io.undertow.testutils.DefaultServer].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
      Src: io.undertow.testutils.DefaultServer:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 950
    functionName: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 48
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].close()'
    - '[io.undertow.testutils.DefaultServer].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
    - '[io.undertow.server.OpenListener].closeConnections()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String,String)
      Src: io.undertow.testutils.DefaultServer:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - serverName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 954
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 954
    functionName: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 37
    functionsReached:
    - System.getProperty(String,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.testutils.DefaultServer:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 958
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 958
    functionName: '[io.undertow.testutils.DefaultServer].getHostAddress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 26
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.testutils.DefaultServer].getHostAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isApacheTest()'
      Src: io.undertow.testutils.DefaultServer:961,1
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.testutils.DefaultServer:964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - serverName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 38
    functionsReached:
    - Integer.getInteger(String,int)
    - '[io.undertow.testutils.DefaultServer].isApacheTest()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: '[io.undertow.testutils.DefaultServer].getHostPort()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 13
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.testutils.DefaultServer].getHostPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isApacheTest()'
      Src: io.undertow.testutils.DefaultServer:972,1
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.testutils.DefaultServer:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - serverName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 976
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 976
    functionName: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 9
    functionsReached:
    - Integer.getInteger(String,int)
    - '[io.undertow.testutils.DefaultServer].isApacheTest()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - serverName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: '[io.undertow.testutils.DefaultServer].getProxyPort(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.testutils.DefaultServer].getProxyPort(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.testutils.DefaultServer:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 984
    functionName: '[io.undertow.testutils.DefaultServer].getProxyPort()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.testutils.DefaultServer].getProxyPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.OpenListener].getUndertowOptions()'
      Src: io.undertow.testutils.DefaultServer:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 16
    functionsReached:
    - '[io.undertow.server.OpenListener].getUndertowOptions()'
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:991,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
      Src: io.undertow.testutils.DefaultServer:991,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:993,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:996,1
    - Dst: '[io.undertow.server.OpenListener].setUndertowOptions(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:996,1
    - Dst: '[io.undertow.server.OpenListener].closeConnections()'
      Src: io.undertow.testutils.DefaultServer:997,1
    - Dst: '[io.undertow.server.OpenListener].closeConnections()'
      Src: io.undertow.testutils.DefaultServer:999,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].closeCurrentConnections()'
      Src: io.undertow.testutils.DefaultServer:1002,1
    - Dst: '[io.undertow.testutils.DefaultServer].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
      Src: io.undertow.testutils.DefaultServer:1004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 1006
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1006
    functionName: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 16
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
    - '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getMap()'
    - '[io.undertow.server.OpenListener].setUndertowOptions(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].closeCurrentConnections()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.server.OpenListener].closeConnections()'
    - '[io.undertow.testutils.DefaultServer].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.OpenListener].getUndertowOptions()'
      Src: io.undertow.testutils.DefaultServer:1010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1014
    functionName: '[io.undertow.testutils.DefaultServer].getProxyOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.OpenListener].getUndertowOptions()'
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.testutils.DefaultServer].getProxyOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:1017,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
      Src: io.undertow.testutils.DefaultServer:1017,1
    - Dst: '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.testutils.DefaultServer:1018,1
    - Dst: '[io.undertow.testutils.DefaultServer].getMap()'
      Src: io.undertow.testutils.DefaultServer:1021,1
    - Dst: '[io.undertow.server.OpenListener].setUndertowOptions(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:1021,1
    - Dst: '[io.undertow.server.OpenListener].closeConnections()'
      Src: io.undertow.testutils.DefaultServer:1022,1
    - Dst: '[io.undertow.testutils.DefaultServer].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
      Src: io.undertow.testutils.DefaultServer:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 1025
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1025
    functionName: '[io.undertow.testutils.DefaultServer].setProxyOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
    - '[io.undertow.testutils.DefaultServer].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getMap()'
    - '[io.undertow.server.OpenListener].setUndertowOptions(io.undertow.testutils.DefaultServer)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.server.OpenListener].closeConnections()'
    - '[io.undertow.testutils.DefaultServer].waitWorkerRunnableCycle(org.xnio.XnioWorker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].setProxyOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.testutils.DefaultServer:1028,1
    - Dst: '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
      Src: io.undertow.testutils.DefaultServer:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 1029
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1029
    functionName: '[io.undertow.testutils.DefaultServer].setServerOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].addAll(org.xnio.OptionMap)'
    - '[org.xnio.OptionMap].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].setServerOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1033
    functionName: '[io.undertow.testutils.DefaultServer].getWorker()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.testutils.DefaultServer].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1058
    functionName: '[io.undertow.testutils.DefaultServer].isAjp()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].isAjp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    functionName: '[io.undertow.testutils.DefaultServer].isProxy()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].isProxy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: '[io.undertow.testutils.DefaultServer].isHttps()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].isHttps()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1070
    functionName: '[io.undertow.testutils.DefaultServer].isH2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].isH2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1074
    functionName: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1078
    functionName: '[io.undertow.testutils.DefaultServer].isIpv6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].isIpv6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.testutils.DefaultServer:1102,1
    - Dst: '[javax.net.ssl.SSLContext].createSSLEngine()'
      Src: io.undertow.testutils.DefaultServer:1102,1
    - Dst: '[io.undertow.protocols.alpn.ALPNManager].getProvider(io.undertow.testutils.DefaultServer)'
      Src: io.undertow.testutils.DefaultServer:1103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1098
    functionDepth: 6
    functionLinenumber: 1098
    functionLinenumberEnd: 1107
    functionName: '[io.undertow.testutils.DefaultServer].isAlpnEnabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.alpn.ALPNManager].getProvider(io.undertow.testutils.DefaultServer)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[javax.net.ssl.SSLContext].createSSLEngine()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.testutils.DefaultServer].isAlpnEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAlpnEnabled()'
      Src: io.undertow.testutils.DefaultServer:1110,1
    - Dst: '[org.junit.Assume].assumeTrue(boolean)'
      Src: io.undertow.testutils.DefaultServer:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      - String
      - int
      - int
      - int
      - int
      - io.undertow.testutils.DebuggingSlicePool
      - org.xnio.OptionMap
      - OptionMap.Builder
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - io.undertow.server.OpenListener
      - org.xnio.ChannelListener
      - org.xnio.XnioWorker
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - javax.net.ssl.SSLContext
      - String
      - String
      - String
      - String
      - char[]
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - DelegatingHandler
      - io.undertow.testutils.DebuggingSlicePool
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - java.util.List<org.junit.runners.model.FrameworkMethod>
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: org.junit.runners.BlockJUnit4ClassRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1109
    functionDepth: 7
    functionLinenumber: 1109
    functionLinenumberEnd: 1111
    functionName: '[io.undertow.testutils.DefaultServer].assumeAlpnEnabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 2
    functionsReached:
    - '[org.junit.Assume].assumeTrue(boolean)'
    - '[io.undertow.testutils.DefaultServer].isAlpnEnabled()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer].assumeAlpnEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.runners.Parameterized].<init>(Class<?>)'
      Src: io.undertow.testutils.DefaultServer.Parameterized:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Throwable
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.DefaultServer.Parameterized
      static: false
      superClass: org.junit.runners.Parameterized
    argCount: 1
    argNames:
    - klass
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 1043
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1043
    functionName: '[io.undertow.testutils.DefaultServer.Parameterized].<init>(Class<?>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[org.junit.runners.Parameterized].<init>(Class<?>)'
    linkageType: ''
    returnType: io.undertow.testutils.DefaultServer.Parameterized
    signature: '[io.undertow.testutils.DefaultServer.Parameterized].<init>(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer.Parameterized].addRunNotifierListener(org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer.Parameterized:1047,1
    - Dst: '[org.junit.runners.Parameterized].run(org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer.Parameterized:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runner.notification.RunNotifier
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.junit.runners.Parameterized
    argCount: 1
    argNames:
    - notifier
    argTypes:
    - org.junit.runner.notification.RunNotifier
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    functionName: '[io.undertow.testutils.DefaultServer.Parameterized].run(org.junit.runner.notification.RunNotifier)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer.Parameterized].addRunNotifierListener(org.junit.runner.notification.RunNotifier)'
    - '[org.junit.runners.Parameterized].run(org.junit.runner.notification.RunNotifier)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer.Parameterized].run(org.junit.runner.notification.RunNotifier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer.Parameterized].getTestClass()'
      Src: io.undertow.testutils.DefaultServer.Parameterized:1052,1
    - Dst: '[org.junit.runners.Parameterized].classBlock(org.junit.runner.notification.RunNotifier)'
      Src: io.undertow.testutils.DefaultServer.Parameterized:1052,1
    - Dst: '[io.undertow.testutils.DefaultServer.Parameterized].createClassStatement(io.undertow.testutils.DefaultServer.Parameterized,org.junit.runner.notification.RunNotifier,io.undertow.testutils.DefaultServer.Parameterized)'
      Src: io.undertow.testutils.DefaultServer.Parameterized:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runner.notification.RunNotifier
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.junit.runners.model.Statement
      static: false
      superClass: org.junit.runners.Parameterized
    argCount: 1
    argNames:
    - notifier
    argTypes:
    - org.junit.runner.notification.RunNotifier
    constantsTouched: []
    func_position:
      end: 1053
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1053
    functionName: '[io.undertow.testutils.DefaultServer.Parameterized].classBlock(org.junit.runner.notification.RunNotifier)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer.Parameterized].getTestClass()'
    - '[io.undertow.testutils.DefaultServer.Parameterized].createClassStatement(io.undertow.testutils.DefaultServer.Parameterized,org.junit.runner.notification.RunNotifier,io.undertow.testutils.DefaultServer.Parameterized)'
    - '[org.junit.runners.Parameterized].classBlock(org.junit.runner.notification.RunNotifier)'
    linkageType: ''
    returnType: org.junit.runners.model.Statement
    signature: '[io.undertow.testutils.DefaultServer.Parameterized].classBlock(org.junit.runner.notification.RunNotifier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.testutils.DefaultServer.DelegatingHandler:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 1093
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1093
    functionName: '[io.undertow.testutils.DefaultServer.DelegatingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.DefaultServer.DelegatingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.DefaultServer.DelegatingHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.testutils.DefaultServer.DelegatingHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/DefaultServer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.testutils.DefaultServer.DelegatingHandler
    signature: '[io.undertow.testutils.DefaultServer.DelegatingHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.junit.runners.model.Statement
      - org.junit.runner.notification.RunNotifier
      classConcrete: true
      classEnum: false
      classFields:
      - org.junit.runners.model.Statement
      - org.junit.runner.notification.RunNotifier
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.RunDefaultServer
      static: false
      superClass: org.junit.runners.model.Statement
    argCount: 2
    argNames:
    - next
    - runNotifier
    argTypes:
    - org.junit.runners.model.Statement
    - org.junit.runner.notification.RunNotifier
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.testutils.RunDefaultServer].<init>(org.junit.runners.model.Statement,org.junit.runner.notification.RunNotifier)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/RunDefaultServer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.testutils.RunDefaultServer
    signature: '[io.undertow.testutils.RunDefaultServer].<init>(org.junit.runners.model.Statement,org.junit.runner.notification.RunNotifier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.junit.runners.model.Statement
      - org.junit.runner.notification.RunNotifier
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.junit.runners.model.Statement
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.testutils.RunDefaultServer].stopTheServerWhenDone()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/RunDefaultServer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.RunDefaultServer].stopTheServerWhenDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startServer()'
      Src: io.undertow.testutils.RunDefaultServer:62,1
    - Dst: '[org.junit.runner.notification.RunListener].<init>()'
      Src: io.undertow.testutils.RunDefaultServer:63,1
    - Dst: '[org.junit.runner.notification.RunNotifier].addListener(org.junit.runner.notification.RunListener)'
      Src: io.undertow.testutils.RunDefaultServer:63,1
    - Dst: '[org.junit.runners.model.Statement].evaluate()'
      Src: io.undertow.testutils.RunDefaultServer:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopServer()'
      Src: io.undertow.testutils.RunDefaultServer:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.junit.runners.model.Statement
      - org.junit.runner.notification.RunNotifier
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Throwable
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.junit.runners.model.Statement
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: '[io.undertow.testutils.RunDefaultServer].evaluate()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/RunDefaultServer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopServer()'
    - '[org.junit.runners.model.Statement].evaluate()'
    - '[org.junit.runner.notification.RunListener].<init>()'
    - '[io.undertow.testutils.DefaultServer].startServer()'
    - '[org.junit.runner.notification.RunNotifier].addListener(org.junit.runner.notification.RunListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.testutils.RunDefaultServer].evaluate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.category.FunctionalTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.testutils.category.FunctionalTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/category/FunctionalTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.testutils.category.FunctionalTest
    signature: '[io.undertow.testutils.category.FunctionalTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.testutils.category.UnitTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.testutils.category.UnitTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/testutils/category/UnitTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.testutils.category.UnitTest
    signature: '[io.undertow.testutils.category.UnitTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredicateParsingTestCase.class.getClassLoader()
      Src: io.undertow.predicate.PredicateParsingTestCase:39,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:39,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.predicate.PredicateParsingTestCase:40,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.predicate.PredicateParsingTestCase:41,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:42,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:43,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:43,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:44,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:45,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:45,1
    - Dst: PredicateParsingTestCase.class.getClassLoader()
      Src: io.undertow.predicate.PredicateParsingTestCase:54,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(io.undertow.predicate.PredicateParsingTestCase,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:54,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.predicate.PredicateParsingTestCase:55,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:56,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:57,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:57,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:58,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:59,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:59,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: '[io.undertow.predicate.PredicateParsingTestCase].testPredicateParser()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/predicate/PredicateParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[org.junit.Assert].assertTrue()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - PredicateParsingTestCase.class.getClassLoader()
    - '[io.undertow.predicate.PredicateParser].parse(io.undertow.predicate.PredicateParsingTestCase,io.undertow.predicate.PredicateParsingTestCase)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
    - '[RuntimeException].<init>(String,io.undertow.predicate.PredicateParsingTestCase)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicateParsingTestCase].testPredicateParser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredicateParsingTestCase.class.getClassLoader()
      Src: io.undertow.predicate.PredicateParsingTestCase:68,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:68,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.predicate.PredicateParsingTestCase:70,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:71,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:72,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:72,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.predicate.PredicateParsingTestCase:73,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:73,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:73,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:74,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: '[io.undertow.predicate.PredicateParsingTestCase].testPredicateContextVariable()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/predicate/PredicateParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - PredicateParsingTestCase.class.getClassLoader()
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicateParsingTestCase].testPredicateContextVariable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredicateParsingTestCase.class.getClassLoader()
      Src: io.undertow.predicate.PredicateParsingTestCase:79,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:79,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.predicate.PredicateParsingTestCase:80,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.PredicateParsingTestCase:81,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PredicateParsingTestCase,java.util.HashMap)'
      Src: io.undertow.predicate.PredicateParsingTestCase:81,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:82,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:83,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:84,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:85,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:85,1
    - Dst: PredicateParsingTestCase.class.getClassLoader()
      Src: io.undertow.predicate.PredicateParsingTestCase:87,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:87,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.PredicateParsingTestCase:88,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PredicateParsingTestCase,java.util.HashMap)'
      Src: io.undertow.predicate.PredicateParsingTestCase:88,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:89,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:90,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:90,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:91,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:92,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:92,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:93,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:94,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: '[io.undertow.predicate.PredicateParsingTestCase].testRegularExpressionsWithPredicateContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/predicate/PredicateParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[java.util.HashMap].<init>()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - PredicateParsingTestCase.class.getClassLoader()
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PredicateParsingTestCase,java.util.HashMap)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicateParsingTestCase].testRegularExpressionsWithPredicateContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredicateParsingTestCase.class.getClassLoader()
      Src: io.undertow.predicate.PredicateParsingTestCase:106,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(io.undertow.predicate.PredicateParsingTestCase,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:106,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.predicate.PredicateParsingTestCase:107,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:108,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:108,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.predicate.PredicateParsingTestCase:109,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:109,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:110,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:110,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: '[io.undertow.predicate.PredicateParsingTestCase].testArrayValues()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/predicate/PredicateParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - PredicateParsingTestCase.class.getClassLoader()
    - '[io.undertow.predicate.PredicateParser].parse(io.undertow.predicate.PredicateParsingTestCase,io.undertow.predicate.PredicateParsingTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[RuntimeException].<init>(String,io.undertow.predicate.PredicateParsingTestCase)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicateParsingTestCase].testArrayValues()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredicateParsingTestCase.class.getClassLoader()
      Src: io.undertow.predicate.PredicateParsingTestCase:119,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:119,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.predicate.PredicateParsingTestCase:120,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:121,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:121,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.predicate.PredicateParsingTestCase:122,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:122,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:123,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: '[io.undertow.predicate.PredicateParsingTestCase].testDefaultArrayValue()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/predicate/PredicateParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - PredicateParsingTestCase.class.getClassLoader()
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicateParsingTestCase].testDefaultArrayValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PredicateParsingTestCase].expect(String,boolean,boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:128,1
    - Dst: '[io.undertow.predicate.PredicateParsingTestCase].expect(String,boolean,boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: '[io.undertow.predicate.PredicateParsingTestCase].testOrderOfOperations()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/predicate/PredicateParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicateParsingTestCase].expect(String,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicateParsingTestCase].testOrderOfOperations()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredicateParsingTestCase.class.getClassLoader()
      Src: io.undertow.predicate.PredicateParsingTestCase:134,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:134,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.predicate.PredicateParsingTestCase:135,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.predicate.PredicateParsingTestCase:136,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:136,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:137,1
    - Dst: '[org.junit.Assert].assertEquals(boolean,boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:137,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.predicate.PredicateParsingTestCase:138,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.predicate.PredicateParsingTestCase:138,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicateParsingTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(boolean,boolean)'
      Src: io.undertow.predicate.PredicateParsingTestCase:139,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.predicate.PredicateParsingTestCase)'
      Src: io.undertow.predicate.PredicateParsingTestCase:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - string
    - result1
    - result2
    argTypes:
    - String
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: '[io.undertow.predicate.PredicateParsingTestCase].expect(String,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/predicate/PredicateParsingTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - PredicateParsingTestCase.class.getClassLoader()
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.PredicateParsingTestCase)'
    - '[org.junit.Assert].assertEquals(boolean,boolean)'
    - '[RuntimeException].<init>(String,io.undertow.predicate.PredicateParsingTestCase)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicateParsingTestCase].expect(String,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicateParsingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PredicateParsingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/predicate/PredicateParsingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PredicateParsingTestCase
    signature: '[io.undertow.predicate.PredicateParsingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.conduits.ChunkSizeTestCase:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.conduits.ChunkSizeTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/conduits/ChunkSizeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ResponseCodeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkSizeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.Socket].<init>()'
      Src: io.undertow.conduits.ChunkSizeTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.conduits.ChunkSizeTestCase:61,1
    - Dst: '[java.net.Socket].connect(java.net.InetSocketAddress)'
      Src: io.undertow.conduits.ChunkSizeTestCase:61,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.conduits.ChunkSizeTestCase:62,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.conduits.ChunkSizeTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: '[io.undertow.conduits.ChunkSizeTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/conduits/ChunkSizeTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].getInputStream()'
    - '[java.net.Socket].<init>()'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[java.net.Socket].connect(java.net.InetSocketAddress)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkSizeTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(java.net.Socket)'
      Src: io.undertow.conduits.ChunkSizeTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.conduits.ChunkSizeTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/conduits/ChunkSizeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(java.net.Socket)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkSizeTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msg.getBytes()
      Src: io.undertow.conduits.ChunkSizeTestCase:82,1
    - Dst: '[java.io.OutputStream].write(io.undertow.conduits.ChunkSizeTestCase)'
      Src: io.undertow.conduits.ChunkSizeTestCase:82,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: io.undertow.conduits.ChunkSizeTestCase:83,1
    - Dst: Thread.currentThread()
      Src: io.undertow.conduits.ChunkSizeTestCase:84,1
    - Dst: '[io.undertow.conduits.ChunkSizeTestCase].sleep(int)'
      Src: io.undertow.conduits.ChunkSizeTestCase:84,1
    - Dst: msg2.getBytes()
      Src: io.undertow.conduits.ChunkSizeTestCase:89,1
    - Dst: '[java.io.OutputStream].write(io.undertow.conduits.ChunkSizeTestCase)'
      Src: io.undertow.conduits.ChunkSizeTestCase:89,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: io.undertow.conduits.ChunkSizeTestCase:90,1
    - Dst: Thread.currentThread()
      Src: io.undertow.conduits.ChunkSizeTestCase:91,1
    - Dst: '[io.undertow.conduits.ChunkSizeTestCase].sleep(int)'
      Src: io.undertow.conduits.ChunkSizeTestCase:91,1
    - Dst: '[io.undertow.conduits.ChunkSizeTestCase].readAvailable()'
      Src: io.undertow.conduits.ChunkSizeTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.conduits.ChunkSizeTestCase)'
      Src: io.undertow.conduits.ChunkSizeTestCase:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: '[io.undertow.conduits.ChunkSizeTestCase].testForgedSmuggling()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/conduits/ChunkSizeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.conduits.ChunkSizeTestCase)'
    - msg.getBytes()
    - msg2.getBytes()
    - Thread.currentThread()
    - '[io.undertow.conduits.ChunkSizeTestCase].readAvailable()'
    - '[java.io.OutputStream].write(io.undertow.conduits.ChunkSizeTestCase)'
    - '[java.io.OutputStream].flush()'
    - '[io.undertow.conduits.ChunkSizeTestCase].sleep(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkSizeTestCase].testForgedSmuggling()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStream].read(io.undertow.conduits.ChunkSizeTestCase)'
      Src: io.undertow.conduits.ChunkSizeTestCase:101,1
    - Dst: System.arraycopy(io.undertow.conduits.ChunkSizeTestCase,int,io.undertow.conduits.ChunkSizeTestCase,int,io.undertow.conduits.ChunkSizeTestCase)
      Src: io.undertow.conduits.ChunkSizeTestCase:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: '[io.undertow.conduits.ChunkSizeTestCase].readAvailable()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/conduits/ChunkSizeTestCase.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(io.undertow.conduits.ChunkSizeTestCase,int,io.undertow.conduits.ChunkSizeTestCase,int,io.undertow.conduits.ChunkSizeTestCase)
    - '[java.io.InputStream].read(io.undertow.conduits.ChunkSizeTestCase)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.conduits.ChunkSizeTestCase].readAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ChunkSizeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.conduits.ChunkSizeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/conduits/ChunkSizeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ChunkSizeTestCase
    signature: '[io.undertow.conduits.ChunkSizeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:52,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:53,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:54,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:55,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:56,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:162,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:163,1
    - Dst: '[io.undertow.util.AbstractAttachable].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:163,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.server.DefaultByteBufferPool,boolean,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ChunkedStreamSinkConduitTest,io.undertow.util.AbstractAttachable)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:163,1
    - Dst: '[String].getBytes(io.undertow.conduits.ChunkedStreamSinkConduitTest)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:165,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.conduits.ChunkedStreamSinkConduitTest)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:165,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].write(io.undertow.conduits.ChunkedStreamSinkConduitTest)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:165,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:165,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].get()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:166,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(String,int,io.undertow.conduits.ChunkedStreamSinkConduitTest)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:166,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:167,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(int,io.undertow.conduits.ChunkedStreamSinkConduitTest)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:167,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].terminateWrites()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:168,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].flush()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:169,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertTrue(boolean)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:169,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:170,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].flush()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:171,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertTrue(boolean)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:171,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:174,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(String,io.undertow.conduits.ChunkedStreamSinkConduitTest,io.undertow.conduits.ChunkedStreamSinkConduitTest)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:174,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:175,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(int,io.undertow.conduits.ChunkedStreamSinkConduitTest)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduitTest:175,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 176
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].testChunkedStreamSinkConduit()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/conduits/ChunkedStreamSinkConduitTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.server.DefaultByteBufferPool,boolean,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ChunkedStreamSinkConduitTest,io.undertow.util.AbstractAttachable)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].terminateWrites()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].write(io.undertow.conduits.ChunkedStreamSinkConduitTest)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.util.AbstractAttachable].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    - '[String].getBytes(io.undertow.conduits.ChunkedStreamSinkConduitTest)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(int,io.undertow.conduits.ChunkedStreamSinkConduitTest)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(String,int,io.undertow.conduits.ChunkedStreamSinkConduitTest)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(String,io.undertow.conduits.ChunkedStreamSinkConduitTest,io.undertow.conduits.ChunkedStreamSinkConduitTest)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertEquals(int,int)'
    - '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.conduits.ChunkedStreamSinkConduitTest)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduitTest].assertTrue(boolean)'
    - '[java.util.concurrent.atomic.AtomicLong].get()'
    - '[org.xnio.conduits.StreamSinkConduit].<init>()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].testChunkedStreamSinkConduit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ChunkedStreamSinkConduitTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/conduits/ChunkedStreamSinkConduitTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ChunkedStreamSinkConduitTest
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduitTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.AbstractRedirectURIParseTest].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/AbstractRedirectURIParseTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractRedirectURIParseTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.AbstractRedirectURIParseTest].clearQueryParams()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/AbstractRedirectURIParseTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractRedirectURIParseTest].clearQueryParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:61,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:61,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.AbstractRedirectURIParseTest:62,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:63,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:63,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:63,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:64,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:65,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:65,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:67,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:68,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:69,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:69,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:70,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:70,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:72,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:73,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:74,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:74,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:75,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<String>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.AbstractRedirectURIParseTest].testSimpleRedirectURI()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/AbstractRedirectURIParseTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].size()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractRedirectURIParseTest].testSimpleRedirectURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:82,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.AbstractRedirectURIParseTest:83,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:84,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:84,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:84,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:85,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:86,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:86,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:88,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:89,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:90,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:90,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:91,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:91,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:93,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:94,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:95,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:95,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:96,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:96,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:98,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:99,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:100,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:100,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:101,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<String>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.AbstractRedirectURIParseTest].testUnescapedURI1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/AbstractRedirectURIParseTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].size()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractRedirectURIParseTest].testUnescapedURI1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:108,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.AbstractRedirectURIParseTest:109,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:110,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:110,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:110,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:111,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:112,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:112,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:114,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:115,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:116,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:116,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:117,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:117,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:119,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:120,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:121,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:121,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:122,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:122,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:124,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:125,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:126,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:126,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:127,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<String>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.AbstractRedirectURIParseTest].testUnescapedURI2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/AbstractRedirectURIParseTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].size()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractRedirectURIParseTest].testUnescapedURI2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:133,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:134,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:134,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.AbstractRedirectURIParseTest:135,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:136,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:136,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:136,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:137,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:138,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:138,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:140,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:141,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:142,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:142,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:143,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:143,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:145,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:146,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:147,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:147,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:148,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<String>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.AbstractRedirectURIParseTest].testEncodedCharacters1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/AbstractRedirectURIParseTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].size()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractRedirectURIParseTest].testEncodedCharacters1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:154,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:155,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:155,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.AbstractRedirectURIParseTest:157,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:158,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:158,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:158,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:159,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:160,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:160,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:162,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:163,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:164,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:164,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:165,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:165,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:167,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:168,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].size()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:169,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:169,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
      Src: io.undertow.server.AbstractRedirectURIParseTest:171,1
    - Dst: '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
      Src: io.undertow.server.AbstractRedirectURIParseTest:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<String>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.AbstractRedirectURIParseTest].testEncodedCharacters2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/AbstractRedirectURIParseTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(int,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].size()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getFirst()'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusCode()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.server.AbstractRedirectURIParseTest].getStatusLine()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertEquals(String,io.undertow.server.AbstractRedirectURIParseTest)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.AbstractRedirectURIParseTest].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractRedirectURIParseTest].testEncodedCharacters2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.AbstractRedirectURIParseTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.AbstractRedirectURIParseTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/AbstractRedirectURIParseTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.AbstractRedirectURIParseTest
    signature: '[io.undertow.server.AbstractRedirectURIParseTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:34,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:35,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:35,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:36,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:36,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:37,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:37,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:39,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].values()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:42,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:43,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:44,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:44,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:49,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].valuesIteration()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].values()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].valuesIteration()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:60,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:61,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:61,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:62,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:62,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:64,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].entrySet()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:66,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:67,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:68,1
    - Dst: entry.getKey()
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:73,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:73,1
    - Dst: entry.getValue()
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:74,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].entrySetIteration()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - entry.getValue()
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - entry.getKey()
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].entrySet()'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].entrySetIteration()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:86,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:87,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:87,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:88,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:88,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:90,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:91,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:92,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:92,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:94,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:97,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:99,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:100,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:102,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getPath()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:103,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].values()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:104,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:104,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].entrySet()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:105,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].multipleRFC2109Cookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.handlers.CookieImpl].setPath(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].getPath()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].values()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].entrySet()'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].multipleRFC2109Cookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:113,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:114,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:114,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:115,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:115,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:116,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:116,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:118,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:121,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:123,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:124,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].duplicateRFC6265Cookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].duplicateRFC6265Cookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:133,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:134,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:134,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:134,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:135,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:135,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:135,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:137,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:139,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].put(String,io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:140,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:142,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:143,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:146,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:147,1
    - Dst: '[io.undertow.server.CookieStore].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:150,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].putReplacesAllCookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.handlers.CookieImpl].setPath(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].put(String,io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
    - '[io.undertow.server.CookieStore].get(String)'
    - '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[java.util.List<io.undertow.server.handlers.Cookie>].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].putReplacesAllCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:158,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:159,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:159,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:159,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:160,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:160,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:162,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].remove(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:164,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:165,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:166,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:168,1
    - Dst: '[org.junit.Assert].assertNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:168,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:169,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:169,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:169,1
    - Dst: '[io.undertow.server.CookieStore].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:172,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].isEmpty()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:172,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].removeRemovesAllCookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.handlers.CookieImpl].setPath(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
    - '[org.junit.Assert].assertNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].get(String)'
    - '[org.junit.Assert].assertNotNull(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].remove(String)'
    - '[java.util.List<io.undertow.server.handlers.Cookie>].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].removeRemovesAllCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:180,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:181,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:181,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:183,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:185,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:185,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:186,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].containsKey()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].containsKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:194,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:195,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:196,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:197,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:197,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:199,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:203,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsValue(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:203,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:202,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:205,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsValue(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:205,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].containsValue()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsValue(io.undertow.server.handlers.CookieImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].containsValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:213,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:214,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].isEmpty()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:216,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:216,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:217,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:217,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:219,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:219,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:220,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:220,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].isEmpty()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:222,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:222,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].sizeAndEmpty()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].isEmpty()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].sizeAndEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:231,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:232,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:232,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:233,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:233,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:235,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:236,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:236,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].clear()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:238,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].isEmpty()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:240,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:240,1
    - Dst: '[io.undertow.server.CookieStore].isEmpty()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:241,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].clear()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].isEmpty()'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].isEmpty()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].clear()'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[org.junit.Assert].assertTrue(String,boolean)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:249,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:250,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:253,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:254,1
    - Dst: '[java.util.Map].of(String,io.undertow.server.handlers.CookieImpl,String,io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:252,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].putAll(io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:257,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:259,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:259,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:260,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:260,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:260,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:261,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:261,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].putAll()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].putAll(io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
    - '[java.util.Map].of(String,io.undertow.server.handlers.CookieImpl,String,io.undertow.server.handlers.CookieImpl)'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].putAll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:269,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:270,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:270,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:271,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:271,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:273,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].keySet()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:274,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:276,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:276,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].contains(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:277,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:277,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].contains(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:278,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].keySet()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].keySet()'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].size()'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].contains(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].keySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:286,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:287,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].isEmpty()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:289,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:289,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:292,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:292,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].isEmpty()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:294,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:294,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:295,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:295,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:295,1
    - Dst: '[io.undertow.server.CookieStore].get(String)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:296,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].get(int)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:296,1
    - Dst: '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:296,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
      Src: io.undertow.server.CookieStoreLegacyMapTestCase:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].mutability()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[org.junit.Assert].assertFalse(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].isEmpty()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[io.undertow.server.CookieStoreLegacyMapTestCase].getValue()'
    - '[io.undertow.server.CookieStore].get(String)'
    - '[java.util.List<io.undertow.server.handlers.Cookie>].get(int)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.CookieStoreLegacyMapTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].mutability()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.CookieStoreLegacyMapTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.CookieStoreLegacyMapTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/CookieStoreLegacyMapTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.CookieStoreLegacyMapTestCase
    signature: '[io.undertow.server.CookieStoreLegacyMapTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.HttpServerExchangeTestCase:43,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.HttpServerExchangeTestCase:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.HttpServerExchangeTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/HttpServerExchangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchangeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.server.HttpServerExchangeTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.server.HttpServerExchangeTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.server.HttpServerExchangeTestCase:62,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.HttpServerExchangeTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.HttpServerExchangeTestCase:65,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.HttpServerExchangeTestCase:65,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.HttpServerExchangeTestCase:66,1
    - Dst: '[io.undertow.server.HttpServerExchangeTestCase].getStatusLine()'
      Src: io.undertow.server.HttpServerExchangeTestCase:67,1
    - Dst: '[io.undertow.server.HttpServerExchangeTestCase].getStatusCode()'
      Src: io.undertow.server.HttpServerExchangeTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.HttpServerExchangeTestCase)'
      Src: io.undertow.server.HttpServerExchangeTestCase:67,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.HttpServerExchangeTestCase)'
      Src: io.undertow.server.HttpServerExchangeTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.HttpServerExchangeTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.HttpServerExchangeTestCase:69,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.HttpServerExchangeTestCase:69,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.HttpServerExchangeTestCase:70,1
    - Dst: '[io.undertow.server.HttpServerExchangeTestCase].getStatusLine()'
      Src: io.undertow.server.HttpServerExchangeTestCase:71,1
    - Dst: '[io.undertow.server.HttpServerExchangeTestCase].getStatusCode()'
      Src: io.undertow.server.HttpServerExchangeTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.HttpServerExchangeTestCase)'
      Src: io.undertow.server.HttpServerExchangeTestCase:71,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.HttpServerExchangeTestCase)'
      Src: io.undertow.server.HttpServerExchangeTestCase:72,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.HttpServerExchangeTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.HttpServerExchangeTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.HttpServerExchangeTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.HttpServerExchangeTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.HttpServerExchangeTestCase:75,1
    - Dst: '[io.undertow.server.HttpServerExchangeTestCase].getStatusLine()'
      Src: io.undertow.server.HttpServerExchangeTestCase:76,1
    - Dst: '[io.undertow.server.HttpServerExchangeTestCase].getStatusCode()'
      Src: io.undertow.server.HttpServerExchangeTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.HttpServerExchangeTestCase)'
      Src: io.undertow.server.HttpServerExchangeTestCase:76,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.HttpServerExchangeTestCase)'
      Src: io.undertow.server.HttpServerExchangeTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.HttpServerExchangeTestCase:77,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.HttpServerExchangeTestCase:79,1
    - Dst: '[io.undertow.server.HttpServerExchangeTestCase].shutdown()'
      Src: io.undertow.server.HttpServerExchangeTestCase:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.HttpServerExchangeTestCase].testHttpServerExchange()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/HttpServerExchangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchangeTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.HttpServerExchangeTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.HttpServerExchangeTestCase].getStatusCode()'
    - '[io.undertow.server.HttpServerExchangeTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.HttpServerExchangeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchangeTestCase].testHttpServerExchange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchangeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.HttpServerExchangeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/HttpServerExchangeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchangeTestCase
    signature: '[io.undertow.server.HttpServerExchangeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ConnectionTerminationTestCase:55,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ConnectionTerminationTestCase:55,1
    - Dst: '[java.net.Socket].<init>()'
      Src: io.undertow.server.ConnectionTerminationTestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.ConnectionTerminationTestCase:78,1
    - Dst: '[java.net.Socket].connect(java.net.InetSocketAddress)'
      Src: io.undertow.server.ConnectionTerminationTestCase:78,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.ConnectionTerminationTestCase:81,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.ConnectionTerminationTestCase:83,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.ConnectionTerminationTestCase:86,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.ConnectionTerminationTestCase:86,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.ConnectionTerminationTestCase:87,1
    - Dst: request.getBytes(String)
      Src: io.undertow.server.ConnectionTerminationTestCase:89,1
    - Dst: '[io.undertow.server.ConnectionTerminationTestCase].write(io.undertow.server.ConnectionTerminationTestCase)'
      Src: io.undertow.server.ConnectionTerminationTestCase:89,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.ConnectionTerminationTestCase:90,1
    - Dst: '[io.undertow.server.ConnectionTerminationTestCase].close()'
      Src: io.undertow.server.ConnectionTerminationTestCase:90,1
    - Dst: '[io.undertow.server.ConnectionTerminationTestCase].close()'
      Src: io.undertow.server.ConnectionTerminationTestCase:91,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.ConnectionTerminationTestCase)'
      Src: io.undertow.server.ConnectionTerminationTestCase:95,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.ConnectionTerminationTestCase:96,1
    - Dst: '[org.xnio.IoUtils].safeClose(java.net.Socket)'
      Src: io.undertow.server.ConnectionTerminationTestCase:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.ConnectionTerminationTestCase].testAbnormalRequestTermination()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ConnectionTerminationTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(java.net.Socket)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].length()'
    - '[java.net.Socket].getInputStream()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.ConnectionTerminationTestCase].close()'
    - '[StringBuilder].toString()'
    - '[java.net.Socket].<init>()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.ConnectionTerminationTestCase)'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.server.ConnectionTerminationTestCase].write(io.undertow.server.ConnectionTerminationTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - request.getBytes(String)
    - '[java.net.Socket].connect(java.net.InetSocketAddress)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectionTerminationTestCase].testAbnormalRequestTermination()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.ConnectionTerminationTestCase)'
      Src: io.undertow.server.ConnectionTerminationTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ConnectionTerminationTestCase)'
      Src: io.undertow.server.ConnectionTerminationTestCase:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.ConnectionTerminationTestCase].setupServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ConnectionTerminationTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(io.undertow.server.ConnectionTerminationTestCase)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ConnectionTerminationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectionTerminationTestCase].setupServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ConnectionTerminationTestCase)'
      Src: io.undertow.server.ConnectionTerminationTestCase:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.ConnectionTerminationTestCase].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ConnectionTerminationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ConnectionTerminationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectionTerminationTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.ConnectionTerminationTestCase:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectionTerminationTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ConnectionTerminationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ConnectionTerminationTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.ConnectionTerminationTestCase
    signature: '[io.undertow.server.ConnectionTerminationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RedirectURIParseTestCase
      static: false
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.RedirectURIParseTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RedirectURIParseTestCase
    signature: '[io.undertow.server.RedirectURIParseTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.RedirectURIParseWithDecodeSlashTestCase,boolean)'
      Src: io.undertow.server.RedirectURIParseWithDecodeSlashTestCase:35,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithDecodeSlashTestCase)'
      Src: io.undertow.server.RedirectURIParseWithDecodeSlashTestCase:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.RedirectURIParseWithDecodeSlashTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithDecodeSlashTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(io.undertow.server.RedirectURIParseWithDecodeSlashTestCase,boolean)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithDecodeSlashTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RedirectURIParseWithDecodeSlashTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithDecodeSlashTestCase)'
      Src: io.undertow.server.RedirectURIParseWithDecodeSlashTestCase:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.RedirectURIParseWithDecodeSlashTestCase].tearDown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithDecodeSlashTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithDecodeSlashTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RedirectURIParseWithDecodeSlashTestCase].tearDown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RedirectURIParseWithDecodeSlashTestCase
      static: false
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.RedirectURIParseWithDecodeSlashTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithDecodeSlashTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RedirectURIParseWithDecodeSlashTestCase
    signature: '[io.undertow.server.RedirectURIParseWithDecodeSlashTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:41,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.EncodedEncodedSlashTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/EncodedEncodedSlashTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.EncodedEncodedSlashTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:52,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:54,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:54,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:55,1
    - Dst: '[io.undertow.server.EncodedEncodedSlashTestCase].getStatusLine()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:56,1
    - Dst: '[io.undertow.server.EncodedEncodedSlashTestCase].getStatusCode()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:56,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.EncodedEncodedSlashTestCase)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:56,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.EncodedEncodedSlashTestCase)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:57,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:57,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:60,1
    - Dst: '[io.undertow.server.EncodedEncodedSlashTestCase].shutdown()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.EncodedEncodedSlashTestCase].testSlashNotDecoded()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/EncodedEncodedSlashTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.EncodedEncodedSlashTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.EncodedEncodedSlashTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.EncodedEncodedSlashTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.EncodedEncodedSlashTestCase].getStatusLine()'
    - '[io.undertow.server.EncodedEncodedSlashTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.EncodedEncodedSlashTestCase].testSlashNotDecoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:69,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.EncodedEncodedSlashTestCase)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:72,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:73,1
    - Dst: '[io.undertow.server.EncodedEncodedSlashTestCase].getStatusLine()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:74,1
    - Dst: '[io.undertow.server.EncodedEncodedSlashTestCase].getStatusCode()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.EncodedEncodedSlashTestCase)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:74,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.EncodedEncodedSlashTestCase)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:79,1
    - Dst: '[io.undertow.server.EncodedEncodedSlashTestCase].shutdown()'
      Src: io.undertow.server.EncodedEncodedSlashTestCase:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.EncodedEncodedSlashTestCase].testSlashDecoded()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/EncodedEncodedSlashTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.EncodedEncodedSlashTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.server.EncodedEncodedSlashTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.EncodedEncodedSlashTestCase)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.EncodedEncodedSlashTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.EncodedEncodedSlashTestCase].getStatusLine()'
    - '[io.undertow.server.EncodedEncodedSlashTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.EncodedEncodedSlashTestCase].testSlashDecoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.EncodedEncodedSlashTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.EncodedEncodedSlashTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/EncodedEncodedSlashTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.EncodedEncodedSlashTestCase
    signature: '[io.undertow.server.EncodedEncodedSlashTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.MaxRequestSizeTestCase:55,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.MaxRequestSizeTestCase:56,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.MaxRequestSizeTestCase:57,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.MaxRequestSizeTestCase:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.MaxRequestSizeTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MaxRequestSizeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MaxRequestSizeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.MaxRequestSizeTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.MaxRequestSizeTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.MaxRequestSizeTestCase:75,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:75,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:76,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.MaxRequestSizeTestCase:76,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:77,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.MaxRequestSizeTestCase:78,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusLine()'
      Src: io.undertow.server.MaxRequestSizeTestCase:79,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusCode()'
      Src: io.undertow.server.MaxRequestSizeTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:79,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:80,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.MaxRequestSizeTestCase:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.MaxRequestSizeTestCase:86,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:87,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusLine()'
      Src: io.undertow.server.MaxRequestSizeTestCase:89,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusCode()'
      Src: io.undertow.server.MaxRequestSizeTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:89,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.MaxRequestSizeTestCase:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.MaxRequestSizeTestCase:96,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusLine()'
      Src: io.undertow.server.MaxRequestSizeTestCase:97,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusCode()'
      Src: io.undertow.server.MaxRequestSizeTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:97,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:98,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.MaxRequestSizeTestCase:101,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.MaxRequestSizeTestCase:102,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].shutdown()'
      Src: io.undertow.server.MaxRequestSizeTestCase:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.MaxRequestSizeTestCase].testMaxRequestHeaderSize()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MaxRequestSizeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.MaxRequestSizeTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.MaxRequestSizeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.MaxRequestSizeTestCase)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.MaxRequestSizeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.MaxRequestSizeTestCase].shutdown()'
    - '[io.undertow.server.MaxRequestSizeTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MaxRequestSizeTestCase].testMaxRequestHeaderSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.MaxRequestSizeTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.MaxRequestSizeTestCase:109,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.MaxRequestSizeTestCase:111,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:111,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:112,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.MaxRequestSizeTestCase:112,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.MaxRequestSizeTestCase:114,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusLine()'
      Src: io.undertow.server.MaxRequestSizeTestCase:115,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusCode()'
      Src: io.undertow.server.MaxRequestSizeTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:115,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:116,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Long>,int)'
      Src: io.undertow.server.MaxRequestSizeTestCase:118,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.MaxRequestSizeTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:121,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.MaxRequestSizeTestCase:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.MaxRequestSizeTestCase:123,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusLine()'
      Src: io.undertow.server.MaxRequestSizeTestCase:124,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusCode()'
      Src: io.undertow.server.MaxRequestSizeTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:124,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:125,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.MaxRequestSizeTestCase:127,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:128,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.MaxRequestSizeTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:129,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:130,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.MaxRequestSizeTestCase:130,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.MaxRequestSizeTestCase:131,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.MaxRequestSizeTestCase:132,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusLine()'
      Src: io.undertow.server.MaxRequestSizeTestCase:133,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].getStatusCode()'
      Src: io.undertow.server.MaxRequestSizeTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:133,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.MaxRequestSizeTestCase)'
      Src: io.undertow.server.MaxRequestSizeTestCase:134,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.MaxRequestSizeTestCase:137,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.MaxRequestSizeTestCase:138,1
    - Dst: '[io.undertow.server.MaxRequestSizeTestCase].shutdown()'
      Src: io.undertow.server.MaxRequestSizeTestCase:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.MaxRequestSizeTestCase].testMaxRequestEntitySize()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MaxRequestSizeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.MaxRequestSizeTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.MaxRequestSizeTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Long>,int)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.MaxRequestSizeTestCase)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.MaxRequestSizeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.MaxRequestSizeTestCase].shutdown()'
    - '[io.undertow.server.MaxRequestSizeTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MaxRequestSizeTestCase].testMaxRequestEntitySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.MaxRequestSizeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.MaxRequestSizeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MaxRequestSizeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.MaxRequestSizeTestCase
    signature: '[io.undertow.server.MaxRequestSizeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.InvalidHtpRequestTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/InvalidHtpRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ResponseCodeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.InvalidHtpRequestTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:55,1
    - Dst: '[org.apache.http.client.methods.HttpRequestBase].<init>()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:57,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpRequestBase)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:73,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:74,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:76,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.InvalidHtpRequestTestCase].testInvalidCharacterInMethod()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/InvalidHtpRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpRequestBase)'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpRequestBase].<init>()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.InvalidHtpRequestTestCase].testInvalidCharacterInMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:83,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:87,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:88,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:88,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:90,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.InvalidHtpRequestTestCase].testInvalidCharacterInHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/InvalidHtpRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.InvalidHtpRequestTestCase].testInvalidCharacterInHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:99,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:101,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:102,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:104,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.InvalidHtpRequestTestCase].testMultipleContentLengths()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/InvalidHtpRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.InvalidHtpRequestTestCase].testMultipleContentLengths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:109,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:111,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:111,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:112,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:114,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:115,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:117,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.InvalidHtpRequestTestCase].testContentLengthAndTransferEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/InvalidHtpRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.InvalidHtpRequestTestCase].testContentLengthAndTransferEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:123,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:125,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:125,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:128,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:129,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
      Src: io.undertow.server.InvalidHtpRequestTestCase:129,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:131,1
    - Dst: '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
      Src: io.undertow.server.InvalidHtpRequestTestCase:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.InvalidHtpRequestTestCase].testMultipleTransferEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/InvalidHtpRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.InvalidHtpRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].getStatusCode()'
    - '[io.undertow.server.InvalidHtpRequestTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.InvalidHtpRequestTestCase].testMultipleTransferEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.InvalidHtpRequestTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.InvalidHtpRequestTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/InvalidHtpRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.InvalidHtpRequestTestCase
    signature: '[io.undertow.server.InvalidHtpRequestTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.Socket].<init>()'
      Src: io.undertow.server.ParseTimeoutTestCase:52,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.ParseTimeoutTestCase:53,1
    - Dst: '[java.net.Socket].connect(java.net.InetSocketAddress)'
      Src: io.undertow.server.ParseTimeoutTestCase:53,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.ParseTimeoutTestCase:54,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.ParseTimeoutTestCase:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.ParseTimeoutTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ParseTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].getInputStream()'
    - '[java.net.Socket].<init>()'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[java.net.Socket].connect(java.net.InetSocketAddress)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ParseTimeoutTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(java.net.Socket)'
      Src: io.undertow.server.ParseTimeoutTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.ParseTimeoutTestCase)'
      Src: io.undertow.server.ParseTimeoutTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.ParseTimeoutTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ParseTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(java.net.Socket)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.ParseTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ParseTimeoutTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.ParseTimeoutTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.ParseTimeoutTestCase)'
      Src: io.undertow.server.ParseTimeoutTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.ParseTimeoutTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ParseTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.ParseTimeoutTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ParseTimeoutTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.ParseTimeoutTestCase)'
      Src: io.undertow.server.ParseTimeoutTestCase:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.ParseTimeoutTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ParseTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.ParseTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ParseTimeoutTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ParseTimeoutTestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ParseTimeoutTestCase:77,1
    - Dst: request.getBytes()
      Src: io.undertow.server.ParseTimeoutTestCase:87,1
    - Dst: '[java.io.OutputStream].write(io.undertow.server.ParseTimeoutTestCase)'
      Src: io.undertow.server.ParseTimeoutTestCase:87,1
    - Dst: '[java.io.OutputStream].flush()'
      Src: io.undertow.server.ParseTimeoutTestCase:88,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.ParseTimeoutTestCase:90,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.server.ParseTimeoutTestCase:93,1
    - Dst: '[io.undertow.server.ParseTimeoutTestCase].assertEquals(io.undertow.server.ParseTimeoutTestCase)'
      Src: io.undertow.server.ParseTimeoutTestCase:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.ParseTimeoutTestCase].testClosingConnectionWhenParsingHeadersForTooLong()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ParseTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(int)
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.ParseTimeoutTestCase].assertEquals(io.undertow.server.ParseTimeoutTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[java.io.OutputStream].write(io.undertow.server.ParseTimeoutTestCase)'
    - '[java.io.InputStream].read()'
    - '[java.io.OutputStream].flush()'
    - request.getBytes()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ParseTimeoutTestCase].testClosingConnectionWhenParsingHeadersForTooLong()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ParseTimeoutTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ParseTimeoutTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ParseTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ParseTimeoutTestCase
    signature: '[io.undertow.server.ParseTimeoutTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.server.WriteTimeoutTestCase:58,1
    - Dst: '[io.undertow.server.WriteTimeoutTestCase].set(io.undertow.server.WriteTimeoutTestCase,int)'
      Src: io.undertow.server.WriteTimeoutTestCase:58,1
    - Dst: '[io.undertow.server.WriteTimeoutTestCase].getMap()'
      Src: io.undertow.server.WriteTimeoutTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.WriteTimeoutTestCase)'
      Src: io.undertow.server.WriteTimeoutTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.WriteTimeoutTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/WriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.WriteTimeoutTestCase].set(io.undertow.server.WriteTimeoutTestCase,int)'
    - '[io.undertow.server.WriteTimeoutTestCase].getMap()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.WriteTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.WriteTimeoutTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.WriteTimeoutTestCase)'
      Src: io.undertow.server.WriteTimeoutTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.WriteTimeoutTestCase].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/WriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.WriteTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.WriteTimeoutTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.WriteTimeoutTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.WriteTimeoutTestCase:68,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.WriteTimeoutTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.WriteTimeoutTestCase:116,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.WriteTimeoutTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.WriteTimeoutTestCase:118,1
    - Dst: '[io.undertow.server.WriteTimeoutTestCase].getEntity()'
      Src: io.undertow.server.WriteTimeoutTestCase:119,1
    - Dst: '[io.undertow.server.WriteTimeoutTestCase].getContent()'
      Src: io.undertow.server.WriteTimeoutTestCase:119,1
    - Dst: '[io.undertow.server.WriteTimeoutTestCase].read(io.undertow.server.WriteTimeoutTestCase)'
      Src: io.undertow.server.WriteTimeoutTestCase:122,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.WriteTimeoutTestCase:123,1
    - Dst: '[Exception].getClass()'
      Src: io.undertow.server.WriteTimeoutTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.WriteTimeoutTestCase)'
      Src: io.undertow.server.WriteTimeoutTestCase:125,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.WriteTimeoutTestCase:129,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.WriteTimeoutTestCase)'
      Src: io.undertow.server.WriteTimeoutTestCase:131,1
    - Dst: '[Exception].getClass()'
      Src: io.undertow.server.WriteTimeoutTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.WriteTimeoutTestCase)'
      Src: io.undertow.server.WriteTimeoutTestCase:132,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.WriteTimeoutTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.WriteTimeoutTestCase:138,1
    - Dst: '[io.undertow.server.WriteTimeoutTestCase].shutdown()'
      Src: io.undertow.server.WriteTimeoutTestCase:138,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.WriteTimeoutTestCase].testWriteTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/WriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.WriteTimeoutTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.WriteTimeoutTestCase)'
    - Thread.sleep(int)
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[Exception].getClass()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.WriteTimeoutTestCase].getContent()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.WriteTimeoutTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.WriteTimeoutTestCase].read(io.undertow.server.WriteTimeoutTestCase)'
    - '[io.undertow.server.WriteTimeoutTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].fail(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.WriteTimeoutTestCase].testWriteTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.WriteTimeoutTestCase:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.WriteTimeoutTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.WriteTimeoutTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/WriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.WriteTimeoutTestCase
    signature: '[io.undertow.server.WriteTimeoutTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:65,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].set(io.undertow.server.MultipleRequestsWriteTimeoutTestCase,Integer)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:65,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].getMap()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:65,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - Integer
      - java.io.IOException
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MultipleRequestsWriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].set(io.undertow.server.MultipleRequestsWriteTimeoutTestCase,Integer)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].getMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - Integer
      - java.io.IOException
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MultipleRequestsWriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:81,1
    - Dst: '[org.apache.http.impl.conn.PoolingHttpClientConnectionManager].<init>()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:112,1
    - Dst: '[org.apache.http.impl.client.HttpClients].custom()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:113,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setConnectionManager(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:113,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setKeepAliveStrategy(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:113,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].build()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:117,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:117,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(io.undertow.server.MultipleRequestsWriteTimeoutTestCase,String)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:118,1
    - Dst: '[org.jboss.logging.Logger].infof(String)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:120,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:121,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].readContent(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:122,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:125,1
    - Dst: '[org.jboss.logging.Logger].infof(String)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:127,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:128,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].readContent(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:129,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].assertSuccess()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - Integer
      - java.io.IOException
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].testWriteTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MultipleRequestsWriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].readContent(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - Thread.sleep(int)
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setConnectionManager(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[org.apache.http.impl.client.HttpClients].custom()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setKeepAliveStrategy(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.jboss.logging.Logger].infof(String)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].assertSuccess()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(io.undertow.server.MultipleRequestsWriteTimeoutTestCase,String)'
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].build()'
    - '[org.apache.http.impl.conn.PoolingHttpClientConnectionManager].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].testWriteTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:141,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:141,1
    - Dst: '[org.apache.http.impl.conn.PoolingHttpClientConnectionManager].<init>()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:181,1
    - Dst: '[org.apache.http.impl.client.HttpClients].custom()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:182,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setConnectionManager(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:182,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setKeepAliveStrategy(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:182,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].build()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:182,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:186,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:186,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:187,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].readContent(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:188,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].assertSuccess()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - Integer
      - java.io.IOException
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 192
    functionName: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].testWriteTimeoutOnEjbLikeRequests()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MultipleRequestsWriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].readContent(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setConnectionManager(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[org.apache.http.impl.client.HttpClients].custom()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].setKeepAliveStrategy(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].assertSuccess()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].build()'
    - '[org.apache.http.impl.conn.PoolingHttpClientConnectionManager].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].testWriteTimeoutOnEjbLikeRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.client.methods.CloseableHttpResponse].getEntity()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:198,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].getContent()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:198,1
    - Dst: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].read(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:199,1
    - Dst: '[org.jboss.logging.Logger].debugf(String,io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:200,1
    - Dst: '[org.jboss.logging.Logger].error(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.methods.CloseableHttpResponse
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - Integer
      - java.io.IOException
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - org.apache.http.client.methods.CloseableHttpResponse
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].readContent(org.apache.http.client.methods.CloseableHttpResponse)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MultipleRequestsWriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].read(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].getContent()'
    - '[org.jboss.logging.Logger].error(io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[org.apache.http.client.methods.CloseableHttpResponse].getEntity()'
    - '[org.jboss.logging.Logger].debugf(String,io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].readContent(org.apache.http.client.methods.CloseableHttpResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:211,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:212,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - Integer
      - java.io.IOException
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].assertSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MultipleRequestsWriteTimeoutTestCase.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    - '[org.junit.Assert].fail(String)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.MultipleRequestsWriteTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].assertSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.server.MultipleRequestsWriteTimeoutTestCase:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - Integer
      - java.io.IOException
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.MultipleRequestsWriteTimeoutTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/MultipleRequestsWriteTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger()'
    linkageType: ''
    returnType: io.undertow.server.MultipleRequestsWriteTimeoutTestCase
    signature: '[io.undertow.server.MultipleRequestsWriteTimeoutTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.RedirectURIParseWithDecodeURLTestCase,io.undertow.server.RedirectURIParseWithDecodeURLTestCase)'
      Src: io.undertow.server.RedirectURIParseWithDecodeURLTestCase:35,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithDecodeURLTestCase)'
      Src: io.undertow.server.RedirectURIParseWithDecodeURLTestCase:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.RedirectURIParseWithDecodeURLTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithDecodeURLTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(io.undertow.server.RedirectURIParseWithDecodeURLTestCase,io.undertow.server.RedirectURIParseWithDecodeURLTestCase)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithDecodeURLTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RedirectURIParseWithDecodeURLTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithDecodeURLTestCase)'
      Src: io.undertow.server.RedirectURIParseWithDecodeURLTestCase:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.RedirectURIParseWithDecodeURLTestCase].tearDown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithDecodeURLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithDecodeURLTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RedirectURIParseWithDecodeURLTestCase].tearDown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RedirectURIParseWithDecodeURLTestCase
      static: false
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.RedirectURIParseWithDecodeURLTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithDecodeURLTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RedirectURIParseWithDecodeURLTestCase
    signature: '[io.undertow.server.RedirectURIParseWithDecodeURLTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.NewlineInHeadersTestCase:47,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.NewlineInHeadersTestCase:47,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.NewlineInHeadersTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.NewlineInHeadersTestCase:61,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.NewlineInHeadersTestCase:61,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.NewlineInHeadersTestCase:62,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.NewlineInHeadersTestCase:62,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.NewlineInHeadersTestCase:63,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].getStatusLine()'
      Src: io.undertow.server.NewlineInHeadersTestCase:64,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].getStatusCode()'
      Src: io.undertow.server.NewlineInHeadersTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.NewlineInHeadersTestCase)'
      Src: io.undertow.server.NewlineInHeadersTestCase:64,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].getFirstHeader(String)'
      Src: io.undertow.server.NewlineInHeadersTestCase:65,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].getValue()'
      Src: io.undertow.server.NewlineInHeadersTestCase:65,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.NewlineInHeadersTestCase)'
      Src: io.undertow.server.NewlineInHeadersTestCase:65,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.NewlineInHeadersTestCase)'
      Src: io.undertow.server.NewlineInHeadersTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.NewlineInHeadersTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.NewlineInHeadersTestCase:68,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.NewlineInHeadersTestCase:68,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.NewlineInHeadersTestCase:69,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.NewlineInHeadersTestCase:69,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.NewlineInHeadersTestCase:70,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].getStatusLine()'
      Src: io.undertow.server.NewlineInHeadersTestCase:71,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].getStatusCode()'
      Src: io.undertow.server.NewlineInHeadersTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.NewlineInHeadersTestCase)'
      Src: io.undertow.server.NewlineInHeadersTestCase:71,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].getFirstHeader(String)'
      Src: io.undertow.server.NewlineInHeadersTestCase:72,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].getValue()'
      Src: io.undertow.server.NewlineInHeadersTestCase:72,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.NewlineInHeadersTestCase)'
      Src: io.undertow.server.NewlineInHeadersTestCase:72,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.NewlineInHeadersTestCase)'
      Src: io.undertow.server.NewlineInHeadersTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.NewlineInHeadersTestCase:73,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.NewlineInHeadersTestCase:75,1
    - Dst: '[io.undertow.server.NewlineInHeadersTestCase].shutdown()'
      Src: io.undertow.server.NewlineInHeadersTestCase:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.NewlineInHeadersTestCase].testNewlineInHeaders()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/NewlineInHeadersTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.NewlineInHeadersTestCase].getStatusCode()'
    - '[io.undertow.server.NewlineInHeadersTestCase].getFirstHeader(String)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.NewlineInHeadersTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.NewlineInHeadersTestCase)'
    - '[io.undertow.server.NewlineInHeadersTestCase].getValue()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.NewlineInHeadersTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.NewlineInHeadersTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.NewlineInHeadersTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.NewlineInHeadersTestCase].testNewlineInHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.NewlineInHeadersTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.NewlineInHeadersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/NewlineInHeadersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.NewlineInHeadersTestCase
    signature: '[io.undertow.server.NewlineInHeadersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runtime.version()
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:38,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocatorTestCase].feature()'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:38,1
    - Dst: Runtime.version()
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:38,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocatorTestCase].feature()'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:38,1
    - Dst: '[org.junit.Assume].assumeTrue(String,int)'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:38,1
    - Dst: '[java.security.Policy].<init>()'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:40,1
    - Dst: java.security.Policy.setPolicy(java.security.Policy)
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:40,1
    - Dst: '[SecurityManager].<init>()'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:46,1
    - Dst: System.setSecurityManager(SecurityManager)
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:46,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].free(null)'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:48,1
    - Dst: '[org.junit.Assert].assertNull(String,io.undertow.server.DirectByteBufferDeallocatorTestCase)'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:53,1
    - Dst: System.setSecurityManager(null)
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:55,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].free(null)'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:58,1
    - Dst: '[org.junit.Assert].assertNull(String,io.undertow.server.DirectByteBufferDeallocatorTestCase)'
      Src: io.undertow.server.DirectByteBufferDeallocatorTestCase:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.DirectByteBufferDeallocatorTestCase].directByteBufferDeallocatorInstantiationTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/DirectByteBufferDeallocatorTestCase.java
    functionUses: 0
    functionsReached:
    - Runtime.version()
    - '[org.junit.Assume].assumeTrue(String,int)'
    - '[io.undertow.server.DirectByteBufferDeallocator].free(null)'
    - System.setSecurityManager(null)
    - System.setSecurityManager(SecurityManager)
    - java.security.Policy.setPolicy(java.security.Policy)
    - '[org.junit.Assert].assertNull(String,io.undertow.server.DirectByteBufferDeallocatorTestCase)'
    - '[io.undertow.server.DirectByteBufferDeallocatorTestCase].feature()'
    - '[SecurityManager].<init>()'
    - '[java.security.Policy].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DirectByteBufferDeallocatorTestCase].directByteBufferDeallocatorInstantiationTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.DirectByteBufferDeallocatorTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.DirectByteBufferDeallocatorTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/DirectByteBufferDeallocatorTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.DirectByteBufferDeallocatorTestCase
    signature: '[io.undertow.server.DirectByteBufferDeallocatorTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.ReadTimeoutTestCase,int)'
      Src: io.undertow.server.ReadTimeoutTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.ReadTimeoutTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(io.undertow.server.ReadTimeoutTestCase,int)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ReadTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ReadTimeoutTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.ReadTimeoutTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ReadTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ReadTimeoutTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.ReadTimeoutTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.ReadTimeoutTestCase:91,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ReadTimeoutTestCase:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.ReadTimeoutTestCase:114,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.ReadTimeoutTestCase:114,1
    - Dst: '[org.apache.http.entity.AbstractHttpEntity].<init>()'
      Src: io.undertow.server.ReadTimeoutTestCase:115,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.AbstractHttpEntity)'
      Src: io.undertow.server.ReadTimeoutTestCase:115,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.ReadTimeoutTestCase:150,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.ReadTimeoutTestCase:153,1
    - Dst: e.getMessage()
      Src: io.undertow.server.ReadTimeoutTestCase:155,1
    - Dst: e.getMessage()
      Src: io.undertow.server.ReadTimeoutTestCase:156,1
    - Dst: '[io.undertow.server.ReadTimeoutTestCase].contains(String)'
      Src: io.undertow.server.ReadTimeoutTestCase:156,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.ReadTimeoutTestCase,io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:155,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:159,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:160,1
    - Dst: '[io.undertow.server.ReadTimeoutTestCase].getExceptionDescription(Exception)'
      Src: io.undertow.server.ReadTimeoutTestCase:161,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:161,1
    - Dst: '[Exception].getSuppressed()'
      Src: io.undertow.server.ReadTimeoutTestCase:163,1
    - Dst: '[Exception].getSuppressed()'
      Src: io.undertow.server.ReadTimeoutTestCase:163,1
    - Dst: '[Exception].getSuppressed()'
      Src: io.undertow.server.ReadTimeoutTestCase:164,1
    - Dst: '[io.undertow.server.ReadTimeoutTestCase].getExceptionDescription(io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:165,1
    - Dst: '[Exception].getClass()'
      Src: io.undertow.server.ReadTimeoutTestCase:165,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:165,1
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.server.ReadTimeoutTestCase:168,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.ReadTimeoutTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.ReadTimeoutTestCase:173,1
    - Dst: '[io.undertow.server.ReadTimeoutTestCase].shutdown()'
      Src: io.undertow.server.ReadTimeoutTestCase:173,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - Exception
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.ReadTimeoutTestCase].testReadTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ReadTimeoutTestCase].shutdown()'
    - '[Exception].getSuppressed()'
    - '[org.junit.Assert].fail(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[Exception].getClass()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - e.getMessage()
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.AbstractHttpEntity)'
    - '[org.apache.http.entity.AbstractHttpEntity].<init>()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.ReadTimeoutTestCase,io.undertow.server.ReadTimeoutTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.ReadTimeoutTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.ReadTimeoutTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[io.undertow.server.ReadTimeoutTestCase].getExceptionDescription(Exception)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.ReadTimeoutTestCase)'
    - '[io.undertow.server.ReadTimeoutTestCase].getExceptionDescription(io.undertow.server.ReadTimeoutTestCase)'
    - '[io.undertow.server.ReadTimeoutTestCase].contains(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ReadTimeoutTestCase].testReadTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.ReadTimeoutTestCase:183,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.ReadTimeoutTestCase:183,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ReadTimeoutTestCase:214,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.ReadTimeoutTestCase:215,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.ReadTimeoutTestCase:215,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.ReadTimeoutTestCase:218,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.ReadTimeoutTestCase:219,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.ReadTimeoutTestCase:221,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.ReadTimeoutTestCase:223,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:223,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.ReadTimeoutTestCase:223,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.server.ReadTimeoutTestCase:224,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.server.ReadTimeoutTestCase:224,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.server.ReadTimeoutTestCase:227,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.ReadTimeoutTestCase:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - Exception
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 231
    functionName: '[io.undertow.server.ReadTimeoutTestCase].testReadTimeoutWithSlowResponder()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[StringBuilder].append(char)'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[org.junit.Assert].fail(String)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,io.undertow.server.ReadTimeoutTestCase)'
    - '[StringBuilder].<init>(int)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ReadTimeoutTestCase].testReadTimeoutWithSlowResponder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.StringWriter].<init>()'
      Src: io.undertow.server.ReadTimeoutTestCase:235,1
    - Dst: '[java.io.PrintWriter].<init>(io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:236,1
    - Dst: '[Throwable].printStackTrace(io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:237,1
    - Dst: pw.toString()
      Src: io.undertow.server.ReadTimeoutTestCase:238,1
    - Dst: '[IllegalStateException].<init>(io.undertow.server.ReadTimeoutTestCase)'
      Src: io.undertow.server.ReadTimeoutTestCase:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exception
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.ReadTimeoutTestCase].getExceptionDescription(Throwable)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - pw.toString()
    - '[java.io.StringWriter].<init>()'
    - '[Throwable].printStackTrace(io.undertow.server.ReadTimeoutTestCase)'
    - '[java.io.PrintWriter].<init>(io.undertow.server.ReadTimeoutTestCase)'
    - '[IllegalStateException].<init>(io.undertow.server.ReadTimeoutTestCase)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ReadTimeoutTestCase].getExceptionDescription(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.server.ReadTimeoutTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - Exception
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ReadTimeoutTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ReadTimeoutTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger()'
    linkageType: ''
    returnType: io.undertow.server.ReadTimeoutTestCase
    signature: '[io.undertow.server.ReadTimeoutTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.StopTestCase:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: '[io.undertow.server.StopTestCase].waitServerStopCompletely()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/StopTestCase.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.StopTestCase].waitServerStopCompletely()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.StopTestCase:21,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
      Src: io.undertow.server.StopTestCase:21,1
    - Dst: '[io.undertow.server.StopTestCase].stop()'
      Src: io.undertow.server.StopTestCase:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: '[io.undertow.server.StopTestCase].testStopUndertowNotStarted()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/StopTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.StopTestCase].stop()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.StopTestCase].testStopUndertowNotStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.StopTestCase:27,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setWorkerOption(io.undertow.server.StopTestCase)'
      Src: io.undertow.server.StopTestCase:27,1
    - Dst: '[io.undertow.server.StopTestCase].build()'
      Src: io.undertow.server.StopTestCase:27,1
    - Dst: '[io.undertow.server.StopTestCase].start()'
      Src: io.undertow.server.StopTestCase:29,1
    - Dst: '[io.undertow.server.StopTestCase].stop()'
      Src: io.undertow.server.StopTestCase:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.StopTestCase].testStopUndertowAfterExceptionDuringStart()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/StopTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setWorkerOption(io.undertow.server.StopTestCase)'
    - '[io.undertow.server.StopTestCase].stop()'
    - '[io.undertow.server.StopTestCase].build()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.StopTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.StopTestCase].testStopUndertowAfterExceptionDuringStart()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.StopTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.StopTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/StopTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.StopTestCase
    signature: '[io.undertow.server.StopTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:63,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:64,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.ExactLengthReadTimeoutTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ExactLengthReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ExactLengthReadTimeoutTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.ExactLengthReadTimeoutTestCase,int)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ExactLengthReadTimeoutTestCase)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.ExactLengthReadTimeoutTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ExactLengthReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(io.undertow.server.ExactLengthReadTimeoutTestCase,int)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ExactLengthReadTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ExactLengthReadTimeoutTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ExactLengthReadTimeoutTestCase)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.ExactLengthReadTimeoutTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ExactLengthReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ExactLengthReadTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ExactLengthReadTimeoutTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:115,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:115,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:119,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.ExactLengthReadTimeoutTestCase)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:121,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:128,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.ExactLengthReadTimeoutTestCase)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:134,1
    - Dst: '[io.undertow.server.ExactLengthReadTimeoutTestCase].getStatusLine()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:135,1
    - Dst: '[io.undertow.server.ExactLengthReadTimeoutTestCase].getStatusCode()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.ExactLengthReadTimeoutTestCase)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:135,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:137,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:140,1
    - Dst: '[io.undertow.server.ExactLengthReadTimeoutTestCase].shutdown()'
      Src: io.undertow.server.ExactLengthReadTimeoutTestCase:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.ExactLengthReadTimeoutTestCase].testExactLengthReadTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ExactLengthReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[org.junit.Assert].fail(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.ExactLengthReadTimeoutTestCase].getStatusLine()'
    - '[StringBuilder].toString()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.ExactLengthReadTimeoutTestCase].getStatusCode()'
    - '[io.undertow.server.ExactLengthReadTimeoutTestCase].shutdown()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.ExactLengthReadTimeoutTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[StringBuilder].<init>(int)'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[RuntimeException].<init>(String,io.undertow.server.ExactLengthReadTimeoutTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.ExactLengthReadTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ExactLengthReadTimeoutTestCase].testExactLengthReadTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ExactLengthReadTimeoutTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ExactLengthReadTimeoutTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ExactLengthReadTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ExactLengthReadTimeoutTestCase
    signature: '[io.undertow.server.ExactLengthReadTimeoutTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase,boolean)'
      Src: io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase:37,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase)'
      Src: io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase)'
    - '[org.xnio.OptionMap].create(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase)'
      Src: io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].tearDown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].tearDown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase,boolean)'
      Src: io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase:48,1
    - Dst: '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase)'
      Src: io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].disableProxyUnescapedCharactersInURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase)'
    - '[org.xnio.OptionMap].create(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].disableProxyUnescapedCharactersInURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase)'
      Src: io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].clearProxyOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].clearProxyOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase
      static: false
      superClass: io.undertow.server.AbstractRedirectURIParseTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/RedirectURIParseWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase
    signature: '[io.undertow.server.RedirectURIParseWithAllowUnescapedCharactersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].getTestMechanisms()'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:43,1
    - Dst: '[java.util.ArrayList].<init>(java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:43,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getTestMechanism()'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:44,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.api.AuthenticationMechanism)'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoBasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.security.api.AuthenticationMechanism)'
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].getTestMechanisms()'
    - '[java.util.ArrayList].<init>(java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getTestMechanism()'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase]._testBasicSuccess()'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:51,1
    - Dst: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.SpnegoBasicAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].testBasicSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoBasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase]._testBasicSuccess()'
    - '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.SpnegoBasicAuthenticationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].testBasicSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase]._testBadUserName()'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:57,1
    - Dst: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.SpnegoBasicAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].testBadUserName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoBasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.SpnegoBasicAuthenticationTestCase)'
    - '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase]._testBadUserName()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].testBadUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase]._testBadPassword()'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:63,1
    - Dst: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.SpnegoBasicAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoBasicAuthenticationTestCase:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoBasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase]._testBadPassword()'
    - '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.SpnegoBasicAuthenticationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.SpnegoBasicAuthenticationTestCase
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoBasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.SpnegoBasicAuthenticationTestCase
    signature: '[io.undertow.server.security.SpnegoBasicAuthenticationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:64,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.impl.ClientCertAuthenticationMechanism)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertRenegotiationTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonList(io.undertow.security.impl.ClientCertAuthenticationMechanism)'
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>()'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getJavaSpecificationVersion()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:72,1
    - Dst: '[org.junit.Assume].assumeTrue(String,int)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:71,1
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.security.ClientCertRenegotiationTestCase,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.security.ClientCertRenegotiationTestCase].startSSL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertRenegotiationTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assume].assumeTrue(String,int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getJavaSpecificationVersion()'
    - '[org.xnio.OptionMap].create(io.undertow.server.security.ClientCertRenegotiationTestCase,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ClientCertRenegotiationTestCase].startSSL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.security.ClientCertRenegotiationTestCase].stopSSL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertRenegotiationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ClientCertRenegotiationTestCase].stopSSL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:88,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusLine()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:89,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusCode()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:89,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:89,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:91,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:92,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:93,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:93,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:95,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:96,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:97,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:97,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:98,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertSingleNotificationType(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.security.ClientCertRenegotiationTestCase].testClientCertSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertRenegotiationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - values[0].getValue()
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertSingleNotificationType(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ClientCertRenegotiationTestCase].testClientCertSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:107,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:107,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:108,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:109,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusLine()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:110,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusCode()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:110,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:110,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:112,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:113,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:114,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:114,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:116,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:117,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:118,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:118,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:119,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertSingleNotificationType(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:120,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:122,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].shutdown()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.security.ClientCertRenegotiationTestCase].testClientCertSuccessWithPostBody()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertRenegotiationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - values[0].getValue()
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertSingleNotificationType(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ClientCertRenegotiationTestCase].testClientCertSuccessWithPostBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:129,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:129,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:130,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:130,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:131,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:133,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:135,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:138,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:139,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:140,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:140,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:141,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:141,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:141,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:142,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusLine()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:143,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusCode()'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:143,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:143,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:145,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:146,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:147,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:147,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:149,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:150,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:151,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:151,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:152,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertSingleNotificationType(io.undertow.server.security.ClientCertRenegotiationTestCase)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.security.ClientCertRenegotiationTestCase].testClientCertSuccessWithLargePostBody()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertRenegotiationTestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(String,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[StringBuilder].<init>(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertSingleNotificationType(io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[java.nio.ByteBuffer].limit()'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getStatusLine()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[StringBuilder].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].getHeaders(String)'
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].assertEquals(int,io.undertow.server.security.ClientCertRenegotiationTestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ClientCertRenegotiationTestCase].testClientCertSuccessWithLargePostBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:157,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].startsWith(String)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:158,1
    - Dst: '[io.undertow.server.security.ClientCertRenegotiationTestCase].substring(int)'
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:158,1
    - Dst: Integer.parseInt(io.undertow.server.security.ClientCertRenegotiationTestCase)
      Src: io.undertow.server.security.ClientCertRenegotiationTestCase:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getJavaSpecificationVersion()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertRenegotiationTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].substring(int)'
    - System.getProperty(String)
    - '[io.undertow.server.security.ClientCertRenegotiationTestCase].startsWith(String)'
    - Integer.parseInt(io.undertow.server.security.ClientCertRenegotiationTestCase)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.security.ClientCertRenegotiationTestCase].getJavaSpecificationVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.ClientCertRenegotiationTestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.ClientCertRenegotiationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertRenegotiationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.ClientCertRenegotiationTestCase
    signature: '[io.undertow.server.security.ClientCertRenegotiationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>()'
      Src: io.undertow.server.security.ClientCertTestCase:54,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.impl.ClientCertAuthenticationMechanism)'
      Src: io.undertow.server.security.ClientCertTestCase:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.security.ClientCertTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonList(io.undertow.security.impl.ClientCertAuthenticationMechanism)'
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>()'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.ClientCertTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.security.ClientCertTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.security.ClientCertTestCase:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.security.ClientCertTestCase].startSSL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ClientCertTestCase].startSSL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.security.ClientCertTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.security.ClientCertTestCase].stopSSL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ClientCertTestCase].stopSSL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.ClientCertTestCase:73,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.security.ClientCertTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.security.ClientCertTestCase:75,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.ClientCertTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.ClientCertTestCase:76,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].getStatusLine()'
      Src: io.undertow.server.security.ClientCertTestCase:77,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].getStatusCode()'
      Src: io.undertow.server.security.ClientCertTestCase:77,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].assertEquals(int,io.undertow.server.security.ClientCertTestCase)'
      Src: io.undertow.server.security.ClientCertTestCase:77,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].getHeaders(String)'
      Src: io.undertow.server.security.ClientCertTestCase:79,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertTestCase)'
      Src: io.undertow.server.security.ClientCertTestCase:80,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.ClientCertTestCase:81,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].assertEquals(String,io.undertow.server.security.ClientCertTestCase)'
      Src: io.undertow.server.security.ClientCertTestCase:81,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].getHeaders(String)'
      Src: io.undertow.server.security.ClientCertTestCase:83,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertTestCase)'
      Src: io.undertow.server.security.ClientCertTestCase:84,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.ClientCertTestCase:85,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].assertEquals(String,io.undertow.server.security.ClientCertTestCase)'
      Src: io.undertow.server.security.ClientCertTestCase:85,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.ClientCertTestCase)'
      Src: io.undertow.server.security.ClientCertTestCase:86,1
    - Dst: '[io.undertow.server.security.ClientCertTestCase].assertSingleNotificationType(io.undertow.server.security.ClientCertTestCase)'
      Src: io.undertow.server.security.ClientCertTestCase:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.security.ClientCertTestCase].testClientCertSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.ClientCertTestCase].assertEquals(String,io.undertow.server.security.ClientCertTestCase)'
    - values[0].getValue()
    - '[io.undertow.server.security.ClientCertTestCase].assertSingleNotificationType(io.undertow.server.security.ClientCertTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.ClientCertTestCase].assertEquals(int,io.undertow.server.security.ClientCertTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.security.ClientCertTestCase].assertEquals(String,int,io.undertow.server.security.ClientCertTestCase)'
    - '[io.undertow.server.security.ClientCertTestCase].getStatusCode()'
    - '[io.undertow.server.security.ClientCertTestCase].getHeaders(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.ClientCertTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.ClientCertTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ClientCertTestCase].testClientCertSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.ClientCertTestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.ClientCertTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ClientCertTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.ClientCertTestCase
    signature: '[io.undertow.server.security.ClientCertTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.InMemorySingleSignOnManager].<init>()'
      Src: io.undertow.server.security.SsoTestCase:73,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].<init>(io.undertow.security.impl.InMemorySingleSignOnManager)'
      Src: io.undertow.server.security.SsoTestCase:73,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.security.SsoTestCase:74,1
    - Dst: '[io.undertow.server.handlers.ResponseHandler].<init>()'
      Src: io.undertow.server.security.SsoTestCase:75,1
    - Dst: '[io.undertow.security.handlers.AuthenticationCallHandler].<init>(io.undertow.server.handlers.ResponseHandler)'
      Src: io.undertow.server.security.SsoTestCase:76,1
    - Dst: '[io.undertow.security.handlers.AuthenticationConstraintHandler].<init>(io.undertow.security.handlers.AuthenticationCallHandler)'
      Src: io.undertow.server.security.SsoTestCase:77,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.security.SsoTestCase:79,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.server.security.SsoTestCase:80,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String)'
      Src: io.undertow.server.security.SsoTestCase:81,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.server.security.SsoTestCase:81,1
    - Dst: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(io.undertow.security.handlers.AuthenticationConstraintHandler,java.util.ArrayList)'
      Src: io.undertow.server.security.SsoTestCase:83,1
    - Dst: '[java.util.Collections].singleton(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:84,1
    - Dst: '[io.undertow.security.handlers.NotificationReceiverHandler].<init>(io.undertow.security.handlers.AuthenticationMechanismsHandler,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:84,1
    - Dst: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase,io.undertow.security.handlers.NotificationReceiverHandler)'
      Src: io.undertow.server.security.SsoTestCase:86,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.security.handlers.SecurityInitialHandler)'
      Src: io.undertow.server.security.SsoTestCase:88,1
    - Dst: '[io.undertow.server.handlers.ResponseHandler].<init>()'
      Src: io.undertow.server.security.SsoTestCase:89,1
    - Dst: '[io.undertow.security.handlers.AuthenticationCallHandler].<init>(io.undertow.server.handlers.ResponseHandler)'
      Src: io.undertow.server.security.SsoTestCase:90,1
    - Dst: '[io.undertow.security.handlers.AuthenticationConstraintHandler].<init>(io.undertow.security.handlers.AuthenticationCallHandler)'
      Src: io.undertow.server.security.SsoTestCase:91,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.security.SsoTestCase:93,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.server.security.SsoTestCase:94,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(String,String,String)'
      Src: io.undertow.server.security.SsoTestCase:95,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.impl.FormAuthenticationMechanism)'
      Src: io.undertow.server.security.SsoTestCase:95,1
    - Dst: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(io.undertow.security.handlers.AuthenticationConstraintHandler,java.util.ArrayList)'
      Src: io.undertow.server.security.SsoTestCase:97,1
    - Dst: '[java.util.Collections].singleton(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:98,1
    - Dst: '[io.undertow.security.handlers.NotificationReceiverHandler].<init>(io.undertow.security.handlers.AuthenticationMechanismsHandler,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:98,1
    - Dst: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase,io.undertow.security.handlers.NotificationReceiverHandler)'
      Src: io.undertow.server.security.SsoTestCase:100,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.security.handlers.SecurityInitialHandler)'
      Src: io.undertow.server.security.SsoTestCase:102,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.security.SsoTestCase:103,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.security.SsoTestCase:103,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.security.SsoTestCase:106,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.security.SsoTestCase:106,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.PathHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.security.SsoTestCase:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.security.SsoTestCase:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.security.SsoTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SsoTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.handlers.NotificationReceiverHandler].<init>(io.undertow.security.handlers.AuthenticationMechanismsHandler,io.undertow.server.security.SsoTestCase)'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].<init>(io.undertow.security.impl.InMemorySingleSignOnManager)'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.PathHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
    - '[java.util.ArrayList].add(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.security.handlers.AuthenticationCallHandler].<init>(io.undertow.server.handlers.ResponseHandler)'
    - '[java.util.ArrayList].add(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[java.util.Collections].singleton(io.undertow.server.security.SsoTestCase)'
    - '[io.undertow.security.handlers.AuthenticationConstraintHandler].<init>(io.undertow.security.handlers.AuthenticationCallHandler)'
    - '[io.undertow.security.impl.InMemorySingleSignOnManager].<init>()'
    - '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
    - '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(io.undertow.security.handlers.AuthenticationConstraintHandler,java.util.ArrayList)'
    - '[java.util.ArrayList].add(io.undertow.security.impl.FormAuthenticationMechanism)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[io.undertow.server.handlers.ResponseHandler].<init>()'
    - '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase,io.undertow.security.handlers.NotificationReceiverHandler)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.security.handlers.SecurityInitialHandler)'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SsoTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.security.SsoTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SsoTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.SsoTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.SsoTestCase:117,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.server.security.SsoTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.server.security.SsoTestCase:118,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.SsoTestCase:119,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.SsoTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.SsoTestCase:120,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusLine()'
      Src: io.undertow.server.security.SsoTestCase:121,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusCode()'
      Src: io.undertow.server.security.SsoTestCase:121,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:121,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.SsoTestCase:122,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getHeaders(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:122,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getAuthHeader(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:123,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(String,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:124,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:125,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.SsoTestCase:127,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.SsoTestCase:127,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.SsoTestCase:128,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.security.SsoTestCase:128,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.SsoTestCase,boolean)'
      Src: io.undertow.server.security.SsoTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.SsoTestCase:129,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusLine()'
      Src: io.undertow.server.security.SsoTestCase:130,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusCode()'
      Src: io.undertow.server.security.SsoTestCase:130,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:130,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getHeaders(String)'
      Src: io.undertow.server.security.SsoTestCase:132,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:133,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.SsoTestCase:134,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(String,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:134,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:135,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertSingleNotificationType(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.SsoTestCase:139,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.SsoTestCase:139,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.SsoTestCase:140,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusLine()'
      Src: io.undertow.server.security.SsoTestCase:141,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusCode()'
      Src: io.undertow.server.security.SsoTestCase:141,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:141,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getHeaders(String)'
      Src: io.undertow.server.security.SsoTestCase:143,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:144,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.SsoTestCase:145,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(String,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:145,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:146,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertSingleNotificationType(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:147,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.SsoTestCase:150,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.SsoTestCase:150,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.SsoTestCase:151,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.security.SsoTestCase:151,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.SsoTestCase,boolean)'
      Src: io.undertow.server.security.SsoTestCase:151,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:151,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.SsoTestCase:152,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusLine()'
      Src: io.undertow.server.security.SsoTestCase:153,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusCode()'
      Src: io.undertow.server.security.SsoTestCase:153,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:153,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getHeaders(String)'
      Src: io.undertow.server.security.SsoTestCase:155,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:156,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.SsoTestCase:157,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(String,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:157,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:158,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertNotifiactions(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:159,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.SsoTestCase:162,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.SsoTestCase:162,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.SsoTestCase:163,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusLine()'
      Src: io.undertow.server.security.SsoTestCase:164,1
    - Dst: '[io.undertow.server.security.SsoTestCase].getStatusCode()'
      Src: io.undertow.server.security.SsoTestCase:164,1
    - Dst: '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
      Src: io.undertow.server.security.SsoTestCase:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 85
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.security.SsoTestCase].testSsoSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SsoTestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.SsoTestCase].assertEquals(String,io.undertow.server.security.SsoTestCase)'
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.server.security.SsoTestCase].assertNotifiactions(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase)'
    - '[io.undertow.server.security.SsoTestCase].getStatusLine()'
    - '[io.undertow.server.security.SsoTestCase].getHeaders(String)'
    - '[io.undertow.server.security.SsoTestCase].getAuthHeader(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.server.security.SsoTestCase].assertSingleNotificationType(io.undertow.server.security.SsoTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.SsoTestCase,boolean)'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.SsoTestCase,io.undertow.server.security.SsoTestCase)'
    - '[io.undertow.server.security.SsoTestCase].assertEquals(int,io.undertow.server.security.SsoTestCase)'
    - '[io.undertow.server.security.SsoTestCase].getHeaders(io.undertow.server.security.SsoTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.server.security.SsoTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SsoTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SsoTestCase].testSsoSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.SsoTestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.SsoTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SsoTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.SsoTestCase
    signature: '[io.undertow.server.security.SsoTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonList(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:66,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:67,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:67,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,String,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getTestMechanism()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,String,io.undertow.security.impl.SimpleNonceManager)'
    - '[java.util.Collections].singletonList(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.security.impl.SimpleNonceManager].<init>()'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getTestMechanism()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getTestMechanism()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:75,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.api.AuthenticationMechanism)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getTestMechanism()'
    - '[java.util.Collections].singletonList(io.undertow.security.api.AuthenticationMechanism)'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:82,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:84,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexString(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 6
    functionsReached:
    - '[java.util.Random].nextBytes(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[java.util.Random].<init>()'
    - '[io.undertow.util.HexConverter].convertToHexString(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:96,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:97,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:97,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:98,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:99,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:99,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:100,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:101,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:101,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].digest()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:103,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:103,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:105,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:105,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:106,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:107,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:107,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].digest()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:109,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:109,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte[])'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:111,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:112,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:113,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:113,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:114,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:115,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:115,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:116,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:117,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:117,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:118,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:119,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:119,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:119,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:120,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte[])'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:122,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].digest()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:124,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexString(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 8
    argNames:
    - userName
    - realm
    - password
    - method
    - uri
    - nonce
    - nonceCount
    - cnonce
    argTypes:
    - String
    - String
    - String
    - String
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createResponse(String,String,String,String,String,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 1
    functionsReached:
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.util.HexConverter].convertToHexString(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getBytes(java.nio.charset.Charset)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte[])'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].digest()'
    - '[java.security.MessageDigest].getInstance(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createResponse(String,String,String,String,String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:129,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:130,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:130,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:131,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:132,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:132,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:133,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:134,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:134,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].digest()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:136,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:136,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:138,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:139,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:139,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].digest()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:141,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:141,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte[])'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:143,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:144,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:145,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:145,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:146,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:147,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:147,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:148,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:149,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:149,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:150,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:151,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:151,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:151,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:152,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte[])'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:154,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].digest()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:156,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexString(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 7
    argNames:
    - userName
    - realm
    - password
    - uri
    - nonce
    - nonceCount
    - cnonce
    argTypes:
    - String
    - String
    - String
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 157
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createRspAuth(String,String,String,String,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.util.HexConverter].convertToHexString(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getBytes(java.nio.charset.Charset)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte[])'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].digest()'
    - '[java.security.MessageDigest].getInstance(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].update(byte)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createRspAuth(String,String,String,String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:161,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:161,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:162,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:163,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:163,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:163,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:163,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:163,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:164,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:164,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:164,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:164,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:164,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:165,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:165,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:165,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:165,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:165,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:166,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:166,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:166,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].toHex(int)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:167,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createResponse(String,String,String,String,String,String,String,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:168,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:169,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:169,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:169,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:169,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:169,1
    - Dst: DigestAuthorizationToken.ALGORITHM.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:170,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:170,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:170,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:170,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:170,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:170,1
    - Dst: DigestAuthorizationToken.CNONCE.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:172,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:172,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:172,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:172,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:172,1
    - Dst: DigestAuthorizationToken.OPAQUE.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:173,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:173,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:173,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:173,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:173,1
    - Dst: DigestAuthorizationToken.MESSAGE_QOP.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:174,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:174,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:174,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:174,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:174,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:174,1
    - Dst: DigestAuthorizationToken.NONCE_COUNT.getName()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:175,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:175,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:175,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:175,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 8
    argNames:
    - userName
    - password
    - method
    - uri
    - nonce
    - nonceCount
    - cnonce
    - opaque
    argTypes:
    - String
    - String
    - String
    - String
    - String
    - int
    - String
    - String
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,String,int,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - DigestAuthorizationToken.CNONCE.getName()
    - '[StringBuilder].append(String)'
    - DigestAuthorizationToken.ALGORITHM.getName()
    - DigestAuthorizationToken.NONCE.getName()
    - DigestAuthorizationToken.OPAQUE.getName()
    - DigestAuthorizationToken.RESPONSE.getName()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createResponse(String,String,String,String,String,String,String,String)'
    - DigestQop.AUTH.getToken()
    - DigestAuthorizationToken.USERNAME.getName()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].append(String)'
    - '[StringBuilder].toString()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].toHex(int)'
    - '[io.undertow.util.Headers.DIGEST].toString()'
    - '[StringBuilder].append(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[StringBuilder].<init>(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - DigestAuthorizationToken.NONCE_COUNT.getName()
    - DigestAuthorizationToken.MESSAGE_QOP.getName()
    - DigestAuthorizationToken.REALM.getName()
    - DigestAuthorizationToken.DIGEST_URI.getName()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,String,int,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toHexString(int)
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:181,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].length()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:183,1
    - Dst: '[String].substring(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].toHex(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].length()'
    - '[String].substring(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - Integer.toHexString(int)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].toHex(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testDigestSuccess()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testDigestSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testDigestSuccess()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testDigestSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:198,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:198,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:199,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:200,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:200,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:200,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:201,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:201,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:202,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:204,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:204,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:205,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:205,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:206,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:206,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:206,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:207,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:207,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:207,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:209,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:211,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:212,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:213,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:216,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:217,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:217,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:220,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:223,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:223,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:224,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:225,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:225,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:225,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:227,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:228,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:229,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:229,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:230,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:232,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:233,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:234,1
    - Dst: '[io.undertow.security.impl.AuthenticationInfoToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:234,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:236,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:236,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:237,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:237,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:237,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].toHex(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:238,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createRspAuth(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:239,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:240,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:239,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:241,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:241,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:242,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 244
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testDigestSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 1
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].toHex(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createRspAuth(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,String)'
    - '[io.undertow.security.impl.AuthenticationInfoToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testDigestSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testDigestBadUri()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testDigestBadUri()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testDigestBadUri()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testDigestBadUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:257,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:258,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:258,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:259,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:260,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:260,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:260,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:261,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:261,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:262,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:264,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:264,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:265,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:265,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:266,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:266,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:266,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:267,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:267,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:267,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:269,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:271,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:272,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:273,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:276,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:277,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:277,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:280,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:283,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:283,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:284,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:285,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:285,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 288
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testDigestBadUri()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testDigestBadUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadUsername()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testBadUsername()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadUsername()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testBadUsername()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:298,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:299,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:299,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:300,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:301,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:301,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:301,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:302,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:302,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:304,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:306,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:306,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:307,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:307,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:308,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:308,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:308,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:309,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:309,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:309,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:311,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:313,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:314,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:315,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:317,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:318,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:318,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:321,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:324,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:324,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:325,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:326,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:326,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:326,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 328
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadUsername()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadUsername()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadPassword()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadPassword()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:339,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:340,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:340,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:341,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:342,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:342,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:342,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:343,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:343,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:345,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:347,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:347,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:348,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:348,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:349,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:349,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:349,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:350,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:350,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:350,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:352,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:354,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:355,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:356,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:358,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:359,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:359,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:362,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:365,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:365,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:366,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:367,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:367,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:367,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadNonce()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testBadNonce()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadNonce()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testBadNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:380,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:381,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:381,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:382,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:383,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:383,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:383,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:384,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:384,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:386,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:388,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:388,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:389,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:389,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:390,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:390,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:390,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:391,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:391,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:391,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:393,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:396,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:397,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:399,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:400,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:400,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:403,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:406,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:406,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:407,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:408,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:408,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:408,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 410
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadNonce()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testBadNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testNonceCountReUse()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 4
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testNonceCountReUse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testNonceCountReUse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].testNonceCountReUse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:423,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:424,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:424,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:425,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:426,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:426,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:426,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:427,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:427,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:429,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:431,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:431,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:432,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:432,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:433,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:433,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:433,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:434,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:434,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:434,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:436,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:438,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:439,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:440,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:443,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:444,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:444,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:447,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:450,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:450,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:451,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:454,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:454,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:454,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:455,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:457,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:458,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:459,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:459,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:461,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:462,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:463,1
    - Dst: '[io.undertow.security.impl.AuthenticationInfoToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:463,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:465,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:465,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:466,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:466,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:466,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].toHex(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:467,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createRspAuth(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,String)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:468,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:469,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:468,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:470,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:470,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:471,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:471,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:473,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:473,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
      Src: io.undertow.server.security.DigestAuthenticationAuthTestCase:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 476
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testNonceCountReUse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 1
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(int,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createAuthorizationLine(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getStatusCode()'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(String,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertEquals(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createNonce()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].get(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].toHex(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].substring(int)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getHeaders(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getAuthHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase,io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].createRspAuth(String,String,String,String,io.undertow.server.security.DigestAuthenticationAuthTestCase,String,String)'
    - '[io.undertow.security.impl.AuthenticationInfoToken].parseHeader(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].assertNotNull(io.undertow.server.security.DigestAuthenticationAuthTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase]._testNonceCountReUse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.DigestAuthenticationAuthTestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthenticationAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.DigestAuthenticationAuthTestCase
    signature: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:67,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:68,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:69,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase,String,String,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:68,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.security.DigestAuthentication2069TestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthentication2069TestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase,String,String,io.undertow.security.impl.SimpleNonceManager)'
    - '[java.util.Collections].singletonList(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[java.util.Collections].singletonList(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.security.impl.SimpleNonceManager].<init>()'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.DigestAuthentication2069TestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:81,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:82,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:82,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:83,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:84,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:84,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:85,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:86,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:86,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].digest()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:88,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:88,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:90,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:90,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:91,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:92,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:92,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].digest()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:94,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:94,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte[])'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:96,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:97,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:98,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:98,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:99,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte[])'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:100,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].digest()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:102,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexString(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 6
    argNames:
    - userName
    - realm
    - password
    - method
    - uri
    - nonce
    argTypes:
    - String
    - String
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthentication2069TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].update(byte[])'
    - '[io.undertow.util.HexConverter].convertToHexString(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].digest()'
    - '[java.security.MessageDigest].getInstance(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].update(io.undertow.server.security.DigestAuthentication2069TestCase)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:111,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:112,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:113,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:114,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:114,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:114,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:115,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:115,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:116,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:117,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:118,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:118,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:118,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:119,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:119,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:120,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:120,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:121,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:121,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:121,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].containsKey(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:122,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertFalse(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:122,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:124,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:126,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:128,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:129,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:130,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:130,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:131,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:132,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:132,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:132,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:132,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:132,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:133,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:133,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:133,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:133,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:133,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:134,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:134,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:134,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:134,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:134,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:135,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:135,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:135,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:136,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:136,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:136,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:136,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:136,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:138,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:138,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:138,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:139,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:140,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:140,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:140,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:142,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:143,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:144,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:144,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:146,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:147,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:148,1
    - Dst: '[io.undertow.security.impl.AuthenticationInfoToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:148,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:150,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:151,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:154,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:155,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:155,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:156,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:156,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:157,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:158,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:158,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:158,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:158,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:158,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:159,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:159,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:159,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:159,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:159,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:160,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:160,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:160,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:160,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:160,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:161,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:161,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:161,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:162,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:162,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:162,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:162,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:162,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:164,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:164,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:164,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:165,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:166,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:166,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:166,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:168,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:169,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:170,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:170,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 125
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.security.DigestAuthentication2069TestCase].testDigestSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthentication2069TestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[StringBuilder].append(String)'
    - DigestAuthorizationToken.NONCE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.RESPONSE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].containsKey(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.USERNAME.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertFalse(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.security.impl.AuthenticationInfoToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.util.Headers.DIGEST].toString()'
    - '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.REALM.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
    - DigestAuthorizationToken.DIGEST_URI.getName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthentication2069TestCase].testDigestSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:182,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:183,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:183,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:184,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:185,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:185,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:185,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:186,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:186,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:187,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:188,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:189,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:189,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:189,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:190,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:190,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:191,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:191,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:192,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:192,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:192,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:194,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:196,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:198,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:199,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:200,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:200,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:201,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:202,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:202,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:202,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:202,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:202,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:203,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:203,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:203,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:203,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:203,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:204,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:204,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:204,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:204,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:204,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:205,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:205,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:205,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:206,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:206,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:206,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:206,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:206,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:208,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:208,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:208,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:209,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:210,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:210,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:210,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.security.DigestAuthentication2069TestCase].testBadUserName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthentication2069TestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[StringBuilder].append(String)'
    - DigestAuthorizationToken.NONCE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.RESPONSE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.USERNAME.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.util.Headers.DIGEST].toString()'
    - '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.REALM.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
    - DigestAuthorizationToken.DIGEST_URI.getName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthentication2069TestCase].testBadUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:220,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:221,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:221,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:222,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:223,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:223,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:223,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:224,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:224,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:225,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:226,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:227,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:227,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:227,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:228,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:228,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:229,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:229,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:230,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:230,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:230,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:232,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:234,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:236,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:237,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:237,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:238,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:238,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:239,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:240,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:240,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:240,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:240,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:240,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:241,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:241,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:241,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:241,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:241,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:242,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:242,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:242,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:242,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:242,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:243,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:243,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:243,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:244,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:244,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:244,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:244,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:244,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:246,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:246,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:246,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:247,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:248,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:248,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:248,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 250
    functionName: '[io.undertow.server.security.DigestAuthentication2069TestCase].testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthentication2069TestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[StringBuilder].append(String)'
    - DigestAuthorizationToken.NONCE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.RESPONSE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.USERNAME.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.util.Headers.DIGEST].toString()'
    - '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.REALM.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
    - DigestAuthorizationToken.DIGEST_URI.getName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthentication2069TestCase].testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:259,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:260,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:260,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:261,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:262,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:262,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:262,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:263,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:263,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:264,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:265,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:266,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:266,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:266,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:267,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:267,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:268,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:268,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:269,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:269,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:269,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:273,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:275,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:276,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:276,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:277,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:277,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:278,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:279,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:279,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:279,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:279,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:279,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:280,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:280,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:280,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:280,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:280,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:281,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:281,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:281,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:281,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:281,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:282,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:282,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:282,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:283,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:283,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:283,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:283,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:283,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:285,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:285,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:285,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:286,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:287,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:287,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:287,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:288,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:288,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:289,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:290,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:291,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:291,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:291,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:292,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:292,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:293,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:293,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:294,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:294,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:294,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:295,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:295,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:297,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:298,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:300,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:301,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:301,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:302,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:302,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:303,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:304,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:304,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:304,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:304,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:304,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:305,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:305,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:305,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:305,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:305,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:306,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:306,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:306,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:306,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:306,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:307,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:307,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:307,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:308,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:308,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:308,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:308,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:308,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:310,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:310,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:310,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:311,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:313,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:313,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:313,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:315,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:316,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:317,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:317,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 130
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 320
    functionName: '[io.undertow.server.security.DigestAuthentication2069TestCase].testDifferentNonce()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthentication2069TestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[StringBuilder].append(String)'
    - DigestAuthorizationToken.NONCE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.RESPONSE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.USERNAME.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.util.Headers.DIGEST].toString()'
    - '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.REALM.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
    - DigestAuthorizationToken.DIGEST_URI.getName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthentication2069TestCase].testDifferentNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:328,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:329,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:329,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:330,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:331,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:331,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:331,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:332,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:332,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:333,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:334,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:335,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:335,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:335,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:336,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:336,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:337,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:337,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:338,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:338,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:338,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:340,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:342,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:344,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:345,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:345,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:346,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:346,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:347,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:348,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:348,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:348,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:348,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:348,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:349,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:349,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:349,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:349,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:349,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:350,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:350,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:350,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:350,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:350,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:351,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:351,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:351,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:352,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:352,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:352,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:352,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:352,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:354,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:354,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:354,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:355,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:356,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:356,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:356,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:357,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:358,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:359,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:359,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:360,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:362,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:363,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:363,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:365,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:365,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:365,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:366,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:367,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:367,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:367,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:369,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:369,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:370,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:371,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:372,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:372,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:372,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:373,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:373,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:374,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:374,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:375,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:375,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:375,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:376,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:376,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:378,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:379,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:381,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:382,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:382,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:383,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:383,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:384,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:385,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:385,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:385,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:385,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:385,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:386,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:386,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:386,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:386,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:386,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:387,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:387,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:387,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:387,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:387,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:388,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:388,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:388,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:389,1
    - Dst: '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:389,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:389,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:389,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:389,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:391,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:391,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:391,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:392,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:394,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:394,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:394,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:396,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:397,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:398,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:398,1
    - Dst: '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
      Src: io.undertow.server.security.DigestAuthentication2069TestCase:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 150
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 401
    functionName: '[io.undertow.server.security.DigestAuthentication2069TestCase].testNonceReUse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthentication2069TestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertSingleNotificationType(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(int,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusCode()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[StringBuilder].append(String)'
    - DigestAuthorizationToken.NONCE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertEquals(String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.RESPONSE.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].createResponse(String,String,String,String,String,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].assertTrue(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.USERNAME.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getStatusLine()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].startsWith(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].substring(int)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.util.Headers.DIGEST].toString()'
    - '[StringBuilder].append(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.DigestAuthentication2069TestCase,io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].get(io.undertow.server.security.DigestAuthentication2069TestCase)'
    - DigestAuthorizationToken.REALM.getName()
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].getHeaders(String)'
    - '[io.undertow.server.security.DigestAuthentication2069TestCase].append(String)'
    - DigestAuthorizationToken.DIGEST_URI.getName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.DigestAuthentication2069TestCase].testNonceReUse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.DigestAuthentication2069TestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.DigestAuthentication2069TestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/DigestAuthentication2069TestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.DigestAuthentication2069TestCase
    signature: '[io.undertow.server.security.DigestAuthentication2069TestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase].getTestMechanism()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase].getTestMechanism()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getTestMechanism()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:56,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.api.AuthenticationMechanism)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getTestMechanism()'
    - '[java.util.Collections].singletonList(io.undertow.security.api.AuthenticationMechanism)'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBasicSuccess()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:63,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase].testBasicSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.BasicAuthenticationTestCase]._testBasicSuccess()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.BasicAuthenticationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase].testBasicSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:69,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:69,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:70,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:71,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:71,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:71,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:72,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getHeaders(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:72,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getAuthHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:73,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(String,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:74,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:77,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:77,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:78,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:78,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.BasicAuthenticationTestCase,boolean)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:79,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:80,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:80,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:80,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getHeaders(String)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:82,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:83,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.BasicAuthenticationTestCase:84,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(String,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBasicSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
    - values[0].getValue()
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.BasicAuthenticationTestCase,boolean)'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getAuthHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getHeaders(io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(String,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBasicSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBadUserName()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:90,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase].testBadUserName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.BasicAuthenticationTestCase]._testBadUserName()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.BasicAuthenticationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase].testBadUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:95,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:96,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:97,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:98,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:98,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:98,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:99,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getHeaders(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:99,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getAuthHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:100,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(String,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:101,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:102,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:104,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:104,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:105,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:105,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.BasicAuthenticationTestCase,boolean)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:105,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:106,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:107,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:107,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:107,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBadUserName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.BasicAuthenticationTestCase,boolean)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getAuthHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getHeaders(io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(String,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBadUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBadPassword()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:113,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase].testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.BasicAuthenticationTestCase]._testBadPassword()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.BasicAuthenticationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase].testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:118,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:119,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:120,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:121,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:121,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:121,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:122,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getHeaders(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:122,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getAuthHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:123,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(String,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:124,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:125,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:127,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:127,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:128,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:128,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.BasicAuthenticationTestCase,boolean)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:129,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:130,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:130,1
    - Dst: '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:130,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
      Src: io.undertow.server.security.BasicAuthenticationTestCase:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(int,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusCode()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.server.security.BasicAuthenticationTestCase,boolean)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getAuthHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getHeaders(io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.security.BasicAuthenticationTestCase].assertEquals(String,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.security.BasicAuthenticationTestCase,io.undertow.server.security.BasicAuthenticationTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase]._testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.BasicAuthenticationTestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.BasicAuthenticationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/BasicAuthenticationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.BasicAuthenticationTestCase
    signature: '[io.undertow.server.security.BasicAuthenticationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicates].path(String)'
      Src: io.undertow.server.security.FormAuthTestCase:68,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.security.FormAuthTestCase:68,1
    - Dst: '[io.undertow.server.handlers.PredicateHandler].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.security.FormAuthTestCase:68,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.security.FormAuthTestCase:74,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.security.FormAuthTestCase:74,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.PredicateHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.security.FormAuthTestCase:74,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.security.FormAuthTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 1
    argNames:
    - current
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.security.FormAuthTestCase].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/FormAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.security.AuthenticationTestBase].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
    - '[io.undertow.predicate.Predicates].path(String)'
    - '[io.undertow.server.handlers.PredicateHandler].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.PredicateHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.FormAuthTestCase].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.security.FormAuthTestCase].cachingRequired()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/FormAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.security.FormAuthTestCase].cachingRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.FormAuthTestCase:83,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.server.security.FormAuthTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.server.security.FormAuthTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.FormAuthTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.FormAuthTestCase:104,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.FormAuthTestCase:105,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.FormAuthTestCase:105,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].assertEquals(int,io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:105,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.security.FormAuthTestCase:107,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.security.FormAuthTestCase:109,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.security.FormAuthTestCase:109,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.security.FormAuthTestCase:110,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:111,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:111,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.FormAuthTestCase:112,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.security.FormAuthTestCase:112,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.server.security.FormAuthTestCase:114,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.server.security.FormAuthTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.security.FormAuthTestCase:116,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].getStatusLine()'
      Src: io.undertow.server.security.FormAuthTestCase:117,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].getStatusCode()'
      Src: io.undertow.server.security.FormAuthTestCase:117,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].assertEquals(int,io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:117,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].getHeaders(String)'
      Src: io.undertow.server.security.FormAuthTestCase:119,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].assertEquals(int,io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:120,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.FormAuthTestCase:121,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].assertEquals(String,io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:121,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.FormAuthTestCase)'
      Src: io.undertow.server.security.FormAuthTestCase:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.security.FormAuthTestCase:124,1
    - Dst: '[io.undertow.server.security.FormAuthTestCase].shutdown()'
      Src: io.undertow.server.security.FormAuthTestCase:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.security.FormAuthTestCase].testFormAuth()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/FormAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.server.security.FormAuthTestCase].assertEquals(String,io.undertow.server.security.FormAuthTestCase)'
    - values[0].getValue()
    - '[io.undertow.server.security.FormAuthTestCase].assertEquals(int,io.undertow.server.security.FormAuthTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.security.FormAuthTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.security.FormAuthTestCase].shutdown()'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.security.FormAuthTestCase].getStatusCode()'
    - '[io.undertow.server.security.FormAuthTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.FormAuthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[java.util.Arrays].asList(io.undertow.server.security.FormAuthTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.security.FormAuthTestCase].getHeaders(String)'
    - '[java.util.ArrayList].addAll(io.undertow.server.security.FormAuthTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.FormAuthTestCase].testFormAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.security.FormAuthTestCase:130,1
    - Dst: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].<init>()'
      Src: io.undertow.server.security.FormAuthTestCase:131,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.impl.CachedAuthenticatedSessionMechanism)'
      Src: io.undertow.server.security.FormAuthTestCase:131,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(String,String,String)'
      Src: io.undertow.server.security.FormAuthTestCase:132,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.impl.FormAuthenticationMechanism)'
      Src: io.undertow.server.security.FormAuthTestCase:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.security.FormAuthTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/FormAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].<init>()'
    - '[java.util.ArrayList].add(io.undertow.security.impl.FormAuthenticationMechanism)'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(String,String,String)'
    - '[java.util.ArrayList].add(io.undertow.security.impl.CachedAuthenticatedSessionMechanism)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.FormAuthTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.FormAuthTestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.FormAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/FormAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.FormAuthTestCase
    signature: '[io.undertow.server.security.FormAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].getTestMechanisms()'
      Src: io.undertow.server.security.AuthenticationTestBase:230,1
    - Dst: '[io.undertow.server.handlers.ResponseHandler].<init>()'
      Src: io.undertow.server.security.AuthenticationTestBase:234,1
    - Dst: '[io.undertow.security.handlers.AuthenticationCallHandler].<init>(io.undertow.server.handlers.ResponseHandler)'
      Src: io.undertow.server.security.AuthenticationTestBase:235,1
    - Dst: '[io.undertow.security.handlers.AuthenticationConstraintHandler].<init>(io.undertow.security.handlers.AuthenticationCallHandler)'
      Src: io.undertow.server.security.AuthenticationTestBase:236,1
    - Dst: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(io.undertow.security.handlers.AuthenticationConstraintHandler,java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
      Src: io.undertow.server.security.AuthenticationTestBase:238,1
    - Dst: '[AuditReceiver].takeNotifications()'
      Src: io.undertow.server.security.AuthenticationTestBase:239,1
    - Dst: '[java.util.Collections].singleton(AuditReceiver)'
      Src: io.undertow.server.security.AuthenticationTestBase:240,1
    - Dst: '[io.undertow.security.handlers.NotificationReceiverHandler].<init>(io.undertow.security.handlers.AuthenticationMechanismsHandler,io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:240,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].cachingRequired()'
      Src: io.undertow.server.security.AuthenticationTestBase:242,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].<init>(io.undertow.security.handlers.NotificationReceiverHandler)'
      Src: io.undertow.server.security.AuthenticationTestBase:243,1
    - Dst: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.server.security.AuthenticationTestBase,io.undertow.security.idm.IdentityManager,io.undertow.security.handlers.CachedAuthenticatedSessionHandler)'
      Src: io.undertow.server.security.AuthenticationTestBase:246,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].setRootHandler(io.undertow.security.handlers.SecurityInitialHandler)'
      Src: io.undertow.server.security.AuthenticationTestBase:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 248
    functionName: '[io.undertow.server.security.AuthenticationTestBase].setAuthenticationChain()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(AuditReceiver)'
    - '[io.undertow.server.handlers.ResponseHandler].<init>()'
    - '[io.undertow.server.security.AuthenticationTestBase].setRootHandler(io.undertow.security.handlers.SecurityInitialHandler)'
    - '[AuditReceiver].takeNotifications()'
    - '[io.undertow.security.handlers.AuthenticationCallHandler].<init>(io.undertow.server.handlers.ResponseHandler)'
    - '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(io.undertow.security.handlers.AuthenticationConstraintHandler,java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
    - '[io.undertow.security.handlers.AuthenticationConstraintHandler].<init>(io.undertow.security.handlers.AuthenticationCallHandler)'
    - '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.server.security.AuthenticationTestBase,io.undertow.security.idm.IdentityManager,io.undertow.security.handlers.CachedAuthenticatedSessionHandler)'
    - '[io.undertow.server.security.AuthenticationTestBase].cachingRequired()'
    - '[io.undertow.security.handlers.NotificationReceiverHandler].<init>(io.undertow.security.handlers.AuthenticationMechanismsHandler,io.undertow.server.security.AuthenticationTestBase)'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].<init>(io.undertow.security.handlers.NotificationReceiverHandler)'
    - '[io.undertow.server.security.AuthenticationTestBase].getTestMechanisms()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.AuthenticationTestBase].setAuthenticationChain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.security.AuthenticationTestBase].cachingRequired()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.security.AuthenticationTestBase].cachingRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.security.AuthenticationTestBase:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - current
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.security.AuthenticationTestBase].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.AuthenticationTestBase].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: '[io.undertow.server.security.AuthenticationTestBase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.AuthenticationTestBase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResponseHandler].<init>()'
      Src: io.undertow.server.security.AuthenticationTestBase:265,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ResponseHandler)'
      Src: io.undertow.server.security.AuthenticationTestBase:265,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.AuthenticationTestBase:267,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.AuthenticationTestBase:268,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.AuthenticationTestBase:268,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.AuthenticationTestBase:269,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].getStatusLine()'
      Src: io.undertow.server.security.AuthenticationTestBase:270,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].getStatusCode()'
      Src: io.undertow.server.security.AuthenticationTestBase:270,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].assertEquals(int,io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:270,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].getHeaders(String)'
      Src: io.undertow.server.security.AuthenticationTestBase:272,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].assertEquals(int,io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:273,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.AuthenticationTestBase:274,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: '[io.undertow.server.security.AuthenticationTestBase].testNoMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResponseHandler].<init>()'
    - '[io.undertow.server.security.AuthenticationTestBase].assertEquals(int,io.undertow.server.security.AuthenticationTestBase)'
    - values[0].getValue()
    - '[io.undertow.server.security.AuthenticationTestBase].getStatusCode()'
    - '[io.undertow.server.security.AuthenticationTestBase].getHeaders(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ResponseHandler)'
    - '[io.undertow.server.security.AuthenticationTestBase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,io.undertow.server.security.AuthenticationTestBase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.AuthenticationTestBase].testNoMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AuditReceiver].takeNotifications()'
      Src: io.undertow.server.security.AuthenticationTestBase:278,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].size()'
      Src: io.undertow.server.security.AuthenticationTestBase:279,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,int,io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:279,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].get(int)'
      Src: io.undertow.server.security.AuthenticationTestBase:280,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].getEventType()'
      Src: io.undertow.server.security.AuthenticationTestBase:280,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,SecurityNotification.EventType,io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - SecurityNotification.EventType
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - eventType
    argTypes:
    - SecurityNotification.EventType
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: '[io.undertow.server.security.AuthenticationTestBase].assertSingleNotificationType(SecurityNotification.EventType)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.AuthenticationTestBase].getEventType()'
    - '[AuditReceiver].takeNotifications()'
    - '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,SecurityNotification.EventType,io.undertow.server.security.AuthenticationTestBase)'
    - '[io.undertow.server.security.AuthenticationTestBase].size()'
    - '[io.undertow.server.security.AuthenticationTestBase].get(int)'
    - '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,int,io.undertow.server.security.AuthenticationTestBase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.AuthenticationTestBase].assertSingleNotificationType(SecurityNotification.EventType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AuditReceiver].takeNotifications()'
      Src: io.undertow.server.security.AuthenticationTestBase:284,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].size()'
      Src: io.undertow.server.security.AuthenticationTestBase:285,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,io.undertow.server.security.AuthenticationTestBase,io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:285,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.security.AuthenticationTestBase:286,1
    - Dst: i.getEventType()
      Src: io.undertow.server.security.AuthenticationTestBase:288,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:288,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.security.AuthenticationTestBase)'
      Src: io.undertow.server.security.AuthenticationTestBase:290,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,io.undertow.server.security.AuthenticationTestBase,java.util.ArrayList)'
      Src: io.undertow.server.security.AuthenticationTestBase:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: '[io.undertow.server.security.AuthenticationTestBase].assertNotifiactions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[AuditReceiver].takeNotifications()'
    - i.getEventType()
    - '[io.undertow.server.security.AuthenticationTestBase].size()'
    - '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,io.undertow.server.security.AuthenticationTestBase,io.undertow.server.security.AuthenticationTestBase)'
    - '[java.util.Arrays].asList(io.undertow.server.security.AuthenticationTestBase)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(io.undertow.server.security.AuthenticationTestBase)'
    - '[io.undertow.server.security.AuthenticationTestBase].assertEquals(String,io.undertow.server.security.AuthenticationTestBase,java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.AuthenticationTestBase].assertNotifiactions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.server.security.AuthenticationTestBase:294,1
    - Dst: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
      Src: io.undertow.server.security.AuthenticationTestBase:296,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.server.security.AuthenticationTestBase:299,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.server.security.AuthenticationTestBase:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: '[io.undertow.server.security.AuthenticationTestBase].getAuthenticatedUser(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[java.security.Principal].getName()'
    - '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.security.AuthenticationTestBase].getAuthenticatedUser(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: current.getValue()
      Src: io.undertow.server.security.AuthenticationTestBase:308,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.security.AuthenticationTestBase:309,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].startsWith(String)'
      Src: io.undertow.server.security.AuthenticationTestBase:309,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase].fail(String)'
      Src: io.undertow.server.security.AuthenticationTestBase:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - Header[]
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - prefix
    - values
    argTypes:
    - io.undertow.util.HttpString
    - Header[]
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: '[io.undertow.server.security.AuthenticationTestBase].getAuthHeader(io.undertow.util.HttpString,Header[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.security.AuthenticationTestBase].fail(String)'
    - current.getValue()
    - '[io.undertow.server.security.AuthenticationTestBase].startsWith(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.security.AuthenticationTestBase].getAuthHeader(io.undertow.util.HttpString,Header[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AuditReceiver].<init>()'
      Src: io.undertow.server.security.AuthenticationTestBase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - io.undertow.security.idm.IdentityManager
      - AuditReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.AuthenticationTestBase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.AuthenticationTestBase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[AuditReceiver].<init>()'
    linkageType: ''
    returnType: io.undertow.server.security.AuthenticationTestBase
    signature: '[io.undertow.server.security.AuthenticationTestBase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:330,1
    - Dst: '[io.undertow.util.HeaderMap].add(HttpString,String)'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:331,1
    - Dst: '[io.undertow.server.security.AuthenticationTestBase.ResponseHandler].getAuthenticatedUser(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:332,1
    - Dst: '[io.undertow.util.HeaderMap].add(HttpString,io.undertow.server.security.AuthenticationTestBase.ResponseHandler)'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:334,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:336,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:336,1
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:337,1
    - Dst: '[io.undertow.security.api.SecurityContext].logout()'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:337,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - HttpString
      - HttpString
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 6
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: '[io.undertow.server.security.AuthenticationTestBase.ResponseHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].add(HttpString,io.undertow.server.security.AuthenticationTestBase.ResponseHandler)'
    - '[io.undertow.security.api.SecurityContext].logout()'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.util.HeaderMap].add(HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.security.AuthenticationTestBase.ResponseHandler].getAuthenticatedUser(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.AuthenticationTestBase.ResponseHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:325,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.security.AuthenticationTestBase.ResponseHandler:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpString
      - HttpString
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.AuthenticationTestBase.ResponseHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 3
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.AuthenticationTestBase.ResponseHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.security.AuthenticationTestBase.ResponseHandler
    signature: '[io.undertow.server.security.AuthenticationTestBase.ResponseHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[List<SecurityNotification>].add(io.undertow.security.api.SecurityNotification)'
      Src: io.undertow.server.security.AuthenticationTestBase.AuditReceiver:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityNotification
      classConcrete: true
      classEnum: false
      classFields:
      - List<SecurityNotification>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - NotificationReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - notification
    argTypes:
    - io.undertow.security.api.SecurityNotification
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: '[io.undertow.server.security.AuthenticationTestBase.AuditReceiver].handleNotification(io.undertow.security.api.SecurityNotification)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[List<SecurityNotification>].add(io.undertow.security.api.SecurityNotification)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.AuthenticationTestBase.AuditReceiver].handleNotification(io.undertow.security.api.SecurityNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(List<SecurityNotification>)'
      Src: io.undertow.server.security.AuthenticationTestBase.AuditReceiver:355,1
    - Dst: '[List<SecurityNotification>].clear()'
      Src: io.undertow.server.security.AuthenticationTestBase.AuditReceiver:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<SecurityNotification>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - NotificationReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.security.api.SecurityNotification>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: '[io.undertow.server.security.AuthenticationTestBase.AuditReceiver].takeNotifications()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[List<SecurityNotification>].clear()'
    - '[java.util.ArrayList].<init>(List<SecurityNotification>)'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.SecurityNotification>
    signature: '[io.undertow.server.security.AuthenticationTestBase.AuditReceiver].takeNotifications()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.security.AuthenticationTestBase.AuditReceiver:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<SecurityNotification>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - NotificationReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.AuthenticationTestBase.AuditReceiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.AuthenticationTestBase.AuditReceiver].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/AuthenticationTestBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.security.AuthenticationTestBase.AuditReceiver
    signature: '[io.undertow.server.security.AuthenticationTestBase.AuditReceiver].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:60,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:72,1
    - Dst: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].<init>(io.undertow.server.HttpHandler,int)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SimpleConfidentialRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    - '[io.undertow.security.handlers.SinglePortConfidentialityHandler].<init>(io.undertow.server.HttpHandler,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].stop()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SimpleConfidentialRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:85,1
    - Dst: '[org.apache.http.protocol.BasicHttpContext].<init>()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:105,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.BasicHttpContext,String,null)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:107,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.BasicHttpContext,String,null)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:108,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.BasicHttpContext,String,null)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:109,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.BasicHttpContext,String,String)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:110,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.BasicHttpContext,String,String)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:111,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:113,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].shutdown()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].simpleRedirectTestCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SimpleConfidentialRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.BasicHttpContext,String,null)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.BasicHttpContext,String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[org.apache.http.protocol.BasicHttpContext].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].simpleRedirectTestCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:122,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:122,1
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:122,1
    - Dst: socket.getOutputStream()
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:123,1
    - Dst: ("GET " + DefaultServer.getDefaultServerURL() + "/foo HTTP/1.0\r\n\r\n").getBytes(io.undertow.server.security.SimpleConfidentialRedirectTestCase)
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:123,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].write(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:123,1
    - Dst: socket.getInputStream()
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:124,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:124,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:125,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].testRedirectWithFullURLInPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SimpleConfidentialRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].write(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
    - '[java.net.Socket].<init>(String,int)'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - ("GET " + DefaultServer.getDefaultServerURL() + "/foo HTTP/1.0\r\n\r\n").getBytes(io.undertow.server.security.SimpleConfidentialRedirectTestCase)
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
    - '[String].contains(String)'
    - socket.getInputStream()
    - socket.getOutputStream()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].testRedirectWithFullURLInPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:130,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet,org.apache.http.protocol.HttpContext)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:135,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getStatusLine()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:136,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getStatusCode()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:136,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getFirstHeader(String)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:137,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getValue()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:137,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:137,1
    - Dst: String.valueOf(int)
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:138,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getFirstHeader(String)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:138,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getValue()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:138,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.security.SimpleConfidentialRedirectTestCase,io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:138,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getFirstHeader(String)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:139,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getValue()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:139,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getFirstHeader(String)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:142,1
    - Dst: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getValue()'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:142,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:141,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
      Src: io.undertow.server.security.SimpleConfidentialRedirectTestCase:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - org.apache.http.protocol.HttpContext
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - client
    - httpContext
    - uri
    - queryString
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - org.apache.http.protocol.HttpContext
    - String
    - String
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.HttpContext,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SimpleConfidentialRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getValue()'
    - String.valueOf(int)
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
    - '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getFirstHeader(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
    - '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet,org.apache.http.protocol.HttpContext)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.security.SimpleConfidentialRedirectTestCase,io.undertow.server.security.SimpleConfidentialRedirectTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].sendRequest(io.undertow.testutils.TestHttpClient,org.apache.http.protocol.HttpContext,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.SimpleConfidentialRedirectTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SimpleConfidentialRedirectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.SimpleConfidentialRedirectTestCase
    signature: '[io.undertow.server.security.SimpleConfidentialRedirectTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory].<init>()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:73,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].<init>(io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:73,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.ietf.jgss.Oid
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.security.SpnegoAuthenticationTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoAuthenticationTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory].<init>()'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].<init>(io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory)'
    - '[java.util.Collections].singletonList(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.SpnegoAuthenticationTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].startServer()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:80,1
    - Dst: '[org.ietf.jgss.Oid].<init>(String)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.ietf.jgss.Oid
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.security.SpnegoAuthenticationTestCase].startServers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.ietf.jgss.Oid].<init>(String)'
    - '[io.undertow.server.security.KerberosKDCUtil].startServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoAuthenticationTestCase].startServers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.ietf.jgss.Oid
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.security.SpnegoAuthenticationTestCase].stopServers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoAuthenticationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoAuthenticationTestCase].stopServers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:93,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:94,1
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:95,1
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:95,1
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].assertEquals(int,io.undertow.server.security.SpnegoAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:95,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:96,1
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].getHeaders(io.undertow.server.security.SpnegoAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:96,1
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].getAuthHeader(io.undertow.server.security.SpnegoAuthenticationTestCase,io.undertow.server.security.SpnegoAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:97,1
    - Dst: '[io.undertow.util.Headers.NEGOTIATE].toString()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:98,1
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].assertEquals(io.undertow.server.security.SpnegoAuthenticationTestCase,io.undertow.server.security.SpnegoAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:98,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SpnegoAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:99,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:101,1
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].login(String,io.undertow.server.security.SpnegoAuthenticationTestCase)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:101,1
    - Dst: '[java.security.PrivilegedExceptionAction].<init>()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:103,1
    - Dst: '[javax.security.auth.Subject].doAs(io.undertow.server.security.SpnegoAuthenticationTestCase,java.security.PrivilegedExceptionAction)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 74
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.ietf.jgss.Oid
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.security.SpnegoAuthenticationTestCase].testSpnegoSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].assertEquals(int,io.undertow.server.security.SpnegoAuthenticationTestCase)'
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].assertEquals(io.undertow.server.security.SpnegoAuthenticationTestCase,io.undertow.server.security.SpnegoAuthenticationTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.SpnegoAuthenticationTestCase)'
    - '[String].toCharArray()'
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].login(String,io.undertow.server.security.SpnegoAuthenticationTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].getHeaders(io.undertow.server.security.SpnegoAuthenticationTestCase)'
    - '[javax.security.auth.Subject].doAs(io.undertow.server.security.SpnegoAuthenticationTestCase,java.security.PrivilegedExceptionAction)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].getAuthHeader(io.undertow.server.security.SpnegoAuthenticationTestCase,io.undertow.server.security.SpnegoAuthenticationTestCase)'
    - '[java.security.PrivilegedExceptionAction].<init>()'
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.util.Headers.NEGOTIATE].toString()'
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].getStatusCode()'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoAuthenticationTestCase].testSpnegoSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.ietf.jgss.Oid
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.SpnegoAuthenticationTestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.SpnegoAuthenticationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoAuthenticationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.SpnegoAuthenticationTestCase
    signature: '[io.undertow.server.security.SpnegoAuthenticationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toCharArray()'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory:163,1
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory].login(String,io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory)'
      Src: io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.security.GeneralSecurityException
      interfaces:
      - GSSAPIServerSubjectFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.security.auth.Subject
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hostName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory].getSubjectForHost(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory].login(String,io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory)'
    - '[String].toCharArray()'
    linkageType: ''
    returnType: javax.security.auth.Subject
    signature: '[io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory].getSubjectForHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - GSSAPIServerSubjectFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoAuthenticationTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory
    signature: '[io.undertow.server.security.SpnegoAuthenticationTestCase.SubjectFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:50,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.util.HttpString)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:50,1
    - Dst: '[java.util.Collections].singletonList(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:50,1
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].<init>(io.undertow.server.security.GenericHeaderAuthenticationTestCase,io.undertow.server.security.GenericHeaderAuthenticationTestCase,io.undertow.server.security.GenericHeaderAuthenticationTestCase,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getTestMechanism()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].singletonList(io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].<init>(io.undertow.server.security.GenericHeaderAuthenticationTestCase,io.undertow.server.security.GenericHeaderAuthenticationTestCase,io.undertow.server.security.GenericHeaderAuthenticationTestCase,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[java.util.Collections].singletonList(String)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getTestMechanism()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getTestMechanism()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:55,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.api.AuthenticationMechanism)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getTestMechanism()'
    - '[java.util.Collections].singletonList(io.undertow.security.api.AuthenticationMechanism)'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testGenericHeaderSucess()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:62,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].testGenericHeaderSucess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testGenericHeaderSucess()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].testGenericHeaderSucess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:67,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:68,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:68,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:69,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:70,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:70,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:70,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:74,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:76,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:77,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:77,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:77,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getHeaders(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:79,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:80,1
    - Dst: values[0].getValue()
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:81,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(String,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:81,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testGenericHeaderSucess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getHeaders(String)'
    - values[0].getValue()
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(String,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testGenericHeaderSucess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testBadUserName()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:87,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].testBadUserName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testBadUserName()'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].testBadUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:93,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:94,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:95,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:95,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:95,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:99,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:101,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:102,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:102,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:102,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testBadUserName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testBadUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testBadPassword()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:108,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertSingleNotificationType(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testBadPassword()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:114,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:115,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:116,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:116,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:116,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:117,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:119,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:119,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:120,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:122,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:123,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:123,1
    - Dst: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:123,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
      Src: io.undertow.server.security.GenericHeaderAuthenticationTestCase:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusLine()'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].assertEquals(int,io.undertow.server.security.GenericHeaderAuthenticationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase]._testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.GenericHeaderAuthenticationTestCase
      static: false
      superClass: io.undertow.server.security.AuthenticationTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/GenericHeaderAuthenticationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.GenericHeaderAuthenticationTestCase
    signature: '[io.undertow.server.security.GenericHeaderAuthenticationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthorizationToken].parseHeader(String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:47,1
    - Dst: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].assertEquals(java.util.Map<io.undertow.security.impl.DigestAuthorizationToken,String>,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Map<io.undertow.security.impl.DigestAuthorizationToken,String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - header
    - expected
    argTypes:
    - String
    - java.util.Map<io.undertow.security.impl.DigestAuthorizationToken,String>
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(String,java.util.Map<io.undertow.security.impl.DigestAuthorizationToken,String>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ParseDigestAuthorizationTokenTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].assertEquals(java.util.Map<io.undertow.security.impl.DigestAuthorizationToken,String>,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
    - '[io.undertow.security.impl.DigestAuthorizationToken].parseHeader(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(String,java.util.Map<io.undertow.security.impl.DigestAuthorizationToken,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.EnumMap].<init>()'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:56,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:57,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:58,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:59,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:60,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:61,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:61,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:62,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:63,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:64,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:64,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:65,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:66,1
    - Dst: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testChrome_22()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ParseDigestAuthorizationTokenTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.EnumMap].<init>()'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
    - DigestAlgorithm.MD5.getToken()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testChrome_22()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.EnumMap].<init>()'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:75,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:76,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:77,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:78,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:79,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:80,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:81,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:82,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:82,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:83,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:84,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:85,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:85,1
    - Dst: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testCurl_7()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ParseDigestAuthorizationTokenTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.EnumMap].<init>()'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
    - DigestAlgorithm.MD5.getToken()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testCurl_7()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.EnumMap].<init>()'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:94,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:95,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:96,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:97,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:98,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:99,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:99,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:100,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:101,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:102,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:102,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:103,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:104,1
    - Dst: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testFirefox_16()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ParseDigestAuthorizationTokenTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.EnumMap].<init>()'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
    - DigestAlgorithm.MD5.getToken()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testFirefox_16()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.EnumMap].<init>()'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:113,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:114,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:115,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:116,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:117,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:117,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:118,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:119,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:120,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:121,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:121,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:122,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:123,1
    - Dst: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testOpera_12()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ParseDigestAuthorizationTokenTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.EnumMap].<init>()'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
    - DigestAlgorithm.MD5.getToken()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testOpera_12()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.EnumMap].<init>()'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:132,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:133,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:134,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:135,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:136,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:137,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:137,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:138,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:139,1
    - Dst: DigestQop.AUTH.getToken()
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:140,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:140,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:141,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:142,1
    - Dst: '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:143,1
    - Dst: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
      Src: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testHttpClient_55()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ParseDigestAuthorizationTokenTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.EnumMap].<init>()'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,String)'
    - DigestQop.AUTH.getToken()
    - '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].doTest(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,java.util.EnumMap)'
    - '[java.util.EnumMap].put(io.undertow.server.security.ParseDigestAuthorizationTokenTestCase,io.undertow.server.security.ParseDigestAuthorizationTokenTestCase)'
    - DigestAlgorithm.MD5.getToken()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].testHttpClient_55()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/ParseDigestAuthorizationTokenTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.ParseDigestAuthorizationTokenTestCase
    signature: '[io.undertow.server.security.ParseDigestAuthorizationTokenTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].setupEnvironment()'
      Src: io.undertow.server.security.KerberosKDCUtil:108,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].startLdapServer()'
      Src: io.undertow.server.security.KerberosKDCUtil:109,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].startKDC()'
      Src: io.undertow.server.security.KerberosKDCUtil:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.security.KerberosKDCUtil].startServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.KerberosKDCUtil].setupEnvironment()'
    - '[io.undertow.server.security.KerberosKDCUtil].startLdapServer()'
    - '[io.undertow.server.security.KerberosKDCUtil].startKDC()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.security.KerberosKDCUtil].startServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].createWorkingDir()'
      Src: io.undertow.server.security.KerberosKDCUtil:117,1
    - Dst: '[org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory].<init>()'
      Src: io.undertow.server.security.KerberosKDCUtil:118,1
    - Dst: '[org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory].init(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:119,1
    - Dst: '[org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory].getDirectoryService()'
      Src: io.undertow.server.security.KerberosKDCUtil:120,1
    - Dst: '[org.apache.directory.server.core.kerberos.KeyDerivationInterceptor].<init>()'
      Src: io.undertow.server.security.KerberosKDCUtil:121,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].addLast(org.apache.directory.server.core.kerberos.KeyDerivationInterceptor)'
      Src: io.undertow.server.security.KerberosKDCUtil:121,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].getChangeLog()'
      Src: io.undertow.server.security.KerberosKDCUtil:122,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].setEnabled(boolean)'
      Src: io.undertow.server.security.KerberosKDCUtil:122,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].getSchemaManager()'
      Src: io.undertow.server.security.KerberosKDCUtil:123,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].createPartition(org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory,io.undertow.server.security.KerberosKDCUtil,String,String)'
      Src: io.undertow.server.security.KerberosKDCUtil:125,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].getAdminSession()'
      Src: io.undertow.server.security.KerberosKDCUtil:127,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.security.KerberosKDCUtil:128,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.server.security.KerberosKDCUtil:128,1
    - Dst: '[java.util.Collections].singletonMap(String,io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:128,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].processLdif(io.undertow.server.security.KerberosKDCUtil,io.undertow.server.security.KerberosKDCUtil,String,io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:129,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].processLdif(io.undertow.server.security.KerberosKDCUtil,io.undertow.server.security.KerberosKDCUtil,String,io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:130,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].processLdif(io.undertow.server.security.KerberosKDCUtil,io.undertow.server.security.KerberosKDCUtil,String,io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:131,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].processLdif(io.undertow.server.security.KerberosKDCUtil,io.undertow.server.security.KerberosKDCUtil,String,io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:132,1
    - Dst: '[org.apache.directory.server.ldap.LdapServer].<init>()'
      Src: io.undertow.server.security.KerberosKDCUtil:134,1
    - Dst: '[org.apache.directory.server.ldap.LdapServer].setServiceName(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:135,1
    - Dst: '[org.apache.directory.server.protocol.shared.transport.TcpTransport].<init>(String,int,int,int)'
      Src: io.undertow.server.security.KerberosKDCUtil:136,1
    - Dst: '[org.apache.directory.server.ldap.LdapServer].addTransports(org.apache.directory.server.protocol.shared.transport.TcpTransport)'
      Src: io.undertow.server.security.KerberosKDCUtil:137,1
    - Dst: '[org.apache.directory.server.ldap.LdapServer].setDirectoryService(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:138,1
    - Dst: '[org.apache.directory.server.ldap.LdapServer].start()'
      Src: io.undertow.server.security.KerberosKDCUtil:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.security.KerberosKDCUtil].startLdapServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.security.KerberosKDCUtil].addLast(org.apache.directory.server.core.kerberos.KeyDerivationInterceptor)'
    - '[org.apache.directory.server.protocol.shared.transport.TcpTransport].<init>(String,int,int,int)'
    - '[org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory].<init>()'
    - '[java.util.Collections].singletonMap(String,io.undertow.server.security.KerberosKDCUtil)'
    - '[org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory].init(String)'
    - '[org.apache.directory.server.ldap.LdapServer].setDirectoryService(io.undertow.server.security.KerberosKDCUtil)'
    - '[io.undertow.server.security.KerberosKDCUtil].getChangeLog()'
    - '[org.apache.directory.server.core.kerberos.KeyDerivationInterceptor].<init>()'
    - '[io.undertow.server.security.KerberosKDCUtil].createPartition(org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory,io.undertow.server.security.KerberosKDCUtil,String,String)'
    - '[io.undertow.server.security.KerberosKDCUtil].getSchemaManager()'
    - '[io.undertow.server.security.KerberosKDCUtil].createWorkingDir()'
    - '[org.apache.directory.server.core.factory.DefaultDirectoryServiceFactory].getDirectoryService()'
    - '[io.undertow.server.security.KerberosKDCUtil].setEnabled(boolean)'
    - '[org.apache.directory.server.ldap.LdapServer].addTransports(org.apache.directory.server.protocol.shared.transport.TcpTransport)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[org.apache.directory.server.ldap.LdapServer].setServiceName(String)'
    - '[io.undertow.server.security.KerberosKDCUtil].processLdif(io.undertow.server.security.KerberosKDCUtil,io.undertow.server.security.KerberosKDCUtil,String,io.undertow.server.security.KerberosKDCUtil)'
    - '[org.apache.directory.server.ldap.LdapServer].start()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[io.undertow.server.security.KerberosKDCUtil].getAdminSession()'
    - '[org.apache.directory.server.ldap.LdapServer].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.KerberosKDCUtil].startLdapServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.directory.server.core.factory.DirectoryServiceFactory].getPartitionFactory()'
      Src: io.undertow.server.security.KerberosKDCUtil:144,1
    - Dst: '[org.apache.directory.server.core.factory.DirectoryServiceFactory].getDirectoryService()'
      Src: io.undertow.server.security.KerberosKDCUtil:145,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].getDnFactory()'
      Src: io.undertow.server.security.KerberosKDCUtil:145,1
    - Dst: '[java.nio.file.Path].toFile()'
      Src: io.undertow.server.security.KerberosKDCUtil:145,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].createPartition(org.apache.directory.api.ldap.model.schema.SchemaManager,io.undertow.server.security.KerberosKDCUtil,String,String,int,io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:145,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].addIndex(void,String,int)'
      Src: io.undertow.server.security.KerberosKDCUtil:146,1
    - Dst: '[void].initialize()'
      Src: io.undertow.server.security.KerberosKDCUtil:147,1
    - Dst: '[org.apache.directory.server.core.api.DirectoryService].addPartition(void)'
      Src: io.undertow.server.security.KerberosKDCUtil:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.directory.server.core.factory.DirectoryServiceFactory
      - org.apache.directory.api.ldap.model.schema.SchemaManager
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - dsf
    - schemaManager
    - id
    - suffix
    argTypes:
    - org.apache.directory.server.core.factory.DirectoryServiceFactory
    - org.apache.directory.api.ldap.model.schema.SchemaManager
    - String
    - String
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: '[io.undertow.server.security.KerberosKDCUtil].createPartition(org.apache.directory.server.core.factory.DirectoryServiceFactory,org.apache.directory.api.ldap.model.schema.SchemaManager,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.KerberosKDCUtil].addIndex(void,String,int)'
    - '[io.undertow.server.security.KerberosKDCUtil].getDnFactory()'
    - '[void].initialize()'
    - '[java.nio.file.Path].toFile()'
    - '[org.apache.directory.server.core.factory.DirectoryServiceFactory].getDirectoryService()'
    - '[org.apache.directory.server.core.api.DirectoryService].addPartition(void)'
    - '[io.undertow.server.security.KerberosKDCUtil].createPartition(org.apache.directory.api.ldap.model.schema.SchemaManager,io.undertow.server.security.KerberosKDCUtil,String,String,int,io.undertow.server.security.KerberosKDCUtil)'
    - '[org.apache.directory.server.core.factory.DirectoryServiceFactory].getPartitionFactory()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.KerberosKDCUtil].createPartition(org.apache.directory.server.core.factory.DirectoryServiceFactory,org.apache.directory.api.ldap.model.schema.SchemaManager,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KerberosKDCUtil.class.getResourceAsStream(String)
      Src: io.undertow.server.security.KerberosKDCUtil:153,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].available()'
      Src: io.undertow.server.security.KerberosKDCUtil:154,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:154,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].read()'
      Src: io.undertow.server.security.KerberosKDCUtil:156,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].read()'
      Src: io.undertow.server.security.KerberosKDCUtil:159,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.server.security.KerberosKDCUtil:161,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].read()'
      Src: io.undertow.server.security.KerberosKDCUtil:162,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:163,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:166,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:167,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.server.security.KerberosKDCUtil:168,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:168,1
    - Dst: '[String].<init>(io.undertow.server.security.KerberosKDCUtil,io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:170,1
    - Dst: '[java.util.Map<String,String>].containsKey(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:171,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:172,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].getBytes()'
      Src: io.undertow.server.security.KerberosKDCUtil:172,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:172,1
    - Dst: String.format(String,String)
      Src: io.undertow.server.security.KerberosKDCUtil:174,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:174,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:177,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:178,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:181,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.server.security.KerberosKDCUtil:185,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:185,1
    - Dst: '[org.apache.directory.api.ldap.model.ldif.LdifReader].<init>(java.io.ByteArrayInputStream)'
      Src: io.undertow.server.security.KerberosKDCUtil:186,1
    - Dst: ldifEntry.getEntry()
      Src: io.undertow.server.security.KerberosKDCUtil:188,1
    - Dst: '[org.apache.directory.api.ldap.model.entry.DefaultEntry].<init>(org.apache.directory.api.ldap.model.schema.SchemaManager,io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:188,1
    - Dst: '[org.apache.directory.server.core.api.CoreSession].add(org.apache.directory.api.ldap.model.entry.DefaultEntry)'
      Src: io.undertow.server.security.KerberosKDCUtil:188,1
    - Dst: '[org.apache.directory.api.ldap.model.ldif.LdifReader].close()'
      Src: io.undertow.server.security.KerberosKDCUtil:190,1
    - Dst: '[java.io.ByteArrayInputStream].close()'
      Src: io.undertow.server.security.KerberosKDCUtil:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.directory.api.ldap.model.schema.SchemaManager
      - org.apache.directory.server.core.api.CoreSession
      - String
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - schemaManager
    - adminSession
    - ldifName
    - mappings
    argTypes:
    - org.apache.directory.api.ldap.model.schema.SchemaManager
    - org.apache.directory.server.core.api.CoreSession
    - String
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 192
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 192
    functionName: '[io.undertow.server.security.KerberosKDCUtil].processLdif(org.apache.directory.api.ldap.model.schema.SchemaManager,org.apache.directory.server.core.api.CoreSession,String,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 0
    functionsReached:
    - String.format(String,String)
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - KerberosKDCUtil.class.getResourceAsStream(String)
    - '[org.apache.directory.server.core.api.CoreSession].add(org.apache.directory.api.ldap.model.entry.DefaultEntry)'
    - '[org.apache.directory.api.ldap.model.entry.DefaultEntry].<init>(org.apache.directory.api.ldap.model.schema.SchemaManager,io.undertow.server.security.KerberosKDCUtil)'
    - '[io.undertow.server.security.KerberosKDCUtil].getBytes()'
    - '[java.io.ByteArrayInputStream].<init>(io.undertow.server.security.KerberosKDCUtil)'
    - '[io.undertow.server.security.KerberosKDCUtil].available()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[IllegalArgumentException].<init>(io.undertow.server.security.KerberosKDCUtil)'
    - '[java.util.Map<String,String>].get(String)'
    - '[java.util.Map<String,String>].containsKey(String)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.server.security.KerberosKDCUtil)'
    - '[java.io.ByteArrayInputStream].close()'
    - '[String].<init>(io.undertow.server.security.KerberosKDCUtil,io.undertow.server.security.KerberosKDCUtil)'
    - '[org.apache.directory.api.ldap.model.ldif.LdifReader].<init>(java.io.ByteArrayInputStream)'
    - '[org.apache.directory.api.ldap.model.ldif.LdifReader].close()'
    - '[java.io.ByteArrayOutputStream].<init>(io.undertow.server.security.KerberosKDCUtil)'
    - '[io.undertow.server.security.KerberosKDCUtil].read()'
    - ldifEntry.getEntry()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.KerberosKDCUtil].processLdif(org.apache.directory.api.ldap.model.schema.SchemaManager,org.apache.directory.server.core.api.CoreSession,String,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.directory.server.kerberos.kdc.KdcServer].<init>()'
      Src: io.undertow.server.security.KerberosKDCUtil:195,1
    - Dst: '[org.apache.directory.server.kerberos.kdc.KdcServer].setServiceName(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:196,1
    - Dst: '[org.apache.directory.server.kerberos.kdc.KdcServer].setSearchBaseDn(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:197,1
    - Dst: '[org.apache.directory.server.kerberos.kdc.KdcServer].getConfig()'
      Src: io.undertow.server.security.KerberosKDCUtil:198,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].setServicePrincipal(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:199,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].setPrimaryRealm(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:200,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].setPaEncTimestampRequired(boolean)'
      Src: io.undertow.server.security.KerberosKDCUtil:202,1
    - Dst: '[org.apache.directory.server.protocol.shared.transport.UdpTransport].<init>(String,int)'
      Src: io.undertow.server.security.KerberosKDCUtil:204,1
    - Dst: '[org.apache.directory.server.kerberos.kdc.KdcServer].addTransports(org.apache.directory.server.protocol.shared.transport.UdpTransport)'
      Src: io.undertow.server.security.KerberosKDCUtil:205,1
    - Dst: '[org.apache.directory.server.kerberos.kdc.KdcServer].setDirectoryService(org.apache.directory.server.core.api.DirectoryService)'
      Src: io.undertow.server.security.KerberosKDCUtil:207,1
    - Dst: '[org.apache.directory.server.kerberos.kdc.KdcServer].start()'
      Src: io.undertow.server.security.KerberosKDCUtil:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.security.KerberosKDCUtil].startKDC()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 1
    functionsReached:
    - '[org.apache.directory.server.protocol.shared.transport.UdpTransport].<init>(String,int)'
    - '[org.apache.directory.server.kerberos.kdc.KdcServer].setServiceName(String)'
    - '[org.apache.directory.server.kerberos.kdc.KdcServer].setSearchBaseDn(String)'
    - '[org.apache.directory.server.kerberos.kdc.KdcServer].getConfig()'
    - '[io.undertow.server.security.KerberosKDCUtil].setPrimaryRealm(String)'
    - '[org.apache.directory.server.kerberos.kdc.KdcServer].start()'
    - '[org.apache.directory.server.kerberos.kdc.KdcServer].addTransports(org.apache.directory.server.protocol.shared.transport.UdpTransport)'
    - '[org.apache.directory.server.kerberos.kdc.KdcServer].setDirectoryService(org.apache.directory.server.core.api.DirectoryService)'
    - '[io.undertow.server.security.KerberosKDCUtil].setServicePrincipal(String)'
    - '[io.undertow.server.security.KerberosKDCUtil].setPaEncTimestampRequired(boolean)'
    - '[org.apache.directory.server.kerberos.kdc.KdcServer].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.KerberosKDCUtil].startKDC()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KerberosKDCUtil.class.getResource(String)
      Src: io.undertow.server.security.KerberosKDCUtil:212,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].toURI()'
      Src: io.undertow.server.security.KerberosKDCUtil:214,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:214,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].normalize()'
      Src: io.undertow.server.security.KerberosKDCUtil:214,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].toAbsolutePath()'
      Src: io.undertow.server.security.KerberosKDCUtil:214,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].toString()'
      Src: io.undertow.server.security.KerberosKDCUtil:214,1
    - Dst: System.setProperty(String,io.undertow.server.security.KerberosKDCUtil)
      Src: io.undertow.server.security.KerberosKDCUtil:214,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: '[io.undertow.server.security.KerberosKDCUtil].setupEnvironment()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Paths].get(io.undertow.server.security.KerberosKDCUtil)'
    - '[io.undertow.server.security.KerberosKDCUtil].toAbsolutePath()'
    - '[io.undertow.server.security.KerberosKDCUtil].normalize()'
    - '[RuntimeException].<init>(io.undertow.server.security.KerberosKDCUtil)'
    - System.setProperty(String,io.undertow.server.security.KerberosKDCUtil)
    - '[io.undertow.server.security.KerberosKDCUtil].toURI()'
    - KerberosKDCUtil.class.getResource(String)
    - '[io.undertow.server.security.KerberosKDCUtil].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.KerberosKDCUtil].setupEnvironment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String,String,String)'
      Src: io.undertow.server.security.KerberosKDCUtil:222,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:223,1
    - Dst: '[java.nio.file.Files].createDirectories(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:224,1
    - Dst: '[java.nio.file.Files].newDirectoryStream(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:227,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.server.security.KerberosKDCUtil)'
      Src: io.undertow.server.security.KerberosKDCUtil:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: '[io.undertow.server.security.KerberosKDCUtil].createWorkingDir()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Files].delete(io.undertow.server.security.KerberosKDCUtil)'
    - '[java.nio.file.Paths].get(String,String,String)'
    - '[java.nio.file.Files].exists(io.undertow.server.security.KerberosKDCUtil)'
    - '[java.nio.file.Files].newDirectoryStream(io.undertow.server.security.KerberosKDCUtil)'
    - '[java.nio.file.Files].createDirectories(io.undertow.server.security.KerberosKDCUtil)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.KerberosKDCUtil].createWorkingDir()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.security.auth.Subject].<init>()'
      Src: io.undertow.server.security.KerberosKDCUtil:235,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH].<init>(String,char[])'
      Src: io.undertow.server.security.KerberosKDCUtil:236,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].createJaasConfiguration()'
      Src: io.undertow.server.security.KerberosKDCUtil:237,1
    - Dst: '[javax.security.auth.login.LoginContext].<init>(String,javax.security.auth.Subject,io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH,javax.security.auth.login.Configuration)'
      Src: io.undertow.server.security.KerberosKDCUtil:237,1
    - Dst: '[javax.security.auth.login.LoginContext].login()'
      Src: io.undertow.server.security.KerberosKDCUtil:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - char[]
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions:
      - javax.security.auth.login.LoginException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.security.auth.Subject
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - userName
    - password
    argTypes:
    - String
    - char[]
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: '[io.undertow.server.security.KerberosKDCUtil].login(String,char[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 0
    functionsReached:
    - '[javax.security.auth.Subject].<init>()'
    - '[io.undertow.server.security.KerberosKDCUtil].createJaasConfiguration()'
    - '[io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH].<init>(String,char[])'
    - '[javax.security.auth.login.LoginContext].login()'
    - '[javax.security.auth.login.LoginContext].<init>(String,javax.security.auth.Subject,io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH,javax.security.auth.login.Configuration)'
    linkageType: ''
    returnType: javax.security.auth.Subject
    signature: '[io.undertow.server.security.KerberosKDCUtil].login(String,char[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.security.auth.login.Configuration].<init>()'
      Src: io.undertow.server.security.KerberosKDCUtil:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.security.auth.login.Configuration
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 271
    functionName: '[io.undertow.server.security.KerberosKDCUtil].createJaasConfiguration()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 1
    functionsReached:
    - '[javax.security.auth.login.Configuration].<init>()'
    linkageType: ''
    returnType: javax.security.auth.login.Configuration
    signature: '[io.undertow.server.security.KerberosKDCUtil].createJaasConfiguration()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.security.KerberosKDCUtil:82,1
    - Dst: '[io.undertow.server.security.KerberosKDCUtil].contains(String)'
      Src: io.undertow.server.security.KerberosKDCUtil:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - String
      - boolean
      - java.nio.file.Path
      - org.apache.directory.server.core.api.DirectoryService
      - org.apache.directory.server.ldap.LdapServer
      - org.apache.directory.server.kerberos.kdc.KdcServer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.KerberosKDCUtil
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.KerberosKDCUtil].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.KerberosKDCUtil].contains(String)'
    - System.getProperty(String)
    linkageType: ''
    returnType: io.undertow.server.security.KerberosKDCUtil
    signature: '[io.undertow.server.security.KerberosKDCUtil].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - char[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - char[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - CallbackHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - String
    - char[]
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: '[io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH].<init>(String,char[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH
    signature: '[io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH].<init>(String,char[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb.setName(String)
      Src: io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH:296,1
    - Dst: pcb.setPassword(char[])
      Src: io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH:299,1
    - Dst: '[javax.security.auth.callback.UnsupportedCallbackException].<init>(io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH)'
      Src: io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Callback[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - char[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - javax.security.auth.callback.UnsupportedCallbackException
      interfaces:
      - CallbackHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - Callback[]
    constantsTouched: []
    func_position:
      end: 305
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 305
    functionName: '[io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH].handle(Callback[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/KerberosKDCUtil.java
    functionUses: 0
    functionsReached:
    - pcb.setPassword(char[])
    - '[javax.security.auth.callback.UnsupportedCallbackException].<init>(io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH)'
    - ncb.setName(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.KerberosKDCUtil.UsernamePasswordCBH].handle(Callback[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoAuthenticationTestCase].getTestMechanisms()'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:44,1
    - Dst: '[java.util.ArrayList].<init>(java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:44,1
    - Dst: '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getTestMechanism()'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:45,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.api.AuthenticationMechanism)'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].getTestMechanisms()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoDigestAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.security.api.AuthenticationMechanism)'
    - '[io.undertow.server.security.DigestAuthenticationAuthTestCase].getTestMechanism()'
    - '[io.undertow.server.security.SpnegoAuthenticationTestCase].getTestMechanisms()'
    - '[java.util.ArrayList].<init>(java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].getTestMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testDigestSuccess()'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testDigestSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoDigestAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testDigestSuccess()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testDigestSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testBadUsername()'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testBadUsername()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoDigestAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testBadUsername()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testBadUsername()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testBadPassword()'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testBadPassword()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoDigestAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testBadPassword()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testBadPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testBadNonce()'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testBadNonce()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoDigestAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testBadNonce()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testBadNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testNonceCountReUse()'
      Src: io.undertow.server.security.SpnegoDigestAuthenticationTestCase:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testNonceCountReUse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoDigestAuthenticationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase]._testNonceCountReUse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].testNonceCountReUse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.security.SpnegoDigestAuthenticationTestCase
      static: false
      superClass: io.undertow.server.security.SpnegoAuthenticationTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/security/SpnegoDigestAuthenticationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.security.SpnegoDigestAuthenticationTestCase
    signature: '[io.undertow.server.security.SpnegoDigestAuthenticationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:50,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:57,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:65,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:65,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:65,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:65,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:65,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.protocol.http.ContentOverrunTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ContentOverrunTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ContentOverrunTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:73,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:74,1
    - Dst: '[io.undertow.server.protocol.http.ContentOverrunTestCase].getStatusLine()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:75,1
    - Dst: '[io.undertow.server.protocol.http.ContentOverrunTestCase].getStatusCode()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ContentOverrunTestCase)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:75,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.protocol.http.ContentOverrunTestCase)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:77,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:79,1
    - Dst: '[io.undertow.server.protocol.http.ContentOverrunTestCase].shutdown()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.protocol.http.ContentOverrunTestCase].testContentOn204()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ContentOverrunTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ContentOverrunTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.protocol.http.ContentOverrunTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.protocol.http.ContentOverrunTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.protocol.http.ContentOverrunTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ContentOverrunTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ContentOverrunTestCase].testContentOn204()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:89,1
    - Dst: '[io.undertow.server.protocol.http.ContentOverrunTestCase].getStatusLine()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:90,1
    - Dst: '[io.undertow.server.protocol.http.ContentOverrunTestCase].getStatusCode()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ContentOverrunTestCase)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:90,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.protocol.http.ContentOverrunTestCase)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:94,1
    - Dst: '[io.undertow.server.protocol.http.ContentOverrunTestCase].shutdown()'
      Src: io.undertow.server.protocol.http.ContentOverrunTestCase:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.protocol.http.ContentOverrunTestCase].testContentPastContentLength()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ContentOverrunTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ContentOverrunTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.protocol.http.ContentOverrunTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.protocol.http.ContentOverrunTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.protocol.http.ContentOverrunTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ContentOverrunTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ContentOverrunTestCase].testContentPastContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.ContentOverrunTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http.ContentOverrunTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ContentOverrunTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.ContentOverrunTestCase
    signature: '[io.undertow.server.protocol.http.ContentOverrunTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:53,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:55,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:56,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:57,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:59,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:60,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getMap()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:61,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:61,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:61,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:61,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:62,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:65,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:65,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:67,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:67,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:68,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].keySet()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:68,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].iterator()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:68,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].next()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:68,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:69,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:69,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:69,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:71,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:72,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:72,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:74,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:74,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:75,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].keySet()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:75,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].iterator()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:75,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].next()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:75,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:76,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:76,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testDecodingParamsDisabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getMap()'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].next()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].iterator()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].keySet()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testDecodingParamsDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:81,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:83,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:84,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:85,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:87,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:88,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getMap()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:89,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:89,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:89,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:89,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:90,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:90,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:92,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:93,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:95,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:95,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:96,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].keySet()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:96,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].iterator()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:96,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].next()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:96,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:97,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:97,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:97,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:99,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:100,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:102,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:102,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:103,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].keySet()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:103,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].iterator()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:103,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].next()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:103,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:104,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:104,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testDecodingParamsEnabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getMap()'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].next()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].iterator()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].keySet()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testDecodingParamsEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:109,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:111,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:112,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:113,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:113,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:113,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:114,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:114,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:115,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEncodedSlashDisallowed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEncodedSlashDisallowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:121,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:123,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:124,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:125,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:125,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:125,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:125,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:126,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:126,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:127,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEncodedSlashAllowed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEncodedSlashAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:133,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:135,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:136,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:137,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:137,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:137,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:137,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:138,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:138,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:139,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEncodedSlashDisallowed_DECODE_FLAG()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEncodedSlashDisallowed_DECODE_FLAG()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:145,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:147,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:148,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:150,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:150,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:150,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:150,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:151,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:151,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:152,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEncodedSlashAllowed_DECODE_FLAG()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean,org.xnio.Option<Boolean>,boolean)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEncodedSlashAllowed_DECODE_FLAG()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:158,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:161,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:162,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:162,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:162,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:162,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:163,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:163,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:164,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:164,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:165,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testColonSlashInURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testColonSlashInURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:170,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:172,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:173,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:174,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:174,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:174,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:174,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:175,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:175,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:176,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:176,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:177,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testColonSlashInFullURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testColonSlashInFullURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:183,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:184,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:185,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:186,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:186,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:186,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:186,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:187,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:187,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:188,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:188,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:189,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:189,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:190,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:190,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:190,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:191,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:192,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:192,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:193,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 194
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMatrixParamFlag()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMatrixParamFlag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:198,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:199,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:200,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:201,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:201,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:201,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:201,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:202,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:202,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:203,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:203,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:204,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:204,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:205,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:205,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:205,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:206,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:207,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:207,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:208,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMatrixParamFlagEndingWithNormalPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMatrixParamFlagEndingWithNormalPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:213,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:214,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:215,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:216,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:216,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:216,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:216,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:217,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:217,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:218,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:218,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:219,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:219,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:220,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:220,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:220,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:221,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:222,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:222,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:222,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:222,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:223,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:223,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:223,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:224,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:224,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:225,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMultipleMatrixParamsOfSameName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMultipleMatrixParamsOfSameName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:230,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:231,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:232,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:233,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:233,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:233,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:233,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:234,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:234,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:235,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:235,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:236,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:236,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:237,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:238,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:239,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:239,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:239,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:239,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:240,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:240,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:240,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:240,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:241,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:241,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:242,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testCommaSeparatedParamValues()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testCommaSeparatedParamValues()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:247,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:248,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:249,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:250,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:250,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:250,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:250,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:251,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:251,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:252,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:252,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:253,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:253,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:254,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:254,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:254,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:255,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:256,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:256,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:256,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:256,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:257,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:257,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:258,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLWithPathParam()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLWithPathParam()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:263,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:264,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:265,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:266,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:266,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:266,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:266,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:267,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:267,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:268,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:268,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:269,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:269,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:270,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:270,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:270,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:271,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:272,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:272,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:272,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:272,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:273,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:273,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:274,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 275
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLWithPathParamEndingWithNormalPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLWithPathParamEndingWithNormalPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:279,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:280,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:281,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:282,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:282,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:282,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:282,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:283,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:283,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:284,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:284,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:285,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:285,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:286,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:286,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:286,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:288,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:288,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:288,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:288,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:289,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:289,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:289,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:289,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:290,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:290,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:291,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 292
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLWithPathParams()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLWithPathParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:296,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:297,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:298,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:299,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:299,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:299,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:299,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:300,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:300,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:301,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:301,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:302,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:302,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:303,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:303,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:303,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:304,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:305,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:305,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:305,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:305,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:306,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:306,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:307,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletPathWithPathParam()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletPathWithPathParam()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:312,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:313,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:314,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:315,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:315,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:315,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:315,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:316,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:316,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:317,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:317,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:318,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:318,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:319,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:319,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:319,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:321,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:321,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:321,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:321,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:322,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:322,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:322,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:322,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:323,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:323,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:324,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletPathWithPathParams()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletPathWithPathParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:329,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:330,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:331,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:332,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:332,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:332,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:332,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:333,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:333,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:334,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:334,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:335,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testRootMatrixParam()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testRootMatrixParam()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:341,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:342,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:343,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:344,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:344,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:344,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:344,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:345,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:345,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:346,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:346,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:347,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testRootMatrixParamCorrect()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testRootMatrixParamCorrect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:352,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:353,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:354,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:355,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:355,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:355,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:355,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:356,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:356,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:357,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:357,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:358,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:358,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:360,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:360,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:360,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:360,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:361,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:361,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:361,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:361,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:363,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:363,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:364,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:364,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:364,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:364,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:365,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:365,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:366,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 367
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMatrixParametersWithQueryString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMatrixParametersWithQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:371,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:372,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:373,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:374,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:374,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:374,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:374,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:375,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:375,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:376,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:376,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:377,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:377,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:378,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:378,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:379,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:379,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:379,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:379,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:380,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:380,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:380,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:380,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:381,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:381,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:381,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:381,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:382,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:382,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:383,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 384
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMultiLevelMatrixParameter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMultiLevelMatrixParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:388,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:389,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:390,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:391,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:391,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:391,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:391,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:392,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:392,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:393,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:393,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:394,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:394,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:395,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:395,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:396,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:396,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:396,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:396,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:397,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:397,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:397,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:397,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:398,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:398,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:398,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:398,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:399,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:399,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:400,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLMultiLevelMatrixParameter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLMultiLevelMatrixParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:405,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:406,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:407,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:408,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:408,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:408,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:408,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:409,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:409,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:410,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:410,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:411,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:411,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:412,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:412,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:413,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:413,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:413,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:413,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:414,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:414,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:414,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:414,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:415,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:415,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:415,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:415,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:416,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:416,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:417,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMultiLevelMatrixParameters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMultiLevelMatrixParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:422,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:423,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:424,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:425,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:425,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:425,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:425,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:426,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:426,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:427,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:427,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:428,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:428,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:429,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:429,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:430,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:430,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:430,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:430,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:431,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:431,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:431,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:431,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:432,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:432,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:432,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:432,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:433,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:433,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:434,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMultiLevelMatrixParameterEndingWithNormalPathAndQuery()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testMultiLevelMatrixParameterEndingWithNormalPathAndQuery()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:439,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:440,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:441,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:442,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:442,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:442,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:442,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:443,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:443,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:444,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:444,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:445,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:445,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:446,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:446,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:447,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:447,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:447,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:447,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:448,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:448,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:448,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:448,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:449,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:449,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:449,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:449,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:450,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:450,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:451,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 452
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLMultiLevelMatrixParameterEndingWithNormalPathAndQuery()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getLast()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testServletURLMultiLevelMatrixParameterEndingWithNormalPathAndQuery()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:456,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:457,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:458,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:459,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:459,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:459,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getMap()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:462,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:462,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:462,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:462,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:463,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:463,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:464,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:464,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:465,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:465,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:466,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:466,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:467,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].keySet()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:467,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].contains(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:467,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:467,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:468,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].keySet()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:468,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].contains(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:468,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:468,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:469,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:469,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:469,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:469,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:470,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:470,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:471,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 472
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testIDLessMatrixParameters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getMap()'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].contains(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].keySet()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testIDLessMatrixParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:476,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:478,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:479,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:480,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:480,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:480,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:480,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:481,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:481,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:482,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:482,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:483,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:483,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:484,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testFullUrlRootPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testFullUrlRootPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:489,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:491,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:492,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:493,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:493,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:493,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:493,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:494,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:494,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:495,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:495,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:496,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:496,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:497,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:497,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:497,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:498,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 499
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testSth()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testSth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:503,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testHeaderNameMissingColonSeparator()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testHeaderNameMissingColonSeparator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:509,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterVerb()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterVerb()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:515,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:521,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterVerb2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterVerb2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:527,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterVerb3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterVerb3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:532,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterPath2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineEndingInsteadOfSpacesAfterPath2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:537,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testSimpleRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testSimpleRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:543,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:544,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:545,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:546,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:546,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:546,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:547,1
    - Dst: '[io.undertow.util.HeaderMap].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:547,1
    - Dst: '[io.undertow.util.HeaderValues].toArray()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:547,1
    - Dst: '[org.junit.Assert].assertArrayEquals(String[])'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 4
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testDifferentCaseHeaders()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].get(String)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.util.HeaderValues].toArray()'
    - '[org.junit.Assert].assertArrayEquals(String[])'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testDifferentCaseHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:552,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testTabInsteadOfSpaceAfterVerb()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testTabInsteadOfSpaceAfterVerb()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:558,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testTabInsteadOfSpaceAfterVerb2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testTabInsteadOfSpaceAfterVerb2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:564,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testTabInsteadOfSpaceAfterPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testTabInsteadOfSpaceAfterPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:571,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:577,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInQueryString1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInQueryString1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:583,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInQueryString2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInQueryString2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:589,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInPathParam1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInPathParam1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:595,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInPathParam2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testInvalidCharacterInPathParam2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:601,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:602,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:603,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:604,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:605,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:606,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:607,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testSimpleRequestWithHeaderCaching()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testSimpleRequestWithHeaderCaching()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:613,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testCarriageReturnLineEnds()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testCarriageReturnLineEnds()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:619,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineFeedsLineEnds()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testLineFeedsLineEnds()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:625,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testTabWhitespace()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(io.undertow.server.protocol.http.SimpleParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testTabWhitespace()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:631,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:632,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:633,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:634,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:634,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:634,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:635,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:635,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:636,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 637
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testCanonicalPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testCanonicalPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:641,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:643,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:644,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:645,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:645,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:645,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].isComplete()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:646,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:646,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:647,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 648
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 648
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testNoHeaders()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].isComplete()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testNoHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:652,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:654,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:655,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:656,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:656,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:656,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:657,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:657,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:658,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:658,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:659,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:659,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:660,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:660,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:660,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:660,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:661,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:661,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:661,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:661,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:662,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:662,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:662,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:662,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:663,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:663,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:663,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:663,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:664,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:664,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:664,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 666
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 666
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testQueryParams()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testQueryParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:670,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:672,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:673,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:674,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:674,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:674,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:674,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:675,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:675,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:676,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:676,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:677,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:677,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:678,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:678,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:678,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:678,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:679,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:679,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:679,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:679,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:680,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:680,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:680,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:680,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:681,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:681,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:681,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:681,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:682,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:682,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:682,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 684
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testQueryParams_DECODE_FLAG()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testQueryParams_DECODE_FLAG()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:688,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:690,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:691,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:692,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:692,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:692,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:694,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:695,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:696,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:696,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:696,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:698,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:698,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:698,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:699,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:699,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:699,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:701,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:701,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:703,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:703,1
    - Dst: header.equals(io.undertow.util.HttpString)
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:709,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:710,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 714
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testSameHttpStringReturned()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - header.equals(io.undertow.util.HttpString)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testSameHttpStringReturned()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:721,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:723,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:724,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:725,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:725,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:725,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:725,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:726,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:726,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:728,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:727,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:729,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 730
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testPlusSignVsSpaceEncodingInPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testPlusSignVsSpaceEncodingInPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:735,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:737,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:738,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:739,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:739,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:739,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:740,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:740,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:741,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:741,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:742,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:742,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:743,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:743,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:743,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:744,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:744,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:744,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:744,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:745,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:745,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:745,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:745,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:746,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:746,1
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:746,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 747
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEmptyQueryParams()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].getFirst()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testEmptyQueryParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:751,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:753,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:754,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:755,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:755,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:755,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:756,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:756,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:757,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:757,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:758,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 759
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testNonEncodedDelimiterAsciiCharacters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(String)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testNonEncodedDelimiterAsciiCharacters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:763,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:765,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:766,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:767,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:767,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testNonEncodedAsciiCharacters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(String)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testNonEncodedAsciiCharacters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:772,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:774,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:775,1
    - Dst: StandardCharsets.ISO_8859_1.name()
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:776,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean,org.xnio.Option<String>,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:776,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:776,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:776,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:776,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:777,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:777,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:778,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:778,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:779,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 780
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testNonEncodedAsciiCharactersExplicitlyAllowed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(String)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - StandardCharsets.ISO_8859_1.name()
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean,org.xnio.Option<String>,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testNonEncodedAsciiCharactersExplicitlyAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:784,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:786,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:787,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:788,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:788,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:788,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:789,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:789,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:790,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:790,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:791,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 792
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testOptionsAsterisk()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(String)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testOptionsAsterisk()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:796,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:797,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:798,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:799,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:799,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:799,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:800,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:800,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:801,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:801,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:802,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:802,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:803,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:803,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:805,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:806,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:807,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:808,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:808,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:808,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:809,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:809,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:810,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:810,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:811,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:811,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:812,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:812,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:814,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:815,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:816,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:817,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:817,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:817,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:818,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:818,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:819,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:819,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:820,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:820,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:821,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:821,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:823,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:824,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:825,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:826,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:826,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:826,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:827,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:827,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:828,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:828,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:829,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:829,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:830,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 831
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].testDirectoryTraversal()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].testDirectoryTraversal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(byte[],String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 6
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(byte[],String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestState].reset()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:837,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:838,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:839,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:839,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:839,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:840,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:840,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:841,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:841,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:842,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:842,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:844,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:844,1
    - Dst: '[java.util.Collection<io.undertow.util.HttpString>].size()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:844,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:844,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:845,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:845,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:845,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:845,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:846,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:846,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:846,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:846,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].isComplete()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:848,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - in
    - lastHeader
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 849
      start: 836
    functionDepth: 5
    functionLinenumber: 836
    functionLinenumberEnd: 849
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(byte[],String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.SimpleParserTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.protocol.http.RequestState].reset()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.SimpleParserTestCase)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.server.protocol.http.RequestState].isComplete()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.util.Collection<io.undertow.util.HttpString>].size()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].runTest(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.SimpleParserTestCase:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.SimpleParserTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 2
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http.SimpleParserTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/SimpleParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.SimpleParserTestCase
    signature: '[io.undertow.server.protocol.http.SimpleParserTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:51,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].testResume(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:54,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.protocol.http.ParserResumeTestCase].testMethodSplit()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[RuntimeException].<init>(String,io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].testResume(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.ParserResumeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ParserResumeTestCase].testMethodSplit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data.getBytes()
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:64,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].reset()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:67,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:68,1
    - Dst: data.indexOf(String)
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:69,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:69,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:70,1
    - Dst: data.indexOf(String)
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:72,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:72,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:73,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].capacity()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:75,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:75,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:76,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:79,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:79,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:80,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:80,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:80,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:81,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:81,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:81,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:82,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:82,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:82,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:83,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:83,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.protocol.http.ParserResumeTestCase].testMatrixParamSplit()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - data.getBytes()
    - data.indexOf(String)
    - '[io.undertow.server.protocol.http.RequestState].reset()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].capacity()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(io.undertow.server.protocol.http.ParserResumeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ParserResumeTestCase].testMatrixParamSplit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestState].reset()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:88,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:89,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:90,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:91,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:92,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:93,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].isComplete()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:94,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:95,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].isComplete()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:96,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:97,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:97,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.protocol.http.ParserResumeTestCase,int)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:100,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].runAssertions(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.protocol.http.ParserResumeTestCase].testOneCharacterAtATime()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].limit()'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].runAssertions(io.undertow.server.HttpServerExchange)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[io.undertow.server.protocol.http.RequestState].reset()'
    - '[String].getBytes()'
    - '[io.undertow.server.protocol.http.RequestState].isComplete()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.protocol.http.ParserResumeTestCase,int)'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ParserResumeTestCase].testOneCharacterAtATime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestState].reset()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:105,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:106,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:107,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:108,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:109,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].capacity()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:110,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:110,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - split
    - in
    argTypes:
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.protocol.http.ParserResumeTestCase].resume(int,byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
    - '[io.undertow.server.protocol.http.RequestState].reset()'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].capacity()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.protocol.http.ParserResumeTestCase].resume(int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestState].reset()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:116,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:117,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:118,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:119,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:120,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].capacity()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:121,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:121,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:122,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].runAssertions(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:123,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].remaining()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - split
    - in
    argTypes:
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.protocol.http.ParserResumeTestCase].testResume(int,byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(int)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].runAssertions(io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].remaining()'
    - '[io.undertow.server.protocol.http.RequestState].reset()'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].capacity()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.ParserResumeTestCase,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].limit(io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ParserResumeTestCase].testResume(int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:128,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:128,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:129,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:130,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:131,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:131,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:133,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:133,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:133,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:134,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:134,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:134,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:134,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:135,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:135,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:135,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:136,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:136,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:136,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:137,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:137,1
    - Dst: '[java.util.Collection<io.undertow.util.HttpString>].size()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:137,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:137,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].isComplete()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:139,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:139,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:140,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:141,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:141,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:141,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:142,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:142,1
    - Dst: '[io.undertow.server.protocol.http.ParserResumeTestCase].getFirst()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:142,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.protocol.http.ParserResumeTestCase].runAssertions(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ParserResumeTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.server.protocol.http.RequestState].isComplete()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[java.util.Collection<io.undertow.util.HttpString>].size()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.protocol.http.ParserResumeTestCase].getFirst()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ParserResumeTestCase].runAssertions(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:45,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.ParserResumeTestCase)'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:45,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.ParserResumeTestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.protocol.http.RequestState
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.ParserResumeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 2
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http.ParserResumeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http/ParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].instance(io.undertow.server.protocol.http.ParserResumeTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.ParserResumeTestCase
    signature: '[io.undertow.server.protocol.http.ParserResumeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:71,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:72,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:73,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:75,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].isComplete()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:76,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:76,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:77,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testResult(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testAjpParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].remaining()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].isComplete()'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testResult(io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testAjpParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:84,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:86,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:87,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].limit()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:88,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].limit(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:90,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:93,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].isComplete()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:94,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:94,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testResult(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testByteByByteAjpParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].limit()'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].limit(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].isComplete()'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testResult(io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testByteByByteAjpParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:100,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:100,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:101,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:102,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:102,1
    - Dst: '[java.util.Collection<io.undertow.util.HttpString>].size()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:102,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:103,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:103,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:104,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:104,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:105,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testResult(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 2
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.util.Collection<io.undertow.util.HttpString>].size()'
    - '[org.junit.Assert].assertEquals(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testResult(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:111,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:112,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:111,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:113,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:114,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:115,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:116,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:117,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:118,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:119,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:119,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:121,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:122,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:121,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:123,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:124,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:125,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:126,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:127,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:128,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:129,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testCharsetHandling()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testCharsetHandling()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:135,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:136,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:135,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:137,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:138,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:139,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testInvalidQueryString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testInvalidQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:145,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:146,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:145,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:147,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:148,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:149,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:150,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:151,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:152,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:153,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:154,1
    - Dst: '[org.junit.Assert].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:155,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:156,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:156,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testPathParamsQueryString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[org.junit.Assert].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testPathParamsQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:162,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:163,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:162,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:164,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:165,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:166,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:167,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:168,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:168,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:169,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:169,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:170,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:170,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:171,1
    - Dst: '[org.junit.Assert].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:172,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].size()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:173,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:173,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:174,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:175,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:176,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:177,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testPathParamMatrixQueryString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[String].getBytes(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Map<String,java.util.Deque<String>>].size()'
    - '[org.junit.Assert].assertNotNull(java.util.Map<String,java.util.Deque<String>>)'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].testPathParamMatrixQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:182,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:183,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].toArray()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:184,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.Deque<String>>
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pathParams
    - pathParam
    - pathParamValue
    argTypes:
    - java.util.Map<String,java.util.Deque<String>>
    - String
    - String
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 2
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].toArray()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].assertPathParamValue(java.util.Map<String,java.util.Deque<String>>,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:188,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:189,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:190,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:191,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:192,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:193,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:194,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:195,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,byte[])'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:196,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:197,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:198,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,String)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:199,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,int)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:200,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:201,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,int)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:202,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putQueryAttribute(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,byte[])'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:203,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:204,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].position()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:205,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(int,byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:206,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(int,byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:207,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].flip()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - query
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(byte[],byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,byte[])'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,String)'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(byte)'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,int)'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putQueryAttribute(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase,byte[])'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].position()'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].flip()'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].put(int,byte)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].createAjpRequest(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:214,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:219,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:220,1
    - Dst: '[String].charAt(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:222,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:222,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - String
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(java.nio.ByteBuffer,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[String].charAt(io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(java.nio.ByteBuffer,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:228,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:230,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - byte[]
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(java.nio.ByteBuffer,byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[java.nio.ByteBuffer].put()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putString(java.nio.ByteBuffer,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,int)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:236,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:237,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:239,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - byte[]
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putQueryAttribute(java.nio.ByteBuffer,byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpParsingUnitTestCase)'
    - '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putInt(java.nio.ByteBuffer,int)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[java.nio.ByteBuffer].put()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].putQueryAttribute(java.nio.ByteBuffer,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpParsingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpParsingUnitTestCase
    signature: '[io.undertow.server.protocol.ajp.AjpParsingUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:57,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setServerOption(org.xnio.Option<String>,String)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:57,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:57,1
    - Dst: '[Undertow.ListenerBuilder].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:61,1
    - Dst: '[Undertow.ListenerBuilder].setType(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:63,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setHost(String)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:61,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setPort(int)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:61,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].addListener(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:57,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:65,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:57,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].build()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:57,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].start()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:72,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:74,1
    - Dst: '[java.net.URI].<init>(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].build()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:75,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean,org.xnio.Option<String>,String)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:76,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.Undertow
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setHost(String)'
    - '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].build()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[java.net.URI].<init>(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
    - '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setPort(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[Undertow.ListenerBuilder].setType(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
    - '[Undertow.ListenerBuilder].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setServerOption(org.xnio.Option<String>,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI)'
    - '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].start()'
    - '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].addListener(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
    - '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setHandler(io.undertow.server.HttpHandler)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean,org.xnio.Option<String>,String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:81,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:82,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.Undertow
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[io.undertow.Undertow].stop()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:92,1
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:92,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:93,1
    - Dst: '[String].getBytes(String)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:93,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].write(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:93,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:94,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:94,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:95,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.Undertow
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].sendHttpRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].<init>(String,int)'
    - '[java.net.Socket].getInputStream()'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[String].getBytes(String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
    - '[String].contains(String)'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].write(io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].sendHttpRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.Undertow
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 3
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/ajp/AjpCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase
    signature: '[io.undertow.server.protocol.ajp.AjpCharacterEncodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:78,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:80,1
    - Dst: '[java.util.concurrent.CompletableFuture].<init>()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:82,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:85,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:84,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:84,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].setSocketOption(io.undertow.server.protocol.http2.Http2EndExchangeTestCase,boolean)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:84,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:88,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:88,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].setHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:84,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].build()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:84,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].start()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:118,1
    - Dst: '[java.net.URI].<init>(io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:120,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:122,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:126,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:127,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].createClient()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:130,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:132,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.protocol.http2.Http2EndExchangeTestCase,io.undertow.server.protocol.http2.Http2EndExchangeTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:132,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:132,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:132,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,io.undertow.server.protocol.http2.Http2EndExchangeTestCase,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:132,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:132,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].getIoThread()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:134,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:134,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].execute(Runnable)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:134,1
    - Dst: '[java.util.concurrent.CompletableFuture].get(int,io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:177,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:177,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:179,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].stopWorker(io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:182,1
    - Dst: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].stop()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:183,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:186,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - org.xnio.OptionMap
      - java.net.URI
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 189
    functionName: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].testHttp2EndExchangeWithBrokenConnection()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/Http2EndExchangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].createClient()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].getIoThread()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].build()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
    - '[Runnable].<init>()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[java.util.concurrent.CompletableFuture].get(int,io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].stopWorker(io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
    - '[RuntimeException].<init>(io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].stop()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.protocol.http2.Http2EndExchangeTestCase,io.undertow.server.protocol.http2.Http2EndExchangeTestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,io.undertow.server.protocol.http2.Http2EndExchangeTestCase,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
    - '[java.util.concurrent.CompletableFuture].<init>()'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].setSocketOption(io.undertow.server.protocol.http2.Http2EndExchangeTestCase,boolean)'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].setHandler(io.undertow.server.handlers.BlockingHandler)'
    - Thread.sleep(int)
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].execute(Runnable)'
    - '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].start()'
    - '[java.net.URI].<init>(io.undertow.server.protocol.http2.Http2EndExchangeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].testHttp2EndExchangeWithBrokenConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - org.xnio.OptionMap
      - java.net.URI
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].createClient()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/Http2EndExchangeTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.server.protocol.http2.Http2EndExchangeTestCase:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - org.xnio.OptionMap
      - java.net.URI
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2EndExchangeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/Http2EndExchangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2EndExchangeTestCase
    signature: '[io.undertow.server.protocol.http2.Http2EndExchangeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:67,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].equals(String)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:67,1
    - Dst: '[org.junit.Assume].assumeFalse(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:67,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].doTest(boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].testExpectedHTTP2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2OnListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].doTest(boolean)'
    - '[org.junit.Assume].assumeFalse(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - System.getProperty(String)
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].equals(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].testExpectedHTTP2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].doTest(boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].testExpectedHTTP1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2OnListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].doTest(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].testExpectedHTTP1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:78,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:80,1
    - Dst: '[java.util.concurrent.CompletableFuture].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:82,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:84,1
    - Dst: '[Undertow.ListenerBuilder].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:85,1
    - Dst: '[Undertow.ListenerBuilder].setType(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:86,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setHost(String)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:85,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setPort(int)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:85,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setHttp2Enabled(boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:87,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setSslContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:85,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addListener(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:84,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setSocketOption(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase,boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:84,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:88,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:88,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:84,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].build()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:84,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].start()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:103,1
    - Dst: '[java.net.URI].<init>(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:104,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:107,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:108,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].createClient()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:111,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:114,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:115,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:115,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:113,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:113,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].getIoThread()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:117,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:117,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].execute(Runnable)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:117,1
    - Dst: '[java.util.concurrent.CompletableFuture].get(int,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:160,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:160,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:162,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].stopWorker(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:165,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].stop()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:166,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - isHttp2
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 173
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].doTest(boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2OnListenerTestCase.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setSslContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].stop()'
    - '[Runnable].<init>()'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].build()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].createClient()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].start()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].stopWorker(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].execute(Runnable)'
    - '[java.util.concurrent.CompletableFuture].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase,javax.net.ssl.SSLContext)'
    - '[java.net.URI].<init>(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].getIoThread()'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setHost(String)'
    - '[Undertow.ListenerBuilder].<init>()'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setPort(int)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setSocketOption(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase,boolean)'
    - Thread.sleep(int)
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addListener(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - '[Undertow.ListenerBuilder].setType(io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CompletableFuture].get(int,io.undertow.server.protocol.http2.HTTP2OnListenerTestCase)'
    - '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].setHttp2Enabled(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].doTest(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].createClient()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2OnListenerTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2OnListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.HTTP2OnListenerTestCase
    signature: '[io.undertow.server.protocol.http2.HTTP2OnListenerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:106,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:108,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:107,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:107,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].setSocketOption(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:107,1
    - Dst: '[io.undertow.Handlers].header(io.undertow.server.protocol.http2.Http2UpgradeHandler,String,String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:111,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].setHandler(io.undertow.server.handlers.SetHeaderHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:107,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].build()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:107,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].start()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - String
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].setSocketOption(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,boolean)'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.Handlers].header(io.undertow.server.protocol.http2.Http2UpgradeHandler,String,String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].setHandler(io.undertow.server.handlers.SetHeaderHandler)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].build()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].start()'
    - '[io.undertow.Undertow].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:128,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - String
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].stop()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.nio.NioEventLoopGroup].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:140,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:141,1
    - Dst: '[io.netty.bootstrap.Bootstrap].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:145,1
    - Dst: '[io.netty.bootstrap.Bootstrap].group(io.netty.channel.nio.NioEventLoopGroup)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:146,1
    - Dst: '[io.netty.bootstrap.Bootstrap].channel()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:147,1
    - Dst: '[io.netty.bootstrap.Bootstrap].option(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:148,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:149,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:150,1
    - Dst: '[io.netty.bootstrap.Bootstrap].remoteAddress(String,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:151,1
    - Dst: '[io.netty.bootstrap.Bootstrap].handler(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:152,1
    - Dst: '[io.netty.bootstrap.Bootstrap].connect()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:156,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].syncUninterruptibly()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:156,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].channel()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:156,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].settingsHandler()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:158,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].awaitSettings(int,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:159,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].responseHandler()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:160,1
    - Dst: '[java.net.URI].create(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:162,1
    - Dst: System.err.println(String)
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:163,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].newPromise()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:165,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].put(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:166,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].toString()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:167,1
    - Dst: '[io.netty.handler.codec.http.DefaultFullHttpRequest].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:167,1
    - Dst: '[io.netty.handler.codec.http.DefaultFullHttpRequest].headers()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:168,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].add(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:168,1
    - Dst: '[io.netty.handler.codec.http.DefaultFullHttpRequest].headers()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:169,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].add(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:169,1
    - Dst: '[io.netty.handler.codec.http.DefaultFullHttpRequest].headers()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:170,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].add(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:170,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].writeAndFlush(io.netty.handler.codec.http.DefaultFullHttpRequest)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:171,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].await(int,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:173,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:174,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:174,1
    - Dst: System.out.println(String)
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:175,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].close()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:178,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].syncUninterruptibly()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:178,1
    - Dst: '[io.netty.channel.nio.NioEventLoopGroup].shutdownGracefully()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - String
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 182
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].testHttp2WithNettyClient()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.netty.handler.codec.http.DefaultFullHttpRequest].headers()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].responseHandler()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].await(int,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - System.err.println(String)
    - '[java.util.concurrent.LinkedBlockingDeque<String>].poll()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].channel()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].writeAndFlush(io.netty.handler.codec.http.DefaultFullHttpRequest)'
    - '[io.netty.channel.nio.NioEventLoopGroup].shutdownGracefully()'
    - '[io.netty.channel.nio.NioEventLoopGroup].<init>()'
    - '[io.netty.bootstrap.Bootstrap].group(io.netty.channel.nio.NioEventLoopGroup)'
    - System.out.println(String)
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].syncUninterruptibly()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].newPromise()'
    - '[io.netty.handler.codec.http.DefaultFullHttpRequest].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].toString()'
    - '[io.netty.bootstrap.Bootstrap].remoteAddress(String,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[io.netty.bootstrap.Bootstrap].<init>()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].awaitSettings(int,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].close()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].settingsHandler()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].put(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[java.net.URI].create(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[io.netty.bootstrap.Bootstrap].channel()'
    - '[io.netty.bootstrap.Bootstrap].option(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,boolean)'
    - '[io.netty.bootstrap.Bootstrap].connect()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].add(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase)'
    - '[io.netty.bootstrap.Bootstrap].handler(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].testHttp2WithNettyClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - String
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.handler.codec.http2.Http2FrameLogger].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxContentLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].<init>(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.netty.handler.codec.http2.Http2FrameLogger].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.handler.codec.http2.DefaultHttp2Connection].<init>(boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:199,1
    - Dst: '[io.netty.handler.codec.http2.HttpToHttp2ConnectionHandlerBuilder].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:200,1
    - Dst: '[io.netty.handler.codec.http2.HttpToHttp2ConnectionHandlerBuilder].connection(io.netty.handler.codec.http2.DefaultHttp2Connection)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:200,1
    - Dst: '[io.netty.handler.codec.http2.InboundHttp2ToHttpAdapterBuilder].<init>(io.netty.handler.codec.http2.DefaultHttp2Connection)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:203,1
    - Dst: '[io.netty.handler.codec.http2.InboundHttp2ToHttpAdapterBuilder].maxContentLength(int)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:203,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].propagateSettings(boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:203,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].build()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:203,1
    - Dst: '[io.netty.handler.codec.http2.DelegatingDecompressorFrameListener].<init>(io.netty.handler.codec.http2.DefaultHttp2Connection,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:202,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].frameListener(io.netty.handler.codec.http2.DelegatingDecompressorFrameListener)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:200,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].build()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:200,1
    - Dst: '[HttpResponseHandler].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:209,1
    - Dst: '[io.netty.channel.socket.SocketChannel].newPromise()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:210,1
    - Dst: '[Http2SettingsHandler].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:210,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].configureClearText(io.netty.channel.socket.SocketChannel)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.socket.SocketChannel
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ch
    argTypes:
    - io.netty.channel.socket.SocketChannel
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].initChannel(io.netty.channel.socket.SocketChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].frameListener(io.netty.handler.codec.http2.DelegatingDecompressorFrameListener)'
    - '[io.netty.channel.socket.SocketChannel].newPromise()'
    - '[HttpResponseHandler].<init>()'
    - '[io.netty.handler.codec.http2.DefaultHttp2Connection].<init>(boolean)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].configureClearText(io.netty.channel.socket.SocketChannel)'
    - '[io.netty.handler.codec.http2.HttpToHttp2ConnectionHandlerBuilder].connection(io.netty.handler.codec.http2.DefaultHttp2Connection)'
    - '[io.netty.handler.codec.http2.HttpToHttp2ConnectionHandlerBuilder].<init>()'
    - '[io.netty.handler.codec.http2.DelegatingDecompressorFrameListener].<init>(io.netty.handler.codec.http2.DefaultHttp2Connection,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer)'
    - '[io.netty.handler.codec.http2.InboundHttp2ToHttpAdapterBuilder].maxContentLength(int)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].build()'
    - '[Http2SettingsHandler].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer)'
    - '[io.netty.handler.codec.http2.InboundHttp2ToHttpAdapterBuilder].<init>(io.netty.handler.codec.http2.DefaultHttp2Connection)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].propagateSettings(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].initChannel(io.netty.channel.socket.SocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: HttpResponseHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].responseHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HttpResponseHandler
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].responseHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Http2SettingsHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].settingsHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Http2SettingsHandler
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].settingsHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.channel.ChannelPipeline].addLast(Http2SettingsHandler,HttpResponseHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelPipeline
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pipeline
    argTypes:
    - io.netty.channel.ChannelPipeline
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].configureEndOfPipeline(io.netty.channel.ChannelPipeline)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.netty.channel.ChannelPipeline].addLast(Http2SettingsHandler,HttpResponseHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].configureEndOfPipeline(io.netty.channel.ChannelPipeline)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.handler.codec.http.HttpClientCodec].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:229,1
    - Dst: '[io.netty.handler.codec.http2.Http2ClientUpgradeCodec].<init>(HttpToHttp2ConnectionHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:230,1
    - Dst: '[io.netty.handler.codec.http.HttpClientUpgradeHandler].<init>(io.netty.handler.codec.http.HttpClientCodec,io.netty.handler.codec.http2.Http2ClientUpgradeCodec,int)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:231,1
    - Dst: '[io.netty.channel.socket.SocketChannel].pipeline()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:233,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:235,1
    - Dst: '[UserEventLogger].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:236,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].addLast(io.netty.handler.codec.http.HttpClientCodec,io.netty.handler.codec.http.HttpClientUpgradeHandler,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler,UserEventLogger)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.socket.SocketChannel
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ch
    argTypes:
    - io.netty.channel.socket.SocketChannel
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].configureClearText(io.netty.channel.socket.SocketChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.netty.handler.codec.http2.Http2ClientUpgradeCodec].<init>(HttpToHttp2ConnectionHandler)'
    - '[io.netty.handler.codec.http.HttpClientUpgradeHandler].<init>(io.netty.handler.codec.http.HttpClientCodec,io.netty.handler.codec.http2.Http2ClientUpgradeCodec,int)'
    - '[io.netty.channel.socket.SocketChannel].pipeline()'
    - '[io.netty.handler.codec.http.HttpClientCodec].<init>()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].<init>()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].addLast(io.netty.handler.codec.http.HttpClientCodec,io.netty.handler.codec.http.HttpClientUpgradeHandler,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler,UserEventLogger)'
    - '[UserEventLogger].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].configureClearText(io.netty.channel.socket.SocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].fetchUpgradeHandlerURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].fetchUpgradeHandlerURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.handler.codec.http2.DefaultHttp2FrameReader].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:275,1
    - Dst: '[io.netty.handler.codec.http2.Http2InboundFrameLogger].<init>(io.netty.handler.codec.http2.DefaultHttp2FrameReader,Http2FrameLogger)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http2.Http2FrameReader
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].frameReader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.netty.handler.codec.http2.Http2InboundFrameLogger].<init>(io.netty.handler.codec.http2.DefaultHttp2FrameReader,Http2FrameLogger)'
    - '[io.netty.handler.codec.http2.DefaultHttp2FrameReader].<init>()'
    linkageType: ''
    returnType: io.netty.handler.codec.http2.Http2FrameReader
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].frameReader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.handler.codec.http2.DefaultHttp2FrameWriter].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:279,1
    - Dst: '[io.netty.handler.codec.http2.Http2OutboundFrameLogger].<init>(io.netty.handler.codec.http2.DefaultHttp2FrameWriter,Http2FrameLogger)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Http2FrameLogger
      - int
      - HttpToHttp2ConnectionHandler
      - HttpResponseHandler
      - Http2SettingsHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.netty.handler.codec.http2.Http2FrameWriter
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].frameWriter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.netty.handler.codec.http2.Http2OutboundFrameLogger].<init>(io.netty.handler.codec.http2.DefaultHttp2FrameWriter,Http2FrameLogger)'
    - '[io.netty.handler.codec.http2.DefaultHttp2FrameWriter].<init>()'
    linkageType: ''
    returnType: io.netty.handler.codec.http2.Http2FrameWriter
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer].frameWriter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].fetchUpgradeHandlerURL()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:250,1
    - Dst: '[io.netty.handler.codec.http.DefaultFullHttpRequest].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:250,1
    - Dst: '[io.netty.handler.codec.http.DefaultFullHttpRequest].headers()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:251,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].add(String,String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:251,1
    - Dst: '[io.netty.channel.ChannelHandlerContext].writeAndFlush(io.netty.handler.codec.http.DefaultFullHttpRequest)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:252,1
    - Dst: '[io.netty.channel.ChannelHandlerContext].fireChannelActive()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:254,1
    - Dst: '[io.netty.channel.ChannelHandlerContext].pipeline()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:257,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].remove()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:257,1
    - Dst: '[io.netty.channel.ChannelHandlerContext].pipeline()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:259,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].configureEndOfPipeline(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelHandlerContext
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: ChannelInboundHandlerAdapter
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - io.netty.channel.ChannelHandlerContext
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].channelActive(io.netty.channel.ChannelHandlerContext)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].remove()'
    - '[io.netty.handler.codec.http.DefaultFullHttpRequest].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].add(String,String)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].configureEndOfPipeline(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler)'
    - '[io.netty.channel.ChannelHandlerContext].pipeline()'
    - '[io.netty.channel.ChannelHandlerContext].fireChannelActive()'
    - '[io.netty.channel.ChannelHandlerContext].writeAndFlush(io.netty.handler.codec.http.DefaultFullHttpRequest)'
    - '[io.netty.handler.codec.http.DefaultFullHttpRequest].headers()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].fetchUpgradeHandlerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].channelActive(io.netty.channel.ChannelHandlerContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler
      static: false
      superClass: ChannelInboundHandlerAdapter
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UpgradeRequestHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println(String)
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UserEventLogger:269,1
    - Dst: '[io.netty.channel.ChannelHandlerContext].fireUserEventTriggered(Object)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UserEventLogger:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelHandlerContext
      - Object
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: ChannelInboundHandlerAdapter
    argCount: 2
    argNames:
    - ctx
    - evt
    argTypes:
    - io.netty.channel.ChannelHandlerContext
    - Object
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UserEventLogger].userEventTriggered(io.netty.channel.ChannelHandlerContext,Object)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - System.out.println(String)
    - '[io.netty.channel.ChannelHandlerContext].fireUserEventTriggered(Object)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UserEventLogger].userEventTriggered(io.netty.channel.ChannelHandlerContext,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UserEventLogger
      static: false
      superClass: ChannelInboundHandlerAdapter
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UserEventLogger].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UserEventLogger
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2ClientInitializer.UserEventLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelPromise
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - promise
    argTypes:
    - io.netty.channel.ChannelPromise
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler].<init>(io.netty.channel.ChannelPromise)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler].<init>(io.netty.channel.ChannelPromise)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelPromise].awaitUninterruptibly(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler:304,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler:305,1
    - Dst: '[ChannelPromise].isSuccess()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler:307,1
    - Dst: '[ChannelPromise].cause()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler:308,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - timeout
    - unit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler].awaitSettings(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>(String)'
    - '[RuntimeException].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler)'
    - '[ChannelPromise].isSuccess()'
    - '[ChannelPromise].cause()'
    - '[ChannelPromise].awaitUninterruptibly(long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler].awaitSettings(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelPromise].setSuccess()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler:314,1
    - Dst: '[io.netty.channel.ChannelHandlerContext].pipeline()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler:317,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler].remove()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelHandlerContext
      - io.netty.handler.codec.http2.Http2Settings
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelPromise
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - io.netty.channel.ChannelHandlerContext
    - io.netty.handler.codec.http2.Http2Settings
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler].channelRead0(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http2.Http2Settings)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler].remove()'
    - '[ChannelPromise].setSuccess()'
    - '[io.netty.channel.ChannelHandlerContext].pipeline()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.Http2SettingsHandler].channelRead0(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http2.Http2Settings)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SortedMap<Integer, ChannelPromise>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[SortedMap<Integer, ChannelPromise>].put(int,io.netty.channel.ChannelPromise)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.netty.channel.ChannelPromise
      classConcrete: true
      classEnum: false
      classFields:
      - SortedMap<Integer, ChannelPromise>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.netty.channel.ChannelPromise
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamId
    - promise
    argTypes:
    - int
    - io.netty.channel.ChannelPromise
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].put(int,io.netty.channel.ChannelPromise)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[SortedMap<Integer, ChannelPromise>].put(int,io.netty.channel.ChannelPromise)'
    linkageType: ''
    returnType: io.netty.channel.ChannelPromise
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].put(int,io.netty.channel.ChannelPromise)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[SortedMap<Integer, ChannelPromise>].entrySet()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:349,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].iterator()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:349,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].hasNext()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:350,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].next()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:351,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].getValue()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:352,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].awaitUninterruptibly(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:353,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].getKey()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:354,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:354,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].isSuccess()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:356,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].cause()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:357,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:357,1
    - Dst: System.out.println(String)
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:359,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].remove()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - SortedMap<Integer, ChannelPromise>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - timeout
    - unit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].awaitResponses(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].hasNext()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].next()'
    - '[SortedMap<Integer, ChannelPromise>].entrySet()'
    - '[IllegalStateException].<init>(String)'
    - '[RuntimeException].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].cause()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].iterator()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].getValue()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].getKey()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].awaitUninterruptibly(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].remove()'
    - System.out.println(String)
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].isSuccess()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].awaitResponses(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.netty.handler.codec.http.FullHttpResponse].headers()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:366,1
    - Dst: HttpConversionUtil.ExtensionHeaderNames.STREAM_ID.text()
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:366,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].getInt(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:366,1
    - Dst: System.err.println(String)
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:368,1
    - Dst: '[SortedMap<Integer, ChannelPromise>].get(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:372,1
    - Dst: System.err.println(String)
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:374,1
    - Dst: '[io.netty.handler.codec.http.FullHttpResponse].content()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:377,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].isReadable()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:378,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].readableBytes()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:379,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].readBytes(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:381,1
    - Dst: '[String].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:382,1
    - Dst: messages.add(String)
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:382,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].setSuccess()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.netty.channel.ChannelHandlerContext
      - io.netty.handler.codec.http.FullHttpResponse
      classConcrete: true
      classEnum: false
      classFields:
      - SortedMap<Integer, ChannelPromise>
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - io.netty.channel.ChannelHandlerContext
    - io.netty.handler.codec.http.FullHttpResponse
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].channelRead0(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.FullHttpResponse)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[SortedMap<Integer, ChannelPromise>].get(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
    - '[io.netty.handler.codec.http.FullHttpResponse].content()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].isReadable()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].readBytes(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
    - messages.add(String)
    - '[String].<init>(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler,io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].setSuccess()'
    - System.err.println(String)
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].getInt(io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].readableBytes()'
    - HttpConversionUtil.ExtensionHeaderNames.STREAM_ID.text()
    - '[io.netty.handler.codec.http.FullHttpResponse].headers()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase.HttpResponseHandler].channelRead0(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.FullHttpResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:50,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:51,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:52,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:53,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:52,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:52,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:52,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setSocketOption(io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase,boolean)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:52,1
    - Dst: '[io.undertow.Handlers].header(io.undertow.server.protocol.http2.Http2UpgradeHandler,String,String)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:57,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setHandler(io.undertow.server.handlers.SetHeaderHandler)'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:52,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].build()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:52,1
    - Dst: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].start()'
      Src: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setSocketOption(io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase,boolean)'
    - '[io.undertow.Handlers].header(io.undertow.server.protocol.http2.Http2UpgradeHandler,String,String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].build()'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setHandler(io.undertow.server.handlers.SetHeaderHandler)'
    - '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].fetchUpgradeHandlerURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].fetchUpgradeHandlerURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase
      static: false
      superClass: io.undertow.server.protocol.http2.HTTP2ViaUpgradeTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/http2/HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase
    signature: '[io.undertow.server.protocol.http2.HTTP2ViaUpgradeWithUnEncodedURLCharactersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:71,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolTcp4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolTcp4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:83,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:86,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:89,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:92,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:95,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:99,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:103,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:107,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:111,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:115,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:119,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:123,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:126,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:129,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:132,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:136,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:139,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:143,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:147,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:151,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolTcp4Negative()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolTcp4Negative()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:164,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolTcp6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolTcp6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:177,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:181,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:185,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:189,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:193,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:197,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:201,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:205,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:209,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:214,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:219,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:224,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:228,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:232,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:236,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:241,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:245,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:250,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 255
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolTcp6Negative()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolTcp6Negative()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:265,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:268,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:271,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:274,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:277,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:280,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolNegative()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolNegative()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].start()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:297,1
    - Dst: '[io.undertow.Undertow].getListenerInfo()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:298,1
    - Dst: '[java.util.List<io.undertow.servlet.api.ListenerInfo>].get(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:298,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:298,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:298,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:299,1
    - Dst: '[java.net.Socket].<init>(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:299,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:300,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:300,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].write(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:300,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:301,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:301,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:302,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:302,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:304,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - request
    - expectedResponse
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].getListenerInfo()'
    - '[java.net.Socket].getInputStream()'
    - Thread.sleep(int)
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].write(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getAddress()'
    - '[java.net.InetSocketAddress].getPort()'
    - '[io.undertow.Undertow].start()'
    - '[String].contains(String)'
    - '[java.net.Socket].getOutputStream()'
    - '[java.net.Socket].<init>(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.Undertow].stop()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[java.util.List<io.undertow.servlet.api.ListenerInfo>].get(int)'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:323,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolSSl()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolSSl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:334,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:334,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:334,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:339,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:342,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:342,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:342,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:344,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:347,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:347,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:347,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Tcp4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Tcp4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:364,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:364,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:364,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2SSl()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2SSl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:381,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:381,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:381,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:382,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:385,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,null,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:385,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:386,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:389,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:389,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:389,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:390,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:393,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,null,null,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:393,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Tcp4Negative()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,null,int,int)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,null,null,null)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,null)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
    - '[java.net.InetAddress].getByName(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Tcp4Negative()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:403,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:403,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:403,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:405,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:408,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:408,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:408,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Tcp6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Tcp6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:419,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:419,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:419,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:420,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:423,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,null,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:423,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:424,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:427,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:427,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:427,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:428,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:431,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,null,null,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:431,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 433
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Tcp6Negative()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,null,int,int)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,null,null,null)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,null)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
    - '[java.net.InetAddress].getByName(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Tcp6Negative()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,null,null,null,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:441,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].isIpV6()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:443,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Local()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].isIpV6()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,null,null,null,null)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Local()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:462,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:462,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:462,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:463,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:467,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:471,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 476
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Negative()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(byte,byte,int,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolV2Negative()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:481,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].put(byte[])'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:482,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].put(byte)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:485,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].put(byte)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:488,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].putShort(short)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:491,1
    - Dst: '[java.net.InetAddress].getAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:494,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].put(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:494,1
    - Dst: '[java.net.InetAddress].getAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:497,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].put(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:497,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].putShort(short)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:500,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].putShort(short)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:503,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].array()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - Byte
      - Byte
      - Integer
      - java.net.InetAddress
      - java.net.InetAddress
      - Integer
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 7
    argNames:
    - ver_cmd
    - family
    - len
    - sourceAddress
    - destAddress
    - sourcePort
    - destPort
    argTypes:
    - Byte
    - Byte
    - Integer
    - java.net.InetAddress
    - java.net.InetAddress
    - Integer
    - Integer
    constantsTouched: []
    func_position:
      end: 507
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 507
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(Byte,Byte,Integer,java.net.InetAddress,java.net.InetAddress,Integer,Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].put(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].array()'
    - '[java.net.InetAddress].getAddress()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].put(byte[])'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].putShort(short)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].put(byte)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].createProxyHeaderV2(Byte,Byte,Integer,java.net.InetAddress,java.net.InetAddress,Integer,Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:521,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String,String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - requestProxy
    - requestHttp
    - expectedResponse
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].start()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:534,1
    - Dst: '[io.undertow.Undertow].getListenerInfo()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:535,1
    - Dst: '[java.util.List<io.undertow.servlet.api.ListenerInfo>].get(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:535,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:535,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:535,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:536,1
    - Dst: '[java.net.Socket].<init>(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:536,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:537,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].write(byte[])'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:537,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:539,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:540,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:540,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].write(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:540,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:542,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:542,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:543,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:543,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:545,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - requestHttp
    - expectedResponse
    argTypes:
    - byte[]
    - String
    - String
    constantsTouched: []
    func_position:
      end: 551
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 551
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].write(byte[])'
    - '[io.undertow.Undertow].getListenerInfo()'
    - '[java.net.Socket].getInputStream()'
    - Thread.sleep(int)
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].write(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getAddress()'
    - '[java.net.InetSocketAddress].getPort()'
    - '[io.undertow.Undertow].start()'
    - '[String].contains(String)'
    - '[java.net.Socket].getOutputStream()'
    - '[java.net.Socket].<init>(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.Undertow].stop()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[java.util.List<io.undertow.servlet.api.ListenerInfo>].get(int)'
    - '[String].isEmpty()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].proxyProtocolRequestResponseCheck(byte[],String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].doTestProxyProtocolUnknown(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolUnknownEmpty()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].doTestProxyProtocolUnknown(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolUnknownEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].doTestProxyProtocolUnknown(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolUnknownSpace()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].doTestProxyProtocolUnknown(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolUnknownSpace()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].doTestProxyProtocolUnknown(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolUnknownJunk()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].doTestProxyProtocolUnknown(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].testProxyProtocolUnknownJunk()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].start()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:579,1
    - Dst: '[io.undertow.Undertow].getListenerInfo()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:580,1
    - Dst: '[java.util.List<io.undertow.servlet.api.ListenerInfo>].get(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:580,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:580,1
    - Dst: serverAddress.getAddress()
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:581,1
    - Dst: serverAddress.getPort()
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:581,1
    - Dst: '[java.net.Socket].<init>(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:581,1
    - Dst: '[java.net.Socket].getLocalAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:582,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getHostAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:582,1
    - Dst: '[java.net.Socket].getLocalPort()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:582,1
    - Dst: serverAddress.getAddress()
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:583,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getHostAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:583,1
    - Dst: serverAddress.getPort()
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:583,1
    - Dst: String.format(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:582,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:584,1
    - Dst: ("PROXY UNKNOWN" + extra + "\r\nGET / HTTP/1.0\r\n\r\n").getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:584,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].write(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:584,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:586,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:586,1
    - Dst: '[String].contains(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:587,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:587,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:589,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extra
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 595
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 595
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].doTestProxyProtocolUnknown(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.Undertow].getListenerInfo()'
    - ("PROXY UNKNOWN" + extra + "\r\nGET / HTTP/1.0\r\n\r\n").getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].write(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.Undertow].start()'
    - '[io.undertow.Undertow].stop()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getHostAddress()'
    - serverAddress.getPort()
    - serverAddress.getAddress()
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[java.net.Socket].getLocalAddress()'
    - '[String].contains(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[java.net.Socket].getInputStream()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].getAddress()'
    - String.format(String,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)
    - '[java.util.List<io.undertow.servlet.api.ListenerInfo>].get(int)'
    - '[java.net.Socket].<init>(io.undertow.server.protocol.proxy.ProxyProtocolTestCase,io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - Thread.sleep(int)
    - '[java.net.Socket].getLocalPort()'
    - '[java.net.Socket].getOutputStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].doTestProxyProtocolUnknown(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:598,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].toLowerCase()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:599,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].equals(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].isIpV6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].equals(String)'
    - System.getProperty(String)
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].toLowerCase()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].isIpV6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:27,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:34,1
    - Dst: '[Undertow.ListenerBuilder].<init>()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:35,1
    - Dst: '[Undertow.ListenerBuilder].setType(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:35,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:37,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setHost(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:35,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setUseProxyProtocol(boolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:35,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setPort(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:35,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addListener(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:34,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:40,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:34,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].build()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:34,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:50,1
    - Dst: '[Undertow.ListenerBuilder].<init>()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:51,1
    - Dst: '[Undertow.ListenerBuilder].setType(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:51,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:53,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setSslContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:51,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:54,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setHost(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:51,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setUseProxyProtocol(boolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:51,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setPort(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:51,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addListener(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:50,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:57,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:50,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].build()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolTestCase:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte
      - byte
      - byte
      - byte
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.proxy.ProxyProtocolTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 5
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/protocol/proxy/ProxyProtocolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].build()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addListener(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setHost(String)'
    - '[Undertow.ListenerBuilder].setType(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setSslContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setHandler(io.undertow.server.HttpHandler)'
    - '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolTestCase)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.Undertow].builder()'
    - '[Undertow.ListenerBuilder].<init>()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setUseProxyProtocol(boolean)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].setPort(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.proxy.ProxyProtocolTestCase
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.FixedLengthResponseTestCase].reset()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthResponseTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.FixedLengthResponseTestCase].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.FixedLengthResponseTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthResponseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.FixedLengthResponseTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:81,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:82,1
    - Dst: '[io.undertow.server.handlers.FixedLengthResponseTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:85,1
    - Dst: '[io.undertow.server.handlers.FixedLengthResponseTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:86,1
    - Dst: '[io.undertow.server.handlers.FixedLengthResponseTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthResponseTestCase)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:86,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthResponseTestCase)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:87,1
    - Dst: '[io.undertow.server.handlers.FixedLengthResponseTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:90,1
    - Dst: '[io.undertow.server.handlers.FixedLengthResponseTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:91,1
    - Dst: '[io.undertow.server.handlers.FixedLengthResponseTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthResponseTestCase)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:91,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthResponseTestCase)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:94,1
    - Dst: '[io.undertow.server.handlers.FixedLengthResponseTestCase].shutdown()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.FixedLengthResponseTestCase].sendHttpRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthResponseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthResponseTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthResponseTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.FixedLengthResponseTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.FixedLengthResponseTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.FixedLengthResponseTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.FixedLengthResponseTestCase].generateMessage(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.FixedLengthResponseTestCase].sendHttpRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:100,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.FixedLengthResponseTestCase)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:100,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:102,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.FixedLengthResponseTestCase:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - repetitions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.FixedLengthResponseTestCase].generateMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthResponseTestCase.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].<init>(io.undertow.server.handlers.FixedLengthResponseTestCase)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.FixedLengthResponseTestCase].generateMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.FixedLengthResponseTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.FixedLengthResponseTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthResponseTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.FixedLengthResponseTestCase
    signature: '[io.undertow.server.handlers.FixedLengthResponseTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:51,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:51,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addAllow(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testInvalidPattern()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/UserAgentAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.AccessControlListHandler].addAllow(String)'
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testInvalidPattern()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:56,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:56,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:56,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:56,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertFalse(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testFalseDefault()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/UserAgentAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertFalse(boolean)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testFalseDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:61,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:61,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:61,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:61,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testTrueDefault()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/UserAgentAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testTrueDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:66,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:66,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:66,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(null)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:66,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testNullUserAgent()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/UserAgentAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(null)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testNullUserAgent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:71,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:71,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:71,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addDeny(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:71,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:74,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertFalse(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:74,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:75,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testAllowAllButOne()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/UserAgentAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertFalse(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].addDeny(String)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testAllowAllButOne()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:80,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:80,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:80,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addAllow(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:80,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:83,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:83,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:84,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertFalse(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testDenyAllButOne()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/UserAgentAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].addAllow(String)'
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertFalse(boolean)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testDenyAllButOne()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:89,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:89,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:89,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addAllow(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:89,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addDeny(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:89,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:93,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertFalse(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:93,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:94,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:94,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:95,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:95,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:96,1
    - Dst: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
      Src: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testAllowIE6AndAboveAndAllOthers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/UserAgentAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].addAllow(String)'
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertFalse(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].addDeny(String)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].requestHeader(io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].assertTrue(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].testAllowIE6AndAboveAndAllOthers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/UserAgentAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase
    signature: '[io.undertow.server.handlers.UserAgentAccessControlHandlerUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:46,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:52,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:54,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:55,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:55,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:57,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:57,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:58,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:59,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:59,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:59,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:60,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:62,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:62,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:62,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:64,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:64,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testStrict()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testStrict()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:71,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:77,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:79,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:80,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:83,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:84,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:84,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:85,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:86,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:87,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:87,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:89,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testLax()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testLax()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:96,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:104,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:107,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:108,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:109,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:109,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:110,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:111,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:112,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:112,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:114,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNone()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:121,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:129,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:130,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:132,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:132,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:133,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:134,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:134,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:134,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:135,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:136,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:137,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:137,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:137,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:139,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:139,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testInvalidMode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testInvalidMode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:146,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:146,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:146,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:154,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:155,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:155,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:157,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:157,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:158,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:159,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:159,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:159,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:160,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:161,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:161,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:162,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:162,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:162,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:164,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:164,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 144
    functionDepth: 6
    functionLinenumber: 144
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testRegexPattern()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testRegexPattern()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:172,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:172,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:172,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:178,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:180,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:181,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:181,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:183,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:183,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:184,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:185,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:185,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:185,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:186,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:187,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:187,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:188,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:188,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:188,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:190,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:190,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testCaseInsensitivePattern()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testCaseInsensitivePattern()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:197,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:203,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:205,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:206,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:206,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:208,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:208,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:209,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:210,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:210,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:210,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:211,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:212,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:212,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:213,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:213,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:213,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:215,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:215,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 218
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testPatternUnmatched()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testPatternUnmatched()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:222,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:222,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:222,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:230,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:232,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:233,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:233,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:235,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:235,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:236,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:237,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:237,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:238,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:240,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:240,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:241,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:241,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:243,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:243,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:244,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:244,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:246,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:246,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:247,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:247,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:250,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:250,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:250,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:252,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:252,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 255
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testAllCookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getHeaders(String)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - h.getValue()
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].contains(String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testAllCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:260,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:260,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:260,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:268,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:270,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:271,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:271,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:273,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:273,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:274,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:275,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:275,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:275,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:276,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:278,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:278,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:279,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:279,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:281,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:281,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:282,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:282,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:284,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:284,1
    - Dst: h.getValue()
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:285,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:285,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:288,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:288,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:288,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:290,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:290,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 258
    functionDepth: 6
    functionLinenumber: 258
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testMultipleCookiesMatched()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getHeaders(String)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - h.getValue()
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].contains(String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testMultipleCookiesMatched()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:297,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:297,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:297,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:303,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:305,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:306,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:306,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:308,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:308,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:310,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:311,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:312,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:312,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:312,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:313,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:314,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:314,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:315,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:315,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:315,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:317,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:317,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 295
    functionDepth: 6
    functionLinenumber: 295
    functionLinenumberEnd: 320
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneIncompatibleUA()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneIncompatibleUA()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:324,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:324,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:324,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:330,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:332,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:333,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:333,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:335,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:335,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:337,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:338,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:339,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:339,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:339,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:340,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:341,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:341,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:342,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:342,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:342,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:344,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:344,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 322
    functionDepth: 6
    functionLinenumber: 322
    functionLinenumberEnd: 347
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneUACheckerDisabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneUACheckerDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:351,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:351,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:351,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:357,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:359,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:360,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:360,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:362,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:362,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:364,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:364,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:365,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:366,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:366,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:366,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:367,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:368,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:368,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:369,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:369,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:369,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:371,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:371,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 349
    functionDepth: 6
    functionLinenumber: 349
    functionLinenumberEnd: 374
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneUACheckerEnabledAlthoughUAHeaderEmpty()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneUACheckerEnabledAlthoughUAHeaderEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:378,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:378,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:378,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:384,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:386,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:396,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:396,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:398,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:398,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:400,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:401,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:401,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:401,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:402,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:403,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:403,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:404,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:404,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:404,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:406,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:406,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 6
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneUACheckerEnabledAlthoughUAHeaderNotSet()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneUACheckerEnabledAlthoughUAHeaderNotSet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:413,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:413,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:413,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:419,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:421,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:422,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:422,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:424,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:424,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:425,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:426,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:426,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:426,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:427,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:428,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:428,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:429,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:429,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:429,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:431,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:431,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SameSiteCookieHandlerTestCase:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 411
    functionDepth: 6
    functionLinenumber: 411
    functionLinenumberEnd: 434
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneWithoutSecure()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SameSiteCookieHandlerTestCase)'
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SameSiteCookieHandler)'
    - '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].testNoneWithoutSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SameSiteCookieHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SameSiteCookieHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SameSiteCookieHandlerTestCase
    signature: '[io.undertow.server.handlers.SameSiteCookieHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:59,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:99,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:155,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:162,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.SenderTestCase:162,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.SenderTestCase:162,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.SenderTestCase:162,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.SenderTestCase:165,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.handlers.SenderTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SenderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SenderTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.SenderTestCase:171,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.SenderTestCase:173,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SenderTestCase:175,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SenderTestCase:175,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:176,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SenderTestCase:178,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SenderTestCase:179,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SenderTestCase:179,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:179,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.SenderTestCase:181,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:181,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.SenderTestCase,String)'
      Src: io.undertow.server.handlers.SenderTestCase:181,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SenderTestCase:184,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].shutdown()'
      Src: io.undertow.server.handlers.SenderTestCase:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: '[io.undertow.server.handlers.SenderTestCase].testAsyncSender()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SenderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SenderTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.SenderTestCase,String)'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.SenderTestCase].shutdown()'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SenderTestCase].testAsyncSender()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.SenderTestCase:190,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.SenderTestCase:192,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SenderTestCase:194,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SenderTestCase:194,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:195,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SenderTestCase:197,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SenderTestCase:198,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SenderTestCase:198,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:198,1
    - Dst: SenderTestCase.class.getSimpleName()
      Src: io.undertow.server.handlers.SenderTestCase:199,1
    - Dst: SenderTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.SenderTestCase:199,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].toURI()'
      Src: io.undertow.server.handlers.SenderTestCase:199,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:199,1
    - Dst: '[java.nio.file.Files].size(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:200,1
    - Dst: '[java.nio.file.Files].newInputStream(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:203,1
    - Dst: '[java.io.DataInputStream].<init>(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:203,1
    - Dst: is.readFully(io.undertow.server.handlers.SenderTestCase,int,int)
      Src: io.undertow.server.handlers.SenderTestCase:204,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:207,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.server.handlers.SenderTestCase,byte[])'
      Src: io.undertow.server.handlers.SenderTestCase:207,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SenderTestCase:209,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].shutdown()'
      Src: io.undertow.server.handlers.SenderTestCase:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 211
    functionName: '[io.undertow.server.handlers.SenderTestCase].testAsyncTransfer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SenderTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertArrayEquals(io.undertow.server.handlers.SenderTestCase,byte[])'
    - '[java.nio.file.Files].size(io.undertow.server.handlers.SenderTestCase)'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.SenderTestCase].shutdown()'
    - SenderTestCase.class.getResource(String)
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SenderTestCase].toURI()'
    - '[java.io.DataInputStream].<init>(io.undertow.server.handlers.SenderTestCase)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.SenderTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.SenderTestCase)'
    - '[java.nio.file.Files].newInputStream(io.undertow.server.handlers.SenderTestCase)'
    - is.readFully(io.undertow.server.handlers.SenderTestCase,int,int)
    - SenderTestCase.class.getSimpleName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SenderTestCase].testAsyncTransfer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.SenderTestCase:215,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.SenderTestCase:217,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SenderTestCase:219,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SenderTestCase:219,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:220,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SenderTestCase:222,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SenderTestCase:223,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SenderTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:223,1
    - Dst: SenderTestCase.class.getSimpleName()
      Src: io.undertow.server.handlers.SenderTestCase:224,1
    - Dst: SenderTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.SenderTestCase:224,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].toURI()'
      Src: io.undertow.server.handlers.SenderTestCase:224,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:224,1
    - Dst: '[java.nio.file.Files].size(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:225,1
    - Dst: '[java.nio.file.Files].newInputStream(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:228,1
    - Dst: '[java.io.DataInputStream].<init>(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:228,1
    - Dst: is.readFully(io.undertow.server.handlers.SenderTestCase,int,int)
      Src: io.undertow.server.handlers.SenderTestCase:229,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:232,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.server.handlers.SenderTestCase,byte[])'
      Src: io.undertow.server.handlers.SenderTestCase:232,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SenderTestCase:234,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].shutdown()'
      Src: io.undertow.server.handlers.SenderTestCase:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: '[io.undertow.server.handlers.SenderTestCase].testSyncTransfer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SenderTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertArrayEquals(io.undertow.server.handlers.SenderTestCase,byte[])'
    - '[java.nio.file.Files].size(io.undertow.server.handlers.SenderTestCase)'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.SenderTestCase].shutdown()'
    - SenderTestCase.class.getResource(String)
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SenderTestCase].toURI()'
    - '[java.io.DataInputStream].<init>(io.undertow.server.handlers.SenderTestCase)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.SenderTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.SenderTestCase)'
    - '[java.nio.file.Files].newInputStream(io.undertow.server.handlers.SenderTestCase)'
    - is.readFully(io.undertow.server.handlers.SenderTestCase,int,int)
    - SenderTestCase.class.getSimpleName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SenderTestCase].testSyncTransfer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.SenderTestCase:241,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.SenderTestCase:243,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SenderTestCase:245,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SenderTestCase:245,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:246,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SenderTestCase:248,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SenderTestCase:249,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SenderTestCase:249,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:249,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.SenderTestCase:251,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:251,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.SenderTestCase,String)'
      Src: io.undertow.server.handlers.SenderTestCase:251,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SenderTestCase:254,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].shutdown()'
      Src: io.undertow.server.handlers.SenderTestCase:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.handlers.SenderTestCase].testBlockingSender()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SenderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SenderTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.SenderTestCase,String)'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.SenderTestCase].shutdown()'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SenderTestCase].testBlockingSender()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SenderTestCase:260,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SenderTestCase:260,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SenderTestCase:261,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SenderTestCase:263,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SenderTestCase:264,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SenderTestCase:264,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:264,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:265,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.SenderTestCase:265,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.SenderTestCase:266,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:267,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.SenderTestCase:268,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.SenderTestCase:268,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SenderTestCase)'
      Src: io.undertow.server.handlers.SenderTestCase:268,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SenderTestCase:271,1
    - Dst: '[io.undertow.server.handlers.SenderTestCase].shutdown()'
      Src: io.undertow.server.handlers.SenderTestCase:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: '[io.undertow.server.handlers.SenderTestCase].testSenderSetsContentLength()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SenderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SenderTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SenderTestCase)'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SenderTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SenderTestCase].shutdown()'
    - '[io.undertow.server.handlers.SenderTestCase].getStatusLine()'
    - '[String].length()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.SenderTestCase].getHeaders(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SenderTestCase].testSenderSetsContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SenderTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SenderTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SenderTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SenderTestCase
    signature: '[io.undertow.server.handlers.SenderTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:58,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:67,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:69,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:69,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:70,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:71,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:71,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:72,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:73,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:74,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:74,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:76,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:77,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:77,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:80,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].shutdown()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.ResumeWritesTestCase].testResumeWritesFixedLength()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResumeWritesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ResumeWritesTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResumeWritesTestCase].testResumeWritesFixedLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:95,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:97,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:98,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:99,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:99,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:101,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:102,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:102,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:104,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:105,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:105,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:106,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:108,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].shutdown()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.ResumeWritesTestCase].testResumeWritesChunked()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResumeWritesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ResumeWritesTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResumeWritesTestCase].testResumeWritesChunked()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].getParams()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:127,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].setParameter(io.undertow.server.handlers.ResumeWritesTestCase,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:128,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:129,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:129,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:131,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:132,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:132,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:133,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:134,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:135,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:135,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:136,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:138,1
    - Dst: '[io.undertow.server.handlers.ResumeWritesTestCase].shutdown()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.ResumeWritesTestCase].testResumeWritesHttp10()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResumeWritesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.ResumeWritesTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ResumeWritesTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ResumeWritesTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResumeWritesTestCase)'
    - '[org.apache.http.client.methods.HttpGet].getParams()'
    - '[io.undertow.server.handlers.ResumeWritesTestCase].setParameter(io.undertow.server.handlers.ResumeWritesTestCase,io.undertow.server.handlers.ResumeWritesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResumeWritesTestCase].testResumeWritesHttp10()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResumeWritesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ResumeWritesTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResumeWritesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ResumeWritesTestCase
    signature: '[io.undertow.server.handlers.ResumeWritesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
      Src: io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper:147,1
    - Dst: '[org.xnio.conduits.AbstractStreamSinkConduit].<init>(io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper)'
      Src: io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper:147,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - factory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 181
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 181
    functionName: '[io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResumeWritesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
    - '[org.xnio.conduits.AbstractStreamSinkConduit].<init>(io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResumeWritesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper
    signature: '[io.undertow.server.handlers.ResumeWritesTestCase.ReturnZeroWrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:60,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:61,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PreChunkedResponseTransferCodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:85,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:88,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:91,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:92,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:93,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:93,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:94,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:97,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:98,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:98,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:99,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:101,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:102,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:103,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:103,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:106,1
    - Dst: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].shutdown()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].sendHttpRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PreChunkedResponseTransferCodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
    - '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].generateMessage(int)'
    - '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].sendHttpRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:112,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:112,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:113,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:113,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:115,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:116,1
    - Dst: Integer.toHexString(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:116,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:116,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:117,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:118,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:119,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:121,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:122,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - repetitions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].generateMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PreChunkedResponseTransferCodingTestCase.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].append(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)'
    - Integer.toHexString(io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].generateMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PreChunkedResponseTransferCodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase
    signature: '[io.undertow.server.handlers.PreChunkedResponseTransferCodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:41,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:41,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:41,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:44,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:44,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv4SlashMatchDefaultDeny()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv4SlashMatchDefaultDeny()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:49,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:49,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:49,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:52,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:52,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:52,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:53,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:53,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv4ExactMatch()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv4ExactMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:58,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:58,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:58,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:61,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:61,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:61,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:62,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:62,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:62,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:63,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:63,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv6ExactMatch()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv6ExactMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:68,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:68,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:68,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addDeny(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:68,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:72,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:72,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:72,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:73,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:73,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:73,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:74,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:74,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv4WildcardMatch()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addDeny(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv4WildcardMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:79,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:79,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:79,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addDeny(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:79,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:83,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:83,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:83,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:84,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:84,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:84,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:85,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:85,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:85,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:86,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:86,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv6PrefixMatch()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addDeny(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv6PrefixMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:91,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:91,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:91,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:91,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addDeny(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:91,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:96,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:96,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:96,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:97,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:97,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:97,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:98,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:98,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:98,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:99,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:99,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:99,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:100,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:100,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:100,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:101,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:101,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:101,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:102,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:102,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:102,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:103,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:103,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:103,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:104,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:104,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:104,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:105,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:105,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv4SlashMatch()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addDeny(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv4SlashMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:112,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:112,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:112,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:112,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addDeny(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:112,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].runIpv6SlashMAtchTest(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv6SlashMatch()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].runIpv6SlashMAtchTest(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addDeny(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].addAllow(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testIPv6SlashMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].getClass()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:122,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:122,1
    - Dst: '[io.undertow.server.handlers.builder.HandlerParser].parse(String,io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:122,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].wrap(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:122,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].runIpv6SlashMAtchTest(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testParsedHandlerWithNewLines()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].getClassLoader()'
    - '[io.undertow.server.handlers.builder.HandlerParser].parse(String,io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].getClass()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].runIpv6SlashMAtchTest(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].wrap(io.undertow.server.handlers.ResponseCodeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testParsedHandlerWithNewLines()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].getClass()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:129,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:129,1
    - Dst: '[io.undertow.server.handlers.builder.HandlerParser].parse(String,io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:129,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].wrap(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:129,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].runIpv6SlashMAtchTest(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testParsedHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].getClassLoader()'
    - '[io.undertow.server.handlers.builder.HandlerParser].parse(String,io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].getClass()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].runIpv6SlashMAtchTest(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].wrap(io.undertow.server.handlers.ResponseCodeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testParsedHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:135,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:135,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:135,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:136,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:136,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:136,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:137,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:137,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:137,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:138,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:138,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:138,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:140,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:140,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:140,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:141,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:141,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:141,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:142,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:142,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:142,1
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:143,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:143,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.IPAddressAccessControlHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.handlers.IPAddressAccessControlHandler
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].runIpv6SlashMAtchTest(io.undertow.server.handlers.IPAddressAccessControlHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetAddress].getByName(String)'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].runIpv6SlashMAtchTest(io.undertow.server.handlers.IPAddressAccessControlHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:148,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].getDenyResponseCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testDefaultDenyResponseCode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].getDenyResponseCode()'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testDefaultDenyResponseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(null,int)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:154,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].getDenyResponseCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:155,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testDenyResponseCode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].getDenyResponseCode()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(null,int)'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].testDenyResponseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerUnitTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:45,1
    - Dst: '[io.undertow.server.handlers.HttpContinueReadHandler].<init>(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.HttpContinueReadHandler)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:47,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:48,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerBufferLeakTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.HttpContinueReadHandler].<init>(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.HttpContinueReadHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:66,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerBufferLeakTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    - '[org.junit.Assume].assumeFalse(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:71,1
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:71,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:79,1
    - Dst: message.getBytes(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:79,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].write(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:79,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:80,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].flush()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:80,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:81,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].read()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].testHttpContinueRejectedBodySentAnywayNoBufferLeak()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerBufferLeakTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].<init>(String,int)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].read()'
    - '[java.net.Socket].getInputStream()'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - message.getBytes(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].flush()'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].write(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)'
    - '[java.net.Socket].getOutputStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].testHttpContinueRejectedBodySentAnywayNoBufferLeak()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:86,1
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:86,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:94,1
    - Dst: message.getBytes(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:94,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].write(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:94,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:95,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].flush()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:95,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:96,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].read()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].testHttpContinueBodySentAnywayNoLeak()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerBufferLeakTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].<init>(String,int)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].read()'
    - '[java.net.Socket].getInputStream()'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - message.getBytes(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].flush()'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].write(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)'
    - '[java.net.Socket].getOutputStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].testHttpContinueBodySentAnywayNoLeak()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:104,1
    - Dst: '[javax.net.ssl.SSLContext].getSocketFactory()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:104,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:106,1
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:108,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].createSocket(java.net.Socket,String,int,boolean)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:104,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:110,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].getOutputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:117,1
    - Dst: message.getBytes(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:117,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].write(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:117,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].getOutputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:118,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].flush()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:118,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].getInputStream()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:119,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].read()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].testEmptySSLHttpContinueNoLeak()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerBufferLeakTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].<init>(String,int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].read()'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - message.getBytes(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].flush()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].write(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].createSocket(java.net.Socket,String,int,boolean)'
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    - '[javax.net.ssl.SSLContext].getSocketFactory()'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].getOutputStream()'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].getInputStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].testEmptySSLHttpContinueNoLeak()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.Socket
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerBufferLeakTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerBufferLeakTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.LongURLTestCase:53,1
    - Dst: '[org.junit.Assume].assumeNotNull(io.undertow.server.handlers.LongURLTestCase)'
      Src: io.undertow.server.handlers.LongURLTestCase:53,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.LongURLTestCase:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.LongURLTestCase:58,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.LongURLTestCase:59,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.LongURLTestCase:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.LongURLTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LongURLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[org.junit.Assume].assumeNotNull(io.undertow.server.handlers.LongURLTestCase)'
    - System.getProperty(String)
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LongURLTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.LongURLTestCase:76,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LongURLTestCase:78,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.LongURLTestCase:80,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LongURLTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LongURLTestCase)'
      Src: io.undertow.server.handlers.LongURLTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LongURLTestCase:85,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.LongURLTestCase)'
      Src: io.undertow.server.handlers.LongURLTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.LongURLTestCase:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LongURLTestCase:88,1
    - Dst: '[io.undertow.server.handlers.LongURLTestCase].shutdown()'
      Src: io.undertow.server.handlers.LongURLTestCase:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.LongURLTestCase].testLargeURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LongURLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LongURLTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LongURLTestCase)'
    - '[StringBuilder].<init>()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.LongURLTestCase)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LongURLTestCase].testLargeURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LongURLTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.LongURLTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LongURLTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LongURLTestCase
    signature: '[io.undertow.server.handlers.LongURLTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:47,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:47,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetHeaderHandler)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SimpleNonBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetHeaderHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:59,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:59,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:60,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:62,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:63,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:63,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:65,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].sendHttpRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SimpleNonBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusLine()'
    - header[0].getValue()
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getHeaders(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].sendHttpRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:75,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:76,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:76,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:77,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:80,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].sendHttp11RequestWithClose()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SimpleNonBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusLine()'
    - header[0].getValue()
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getHeaders(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].sendHttp11RequestWithClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].getParams()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:89,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].setParameter(io.undertow.server.handlers.SimpleNonBlockingServerTestCase,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:90,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:91,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:91,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:92,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:95,1
    - Dst: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SimpleNonBlockingServerTestCase:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].sendHttpOneZeroRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SimpleNonBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].setParameter(io.undertow.server.handlers.SimpleNonBlockingServerTestCase,io.undertow.server.handlers.SimpleNonBlockingServerTestCase)'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getStatusLine()'
    - header[0].getValue()
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].getParams()'
    - '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].getHeaders(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].sendHttpOneZeroRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SimpleNonBlockingServerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SimpleNonBlockingServerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SimpleNonBlockingServerTestCase
    signature: '[io.undertow.server.handlers.SimpleNonBlockingServerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].pathTemplate()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:45,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:46,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].add(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:45,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:52,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].add(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:45,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:57,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].add(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:45,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].add(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:45,1
    - Dst: '[io.undertow.Handlers].path(io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:69,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PathTemplateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].path(io.undertow.server.handlers.PathTemplateHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.PathTemplateHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.Handlers].pathTemplate()'
    - '[io.undertow.server.handlers.PathTemplateHandler].add(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].runPathTemplateHandlerTest(String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].testPathTemplateHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PathTemplateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateHandlerTestCase].runPathTemplateHandlerTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].testPathTemplateHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].runPathTemplateHandlerTest(String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].testPathTemplateHandlerWithPrefix()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PathTemplateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateHandlerTestCase].runPathTemplateHandlerTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].testPathTemplateHandlerWithPrefix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:84,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:87,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:88,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:88,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PathTemplateHandlerTestCase)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:88,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PathTemplateHandlerTestCase)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:89,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:93,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:94,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PathTemplateHandlerTestCase)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:94,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PathTemplateHandlerTestCase)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:95,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:98,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:99,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PathTemplateHandlerTestCase)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:99,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PathTemplateHandlerTestCase)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:103,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:104,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PathTemplateHandlerTestCase)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:104,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PathTemplateHandlerTestCase)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:107,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.PathTemplateHandlerTestCase:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].runPathTemplateHandlerTest(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PathTemplateHandlerTestCase.java
    functionUses: 2
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PathTemplateHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.PathTemplateHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.PathTemplateHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PathTemplateHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].runPathTemplateHandlerTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PathTemplateHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandlerTestCase
    signature: '[io.undertow.server.handlers.PathTemplateHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.AbstractQueryParametersTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.handlers.QueryParametersDefaultConfigTestCase].setQueryStringsArray()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/QueryParametersDefaultConfigTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.QueryParametersDefaultConfigTestCase].setQueryStringsArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.QueryParametersDefaultConfigTestCase
      static: false
      superClass: io.undertow.server.handlers.AbstractQueryParametersTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.QueryParametersDefaultConfigTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/QueryParametersDefaultConfigTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.QueryParametersDefaultConfigTestCase
    signature: '[io.undertow.server.handlers.QueryParametersDefaultConfigTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase,boolean)'
      Src: io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase:38,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.AbstractQueryParametersTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].setServerOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/QueryParametersWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase,boolean)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].setServerOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.AbstractQueryParametersTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].clearServerOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/QueryParametersWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].clearServerOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase,boolean)'
      Src: io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.AbstractQueryParametersTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].disableProxyUnescapedCharactersInURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/QueryParametersWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase,boolean)'
    - '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].disableProxyUnescapedCharactersInURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.AbstractQueryParametersTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].clearProxyOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/QueryParametersWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].clearProxyOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.AbstractQueryParametersTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].setQueryStringsArray()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/QueryParametersWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].setQueryStringsArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase
      static: false
      superClass: io.undertow.server.handlers.AbstractQueryParametersTest
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/QueryParametersWithAllowUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase
    signature: '[io.undertow.server.handlers.QueryParametersWithAllowUnescapedCharactersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.StatusLineTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.StatusLineTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.StatusLineTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.StatusLineTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.StatusLineTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.StatusLineTestCase:91,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.StatusLineTestCase:92,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.StatusLineTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:92,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.StatusLineTestCase:94,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getProtocolVersion()'
      Src: io.undertow.server.handlers.StatusLineTestCase:94,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getProtocol()'
      Src: io.undertow.server.handlers.StatusLineTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:95,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.StatusLineTestCase:96,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getMajor()'
      Src: io.undertow.server.handlers.StatusLineTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.StatusLineTestCase,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:96,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.StatusLineTestCase:97,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getMinor()'
      Src: io.undertow.server.handlers.StatusLineTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.StatusLineTestCase,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:97,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.StatusLineTestCase:99,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getReasonPhrase()'
      Src: io.undertow.server.handlers.StatusLineTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:99,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.StatusLineTestCase:101,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].shutdown()'
      Src: io.undertow.server.handlers.StatusLineTestCase:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.StatusLineTestCase].verifyStatusLine()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/StatusLineTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.StatusLineTestCase].getMinor()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.StatusLineTestCase].getProtocolVersion()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - Integer.parseInt(String)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.StatusLineTestCase)'
    - '[io.undertow.server.handlers.StatusLineTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.StatusLineTestCase].shutdown()'
    - '[io.undertow.server.handlers.StatusLineTestCase].getMajor()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.StatusLineTestCase)'
    - '[io.undertow.server.handlers.StatusLineTestCase].getReasonPhrase()'
    - '[io.undertow.server.handlers.StatusLineTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.StatusLineTestCase].getProtocol()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.StatusLineTestCase,io.undertow.server.handlers.StatusLineTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.StatusLineTestCase].verifyStatusLine()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.StatusLineTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.StatusLineTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.StatusLineTestCase:125,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.StatusLineTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.StatusLineTestCase:126,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.StatusLineTestCase:128,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.StatusLineTestCase:129,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.StatusLineTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:129,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.StatusLineTestCase:131,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getProtocolVersion()'
      Src: io.undertow.server.handlers.StatusLineTestCase:131,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getProtocol()'
      Src: io.undertow.server.handlers.StatusLineTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:132,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.StatusLineTestCase:133,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getMajor()'
      Src: io.undertow.server.handlers.StatusLineTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.StatusLineTestCase,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:133,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.StatusLineTestCase:134,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].getMinor()'
      Src: io.undertow.server.handlers.StatusLineTestCase:134,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.StatusLineTestCase,io.undertow.server.handlers.StatusLineTestCase)'
      Src: io.undertow.server.handlers.StatusLineTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.StatusLineTestCase:137,1
    - Dst: '[io.undertow.server.handlers.StatusLineTestCase].shutdown()'
      Src: io.undertow.server.handlers.StatusLineTestCase:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.handlers.StatusLineTestCase].verifyDefaultStatusLine()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/StatusLineTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.StatusLineTestCase].getMajor()'
    - '[io.undertow.server.handlers.StatusLineTestCase].getMinor()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.StatusLineTestCase].getProtocolVersion()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.StatusLineTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.StatusLineTestCase].getProtocol()'
    - Integer.parseInt(String)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.StatusLineTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.StatusLineTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.StatusLineTestCase,io.undertow.server.handlers.StatusLineTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.StatusLineTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.StatusLineTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.StatusLineTestCase].verifyDefaultStatusLine()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.StatusLineTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.StatusLineTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/StatusLineTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.StatusLineTestCase
    signature: '[io.undertow.server.handlers.StatusLineTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.RedirectTestCase:53,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RedirectTestCase:54,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RedirectTestCase:53,1
    - Dst: RedirectTestCase.class.getClassLoader()
      Src: io.undertow.server.handlers.RedirectTestCase:60,1
    - Dst: '[io.undertow.predicate.Predicates].regex(String,String,io.undertow.server.handlers.RedirectTestCase,boolean)'
      Src: io.undertow.server.handlers.RedirectTestCase:60,1
    - Dst: '[io.undertow.Handlers].redirect(String)'
      Src: io.undertow.server.handlers.RedirectTestCase:61,1
    - Dst: '[io.undertow.Handlers].redirect(String)'
      Src: io.undertow.server.handlers.RedirectTestCase:61,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].predicate(io.undertow.predicate.Predicate,io.undertow.server.handlers.RedirectHandler,io.undertow.server.handlers.RedirectHandler)'
      Src: io.undertow.server.handlers.RedirectTestCase:60,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].predicateContext(io.undertow.server.handlers.RedirectTestCase)'
      Src: io.undertow.server.handlers.RedirectTestCase:60,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.RedirectTestCase)'
      Src: io.undertow.server.handlers.RedirectTestCase:53,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.RedirectTestCase:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.RedirectTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.Handlers].redirect(String)'
    - '[io.undertow.server.handlers.RedirectTestCase].predicateContext(io.undertow.server.handlers.RedirectTestCase)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.RedirectTestCase].predicate(io.undertow.predicate.Predicate,io.undertow.server.handlers.RedirectHandler,io.undertow.server.handlers.RedirectHandler)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.RedirectTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.predicate.Predicates].regex(String,String,io.undertow.server.handlers.RedirectTestCase,boolean)'
    - RedirectTestCase.class.getClassLoader()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RedirectTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.RedirectTestCase:67,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RedirectTestCase:69,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RedirectTestCase:69,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RedirectTestCase:70,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RedirectTestCase:71,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RedirectTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RedirectTestCase)'
      Src: io.undertow.server.handlers.RedirectTestCase:71,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RedirectTestCase)'
      Src: io.undertow.server.handlers.RedirectTestCase:72,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RedirectTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RedirectTestCase:75,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RedirectTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RedirectTestCase:76,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RedirectTestCase:77,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RedirectTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RedirectTestCase)'
      Src: io.undertow.server.handlers.RedirectTestCase:77,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RedirectTestCase)'
      Src: io.undertow.server.handlers.RedirectTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RedirectTestCase:79,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RedirectTestCase:81,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RedirectTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RedirectTestCase:82,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RedirectTestCase:83,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RedirectTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RedirectTestCase)'
      Src: io.undertow.server.handlers.RedirectTestCase:83,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RedirectTestCase)'
      Src: io.undertow.server.handlers.RedirectTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RedirectTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.RedirectTestCase:87,1
    - Dst: '[io.undertow.server.handlers.RedirectTestCase].shutdown()'
      Src: io.undertow.server.handlers.RedirectTestCase:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.RedirectTestCase].testRedirectHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RedirectTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.RedirectTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RedirectTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RedirectTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.RedirectTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RedirectTestCase].testRedirectHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RedirectTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RedirectTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RedirectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RedirectTestCase
    signature: '[io.undertow.server.handlers.RedirectTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:55,1
    - Dst: '[org.junit.Assume].assumeNotNull(io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:55,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:57,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:58,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersResponseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[org.junit.Assume].assumeNotNull(io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - System.getProperty(String)
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:71,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:71,1
    - Dst: '[org.junit.Assume].assumeFalse(io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:71,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:74,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:75,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:76,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:76,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].getHeaders(io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:78,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:80,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersResponseTestCase,io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:85,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfHeadersResponseTestCase:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].testLotsOfHeadersInResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersResponseTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
    - '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].getHeaders(io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
    - '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersResponseTestCase,io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
    - '[org.junit.Assume].assumeFalse(io.undertow.server.handlers.LotsOfHeadersResponseTestCase)'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - System.getProperty(String)
    - '[org.junit.Assert].fail(String)'
    - '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].testLotsOfHeadersInResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LotsOfHeadersResponseTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersResponseTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LotsOfHeadersResponseTestCase
    signature: '[io.undertow.server.handlers.LotsOfHeadersResponseTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:54,1
    - Dst: '[org.junit.Assume].assumeTrue(null)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:54,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:55,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:56,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/DefaultMaxHeaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[org.junit.Assume].assumeTrue(null)'
    - System.getProperty(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].repeat(int)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:62,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:63,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:65,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:66,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:66,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:66,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].assertStatus(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:66,1
    - Dst: client.getConnectionManager()
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:68,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].shutdown()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].testLargeURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/DefaultMaxHeaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].assertStatus(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
    - client.getConnectionManager()
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[String].repeat(int)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].testLargeURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:76,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:78,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:80,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].append(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:80,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:81,1
    - Dst: '[java.net.URLEncoder].encode(String,io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:82,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:82,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:83,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:85,1
    - Dst: '[StringBuilder].deleteCharAt(int)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:86,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:87,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:87,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:87,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].assertStatus(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:89,1
    - Dst: client.getConnectionManager()
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:90,1
    - Dst: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].shutdown()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].testLotsOfQueryParameters_MaxParameters_Ok()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/DefaultMaxHeaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
    - '[StringBuilder].deleteCharAt(int)'
    - '[StringBuilder].length()'
    - '[java.net.URLEncoder].encode(String,io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].assertStatus(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].getStatusCode()'
    - client.getConnectionManager()
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].getStatusLine()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].append(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
    - '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].testLotsOfQueryParameters_MaxParameters_Ok()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:97,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:98,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.server.handlers.DefaultMaxHeaderTestCase:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].assertStatus(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/DefaultMaxHeaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DefaultMaxHeaderTestCase)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].assertStatus(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DefaultMaxHeaderTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/DefaultMaxHeaderTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.DefaultMaxHeaderTestCase
    signature: '[io.undertow.server.handlers.DefaultMaxHeaderTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:60,1
    - Dst: '[io.undertow.Handlers].requestLimitingHandler(int,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:60,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.handlers.RequestLimitingHandler)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.CountDownLatch
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RequestLimitingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.handlers.RequestLimitingHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.Handlers].requestLimitingHandler(int,int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:81,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:82,1
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:83,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:85,1
    - Dst: '[java.util.concurrent.Callable].<init>()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:87,1
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].submit(java.util.concurrent.Callable)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:87,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:87,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:104,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:105,1
    - Dst: future.get()
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:107,1
    - Dst: res.equals(String)
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:108,1
    - Dst: res.equals(String)
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:108,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.RequestLimitingHandlerTestCase,io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:108,1
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.CountDownLatch
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions:
      - java.util.concurrent.ExecutionException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].testRateLimitingHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RequestLimitingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.Callable].<init>()'
    - '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].submit(java.util.concurrent.Callable)'
    - Thread.sleep(int)
    - future.get()
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - res.equals(String)
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.RequestLimitingHandlerTestCase,io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
    - '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].shutdown()'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].testRateLimitingHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:119,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:120,1
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:121,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:123,1
    - Dst: '[java.util.concurrent.Callable].<init>()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:125,1
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].submit(java.util.concurrent.Callable)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:125,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:125,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:145,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:146,1
    - Dst: future.get()
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:148,1
    - Dst: res.equals(String)
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:149,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.RequestLimitingHandlerTestCase,io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:149,1
    - Dst: '[java.util.ArrayList].clear()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:151,1
    - Dst: '[java.util.concurrent.Callable].<init>()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:153,1
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].submit(java.util.concurrent.Callable)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:153,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:153,1
    - Dst: future.get()
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:172,1
    - Dst: res.equals(String)
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:173,1
    - Dst: res.equals(String)
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:173,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.RequestLimitingHandlerTestCase,io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:173,1
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:177,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.CountDownLatch
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions:
      - java.util.concurrent.ExecutionException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].testRateLimitingHandlerQueueFull()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RequestLimitingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.Callable].<init>()'
    - '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].submit(java.util.concurrent.Callable)'
    - Thread.sleep(int)
    - future.get()
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - res.equals(String)
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.RequestLimitingHandlerTestCase,io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
    - '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].shutdown()'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].clear()'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.RequestLimitingHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].testRateLimitingHandlerQueueFull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:54,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.handlers.RequestLimitingHandlerTestCase:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.CountDownLatch
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimitingHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RequestLimitingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimitingHandlerTestCase
    signature: '[io.undertow.server.handlers.RequestLimitingHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:54,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:54,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:51,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:54,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:48,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:62,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:62,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:63,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:64,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:64,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:65,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testAllowed1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testAllowed1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:80,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:80,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:77,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:80,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:88,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:89,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:90,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:90,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:91,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testAllowed2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testAllowed2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:106,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:106,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:103,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:106,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:114,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:114,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:115,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:116,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:116,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:117,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testDenied1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testDenied1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:132,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:132,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:129,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:132,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:127,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:126,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:139,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:140,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:140,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:141,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:142,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:142,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:142,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:143,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:144,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testDenied2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testDenied2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:158,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:158,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:155,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:158,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:153,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:165,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:166,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:166,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:167,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:168,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:168,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:168,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:169,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:170,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testAllowed6_1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testAllowed6_1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:184,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:184,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:181,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:184,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:179,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:178,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:191,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:192,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:192,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:193,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:194,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:194,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:194,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:195,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 199
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testAllowed6_2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testAllowed6_2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:210,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:210,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:207,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:210,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:205,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:204,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:217,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:218,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:218,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:219,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:220,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:220,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:220,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:221,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:222,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testDenied6_1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testDenied6_1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:236,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:236,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:233,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:236,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:231,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:230,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:243,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:244,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:244,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:245,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:246,1
    - Dst: '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:246,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:246,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:247,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:248,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
      Src: io.undertow.server.handlers.IPMatchPredicateTestCase:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 251
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testDenied_2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClassLoader()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.IPMatchPredicateTestCase)'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.IPMatchPredicateTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.IPMatchPredicateTestCase,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].testDenied_2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPMatchPredicateTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.IPMatchPredicateTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPMatchPredicateTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.IPMatchPredicateTestCase
    signature: '[io.undertow.server.handlers.IPMatchPredicateTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:60,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:61,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.FixedLengthRequestTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.FixedLengthRequestTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:93,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:95,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:96,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:97,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:98,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:98,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:99,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:102,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:104,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:105,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:105,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:106,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:109,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.FixedLengthRequestTestCase].testFixedLengthRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthRequestTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthRequestTestCase)'
    - '[io.undertow.server.handlers.FixedLengthRequestTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.FixedLengthRequestTestCase].generateMessage(int)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.FixedLengthRequestTestCase].testFixedLengthRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:117,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:118,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:118,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setHeader(io.undertow.server.handlers.FixedLengthRequestTestCase,String)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:120,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:122,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:123,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Long>,int)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:125,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:126,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:126,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:127,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:129,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Long>,long)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:129,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:129,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:130,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:131,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:131,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:132,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:135,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:136,1
    - Dst: '[io.undertow.server.handlers.FixedLengthRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.FixedLengthRequestTestCase].testMaxRequestSizeFixedLengthRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.FixedLengthRequestTestCase)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusCode()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Long>,int)'
    - '[org.apache.http.client.methods.HttpPost].setHeader(io.undertow.server.handlers.FixedLengthRequestTestCase,String)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.handlers.FixedLengthRequestTestCase].shutdown()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Long>,long)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.FixedLengthRequestTestCase)'
    - '[io.undertow.server.handlers.FixedLengthRequestTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.FixedLengthRequestTestCase)'
    - '[io.undertow.server.handlers.FixedLengthRequestTestCase].generateMessage(int)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.FixedLengthRequestTestCase].testMaxRequestSizeFixedLengthRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:142,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.FixedLengthRequestTestCase)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:142,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:144,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.FixedLengthRequestTestCase:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - repetitions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.FixedLengthRequestTestCase].generateMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthRequestTestCase.java
    functionUses: 2
    functionsReached:
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].<init>(io.undertow.server.handlers.FixedLengthRequestTestCase)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.FixedLengthRequestTestCase].generateMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.FixedLengthRequestTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.FixedLengthRequestTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/FixedLengthRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.FixedLengthRequestTestCase
    signature: '[io.undertow.server.handlers.FixedLengthRequestTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHostPort(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:54,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:55,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:56,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(String,io.undertow.server.handlers.SetHeaderHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:55,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:57,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.handlers.SetHeaderHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:55,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:59,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHostAddress(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:60,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(io.undertow.server.handlers.PredicatedHandlersProxyTestCase,io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:59,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].setHandler(io.undertow.server.handlers.NameVirtualHostHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:59,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].build()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:59,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].start()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].start()'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(String,io.undertow.server.handlers.SetHeaderHandler)'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].build()'
    - '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,String,String)'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.handlers.SetHeaderHandler)'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHostAddress(String)'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHostPort(String)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(io.undertow.server.handlers.PredicatedHandlersProxyTestCase,io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].setHandler(io.undertow.server.handlers.NameVirtualHostHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:70,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHostPort(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:72,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHostAddress(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:73,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:73,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersProxyTestCase,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:84,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:85,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:85,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:86,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:87,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:88,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:90,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:90,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:91,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:92,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:93,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:93,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:94,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:95,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].testProxy()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersProxyTestCase,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHostAddress(String)'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHostPort(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getHeaders(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(io.undertow.server.handlers.PredicatedHandlersProxyTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getStatusLine()'
    - header[0].getValue()
    - '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].testProxy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:102,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.PredicatedHandlersProxyTestCase:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].teardown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].teardown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PredicatedHandlersProxyTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersProxyTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PredicatedHandlersProxyTestCase
    signature: '[io.undertow.server.handlers.PredicatedHandlersProxyTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:47,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:50,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:50,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,String,String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:50,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(String,io.undertow.server.handlers.SetHeaderHandler)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:49,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,String,String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:51,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.handlers.SetHeaderHandler)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.NameVirtualHostHandler)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:54,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:56,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:56,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:57,1
    - Dst: '[io.undertow.server.handlers.VirtualHostTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:59,1
    - Dst: '[io.undertow.server.handlers.VirtualHostTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:59,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.VirtualHostTestCase)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:59,1
    - Dst: '[io.undertow.server.handlers.VirtualHostTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:60,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.VirtualHostTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.VirtualHostTestCase)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:61,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.VirtualHostTestCase)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:64,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:64,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:65,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:66,1
    - Dst: '[io.undertow.server.handlers.VirtualHostTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:68,1
    - Dst: '[io.undertow.server.handlers.VirtualHostTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.VirtualHostTestCase)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:68,1
    - Dst: '[io.undertow.server.handlers.VirtualHostTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:69,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.VirtualHostTestCase:70,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.VirtualHostTestCase)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:70,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.VirtualHostTestCase)'
      Src: io.undertow.server.handlers.VirtualHostTestCase:71,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:74,1
    - Dst: '[io.undertow.server.handlers.VirtualHostTestCase].shutdown()'
      Src: io.undertow.server.handlers.VirtualHostTestCase:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.VirtualHostTestCase].testVirtualHost()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/VirtualHostTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.VirtualHostTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.NameVirtualHostHandler)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.VirtualHostTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.VirtualHostTestCase)'
    - '[io.undertow.server.handlers.VirtualHostTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,String,String)'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.handlers.SetHeaderHandler)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.VirtualHostTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(String,io.undertow.server.handlers.SetHeaderHandler)'
    - '[io.undertow.server.handlers.VirtualHostTestCase].shutdown()'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
    - header[0].getValue()
    - '[io.undertow.server.handlers.VirtualHostTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.VirtualHostTestCase].testVirtualHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.VirtualHostTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.VirtualHostTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/VirtualHostTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.VirtualHostTestCase
    signature: '[io.undertow.server.handlers.VirtualHostTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HeadBlockingExchangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:52,1
    - Dst: '[org.apache.http.client.methods.HttpHead].<init>(String)'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:52,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:53,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:55,1
    - Dst: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:56,1
    - Dst: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:56,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HeadBlockingExchangeTestCase)'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:56,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HeadBlockingExchangeTestCase)'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:57,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:57,1
    - Dst: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:58,1
    - Dst: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].getValue()'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:58,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.HeadBlockingExchangeTestCase)'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:58,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:60,1
    - Dst: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].shutdown()'
      Src: io.undertow.server.handlers.HeadBlockingExchangeTestCase:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].sendHttpHead()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HeadBlockingExchangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
    - '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].getValue()'
    - '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HeadBlockingExchangeTestCase)'
    - '[org.apache.http.client.methods.HttpHead].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.HeadBlockingExchangeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HeadBlockingExchangeTestCase)'
    - '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].getFirstHeader(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].sendHttpHead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HeadBlockingExchangeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HeadBlockingExchangeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HeadBlockingExchangeTestCase
    signature: '[io.undertow.server.handlers.HeadBlockingExchangeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:47,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:57,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:57,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:58,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:60,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:61,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:62,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:62,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:63,1
    - Dst: latchHandler.reset()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:64,1
    - Dst: metricsHandler.getMetrics()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:66,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalRequests()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:67,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getMaxRequestTime()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:68,1
    - Dst: '[org.junit.Assert].assertTrue(int)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:68,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getMinRequestTime()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getMaxRequestTime()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.MetricsHandlerTestCase,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getMaxRequestTime()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:70,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalRequestTime()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:70,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.MetricsHandlerTestCase,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:70,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:72,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:73,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:73,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:74,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:76,1
    - Dst: latchHandler.reset()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:77,1
    - Dst: metricsHandler.getMetrics()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:79,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalRequests()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:80,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalErrors()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:84,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:84,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:85,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:85,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:86,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:88,1
    - Dst: latchHandler.reset()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:89,1
    - Dst: metricsHandler.getMetrics()
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:91,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalRequests()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:92,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalErrors()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:97,1
    - Dst: '[io.undertow.server.handlers.MetricsHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.MetricsHandlerTestCase:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 70
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.MetricsHandlerTestCase].testMetrics()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/MetricsHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.MetricsHandlerTestCase)'
    - '[io.undertow.server.handlers.MetricsHandlerTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.MetricsHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalErrors()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.MetricsHandlerTestCase].getMaxRequestTime()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.MetricsHandlerTestCase,io.undertow.server.handlers.MetricsHandlerTestCase)'
    - latchHandler.await()
    - '[org.junit.Assert].assertTrue(int)'
    - '[io.undertow.server.handlers.MetricsHandlerTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.MetricsHandlerTestCase)'
    - '[io.undertow.server.handlers.MetricsHandlerTestCase].getMinRequestTime()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - latchHandler.reset()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalRequests()'
    - '[io.undertow.server.handlers.MetricsHandlerTestCase].getTotalRequestTime()'
    - metricsHandler.getMetrics()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.MetricsHandlerTestCase].testMetrics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.MetricsHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.MetricsHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/MetricsHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.MetricsHandlerTestCase
    signature: '[io.undertow.server.handlers.MetricsHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:53,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:53,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetHeaderHandler)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:53,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:60,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:60,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:61,1
    - Dst: '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:61,1
    - Dst: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].setHandler(io.undertow.server.handlers.ConnectHandler)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:60,1
    - Dst: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].build()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:60,1
    - Dst: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].start()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpTunnelingViaConnectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].build()'
    - '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetHeaderHandler)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].setHandler(io.undertow.server.handlers.ConnectHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:73,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].stop()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpTunnelingViaConnectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:84,1
    - Dst: '[org.apache.http.HttpHost].<init>(String,int,String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:85,1
    - Dst: '[org.apache.http.HttpHost].<init>(String,int,String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:85,1
    - Dst: '[org.apache.http.impl.client.ProxyClient].<init>()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:86,1
    - Dst: '[org.apache.http.auth.UsernamePasswordCredentials].<init>(String,String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:87,1
    - Dst: '[org.apache.http.impl.client.ProxyClient].tunnel(org.apache.http.HttpHost,org.apache.http.HttpHost,org.apache.http.auth.UsernamePasswordCredentials)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:87,1
    - Dst: '[java.io.OutputStreamWriter].<init>(io.undertow.server.handlers.HttpTunnelingViaConnectTestCase,io.undertow.server.handlers.HttpTunnelingViaConnectTestCase)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:89,1
    - Dst: '[java.io.OutputStreamWriter].write(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:90,1
    - Dst: '[java.io.OutputStreamWriter].write(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:91,1
    - Dst: '[java.io.OutputStreamWriter].write(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:92,1
    - Dst: '[java.io.OutputStreamWriter].write(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:93,1
    - Dst: '[java.io.OutputStreamWriter].flush()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:94,1
    - Dst: '[java.io.InputStreamReader].<init>(io.undertow.server.handlers.HttpTunnelingViaConnectTestCase,io.undertow.server.handlers.HttpTunnelingViaConnectTestCase)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:96,1
    - Dst: '[java.io.BufferedReader].<init>(java.io.InputStreamReader)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:95,1
    - Dst: '[java.io.BufferedReader].readLine()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:99,1
    - Dst: System.out.println(io.undertow.server.handlers.HttpTunnelingViaConnectTestCase)
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:100,1
    - Dst: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].equals(String)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:101,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.HttpTunnelingViaConnectTestCase)'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:105,1
    - Dst: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].close()'
      Src: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].testConnectViaProxy()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpTunnelingViaConnectTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.impl.client.ProxyClient].<init>()'
    - '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].close()'
    - '[org.apache.http.impl.client.ProxyClient].tunnel(org.apache.http.HttpHost,org.apache.http.HttpHost,org.apache.http.auth.UsernamePasswordCredentials)'
    - '[java.io.InputStreamReader].<init>(io.undertow.server.handlers.HttpTunnelingViaConnectTestCase,io.undertow.server.handlers.HttpTunnelingViaConnectTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[java.io.OutputStreamWriter].<init>(io.undertow.server.handlers.HttpTunnelingViaConnectTestCase,io.undertow.server.handlers.HttpTunnelingViaConnectTestCase)'
    - '[java.io.BufferedReader].readLine()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[org.apache.http.auth.UsernamePasswordCredentials].<init>(String,String)'
    - '[java.io.BufferedReader].<init>(java.io.InputStreamReader)'
    - '[java.io.OutputStreamWriter].flush()'
    - System.out.println(io.undertow.server.handlers.HttpTunnelingViaConnectTestCase)
    - '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].equals(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.HttpTunnelingViaConnectTestCase)'
    - '[java.io.OutputStreamWriter].write(String)'
    - '[org.apache.http.HttpHost].<init>(String,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].testConnectViaProxy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpTunnelingViaConnectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpTunnelingViaConnectTestCase
    signature: '[io.undertow.server.handlers.HttpTunnelingViaConnectTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:60,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean,org.xnio.Option<Long>,int)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:62,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:63,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:63,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersWithLimitsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean,org.xnio.Option<Long>,int)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersWithLimitsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:121,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:121,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:121,1
    - Dst: '[java.net.Socket].<init>(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:121,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:123,1
    - Dst: request.getBytes()
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:123,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].write(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:123,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:125,1
    - Dst: response.length()
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:128,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:129,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].read(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:129,1
    - Dst: '[String].<init>(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,int,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:133,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:133,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:136,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:137,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:138,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:139,1
    - Dst: '[java.net.Socket].close()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].testFailingChunkedRequestsWithTrailers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersWithLimitsTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].getInputStream()'
    - '[StringBuilder].append(String)'
    - response.length()
    - '[java.net.Socket].close()'
    - '[java.net.InetSocketAddress].getPort()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].write(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[StringBuilder].toString()'
    - '[String].<init>(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,int,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].read(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[java.net.Socket].<init>(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].replaceAll(String,String)'
    - '[java.net.InetSocketAddress].getAddress()'
    - request.getBytes()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].testFailingChunkedRequestsWithTrailers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:155,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:155,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:155,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:155,1
    - Dst: '[java.net.Socket].<init>(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:155,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:157,1
    - Dst: request.getBytes()
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:157,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].write(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:157,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:159,1
    - Dst: response.length()
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:162,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:163,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].read(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:163,1
    - Dst: '[String].<init>(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,int,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:167,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:167,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:170,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:171,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:172,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:173,1
    - Dst: '[java.net.Socket].close()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].testPassingChunkedRequestsWithTrailers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersWithLimitsTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].getInputStream()'
    - '[StringBuilder].append(String)'
    - response.length()
    - '[java.net.Socket].close()'
    - '[java.net.InetSocketAddress].getPort()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].write(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[StringBuilder].toString()'
    - '[String].<init>(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,int,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[java.net.Socket].getOutputStream()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].read(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[java.net.Socket].<init>(io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase,io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase)'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].replaceAll(String,String)'
    - '[java.net.InetSocketAddress].getAddress()'
    - request.getBytes()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].testPassingChunkedRequestsWithTrailers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersWithLimitsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersWithLimitsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.h2.jdbcx.JdbcConnectionPool].create(String,String,String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:73,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getConnection()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:77,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].setAutoCommit(boolean)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:78,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:79,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].executeUpdate(String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:80,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:96,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.server.HttpHandler
      - org.h2.jdbcx.JdbcConnectionPool
      classPublic: true
      concrete: true
      exceptions:
      - java.sql.SQLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/JDBCLogDatabaseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].executeUpdate(String)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getConnection()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].setAutoCommit(boolean)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
    - '[org.h2.jdbcx.JdbcConnectionPool].create(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.h2.jdbcx.JdbcConnectionPool].getConnection()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:112,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].setAutoCommit(boolean)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:113,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:114,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].executeUpdate(String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:115,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:118,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:121,1
    - Dst: '[org.h2.jdbcx.JdbcConnectionPool].dispose()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.server.HttpHandler
      - org.h2.jdbcx.JdbcConnectionPool
      classPublic: true
      concrete: true
      exceptions:
      - java.sql.SQLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].teardown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/JDBCLogDatabaseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].executeUpdate(String)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].setAutoCommit(boolean)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
    - '[org.h2.jdbcx.JdbcConnectionPool].getConnection()'
    - '[org.h2.jdbcx.JdbcConnectionPool].dispose()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].teardown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:133,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,org.xnio.XnioWorker,String,org.h2.jdbcx.JdbcConnectionPool)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:133,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:136,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:137,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:139,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:139,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:140,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:141,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:142,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:143,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:143,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:144,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:144,1
    - Dst: '[org.h2.jdbcx.JdbcConnectionPool].getConnection()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:149,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:150,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].executeQuery(String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:151,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].next()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:155,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:155,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getHostAddress()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:155,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].getRemoteHostField()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:155,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getString(String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:155,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].trim()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:155,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.JDBCLogDatabaseTestCase,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:155,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].getBytesField()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:156,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getString(String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:156,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:156,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].getStatusField()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:157,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getString(String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:157,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:157,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:158,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].shutdown()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:158,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:161,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.server.HttpHandler
      - org.h2.jdbcx.JdbcConnectionPool
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      - java.sql.SQLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].testSingleLogMessageToDatabase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/JDBCLogDatabaseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getString(String)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getHostAddress()'
    - '[io.undertow.server.handlers.JDBCLogHandler].getBytesField()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].shutdown()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].executeQuery(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.JDBCLogDatabaseTestCase,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[io.undertow.server.handlers.JDBCLogHandler].awaitWrittenForTest()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].next()'
    - latchHandler.await()
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,org.xnio.XnioWorker,String,org.h2.jdbcx.JdbcConnectionPool)'
    - '[io.undertow.server.handlers.JDBCLogHandler].getRemoteHostField()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].trim()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.JDBCLogHandler].getStatusField()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[org.h2.jdbcx.JdbcConnectionPool].getConnection()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].testSingleLogMessageToDatabase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:173,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,org.xnio.XnioWorker,String,org.h2.jdbcx.JdbcConnectionPool)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:173,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:176,1
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:178,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:180,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:183,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].submit(Runnable)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:183,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:183,1
    - Dst: future.get()
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:204,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].shutdown()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:207,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:210,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:211,1
    - Dst: '[org.h2.jdbcx.JdbcConnectionPool].getConnection()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:216,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:217,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:219,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].executeQuery(String)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:219,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].next()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:221,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getInt(int)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:222,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.JDBCLogDatabaseTestCase,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:222,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:226,1
    - Dst: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.server.HttpHandler
      - org.h2.jdbcx.JdbcConnectionPool
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      - java.util.concurrent.ExecutionException
      - java.sql.SQLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 232
    functionName: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].testLogLotsOfThreadsToDatabase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/JDBCLogDatabaseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].getInt(int)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].shutdown()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].close()'
    - future.get()
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].executeQuery(String)'
    - '[Runnable].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.JDBCLogDatabaseTestCase,io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].createStatement()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[io.undertow.server.handlers.JDBCLogHandler].awaitWrittenForTest()'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].next()'
    - latchHandler.await()
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].submit(Runnable)'
    - '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,org.xnio.XnioWorker,String,org.h2.jdbcx.JdbcConnectionPool)'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.JDBCLogDatabaseTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[org.h2.jdbcx.JdbcConnectionPool].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].testLogLotsOfThreadsToDatabase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.JDBCLogDatabaseTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - io.undertow.server.HttpHandler
      - org.h2.jdbcx.JdbcConnectionPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.JDBCLogDatabaseTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/JDBCLogDatabaseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.JDBCLogDatabaseTestCase
    signature: '[io.undertow.server.handlers.JDBCLogDatabaseTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:63,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:52,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:63,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:50,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:49,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:72,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:73,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:74,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:74,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:75,1
    - Dst: result.getHeaders("type")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:76,1
    - Dst: result.getHeaders("someHeader")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:77,1
    - Dst: result.getHeaders("template")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:78,1
    - Dst: result.getHeaders("css")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:83,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:84,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:85,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:89,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:90,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:91,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:91,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:92,1
    - Dst: result.getHeaders("type")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:93,1
    - Dst: result.getHeaders("chained")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:95,1
    - Dst: result.getHeaders("someHeader")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:96,1
    - Dst: result.getHeaders("css")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:97,1
    - Dst: result.getHeaders("template")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:98,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:100,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:101,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:102,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:102,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:103,1
    - Dst: result.getHeaders("type")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:104,1
    - Dst: result.getHeaders("someHeader")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:105,1
    - Dst: result.getHeaders("template")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:110,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:110,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:111,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:112,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:112,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:113,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:116,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:117,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:118,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:118,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:119,1
    - Dst: result.getHeaders("type")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:120,1
    - Dst: result.getHeaders("someHeader")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:121,1
    - Dst: result.getHeaders("template")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:125,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 140
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testRewrite()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
    - result.getHeaders("css")[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - result.getHeaders("template")[0].getValue()
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - result.getHeaders("chained")[0].getValue()
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - result.getHeaders("type")[0].getValue()
    - result.getHeaders("someHeader")[0].getValue()
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testRewrite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:135,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:135,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:134,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:135,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:132,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:131,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:141,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:143,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:143,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:145,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:146,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:146,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:146,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:148,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:150,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testRewriteContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testRewriteContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PredicatedHandlersTestCase.class.getClassLoader()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:156,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parseHandler(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:156,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:157,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:158,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].wrap(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:158,1
    - Dst: handler.handleRequest(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:163,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:164,1
    - Dst: '[io.undertow.util.HeaderMap].get(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:164,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:164,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testSetHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parseHandler(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.util.HeaderMap].get(String)'
    - PredicatedHandlersTestCase.class.getClassLoader()
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - handler.handleRequest(io.undertow.server.HttpServerExchange)
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].wrap(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testSetHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:182,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:182,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:172,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:182,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:170,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:169,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:189,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:191,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:191,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:192,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:193,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:193,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:193,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:194,1
    - Dst: result.getHeaders("type")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:195,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:195,1
    - Dst: result.getHeaders("someHeader")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:196,1
    - Dst: result.getHeaders("template")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:197,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:197,1
    - Dst: result.getHeaders("css")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:198,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:198,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:199,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:201,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:201,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:202,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:203,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:203,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:203,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:204,1
    - Dst: result.getHeaders("result")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:205,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:205,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:206,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:208,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:208,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:209,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:210,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:210,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:210,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:211,1
    - Dst: result.getHeaders("type")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:212,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:212,1
    - Dst: result.getHeaders("chained")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:213,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:213,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:214,1
    - Dst: result.getHeaders("someHeader")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:215,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:215,1
    - Dst: result.getHeaders("css")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:216,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:216,1
    - Dst: result.getHeaders("template")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:217,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:217,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:219,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:219,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:220,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:221,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:221,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:221,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:222,1
    - Dst: result.getHeaders("type")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:223,1
    - Dst: result.getHeaders("someHeader")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:224,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:224,1
    - Dst: result.getHeaders("template")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:225,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:225,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:226,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:229,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:229,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:230,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:231,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:231,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:231,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:232,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:233,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:233,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:235,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:235,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:236,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:237,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:237,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:238,1
    - Dst: result.getHeaders("type")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:239,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:239,1
    - Dst: result.getHeaders("someHeader")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:240,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:240,1
    - Dst: result.getHeaders("template")[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:241,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:241,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:242,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:244,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 139
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 246
    functionName: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testRewriteWithLineBreaks()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
    - result.getHeaders("result")[0].getValue()
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
    - result.getHeaders("css")[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - result.getHeaders("template")[0].getValue()
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - result.getHeaders("chained")[0].getValue()
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - result.getHeaders("type")[0].getValue()
    - result.getHeaders("someHeader")[0].getValue()
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testRewriteWithLineBreaks()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:254,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:254,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:253,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:254,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:251,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:250,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:260,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:262,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:262,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:264,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:265,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getReasonPhrase()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:265,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:265,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:266,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:266,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:266,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:269,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testReasonPhrase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getReasonPhrase()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testReasonPhrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:279,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:279,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:278,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:279,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:277,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:276,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:285,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:287,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:287,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:289,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:290,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getReasonPhrase()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:290,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:290,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:291,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:291,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:291,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:292,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:293,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:294,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:295,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:296,1
    - Dst: '[org.junit.Assert].assertNotNull()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:297,1
    - Dst: hdrs[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:298,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:298,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.PredicatedHandlersTestCase,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:298,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:299,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:300,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:301,1
    - Dst: '[org.junit.Assert].assertNotNull()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:302,1
    - Dst: hdrs[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:303,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.PredicatedHandlersTestCase,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:303,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:305,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 307
    functionName: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testDefaultResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertNotNull()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[String].length()'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getReasonPhrase()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
    - hdrs[0].getValue()
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.PredicatedHandlersTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testDefaultResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:314,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:314,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:313,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:314,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:312,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:311,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:320,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:322,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:322,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:324,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:325,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getReasonPhrase()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:325,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:325,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:326,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:326,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:326,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:327,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:328,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:329,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:330,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:331,1
    - Dst: '[org.junit.Assert].assertNotNull()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:332,1
    - Dst: hdrs[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:333,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:333,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.PredicatedHandlersTestCase,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:333,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:334,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:335,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:336,1
    - Dst: '[org.junit.Assert].assertNotNull()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:337,1
    - Dst: hdrs[0].getValue()
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:338,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.PredicatedHandlersTestCase,String)'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:338,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:340,1
    - Dst: '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
      Src: io.undertow.server.handlers.PredicatedHandlersTestCase:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 342
    functionName: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testCustomTypeResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertNotNull()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[String].length()'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PredicatedHandlersTestCase)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClassLoader()'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getReasonPhrase()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.PredicatedHandlersTestCase,io.undertow.server.HttpHandler)'
    - hdrs[0].getValue()
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.handlers.PredicatedHandlersTestCase].getClass()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.PredicatedHandlersTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicatedHandlersTestCase].testCustomTypeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PredicatedHandlersTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PredicatedHandlersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PredicatedHandlersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PredicatedHandlersTestCase
    signature: '[io.undertow.server.handlers.PredicatedHandlersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.OriginTestCase:51,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].<init>()'
      Src: io.undertow.server.handlers.OriginTestCase:53,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].addAllowedOrigins(String,String)'
      Src: io.undertow.server.handlers.OriginTestCase:54,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.OriginHandler)'
      Src: io.undertow.server.handlers.OriginTestCase:55,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].setNext(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.OriginTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.OriginTestCase:58,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.OriginTestCase:58,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.OriginTestCase:59,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.OriginTestCase:61,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.OriginTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:61,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.OriginTestCase:64,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.OriginTestCase:64,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.OriginTestCase:65,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.OriginTestCase:66,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.OriginTestCase:67,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.OriginTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:67,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.OriginTestCase:70,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.OriginTestCase:70,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.OriginTestCase:71,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.OriginTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.OriginTestCase:73,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.OriginTestCase:74,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.OriginTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:74,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.OriginTestCase:77,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.OriginTestCase:77,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.OriginTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.OriginTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.OriginTestCase:80,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.OriginTestCase:81,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.OriginTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:81,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.OriginTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.OriginTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.OriginTestCase:86,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.OriginTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.OriginTestCase:88,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.OriginTestCase:89,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.OriginTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:89,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.OriginTestCase)'
      Src: io.undertow.server.handlers.OriginTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.OriginTestCase:92,1
    - Dst: '[io.undertow.server.handlers.OriginTestCase].shutdown()'
      Src: io.undertow.server.handlers.OriginTestCase:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 62
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.OriginTestCase].testStrictOrigin()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/OriginTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.OriginTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.OriginHandler].addAllowedOrigins(String,String)'
    - '[io.undertow.server.handlers.OriginTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.OriginHandler].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.OriginTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.OriginHandler)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.OriginTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.OriginTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.OriginHandler].setNext(io.undertow.server.handlers.ResponseCodeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.OriginTestCase].testStrictOrigin()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.OriginTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/OriginTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginTestCase
    signature: '[io.undertow.server.handlers.OriginTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].routing()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:52,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:53,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:52,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:59,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:52,1
    - Dst: '[io.undertow.Handlers].routing()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:66,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:67,1
    - Dst: '[io.undertow.server.RoutingHandler].get(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:66,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:73,1
    - Dst: '[io.undertow.server.RoutingHandler].put(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:66,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:79,1
    - Dst: '[io.undertow.server.RoutingHandler].post(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:66,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:85,1
    - Dst: '[io.undertow.server.RoutingHandler].delete(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:66,1
    - Dst: '[io.undertow.Handlers].routing()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:93,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:99,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:105,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:111,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.predicate.Predicates].parse(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:117,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:117,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:123,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:129,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:135,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:141,1
    - Dst: '[io.undertow.server.RoutingHandler].get(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:146,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:152,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.RoutingHandler].addAll(io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.server.RoutingHandler].addAll(io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:92,1
    - Dst: '[io.undertow.Handlers].path(io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:161,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:161,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 99
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 50
    functionDepth: 6
    functionLinenumber: 50
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.RoutingHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RoutingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.RoutingHandler].post(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.RoutingHandler].delete(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.RoutingHandler].get(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.RoutingHandler].addAll(io.undertow.server.RoutingHandler)'
    - '[io.undertow.Handlers].routing()'
    - '[io.undertow.Handlers].path(io.undertow.server.RoutingHandler)'
    - '[io.undertow.server.RoutingHandler].put(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.predicate.Predicates].parse(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.RoutingHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RoutingHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].runRoutingTemplateHandlerTests(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.RoutingHandlerTestCase].testRoutingTemplateHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RoutingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RoutingHandlerTestCase].runRoutingTemplateHandlerTests(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RoutingHandlerTestCase].testRoutingTemplateHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].runRoutingTemplateHandlerTests(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.RoutingHandlerTestCase].testRoutingTemplateHandlerWithPrefixPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RoutingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RoutingHandlerTestCase].runRoutingTemplateHandlerTests(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RoutingHandlerTestCase].testRoutingTemplateHandlerWithPrefixPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:175,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:177,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:178,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:179,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:179,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:179,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:180,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:180,1
    - Dst: '[org.apache.http.client.methods.HttpDelete].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:182,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpDelete)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:183,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:184,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:184,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:184,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:185,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:185,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:187,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:188,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:189,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:189,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:189,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:190,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:190,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:192,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:193,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:194,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:195,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:195,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:195,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:196,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:200,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:201,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:202,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:202,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:203,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:203,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:205,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:206,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:207,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:207,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:207,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:208,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:208,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:210,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:211,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:212,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:212,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:212,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:213,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:213,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:215,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:216,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:217,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:217,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:217,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:218,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:218,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:220,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:221,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:222,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:222,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:222,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:223,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:225,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:226,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:227,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:227,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:227,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:228,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:228,1
    - Dst: '[org.apache.http.client.methods.HttpPut].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:230,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPut)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:231,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:232,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:232,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:232,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:233,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:233,1
    - Dst: '[org.apache.http.client.methods.HttpDelete].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:235,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpDelete)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:236,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:237,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:237,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:238,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:238,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:240,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:240,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:241,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:242,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:242,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:242,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:243,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:243,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:245,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:246,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:247,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:247,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:247,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:248,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:248,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:250,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:251,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:252,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:252,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:252,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:253,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:253,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:255,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 179
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 257
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 257
    functionName: '[io.undertow.server.handlers.RoutingHandlerTestCase].runRoutingTemplateHandlerTests(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RoutingHandlerTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpDelete)'
    - '[io.undertow.server.handlers.RoutingHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpDelete].<init>(String)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[org.apache.http.client.methods.HttpPut].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPut)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RoutingHandlerTestCase].runRoutingTemplateHandlerTests(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:261,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:263,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:263,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:264,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:265,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:265,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:265,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:266,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:266,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:268,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:268,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:269,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:270,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:270,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:270,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:271,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:271,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:273,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:273,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:274,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:275,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:275,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:275,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:276,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:276,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:278,1
    - Dst: '[io.undertow.server.handlers.RoutingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.RoutingHandlerTestCase:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.handlers.RoutingHandlerTestCase].testWildCardRoutingTemplateHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RoutingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RoutingHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.RoutingHandlerTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RoutingHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.RoutingHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RoutingHandlerTestCase].testWildCardRoutingTemplateHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RoutingHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RoutingHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RoutingHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RoutingHandlerTestCase
    signature: '[io.undertow.server.handlers.RoutingHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:58,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:60,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:61,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:61,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:115,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:115,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:115,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:115,1
    - Dst: '[java.net.Socket].<init>(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:115,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:117,1
    - Dst: request.getBytes()
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:117,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].write(io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:117,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:119,1
    - Dst: response1.length()
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:122,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:123,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].read(io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:123,1
    - Dst: '[String].<init>(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,int,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:127,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:127,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:130,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:131,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:137,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:140,1
    - Dst: request.getBytes()
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:140,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].write(io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:140,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:142,1
    - Dst: response1.length()
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:144,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:145,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].read(io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:145,1
    - Dst: '[String].<init>(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,int,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:149,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:149,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:152,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:153,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:154,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:156,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:158,1
    - Dst: '[java.net.Socket].close()'
      Src: io.undertow.server.handlers.ChunkedRequestTrailersTestCase:162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].testChunkedRequestsWithTrailers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,int,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
    - '[java.net.Socket].getInputStream()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].read(io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
    - '[java.net.Socket].close()'
    - '[java.net.InetSocketAddress].getPort()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - response1.length()
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].replaceAll(String,String)'
    - '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].write(io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[java.net.Socket].<init>(io.undertow.server.handlers.ChunkedRequestTrailersTestCase,io.undertow.server.handlers.ChunkedRequestTrailersTestCase)'
    - '[java.net.InetSocketAddress].getAddress()'
    - request.getBytes()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].testChunkedRequestsWithTrailers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ChunkedRequestTrailersTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTrailersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ChunkedRequestTrailersTestCase
    signature: '[io.undertow.server.handlers.ChunkedRequestTrailersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.DateHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:44,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.DateHandler)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.DateHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/DateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.DateHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.DateHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DateHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:49,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:49,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:50,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:52,1
    - Dst: '[io.undertow.server.handlers.DateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:53,1
    - Dst: '[io.undertow.server.handlers.DateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:53,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:53,1
    - Dst: '[io.undertow.server.handlers.DateHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:54,1
    - Dst: date.getValue()
      Src: io.undertow.server.handlers.DateHandlerTestCase:55,1
    - Dst: '[io.undertow.util.DateUtils].parseDate(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:55,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:55,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.DateHandlerTestCase:56,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:56,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.DateHandlerTestCase:57,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:57,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:58,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.DateHandlerTestCase:59,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:60,1
    - Dst: '[io.undertow.server.handlers.DateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.DateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.DateHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:62,1
    - Dst: date.getValue()
      Src: io.undertow.server.handlers.DateHandlerTestCase:63,1
    - Dst: '[io.undertow.util.DateUtils].parseDate(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:63,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:63,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.DateHandlerTestCase:64,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:64,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.DateHandlerTestCase:65,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:65,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:66,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.DateHandlerTestCase)'
      Src: io.undertow.server.handlers.DateHandlerTestCase:67,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:70,1
    - Dst: '[io.undertow.server.handlers.DateHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.DateHandlerTestCase:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.DateHandlerTestCase].testDateHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/DateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - date.getValue()
    - '[io.undertow.util.DateUtils].parseDate(io.undertow.server.handlers.DateHandlerTestCase)'
    - Thread.sleep(int)
    - '[io.undertow.server.handlers.DateHandlerTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.DateHandlerTestCase].getStatusLine()'
    - '[java.util.Date].getTime()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.DateHandlerTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.DateHandlerTestCase)'
    - System.currentTimeMillis()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.DateHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.DateHandlerTestCase)'
    - '[io.undertow.server.handlers.DateHandlerTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DateHandlerTestCase].testDateHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DateHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.DateHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/DateHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.DateHandlerTestCase
    signature: '[io.undertow.server.handlers.DateHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:55,1
    - Dst: '[io.undertow.Handlers].gracefulShutdown(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:55,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - io.undertow.server.handlers.GracefulShutdownHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].gracefulShutdown(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.GracefulShutdownHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(null)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:73,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(null)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:74,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].start()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - io.undertow.server.handlers.GracefulShutdownHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownHandler].start()'
    - '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:83,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:86,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:87,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:87,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:88,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:92,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:93,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:93,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:94,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].start()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:98,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:99,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:99,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:100,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:102,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(java.util.concurrent.CountDownLatch)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:103,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:105,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(java.util.concurrent.CountDownLatch)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:105,1
    - Dst: '[RequestTask].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:106,1
    - Dst: '[Thread].<init>(RequestTask)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:106,1
    - Dst: '[Thread].start()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:107,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].get()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:108,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].await()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:108,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:109,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].awaitShutdown(int)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:111,1
    - Dst: '[org.junit.Assert].assertFalse(void)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:111,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:113,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].awaitShutdown(int)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:115,1
    - Dst: '[org.junit.Assert].assertTrue(void)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:118,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].shutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - io.undertow.server.handlers.GracefulShutdownHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase].simpleGracefulShutdownTestCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusCode()'
    - '[RequestTask].<init>()'
    - '[org.junit.Assert].assertTrue(void)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].start()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[Thread].start()'
    - '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].get()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[Thread].<init>(RequestTask)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].awaitShutdown(int)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].shutdown()'
    - '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(java.util.concurrent.CountDownLatch)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase].shutdown()'
    - '[org.junit.Assert].assertFalse(void)'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase].await()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase].simpleGracefulShutdownTestCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:129,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:132,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:133,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:133,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:134,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:136,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:138,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:139,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:139,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:140,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].start()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:142,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:144,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:145,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:145,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:145,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:146,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:148,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(java.util.concurrent.CountDownLatch)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:149,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:152,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(java.util.concurrent.CountDownLatch)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:152,1
    - Dst: '[RequestTask].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:153,1
    - Dst: '[Thread].<init>(RequestTask)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:153,1
    - Dst: '[Thread].start()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:154,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].get()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:155,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].await()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:155,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:157,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:158,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].addShutdownListener(io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:159,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:160,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:162,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:163,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:164,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:165,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.GracefulShutdownTestCase)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:167,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:169,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase].shutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - io.undertow.server.handlers.GracefulShutdownHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase].gracefulShutdownListenerTestCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusCode()'
    - '[RequestTask].<init>()'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].start()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.GracefulShutdownTestCase)'
    - '[Thread].start()'
    - '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].get()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[Thread].<init>(RequestTask)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].addShutdownListener(io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase)'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].shutdown()'
    - '[java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>].set(java.util.concurrent.CountDownLatch)'
    - System.currentTimeMillis()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase].shutdown()'
    - Thread.sleep(int)
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.GracefulShutdownTestCase)'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase].await()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase].gracefulShutdownListenerTestCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:47,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CountDownLatch>
      - io.undertow.server.handlers.GracefulShutdownHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.GracefulShutdownTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.GracefulShutdownTestCase
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - GracefulShutdownHandler.ShutdownListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - successful
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener].shutdown(boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener].shutdown(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - GracefulShutdownHandler.ShutdownListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:188,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:188,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:189,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:191,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].getStatusLine()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:192,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].getStatusCode()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:192,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:192,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask)'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:193,1
    - Dst: e.printStackTrace()
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:196,1
    - Dst: e.printStackTrace()
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:198,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:200,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].shutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].run()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].getStatusLine()'
    - e.printStackTrace()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/GracefulShutdownTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask
    signature: '[io.undertow.server.handlers.GracefulShutdownTestCase.RequestTask].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler].builder()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:70,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:70,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:70,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].nextHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:70,1
    - Dst: '[java.time.Duration].ofMillis(int)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:81,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].readTimeout(io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:70,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].build()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:70,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:83,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:85,1
    - Dst: '[org.apache.http.entity.AbstractHttpEntity].<init>()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:86,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.AbstractHttpEntity)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:86,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:123,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:127,1
    - Dst: '[Exception].getClass()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:128,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:133,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.OutputStream
      - Exception
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].testReadTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/BlockingReadTimeoutHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.time.Duration].ofMillis(int)'
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler].builder()'
    - '[org.junit.Assert].fail(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[Exception].getClass()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.AbstractHttpEntity)'
    - '[org.apache.http.entity.AbstractHttpEntity].<init>()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase)'
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].build()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase)'
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].shutdown()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].nextHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].readTimeout(io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].testReadTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].<init>()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:53,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.OutputStream
      - Exception
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/BlockingReadTimeoutHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.io.OutputStream].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:56,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.ForwardedHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ForwardedHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.ForwardedHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ForwardedHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].toString(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:72,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].replace(String,String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:72,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].replace(String,String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:72,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].replace(String,String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.ForwardedHandlerTestCase].toJreNormalizedString(java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ForwardedHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ForwardedHandlerTestCase].replace(String,String)'
    - '[java.util.Objects].toString(java.net.InetSocketAddress)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ForwardedHandlerTestCase].toJreNormalizedString(java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:80,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseHeader(String,java.util.HashMap)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:81,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:82,1
    - Dst: '[java.util.HashMap].clear()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:83,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseHeader(String,java.util.HashMap)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:84,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:85,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:86,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:87,1
    - Dst: '[java.util.HashMap].clear()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:88,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseHeader(String,java.util.HashMap)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:89,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:90,1
    - Dst: '[java.util.HashMap].clear()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:91,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseHeader(String,java.util.HashMap)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:92,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:93,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:94,1
    - Dst: '[java.util.HashMap].clear()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.ForwardedHandlerTestCase].testHeaderParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ForwardedHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>()'
    - '[java.util.HashMap].clear()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
    - '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseHeader(String,java.util.HashMap)'
    - '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ForwardedHandlerTestCase].testHeaderParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseAddress(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(null,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:100,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseAddress(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(null,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:101,1
    - Dst: '[java.net.InetAddress].getByAddress()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:102,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.ForwardedHandlerTestCase,int)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:102,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseAddress(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(java.net.InetSocketAddress,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:102,1
    - Dst: '[java.net.InetAddress].getByAddress()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:103,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.ForwardedHandlerTestCase,int)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:103,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseAddress(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(java.net.InetSocketAddress,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:103,1
    - Dst: '[java.net.InetAddress].getByAddress()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:104,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.ForwardedHandlerTestCase,int)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:104,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseAddress(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(java.net.InetSocketAddress,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:104,1
    - Dst: '[java.net.InetAddress].getByAddress()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:105,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.ForwardedHandlerTestCase,int)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseAddress(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(java.net.InetSocketAddress,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.ForwardedHandlerTestCase].testAddressParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ForwardedHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(java.net.InetSocketAddress,io.undertow.server.handlers.ForwardedHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(null,io.undertow.server.handlers.ForwardedHandlerTestCase)'
    - '[io.undertow.server.handlers.ForwardedHandlerTestCase].parseAddress(String)'
    - '[java.net.InetAddress].getByAddress()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.ForwardedHandlerTestCase,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ForwardedHandlerTestCase].testAddressParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:114,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:119,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:124,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:127,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:128,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:130,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:133,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:134,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:134,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:136,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:138,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:139,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:140,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:142,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:144,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:145,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:146,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:146,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:148,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:151,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:154,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:157,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:158,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:159,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:159,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:160,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:161,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:163,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:164,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:165,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 126
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.ForwardedHandlerTestCase].testForwardedHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ForwardedHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.handlers.ForwardedHandlerTestCase].run()'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ForwardedHandlerTestCase)'
    - '[io.undertow.server.handlers.ForwardedHandlerTestCase].run(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ForwardedHandlerTestCase].testForwardedHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:173,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:175,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:175,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:177,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:179,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:180,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:180,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:180,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ForwardedHandlerTestCase)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:181,1
    - Dst: '[String].split(String)'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:181,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:184,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.ForwardedHandlerTestCase:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ForwardedHandlerTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ForwardedHandlerTestCase)'
    - '[String].split(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ForwardedHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ForwardedHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.ForwardedHandlerTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.ForwardedHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.server.handlers.ForwardedHandlerTestCase)'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.server.handlers.ForwardedHandlerTestCase].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ForwardedHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ForwardedHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ForwardedHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ForwardedHandlerTestCase
    signature: '[io.undertow.server.handlers.ForwardedHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getDefaultMaxHeaders()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersRequestTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getDefaultMaxHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getTestMaxHeaders()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersRequestTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getTestMaxHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:85,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:85,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:87,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:88,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:103,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:105,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:105,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getDefaultMaxHeaders()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:106,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:109,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:110,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:110,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getDefaultMaxHeaders()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:111,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getHeaders(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:112,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:116,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].testLotsOfHeadersInRequest_Default_Ok()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].shutdown()'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getDefaultMaxHeaders()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusCode()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getHeaders(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].testLotsOfHeadersInRequest_Default_Ok()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:122,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:124,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:124,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getDefaultMaxHeaders()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:129,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:130,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:132,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].testLotsOfHeadersInRequest_Default_BadRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].shutdown()'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getDefaultMaxHeaders()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].testLotsOfHeadersInRequest_Default_BadRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:138,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:139,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:141,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:141,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getTestMaxHeaders()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:142,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:143,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:145,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:145,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:146,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:147,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:147,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getTestMaxHeaders()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:148,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getHeaders(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:149,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:150,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:154,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].testLotsOfHeadersInRequest_MaxHeaders_Ok()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getTestMaxHeaders()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusLine()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getHeaders(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].testLotsOfHeadersInRequest_MaxHeaders_Ok()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:160,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:161,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:163,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:163,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getTestMaxHeaders()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:165,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:166,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:168,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:168,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:169,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:170,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:170,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:170,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:172,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:173,1
    - Dst: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfHeadersRequestTestCase:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].testLotsOfHeadersInRequest_MaxHeaders_BadRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].shutdown()'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getTestMaxHeaders()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.server.handlers.LotsOfHeadersRequestTestCase,io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.LotsOfHeadersRequestTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].testLotsOfHeadersInRequest_MaxHeaders_BadRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LotsOfHeadersRequestTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfHeadersRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LotsOfHeadersRequestTestCase
    signature: '[io.undertow.server.handlers.LotsOfHeadersRequestTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:55,1
    - Dst: '[io.undertow.server.handlers.HttpContinueReadHandler].<init>(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.HttpContinueReadHandler)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:57,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:58,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.HttpContinueReadHandler].<init>(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.HttpContinueReadHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:85,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    - '[org.junit.Assume].assumeFalse(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:92,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:99,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:100,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:102,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:103,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].testHttpContinueRejected()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].testHttpContinueRejected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:113,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:117,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:119,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:119,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:120,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:123,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:124,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:124,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase,String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:127,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].testHttpContinueAccepted()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase,String)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].testHttpContinueAccepted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:136,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:137,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:139,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:140,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:142,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:142,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:143,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:144,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:151,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:152,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:152,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase,String)'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:155,1
    - Dst: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].testHttpContinueAcceptedWithChunkedRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase,String)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase)'
    - '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].testHttpContinueAcceptedWithChunkedRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueConduitWrappingHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase
    signature: '[io.undertow.server.handlers.HttpContinueConduitWrappingHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:46,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.PreseverStatusTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PreseverStatusTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PreseverStatusTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:59,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:59,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:60,1
    - Dst: '[io.undertow.server.handlers.PreseverStatusTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:61,1
    - Dst: '[io.undertow.server.handlers.PreseverStatusTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PreseverStatusTestCase)'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:61,1
    - Dst: '[io.undertow.server.handlers.PreseverStatusTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:62,1
    - Dst: '[io.undertow.server.handlers.PreseverStatusTestCase].getReasonPhrase()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:62,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PreseverStatusTestCase)'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:62,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.PreseverStatusTestCase)'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:64,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:66,1
    - Dst: '[io.undertow.server.handlers.PreseverStatusTestCase].shutdown()'
      Src: io.undertow.server.handlers.PreseverStatusTestCase:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.util.concurrent.ExecutionException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.PreseverStatusTestCase].testWindowSliding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PreseverStatusTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PreseverStatusTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.PreseverStatusTestCase].getReasonPhrase()'
    - '[io.undertow.server.handlers.PreseverStatusTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.PreseverStatusTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[RuntimeException].<init>(io.undertow.server.handlers.PreseverStatusTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.PreseverStatusTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.PreseverStatusTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PreseverStatusTestCase].testWindowSliding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PreseverStatusTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PreseverStatusTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/PreseverStatusTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PreseverStatusTestCase
    signature: '[io.undertow.server.handlers.PreseverStatusTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:48,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:48,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:50,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:50,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].setHandler(io.undertow.server.handlers.URLDecodingHandler)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:48,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].build()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:48,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].start()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:57,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:59,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:61,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(io.undertow.server.handlers.URLDecodingHandlerTestCase)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:62,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:62,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].stop()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:65,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].testDoesNotDecodeByDefault()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/URLDecodingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(int)
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].start()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(io.undertow.server.handlers.URLDecodingHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].build()'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].setHandler(io.undertow.server.handlers.URLDecodingHandler)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].testDoesNotDecodeByDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:76,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:76,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:76,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:79,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:79,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].setHandler(io.undertow.server.handlers.URLDecodingHandler)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:76,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].build()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:76,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].start()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:90,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(io.undertow.server.handlers.URLDecodingHandlerTestCase)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:91,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].stop()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:94,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].testDecodesWhenUrlDecodingIsDisabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/URLDecodingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(int)
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].addHttpListener(int,String)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].start()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(io.undertow.server.handlers.URLDecodingHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].build()'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].setHandler(io.undertow.server.handlers.URLDecodingHandler)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].testDecodesWhenUrlDecodingIsDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:105,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:105,1
    - Dst: '[io.undertow.server.RoutingHandler].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:108,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:109,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:109,1
    - Dst: '[io.undertow.server.RoutingHandler].get(String,io.undertow.server.handlers.URLDecodingHandler)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:108,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].setHandler(io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].build()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].start()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:120,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:122,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(io.undertow.server.handlers.URLDecodingHandlerTestCase)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:124,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].stop()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:127,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].testDecodeCharactersInMatchedPaths()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/URLDecodingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(int)
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].addHttpListener(int,String)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].start()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(io.undertow.server.handlers.URLDecodingHandlerTestCase)'
    - '[io.undertow.server.RoutingHandler].get(String,io.undertow.server.handlers.URLDecodingHandler)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].build()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.RoutingHandler].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].setHandler(io.undertow.server.RoutingHandler)'
    - '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].testDecodeCharactersInMatchedPaths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:138,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:138,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:138,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:141,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:141,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.handlers.URLDecodingHandler,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:141,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].setHandler(io.undertow.server.handlers.URLDecodingHandler)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:138,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].build()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:138,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].start()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:148,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:150,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:152,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(io.undertow.server.handlers.URLDecodingHandlerTestCase)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:153,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].stop()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:156,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].testMultipleURLDecodingHandlers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/URLDecodingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(int)
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].addHttpListener(int,String)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].start()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.handlers.URLDecodingHandler,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].build()'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].setHandler(io.undertow.server.handlers.URLDecodingHandler)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(io.undertow.server.handlers.URLDecodingHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].testMultipleURLDecodingHandlers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.client.methods.CloseableHttpResponse].getStatusLine()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:165,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:165,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.URLDecodingHandlerTestCase)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:165,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].toString(io.undertow.server.handlers.URLDecodingHandlerTestCase,io.undertow.server.handlers.URLDecodingHandlerTestCase)'
      Src: io.undertow.server.handlers.URLDecodingHandlerTestCase:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.methods.CloseableHttpResponse
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - org.apache.http.client.methods.CloseableHttpResponse
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(org.apache.http.client.methods.CloseableHttpResponse)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/URLDecodingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.URLDecodingHandlerTestCase)'
    - '[org.apache.http.client.methods.CloseableHttpResponse].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].toString(io.undertow.server.handlers.URLDecodingHandlerTestCase,io.undertow.server.handlers.URLDecodingHandlerTestCase)'
    - '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getStatusCode()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].getResponseString(org.apache.http.client.methods.CloseableHttpResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.URLDecodingHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/URLDecodingHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.URLDecodingHandlerTestCase
    signature: '[io.undertow.server.handlers.URLDecodingHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.HeadTestCase:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.HeadTestCase:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.HeadTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HeadTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HeadTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HeadTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.HeadTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HeadTestCase:79,1
    - Dst: '[org.apache.http.client.methods.HttpHead].<init>(String)'
      Src: io.undertow.server.handlers.HeadTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HeadTestCase:80,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.HeadTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.HeadTestCase:83,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HeadTestCase:84,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HeadTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.HeadTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
      Src: io.undertow.server.handlers.HeadTestCase:86,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HeadTestCase:87,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HeadTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:87,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:88,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.HeadTestCase:88,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.HeadTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.HeadTestCase:91,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HeadTestCase:92,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HeadTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:92,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.HeadTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
      Src: io.undertow.server.handlers.HeadTestCase:94,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HeadTestCase:95,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HeadTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:95,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.HeadTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HeadTestCase:98,1
    - Dst: '[io.undertow.server.handlers.HeadTestCase].shutdown()'
      Src: io.undertow.server.handlers.HeadTestCase:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.HeadTestCase].sendHttpHead()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HeadTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HeadTestCase)'
    - '[io.undertow.server.handlers.HeadTestCase].generateMessage(int)'
    - '[io.undertow.server.handlers.HeadTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpHead].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HeadTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.HeadTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.HeadTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HeadTestCase].sendHttpHead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.HeadTestCase:104,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.HeadTestCase)'
      Src: io.undertow.server.handlers.HeadTestCase:104,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.HeadTestCase:106,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.HeadTestCase:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - repetitions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.HeadTestCase].generateMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HeadTestCase.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].<init>(io.undertow.server.handlers.HeadTestCase)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HeadTestCase].generateMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HeadTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HeadTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HeadTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HeadTestCase
    signature: '[io.undertow.server.handlers.HeadTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:62,1
    - Dst: '[org.junit.Assume].assumeNotNull(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:62,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:64,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:70,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfQueryParametersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[org.junit.Assume].assumeNotNull(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - System.getProperty(String)
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:88,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:90,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:92,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:93,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.server.handlers.LotsOfQueryParametersTestCase,String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:94,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:94,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:95,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:97,1
    - Dst: '[StringBuilder].deleteCharAt(int)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:97,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:99,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:100,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:100,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getHeaders(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:102,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfQueryParametersTestCase,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:106,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].testLotsOfQueryParameters_Default_Ok()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfQueryParametersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getHeaders(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].length()'
    - '[StringBuilder].deleteCharAt(int)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].shutdown()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusCode()'
    - header[0].getValue()
    - '[java.net.URLEncoder].encode(io.undertow.server.handlers.LotsOfQueryParametersTestCase,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfQueryParametersTestCase,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].testLotsOfQueryParameters_Default_Ok()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:112,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:114,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:117,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:118,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.server.handlers.LotsOfQueryParametersTestCase,String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:119,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:119,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:120,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:122,1
    - Dst: '[StringBuilder].deleteCharAt(int)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:122,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:124,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:125,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:127,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].testLotsOfQueryParameters_Default_BadRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfQueryParametersTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(String)'
    - '[StringBuilder].length()'
    - '[StringBuilder].deleteCharAt(int)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].shutdown()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusCode()'
    - '[java.net.URLEncoder].encode(io.undertow.server.handlers.LotsOfQueryParametersTestCase,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].testLotsOfQueryParameters_Default_BadRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:133,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:134,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:136,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:138,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:139,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.server.handlers.LotsOfQueryParametersTestCase,String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:140,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:140,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:141,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:143,1
    - Dst: '[StringBuilder].deleteCharAt(int)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:143,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:144,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:145,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:145,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:146,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:147,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:147,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getHeaders(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:149,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfQueryParametersTestCase,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:150,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:154,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].testLotsOfQueryParameters_MaxParameters_Ok()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfQueryParametersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].shutdown()'
    - '[StringBuilder].append(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getHeaders(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[StringBuilder].deleteCharAt(int)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusCode()'
    - '[StringBuilder].length()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusLine()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - header[0].getValue()
    - '[java.net.URLEncoder].encode(io.undertow.server.handlers.LotsOfQueryParametersTestCase,String)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.LotsOfQueryParametersTestCase,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].testLotsOfQueryParameters_MaxParameters_Ok()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:160,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:161,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:163,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:166,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:167,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.server.handlers.LotsOfQueryParametersTestCase,String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:168,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:168,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:169,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:171,1
    - Dst: '[StringBuilder].deleteCharAt(int)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:171,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:172,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:172,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:173,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:173,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:174,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:175,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:175,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:175,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:177,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:178,1
    - Dst: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].shutdown()'
      Src: io.undertow.server.handlers.LotsOfQueryParametersTestCase:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].testLotsOfQueryParameters_MaxParameters_BadRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfQueryParametersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].shutdown()'
    - '[StringBuilder].append(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[StringBuilder].append(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[StringBuilder].deleteCharAt(int)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusCode()'
    - '[StringBuilder].length()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.LotsOfQueryParametersTestCase)'
    - '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].getStatusLine()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[java.net.URLEncoder].encode(io.undertow.server.handlers.LotsOfQueryParametersTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].testLotsOfQueryParameters_MaxParameters_BadRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LotsOfQueryParametersTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/LotsOfQueryParametersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LotsOfQueryParametersTestCase
    signature: '[io.undertow.server.handlers.LotsOfQueryParametersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:45,1
    - Dst: '[io.undertow.testutils.DefaultServer].isIpv6()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:54,1
    - Dst: '[io.undertow.Handlers].ipAccessControl(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:55,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:55,1
    - Dst: '[io.undertow.Handlers].ipAccessControl(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase,boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:57,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].addAllow(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:57,1
    - Dst: '[io.undertow.Handlers].proxyPeerAddress(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isIpv6()'
    - '[io.undertow.Handlers].ipAccessControl(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase,boolean)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].addAllow(String)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.Handlers].proxyPeerAddress(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.Handlers].ipAccessControl(io.undertow.server.HttpHandler,boolean)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ProxyPeerAddressHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:65,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:67,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:67,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:68,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:69,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:70,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:71,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:71,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:73,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithoutXForwardedFor()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
    - '[String].contains(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithoutXForwardedFor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:83,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:84,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:85,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:86,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:88,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithoutXForwardedForIPv6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
    - '[String].contains(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithoutXForwardedForIPv6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:95,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:97,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:97,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:99,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:100,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:100,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:101,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:102,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:104,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithXForwardedFor1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
    - '[String].contains(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithXForwardedFor1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:111,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:113,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:113,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:115,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:116,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:116,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:117,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:118,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:120,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithXForwardedFor2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
    - '[String].contains(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithXForwardedFor2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:127,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:131,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:132,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:132,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:133,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:134,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:136,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithXForwardedFor3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
    - '[String].contains(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testWithXForwardedFor3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:143,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:145,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:145,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:146,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:147,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:148,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:148,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:148,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:149,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:150,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:150,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:152,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testForbiddenWithXForwardedFor1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[String].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testForbiddenWithXForwardedFor1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:159,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:161,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:161,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:162,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:163,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:164,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:164,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:164,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:165,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:166,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:166,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:168,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testForbiddenWithXForwardedFor2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[String].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].testForbiddenWithXForwardedFor2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandlerWithProxyPeerAddressHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:69,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].setupServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(io.undertow.server.handlers.ReceiverTestCase)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.ReceiverTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].setupServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.ReceiverTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:80,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:93,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:109,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:121,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:157,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ReceiverTestCase:157,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ReceiverTestCase:157,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ReceiverTestCase:157,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ReceiverTestCase:157,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:161,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ReceiverTestCase:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceiveWholeString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceiveWholeString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceivePartialString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceivePartialString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceiveWholeBytes()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceiveWholeBytes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<java.io.IOException>].clear()'
      Src: io.undertow.server.handlers.ReceiverTestCase:193,1
    - Dst: '[java.net.Socket].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:194,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.ReceiverTestCase:195,1
    - Dst: '[java.net.Socket].connect(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.ReceiverTestCase:195,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:197,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:199,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.ReceiverTestCase:202,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ReceiverTestCase:202,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.ReceiverTestCase:203,1
    - Dst: request.getBytes(String)
      Src: io.undertow.server.handlers.ReceiverTestCase:205,1
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].write(io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:205,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.ReceiverTestCase:206,1
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].close()'
      Src: io.undertow.server.handlers.ReceiverTestCase:206,1
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].close()'
      Src: io.undertow.server.handlers.ReceiverTestCase:207,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<java.io.IOException>].poll(int,io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:209,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceiveWholeBytesFailed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(String)'
    - '[StringBuilder].length()'
    - '[java.net.Socket].getInputStream()'
    - '[io.undertow.server.handlers.ReceiverTestCase].close()'
    - '[java.util.concurrent.LinkedBlockingDeque<java.io.IOException>].poll(int,io.undertow.server.handlers.ReceiverTestCase)'
    - '[io.undertow.server.handlers.ReceiverTestCase].write(io.undertow.server.handlers.ReceiverTestCase)'
    - '[StringBuilder].<init>()'
    - '[java.util.concurrent.LinkedBlockingDeque<java.io.IOException>].clear()'
    - '[java.net.Socket].<init>()'
    - '[StringBuilder].toString()'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - request.getBytes(String)
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.ReceiverTestCase)'
    - '[java.net.Socket].connect(java.net.InetSocketAddress)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceiveWholeBytesFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceivePartialBytes()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testAsyncReceivePartialBytes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testBlockingReceiveWholeString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testBlockingReceiveWholeString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testBlockingReceivePartialString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testBlockingReceivePartialString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testBlockingReceiveWholeBytes()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testBlockingReceiveWholeBytes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].testBlockingReceivePartialBytes()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].testBlockingReceivePartialBytes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.ReceiverTestCase:240,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.ReceiverTestCase:240,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:244,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ReceiverTestCase:246,1
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].runTest(io.undertow.server.handlers.ReceiverTestCase,String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:247,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.server.handlers.ReceiverTestCase].runTest(io.undertow.server.handlers.ReceiverTestCase,String)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[RuntimeException].<init>(String,io.undertow.server.handlers.ReceiverTestCase)'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].doTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:255,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ReceiverTestCase:257,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:258,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:259,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.ReceiverTestCase:259,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.ReceiverTestCase:260,1
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ReceiverTestCase:261,1
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ReceiverTestCase:261,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:261,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:262,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.ReceiverTestCase:263,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.ReceiverTestCase:263,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ReceiverTestCase,io.undertow.server.handlers.ReceiverTestCase)'
      Src: io.undertow.server.handlers.ReceiverTestCase:263,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ReceiverTestCase:264,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ReceiverTestCase:266,1
    - Dst: '[io.undertow.server.handlers.ReceiverTestCase].shutdown()'
      Src: io.undertow.server.handlers.ReceiverTestCase:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - url
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].runTest(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.server.handlers.ReceiverTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ReceiverTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ReceiverTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ReceiverTestCase)'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.handlers.ReceiverTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.ReceiverTestCase,io.undertow.server.handlers.ReceiverTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[io.undertow.server.handlers.ReceiverTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReceiverTestCase].runTest(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:58,1
    - Dst: '[io.undertow.io.Receiver.ErrorCallback].<init>()'
      Src: io.undertow.server.handlers.ReceiverTestCase:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.LinkedBlockingDeque<java.io.IOException>
      - Receiver.ErrorCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ReceiverTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ReceiverTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ReceiverTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    - '[io.undertow.io.Receiver.ErrorCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.ReceiverTestCase
    signature: '[io.undertow.server.handlers.ReceiverTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestNotConsumedTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:89,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:90,1
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:92,1
    - Dst: '[java.util.Random].nextInt()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:93,1
    - Dst: System.out.print(String)
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:94,1
    - Dst: '[java.util.Random].setSeed(io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:95,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:99,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:99,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:121,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:122,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:122,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:127,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].shutdown()'
      Src: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].testChunkedRequestNotConsumed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestNotConsumedTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[java.util.Random].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.util.Random].nextInt()'
    - '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].shutdown()'
    - '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - System.out.print(String)
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase)'
    - '[java.util.Random].setSeed(io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].testChunkedRequestNotConsumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestNotConsumedTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase
    signature: '[io.undertow.server.handlers.ChunkedRequestNotConsumedTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.BadRequestTestCase:44,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.BadRequestTestCase:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.BadRequestTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/BadRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BadRequestTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.BadRequestTestCase:61,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.BadRequestTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.BadRequestTestCase:61,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.handlers.BadRequestTestCase:61,1
    - Dst: '[java.net.Socket].<init>(io.undertow.server.handlers.BadRequestTestCase,io.undertow.server.handlers.BadRequestTestCase)'
      Src: io.undertow.server.handlers.BadRequestTestCase:61,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.BadRequestTestCase:63,1
    - Dst: request.getBytes()
      Src: io.undertow.server.handlers.BadRequestTestCase:63,1
    - Dst: '[io.undertow.server.handlers.BadRequestTestCase].write(io.undertow.server.handlers.BadRequestTestCase)'
      Src: io.undertow.server.handlers.BadRequestTestCase:63,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.BadRequestTestCase:65,1
    - Dst: response1.length()
      Src: io.undertow.server.handlers.BadRequestTestCase:68,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.BadRequestTestCase:69,1
    - Dst: '[io.undertow.server.handlers.BadRequestTestCase].read(io.undertow.server.handlers.BadRequestTestCase)'
      Src: io.undertow.server.handlers.BadRequestTestCase:69,1
    - Dst: '[String].<init>(io.undertow.server.handlers.BadRequestTestCase,int,io.undertow.server.handlers.BadRequestTestCase)'
      Src: io.undertow.server.handlers.BadRequestTestCase:73,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.BadRequestTestCase:73,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.BadRequestTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.BadRequestTestCase,io.undertow.server.handlers.BadRequestTestCase)'
      Src: io.undertow.server.handlers.BadRequestTestCase:76,1
    - Dst: '[java.net.Socket].close()'
      Src: io.undertow.server.handlers.BadRequestTestCase:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.BadRequestTestCase].testBadRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/BadRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.Socket].getInputStream()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.BadRequestTestCase].read(io.undertow.server.handlers.BadRequestTestCase)'
    - '[io.undertow.server.handlers.BadRequestTestCase].write(io.undertow.server.handlers.BadRequestTestCase)'
    - '[String].<init>(io.undertow.server.handlers.BadRequestTestCase,int,io.undertow.server.handlers.BadRequestTestCase)'
    - '[java.net.InetSocketAddress].getPort()'
    - '[StringBuilder].<init>()'
    - '[java.net.Socket].<init>(io.undertow.server.handlers.BadRequestTestCase,io.undertow.server.handlers.BadRequestTestCase)'
    - '[java.net.Socket].close()'
    - '[StringBuilder].toString()'
    - response1.length()
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.BadRequestTestCase,io.undertow.server.handlers.BadRequestTestCase)'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[java.net.InetSocketAddress].getAddress()'
    - request.getBytes()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BadRequestTestCase].testBadRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.BadRequestTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.BadRequestTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/BadRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BadRequestTestCase
    signature: '[io.undertow.server.handlers.BadRequestTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:48,1
    - Dst: '[io.undertow.Handlers].hostHeaderHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:48,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.HostHeaderHandler)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.HostHeaderHandler)'
    - '[io.undertow.Handlers].hostHeaderHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testNoHostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testNoHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testTooManyHostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testTooManyHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv4HostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv4HostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv4AndPortHostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv4AndPortHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader5()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader5()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6HostHeader6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6AndPortHostHeader6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6EmbeddedIPv4HostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6EmbeddedIPv4HostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6EmbeddedIPv4HostHeader2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6EmbeddedIPv4HostHeader2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6EmbeddedIPv4HostHeader3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPv6EmbeddedIPv4HostHeader3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader5()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader5()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader7()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPvFutureHostHeader7()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader5()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader5()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testIPRegNameHostHeader6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(org.apache.http.HttpHost,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testAbsoluteURLBad()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(org.apache.http.HttpHost,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testAbsoluteURLBad()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:225,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:225,1
    - Dst: '[org.apache.http.HttpHost].<init>(String,int)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:225,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(org.apache.http.HttpHost,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testAbsoluteURLGood()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.HttpHost].<init>(String,int)'
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(org.apache.http.HttpHost,int,null)'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testAbsoluteURLGood()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testEmptyHost()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(null,int,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testEmptyHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].test(org.apache.http.HttpHost,int,String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testEmptyHost2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHandlerTestCase].test(org.apache.http.HttpHost,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testEmptyHost2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:244,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getParams()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:246,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].setParameter(io.undertow.server.handlers.HostHandlerTestCase,org.apache.http.HttpHost)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:246,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:249,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:249,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.server.handlers.HostHandlerTestCase)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:251,1
    - Dst: '[org.apache.http.client.protocol.HttpClientContext].create()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:253,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet,io.undertow.server.handlers.HostHandlerTestCase)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:253,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:254,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getReasonPhrase()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:254,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:254,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:254,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HostHandlerTestCase,int,io.undertow.server.handlers.HostHandlerTestCase)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:254,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:256,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getReasonPhrase()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:256,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.HostHandlerTestCase)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:256,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:260,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      - org.apache.http.HttpHost
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - org.apache.http.client.ClientProtocolException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - headers
    - proxy
    - resultCode
    - statusMessage
    argTypes:
    - String[]
    - org.apache.http.HttpHost
    - int
    - String
    constantsTouched: []
    func_position:
      end: 262
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 262
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].test(String[],org.apache.http.HttpHost,int,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].getParams()'
    - '[io.undertow.server.handlers.HostHandlerTestCase].getReasonPhrase()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.HostHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.HostHandlerTestCase].setParameter(io.undertow.server.handlers.HostHandlerTestCase,org.apache.http.HttpHost)'
    - '[io.undertow.server.handlers.HostHandlerTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.server.handlers.HostHandlerTestCase)'
    - '[org.apache.http.client.protocol.HttpClientContext].create()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HostHandlerTestCase,int,io.undertow.server.handlers.HostHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.HostHandlerTestCase)'
    - '[io.undertow.server.handlers.HostHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet,io.undertow.server.handlers.HostHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].test(String[],org.apache.http.HttpHost,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:266,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:266,1
    - Dst: '[org.apache.http.HttpHost].<init>(String,int)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:266,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:267,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getParams()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:268,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].setParameter(io.undertow.server.handlers.HostHandlerTestCase,org.apache.http.HttpHost)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:268,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:270,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:270,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.server.handlers.HostHandlerTestCase)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:272,1
    - Dst: '[org.apache.http.client.protocol.HttpClientContext].create()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:274,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet,io.undertow.server.handlers.HostHandlerTestCase)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:274,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:275,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getReasonPhrase()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:275,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:275,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:275,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HostHandlerTestCase,int,io.undertow.server.handlers.HostHandlerTestCase)'
      Src: io.undertow.server.handlers.HostHandlerTestCase:275,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:278,1
    - Dst: '[io.undertow.server.handlers.HostHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.HostHandlerTestCase:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - org.apache.http.client.ClientProtocolException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - headers
    - resultCode
    - statusMessage
    argTypes:
    - String[]
    - int
    - String
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].testProxyMode(String[],int,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].getParams()'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.handlers.HostHandlerTestCase].getReasonPhrase()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.HostHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.HostHandlerTestCase].setParameter(io.undertow.server.handlers.HostHandlerTestCase,org.apache.http.HttpHost)'
    - '[org.apache.http.HttpHost].<init>(String,int)'
    - '[io.undertow.server.handlers.HostHandlerTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.server.handlers.HostHandlerTestCase)'
    - '[org.apache.http.client.protocol.HttpClientContext].create()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HostHandlerTestCase,int,io.undertow.server.handlers.HostHandlerTestCase)'
    - '[io.undertow.server.handlers.HostHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet,io.undertow.server.handlers.HostHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].testProxyMode(String[],int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HostHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HostHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HostHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HostHandlerTestCase
    signature: '[io.undertow.server.handlers.HostHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:55,1
    - Dst: '[io.undertow.predicate.Predicate].<init>()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:56,1
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.handlers.BlockingHandler,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.HttpContinueAcceptingHandler)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:62,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:63,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueAcceptingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.HttpContinueAcceptingHandler)'
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.handlers.BlockingHandler,io.undertow.predicate.Predicate)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.predicate.Predicate].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:86,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:87,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueAcceptingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    - '[org.junit.Assume].assumeFalse(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:94,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:98,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:100,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:100,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:101,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:104,1
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:107,1
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].testHttpContinueRejected()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueAcceptingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].shutdown()'
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].getStatusCode()'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].testHttpContinueRejected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:115,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:122,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:125,1
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:126,1
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:126,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase,String)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:129,1
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].testHttpContinueAccepted()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueAcceptingHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].shutdown()'
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].getStatusCode()'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].testHttpContinueAccepted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/HttpContinueAcceptingHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:60,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:61,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTransferCodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:93,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:95,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:96,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:102,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:103,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:103,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:104,1
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:106,1
    - Dst: '[java.util.Random].nextInt()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:107,1
    - Dst: System.out.print(String)
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:108,1
    - Dst: '[java.util.Random].setSeed(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:109,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:113,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:114,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:138,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:139,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:139,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:140,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:144,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].shutdown()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].testChunkedRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTransferCodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusLine()'
    - '[java.util.Random].<init>()'
    - '[java.util.Random].setSeed(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
    - '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.util.Random].nextInt()'
    - '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].generateMessage(int)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
    - System.out.print(String)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].testChunkedRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:153,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:153,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setHeader(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase,String)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:154,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:155,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:157,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:158,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:158,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Long>,int)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:164,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:164,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:165,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:166,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:166,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:167,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:169,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Long>,long)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:169,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:169,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:170,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:171,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:171,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:171,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:172,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:175,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:176,1
    - Dst: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].shutdown()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].testMaxRequestSizeChunkedRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTransferCodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusCode()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Long>,int)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Long>,long)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].generateMessage(int)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].setHeader(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].testMaxRequestSizeChunkedRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:182,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:182,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:184,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - repetitions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].generateMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTransferCodingTestCase.java
    functionUses: 2
    functionsReached:
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].<init>(io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].generateMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedRequestTransferCodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase
    signature: '[io.undertow.server.handlers.ChunkedRequestTransferCodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String[][]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.AbstractQueryParametersTest].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AbstractQueryParametersTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AbstractQueryParametersTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:89,1
    - Dst: '[io.undertow.server.handlers.AbstractQueryParametersTest].runTest(io.undertow.server.handlers.AbstractQueryParametersTest)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String[][]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.AbstractQueryParametersTest].testQueryParameters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AbstractQueryParametersTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.AbstractQueryParametersTest].runTest(io.undertow.server.handlers.AbstractQueryParametersTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AbstractQueryParametersTest].testQueryParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:98,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<String>,String)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.AbstractQueryParametersTest)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:101,1
    - Dst: '[io.undertow.server.handlers.AbstractQueryParametersTest].runTest(io.undertow.server.handlers.AbstractQueryParametersTest,String,String)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:102,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String[][]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.AbstractQueryParametersTest].testQueryParametersShiftJIS()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AbstractQueryParametersTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AbstractQueryParametersTest].runTest(io.undertow.server.handlers.AbstractQueryParametersTest,String,String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<String>,String)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.server.handlers.AbstractQueryParametersTest)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AbstractQueryParametersTest].testQueryParametersShiftJIS()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(null)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:113,1
    - Dst: '[io.undertow.util.URLUtils].parseQueryString(io.undertow.server.handlers.AbstractQueryParametersTest,io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:114,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:115,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:115,1
    - Dst: '[io.undertow.server.handlers.AbstractQueryParametersTest].getFirst()'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.AbstractQueryParametersTest)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String[][]
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.ParameterLimitException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.AbstractQueryParametersTest].testQueryParameterParsingIncorrectlyEncodedURI()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AbstractQueryParametersTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].parseQueryString(io.undertow.server.handlers.AbstractQueryParametersTest,io.undertow.server.HttpServerExchange,String,boolean,int)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.handlers.AbstractQueryParametersTest].getFirst()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.AbstractQueryParametersTest)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].<init>(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AbstractQueryParametersTest].testQueryParameterParsingIncorrectlyEncodedURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:120,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:120,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:120,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.AbstractQueryParametersTest)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:120,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.AbstractQueryParametersTest:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - String[][]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - client
    - expected
    - queryString
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - String
    - String
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.AbstractQueryParametersTest].runTest(io.undertow.testutils.TestHttpClient,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AbstractQueryParametersTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.AbstractQueryParametersTest)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AbstractQueryParametersTest].runTest(io.undertow.testutils.TestHttpClient,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String[][]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AbstractQueryParametersTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.AbstractQueryParametersTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AbstractQueryParametersTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AbstractQueryParametersTest
    signature: '[io.undertow.server.handlers.AbstractQueryParametersTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].builder()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:55,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:55,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:55,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].nextHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:55,1
    - Dst: '[java.time.Duration].ofMillis(int)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:75,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].writeTimeout(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:55,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].build()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:55,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:55,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:79,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:81,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:82,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].isRepeatable()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:82,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:82,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:83,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:83,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].read(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:86,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:87,1
    - Dst: '[Exception].getClass()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:89,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:93,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:95,1
    - Dst: '[Exception].getClass()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:96,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:102,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].testWriteTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/BlockingWriteTimeoutHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].builder()'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].read(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].shutdown()'
    - '[java.time.Duration].ofMillis(int)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
    - '[org.junit.Assert].fail(String)'
    - '[org.junit.Assert].assertFalse(String,io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].isRepeatable()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[Exception].getClass()'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].getContent()'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].build()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].writeTimeout(io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - Thread.sleep(int)
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].nextHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].getEntity()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].testWriteTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Exception
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/BlockingWriteTimeoutHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RangeRequestTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.RangeRequestTestCase:56,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].toURI()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:56,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:56,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getParent()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:56,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:57,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:58,1
    - Dst: '[io.undertow.server.handlers.ByteRangeHandler].<init>(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:58,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.ByteRangeHandler)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:58,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.RangeRequestTestCase,int)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:66,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:66,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:66,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:66,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:68,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.RangeRequestTestCase,int)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:68,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,int,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:68,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:68,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:68,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.RangeRequestTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RangeRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RangeRequestTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.Handlers].path()'
    - RangeRequestTestCase.class.getResource(String)
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,int,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.RangeRequestTestCase)'
    - '[io.undertow.server.handlers.ByteRangeHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.ByteRangeHandler)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.RangeRequestTestCase,int)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RangeRequestTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].runTest(String,boolean)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.RangeRequestTestCase].testGenericRangeHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RangeRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RangeRequestTestCase].runTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RangeRequestTestCase].testGenericRangeHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].runTest(String,boolean)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.RangeRequestTestCase].testResourceHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RangeRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RangeRequestTestCase].runTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RangeRequestTestCase].testResourceHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].runTest(String,boolean)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.RangeRequestTestCase].testCachedResourceHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RangeRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RangeRequestTestCase].runTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RangeRequestTestCase].testCachedResourceHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:91,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:95,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:96,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:97,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:98,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:104,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:105,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:105,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:106,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:107,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:108,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:108,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:110,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:110,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:111,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:112,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:113,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:113,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:114,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:115,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:116,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:118,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:118,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:120,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:121,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:121,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:122,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:123,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:124,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:128,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:129,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:129,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:130,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:131,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:132,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:132,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:135,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 83
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.RangeRequestTestCase].testLargeCachedResourceHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RangeRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
    - '[io.undertow.server.handlers.RangeRequestTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
    - '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RangeRequestTestCase].testLargeCachedResourceHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:140,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:142,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:142,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:143,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:144,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:145,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:145,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:145,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:146,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:146,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:147,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:148,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:148,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:148,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:150,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:150,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:151,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:152,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:153,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:153,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:154,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:154,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:155,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:156,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:156,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:156,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:158,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:158,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:159,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:160,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:161,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:161,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:161,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:162,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:162,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:163,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:164,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:164,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:164,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:165,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:165,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:167,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:168,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:169,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:169,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:169,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:170,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:170,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:171,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:172,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:172,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:172,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:174,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:174,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:175,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:176,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:177,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:177,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:177,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:178,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:178,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:179,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:180,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:180,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:180,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:182,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:182,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:183,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:184,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:185,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:185,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:185,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:186,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:186,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:187,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:188,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:188,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:188,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:190,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:190,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:191,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:192,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:193,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:193,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:193,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:194,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:194,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:195,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:196,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:196,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:198,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:198,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:199,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:200,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:201,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:201,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:201,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:202,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:203,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:204,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:204,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:204,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:206,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:206,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:207,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:208,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:209,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:209,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:209,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:210,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:210,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:211,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:212,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:212,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:212,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:213,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:213,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:215,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:215,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:216,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:217,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:218,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:218,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:218,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:219,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:219,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:220,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:221,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:221,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:221,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:223,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:223,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:224,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:225,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:226,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:226,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:226,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:227,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:227,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:228,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:229,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:229,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:229,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:231,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:231,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:232,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.RangeRequestTestCase:233,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:233,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:233,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:233,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:234,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:235,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:235,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:235,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:236,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:236,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:237,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:238,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:238,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:238,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:240,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:240,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:241,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:242,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:242,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:242,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:243,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:244,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:244,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:244,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:245,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:245,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:246,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:247,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:247,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:251,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:251,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:252,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:253,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:254,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:255,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:255,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:255,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:256,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:256,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:257,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:258,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:258,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:258,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:260,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:260,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:261,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:262,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:263,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:264,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:264,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:264,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:265,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:265,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:266,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:267,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:267,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:270,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:270,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:271,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:272,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:273,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:274,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:274,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:274,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:275,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:275,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:276,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:277,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.server.handlers.RangeRequestTestCase)'
      Src: io.undertow.server.handlers.RangeRequestTestCase:277,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:280,1
    - Dst: '[io.undertow.server.handlers.RangeRequestTestCase].shutdown()'
      Src: io.undertow.server.handlers.RangeRequestTestCase:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 284
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - etag
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 282
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 282
    functionName: '[io.undertow.server.handlers.RangeRequestTestCase].runTest(String,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RangeRequestTestCase.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.RangeRequestTestCase].getFirstHeader(String)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[java.util.Date].<init>(int)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.RangeRequestTestCase)'
    - '[io.undertow.server.handlers.RangeRequestTestCase].shutdown()'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.RangeRequestTestCase)'
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.RangeRequestTestCase].getValue()'
    - '[org.junit.Assert].assertNull(io.undertow.server.handlers.RangeRequestTestCase)'
    - System.currentTimeMillis()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.RangeRequestTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RangeRequestTestCase].runTest(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RangeRequestTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RangeRequestTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/RangeRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RangeRequestTestCase
    signature: '[io.undertow.server.handlers.RangeRequestTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].createTestDir(String,boolean)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:64,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:67,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:70,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:65,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:65,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testURLListing(PathsRetainer,boolean)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testPrefixMatchWithURIAltering()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResourcePredicateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClassLoader()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].createTestDir(String,boolean)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testURLListing(PathsRetainer,boolean)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testPrefixMatchWithURIAltering()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].createTestDir(String,boolean)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:80,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:85,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:85,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:83,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:86,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:81,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testURLListing(PathsRetainer,boolean)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testPrefixMatchNoURIAltering()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResourcePredicateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClassLoader()'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].createTestDir(String,boolean)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testURLListing(PathsRetainer,boolean)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testPrefixMatchNoURIAltering()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].createTestDir(String,boolean)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:96,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:98,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:101,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:101,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:99,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:99,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:104,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:104,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:102,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:102,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:106,1
    - Dst: '[io.undertow.Handlers].predicates(java.util.ArrayList,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testURLListing(PathsRetainer,boolean)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testPathMatchNoURIAltering()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResourcePredicateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].predicates(java.util.ArrayList,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClass()'
    - '[java.util.ArrayList].addAll(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getClassLoader()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].createTestDir(String,boolean)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testURLListing(PathsRetainer,boolean)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testPathMatchNoURIAltering()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:117,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:119,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:120,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:120,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:121,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:121,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:123,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:123,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:124,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:124,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:126,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:127,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:127,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:128,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:128,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:129,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:129,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].contains(String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:130,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:130,1
    - Dst: pathsRetainer.subFile.getFileName()
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:132,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:132,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:133,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:134,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:134,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:134,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:135,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 86
    JavaMethodInfo:
      argumentGenericTypes:
      - PathsRetainer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pathsRetainer
    - testFile
    argTypes:
    - PathsRetainer
    - boolean
    constantsTouched: []
    func_position:
      end: 138
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testURLListing(PathsRetainer,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResourcePredicateHandlerTestCase.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getEntity()'
    - pathsRetainer.subFile.getFileName()
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].contains(String)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].testURLListing(PathsRetainer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase.PathsRetainer].<init>()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:142,1
    - Dst: '[java.nio.file.Files].createTempDirectory(String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:143,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].toFile()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:147,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:148,1
    - Dst: '[java.io.File].mkdir()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:149,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:149,1
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:151,1
    - Dst: '[java.nio.file.Files].createTempFile(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,String,String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:156,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].writeGibberish(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:158,1
    - Dst: '[java.nio.file.Files].createTempDirectory(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,String)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:159,1
    - Dst: '[java.nio.file.Files].createTempFile(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,String,String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:161,1
    - Dst: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].writeGibberish(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PathsRetainer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dirName
    - prefixDirectory
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].createTestDir(String,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResourcePredicateHandlerTestCase.java
    functionUses: 3
    functionsReached:
    - '[java.io.File].<init>(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,String)'
    - '[java.nio.file.Files].createTempDirectory(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,String)'
    - '[java.io.File].mkdir()'
    - '[java.io.File].toPath()'
    - '[java.nio.file.Files].createTempFile(io.undertow.server.handlers.ResourcePredicateHandlerTestCase,String,String,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase.PathsRetainer].<init>()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[java.nio.file.Files].createTempDirectory(String)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].writeGibberish(io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    - '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].toFile()'
    linkageType: ''
    returnType: PathsRetainer
    signature: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].createTestDir(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:168,1
    - Dst: '[java.nio.file.Files].write(java.nio.file.Path,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
      Src: io.undertow.server.handlers.ResourcePredicateHandlerTestCase:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].writeGibberish(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResourcePredicateHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[java.nio.file.Files].write(java.nio.file.Path,io.undertow.server.handlers.ResourcePredicateHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].writeGibberish(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResourcePredicateHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResourcePredicateHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ResourcePredicateHandlerTestCase
    signature: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - Path
      - Path
      - Path
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResourcePredicateHandlerTestCase.PathsRetainer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase.PathsRetainer].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ResourcePredicateHandlerTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ResourcePredicateHandlerTestCase.PathsRetainer
    signature: '[io.undertow.server.handlers.ResourcePredicateHandlerTestCase.PathsRetainer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].reset()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTrailersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:73,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:74,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTrailersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:101,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:104,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:105,1
    - Dst: '[org.apache.http.HttpResponseInterceptor].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:106,1
    - Dst: '[io.undertow.testutils.TestHttpClient].addResponseInterceptor(org.apache.http.HttpResponseInterceptor)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:106,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:120,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:121,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:121,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:123,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:125,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getFooters()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:126,1
    - Dst: header.getName()
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:128,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].equals(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:128,1
    - Dst: header.getValue()
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:129,1
    - Dst: header.getName()
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:130,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].equals(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:130,1
    - Dst: header.getValue()
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:131,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:133,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:137,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:138,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:139,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:139,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:140,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:141,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getFooters()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:142,1
    - Dst: header.getName()
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:144,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].equals(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:144,1
    - Dst: header.getValue()
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:145,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:145,1
    - Dst: header.getName()
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:146,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].equals(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:146,1
    - Dst: header.getValue()
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:147,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:149,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:153,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].shutdown()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].sendHttpRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTrailersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
    - '[io.undertow.testutils.TestHttpClient].addResponseInterceptor(org.apache.http.HttpResponseInterceptor)'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getFooters()'
    - '[org.junit.Assert].fail(String)'
    - '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].equals(String)'
    - '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].generateMessage(int)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[org.apache.http.HttpResponseInterceptor].<init>()'
    - header.getValue()
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].getStatusCode()'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - header.getName()
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].sendHttpRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:160,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:160,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:162,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ChunkedResponseTrailersTestCase:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - repetitions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].generateMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTrailersTestCase.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].<init>(io.undertow.server.handlers.ChunkedResponseTrailersTestCase)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].generateMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ChunkedResponseTrailersTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTrailersTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ChunkedResponseTrailersTestCase
    signature: '[io.undertow.server.handlers.ChunkedResponseTrailersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].reset()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTransferCodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:64,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:65,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:66,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:66,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:66,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:84,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:84,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:66,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTransferCodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.handlers.PathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:106,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:107,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:107,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:110,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].shutdown()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].testMultiBufferWrite()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTransferCodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].shutdown()'
    - '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].testMultiBufferWrite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:116,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:117,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:120,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:121,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:122,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:122,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:123,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:126,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:127,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:127,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:128,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].generateMessage(int)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:131,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:132,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:132,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:133,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:135,1
    - Dst: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].shutdown()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].sendHttpRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTransferCodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].shutdown()'
    - '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
    - '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].generateMessage(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].sendHttpRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:140,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:140,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:142,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - repetitions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].generateMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTransferCodingTestCase.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].<init>(io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].generateMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ChunkedResponseTransferCodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase
    signature: '[io.undertow.server.handlers.ChunkedResponseTransferCodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:46,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:48,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.AllowedMethodsHandler)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:51,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:51,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:52,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:53,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:53,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.AllowedMethodsTestCase)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:53,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.AllowedMethodsTestCase)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:54,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:56,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:56,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:57,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:57,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:58,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:59,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:59,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.AllowedMethodsTestCase)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:59,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.AllowedMethodsTestCase)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:60,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:62,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].shutdown()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.AllowedMethodsTestCase].testAllowedMethods()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AllowedMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AllowedMethodsHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.AllowedMethodsTestCase)'
    - '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.AllowedMethodsTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.AllowedMethodsTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.AllowedMethodsHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AllowedMethodsTestCase].testAllowedMethods()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:68,1
    - Dst: '[io.undertow.server.handlers.DisallowedMethodsHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.DisallowedMethodsHandler)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:73,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:74,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:75,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.AllowedMethodsTestCase)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:75,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.AllowedMethodsTestCase)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:76,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:78,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:79,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:80,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:81,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.AllowedMethodsTestCase)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:81,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.AllowedMethodsTestCase)'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:84,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsTestCase].shutdown()'
      Src: io.undertow.server.handlers.AllowedMethodsTestCase:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.AllowedMethodsTestCase].testDisallowedMethods()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AllowedMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.handlers.DisallowedMethodsHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,io.undertow.util.HttpString)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.AllowedMethodsTestCase)'
    - '[io.undertow.server.handlers.AllowedMethodsTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.AllowedMethodsTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.AllowedMethodsTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.DisallowedMethodsHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AllowedMethodsTestCase].testDisallowedMethods()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AllowedMethodsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.AllowedMethodsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/AllowedMethodsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AllowedMethodsTestCase
    signature: '[io.undertow.server.handlers.AllowedMethodsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:40,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:42,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler].<init>(java.util.concurrent.CountDownLatch)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:43,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].<init>(io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler,null)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:43,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ActiveRequestTrackerHandler)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:44,1
    - Dst: '[Thread].<init>()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:47,1
    - Dst: '[Thread].start()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:48,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].getTrackedRequests()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:50,1
    - Dst: '[java.util.List<io.undertow.server.RequestStatistics>].isEmpty()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:58,1
    - Dst: '[Thread].isAlive()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:58,1
    - Dst: TimeUnit.MILLISECONDS.sleep(int)
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:59,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].getTrackedRequests()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:60,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:64,1
    - Dst: '[java.util.List<io.undertow.server.RequestStatistics>].size()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:67,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:67,1
    - Dst: '[java.util.List<io.undertow.server.RequestStatistics>].get(int)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:69,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getUri()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:70,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:70,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getMethod()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:71,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:71,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getProtocol()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:72,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:72,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getQueryString()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:73,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:73,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getRemoteAddress()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:74,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:74,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getBytesReceived()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:75,1
    - Dst: '[org.junit.Assert].assertNotSame(int,io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:75,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getBytesSent()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:76,1
    - Dst: '[org.junit.Assert].assertNotSame(int,io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:76,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getStartTime()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:77,1
    - Dst: '[org.junit.Assert].assertNotSame(int,io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:77,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].getProcessingTime()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:78,1
    - Dst: '[org.junit.Assert].assertNotSame(int,io.undertow.server.handlers.ActiveRequestTrackerTest)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:80,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerTest].shutdown()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerTest].testRequestTracking()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ActiveRequestTrackerTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getProtocol()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].shutdown()'
    - '[Thread].isAlive()'
    - '[org.junit.Assert].assertNotSame(int,io.undertow.server.handlers.ActiveRequestTrackerTest)'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getProcessingTime()'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.ActiveRequestTrackerTest)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getRemoteAddress()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler].<init>(java.util.concurrent.CountDownLatch)'
    - '[java.util.List<io.undertow.server.RequestStatistics>].get(int)'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getUri()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getStartTime()'
    - '[Thread].start()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getMethod()'
    - '[Thread].<init>()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getBytesReceived()'
    - '[java.util.List<io.undertow.server.RequestStatistics>].size()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerHandler].<init>(io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler,null)'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.ActiveRequestTrackerTest)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ActiveRequestTrackerHandler)'
    - '[java.util.List<io.undertow.server.RequestStatistics>].isEmpty()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getQueryString()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerTest].getBytesSent()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - TimeUnit.MILLISECONDS.sleep(int)
    - '[io.undertow.server.handlers.ActiveRequestTrackerHandler].getTrackedRequests()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerTest].testRequestTracking()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:86,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - client
    argTypes:
    - io.undertow.testutils.TestHttpClient
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerTest].makeRequest(io.undertow.testutils.TestHttpClient)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ActiveRequestTrackerTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerTest].makeRequest(io.undertow.testutils.TestHttpClient)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ActiveRequestTrackerTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ActiveRequestTrackerTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ActiveRequestTrackerTest
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - latch
    argTypes:
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler].<init>(java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ActiveRequestTrackerTest.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler].<init>(java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].await(int,io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ActiveRequestTrackerTest.java
    functionUses: 0
    functionsReached:
    - '[CountDownLatch].await(int,io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerTest.DelayHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetAttributeHandler.class.getClassLoader()
      Src: io.undertow.server.handlers.SetAttributeTestCase:52,1
    - Dst: '[io.undertow.Handlers].setAttribute(io.undertow.server.handlers.ResponseCodeHandler,String,String,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:52,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetAttributeHandler)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:52,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:54,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:56,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:56,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:57,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:58,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:58,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:58,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:59,1
    - Dst: result.getHeaders("foo")[0].getValue()
      Src: io.undertow.server.handlers.SetAttributeTestCase:60,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:62,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:62,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:63,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:64,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:64,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:65,1
    - Dst: result.getHeaders("foo")[0].getValue()
      Src: io.undertow.server.handlers.SetAttributeTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:69,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:69,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:70,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:71,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:71,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:72,1
    - Dst: result.getHeaders("foo")[0].getValue()
      Src: io.undertow.server.handlers.SetAttributeTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:73,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:76,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].shutdown()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.SetAttributeTestCase].testSettingHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SetAttributeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetAttributeHandler)'
    - SetAttributeHandler.class.getClassLoader()
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.server.handlers.SetAttributeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - result.getHeaders("foo")[0].getValue()
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].setAttribute(io.undertow.server.handlers.ResponseCodeHandler,String,String,io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SetAttributeTestCase].testSettingHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getClass()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:84,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:84,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].path()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:84,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].<init>()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:85,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].addPrefixPath(String,io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:84,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getClass()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:87,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:87,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].<init>()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:87,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].rewrite(String,String,io.undertow.server.handlers.SetAttributeTestCase,io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:87,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].addPrefixPath(String,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:84,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].rewrite(String,String,io.undertow.server.handlers.SetAttributeTestCase,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:93,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:94,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:94,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:99,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:100,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:100,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:102,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:105,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:106,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:107,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:107,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:112,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].shutdown()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:112,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getClass()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:116,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:116,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].path()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:117,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].<init>()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:117,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].addPrefixPath(String,io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:117,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].rewrite(String,String,io.undertow.server.handlers.SetAttributeTestCase,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:122,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:123,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:123,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:128,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].shutdown()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 68
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.SetAttributeTestCase].testRewrite()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SetAttributeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].<init>()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.server.handlers.SetAttributeTestCase].getClass()'
    - '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.SetAttributeTestCase].addPrefixPath(String,io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
    - '[io.undertow.server.handlers.SetAttributeTestCase].addPrefixPath(String,io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.server.handlers.SetAttributeTestCase].rewrite(String,String,io.undertow.server.handlers.SetAttributeTestCase,io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.server.handlers.SetAttributeTestCase].path()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.SetAttributeTestCase].shutdown()'
    - '[io.undertow.server.handlers.SetAttributeTestCase].getClassLoader()'
    - '[io.undertow.server.handlers.SetAttributeTestCase].rewrite(String,String,io.undertow.server.handlers.SetAttributeTestCase,io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SetAttributeTestCase].testRewrite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].<init>()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:135,1
    - Dst: SetAttributeHandler.class.getClassLoader()
      Src: io.undertow.server.handlers.SetAttributeTestCase:135,1
    - Dst: '[io.undertow.Handlers].setAttribute(io.undertow.server.handlers.SetAttributeTestCase.InfoHandler,String,String,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:135,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetAttributeHandler)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:138,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:140,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:140,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:141,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:142,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:142,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:142,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:144,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:146,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:146,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:147,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:148,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:148,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:148,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.SetAttributeTestCase:150,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:153,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase].shutdown()'
      Src: io.undertow.server.handlers.SetAttributeTestCase:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.SetAttributeTestCase].testSetQueryParameter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SetAttributeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].setAttribute(io.undertow.server.handlers.SetAttributeTestCase.InfoHandler,String,String,io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.server.handlers.SetAttributeTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SetAttributeHandler)'
    - '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].<init>()'
    - SetAttributeHandler.class.getClassLoader()
    - '[io.undertow.server.handlers.SetAttributeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SetAttributeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.SetAttributeTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SetAttributeTestCase].testSetQueryParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SetAttributeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SetAttributeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeTestCase
    signature: '[io.undertow.server.handlers.SetAttributeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:162,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:163,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:163,1
    - Dst: param.getValue()
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:164,1
    - Dst: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].getFirst()'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:164,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:164,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:166,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:166,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
      Src: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SetAttributeTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[StringBuilder].append(io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
    - '[StringBuilder].<init>(io.undertow.server.handlers.SetAttributeTestCase.InfoHandler)'
    - '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - param.getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SetAttributeTestCase.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeTestCase.InfoHandler
    signature: '[io.undertow.server.handlers.SetAttributeTestCase.InfoHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:49,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SecureCookieHandler)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:56,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:58,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:60,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:60,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:62,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:62,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:62,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:63,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:64,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:65,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:65,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SecureCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:65,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:67,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:67,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:68,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:70,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:71,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:73,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].testSecureCookieHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SecureCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.SecureCookieHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SecureCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getContent()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SecureCookieHandler)'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].testSecureCookieHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:81,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SecureCookieHandler)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:93,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:94,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:94,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:96,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:97,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getEntity()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:98,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getContent()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:98,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SecureCookieHandlerTestCase)'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:100,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.SecureCookieHandlerTestCase:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].testSecureCookieHandlerWithManuallySetCookie()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SecureCookieHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.SecureCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.SecureCookieHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.SecureCookieHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getContent()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SecureCookieHandler)'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.server.handlers.SecureCookieHandlerTestCase].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].testSecureCookieHandlerWithManuallySetCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SecureCookieHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/SecureCookieHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SecureCookieHandlerTestCase
    signature: '[io.undertow.server.handlers.SecureCookieHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:24,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:25,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:24,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:31,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:24,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:37,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:24,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:43,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:24,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:49,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:24,1
    - Dst: '[io.undertow.Handlers].exceptionHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:56,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:57,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandler].addExceptionHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:56,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:63,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandler].addExceptionHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:56,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandler].addExceptionHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ExceptionHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:79,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:80,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:81,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:81,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:84,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:85,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:86,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:86,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:89,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:90,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:91,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:91,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:95,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:96,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:96,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:97,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:99,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:99,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:100,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:101,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:101,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 87
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.ExceptionHandlerTestCase].testExceptionMappers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ExceptionHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ExceptionHandler].addExceptionHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ExceptionHandler)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].exceptionHandler(io.undertow.server.handlers.PathHandler)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ExceptionHandlerTestCase].testExceptionMappers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:111,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:112,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:111,1
    - Dst: '[io.undertow.Handlers].exceptionHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:120,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ExceptionHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:123,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:125,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:126,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:127,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:127,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:130,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.ExceptionHandlerTestCase].testReThrowUnmatchedException()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ExceptionHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].exceptionHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ExceptionHandler)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ExceptionHandlerTestCase].testReThrowUnmatchedException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:136,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:137,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:136,1
    - Dst: '[io.undertow.Handlers].exceptionHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:144,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:145,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandler].addExceptionHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:144,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:163,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:165,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:165,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:166,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:167,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:167,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:167,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:168,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:168,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:170,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.ExceptionHandlerTestCase:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.ExceptionHandlerTestCase].testAttachException()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ExceptionHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ExceptionHandler].addExceptionHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.ExceptionHandlerTestCase)'
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.ExceptionHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.Handlers].exceptionHandler(io.undertow.server.handlers.PathHandler)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.ExceptionHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ExceptionHandlerTestCase].testAttachException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ExceptionHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ExceptionHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ExceptionHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ExceptionHandlerTestCase
    signature: '[io.undertow.server.handlers.ExceptionHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ExceptionHandlerTestCase.ParentException
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ExceptionHandlerTestCase.ParentException].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ExceptionHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ExceptionHandlerTestCase.ParentException
    signature: '[io.undertow.server.handlers.ExceptionHandlerTestCase.ParentException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ExceptionHandlerTestCase.ChildException
      static: false
      superClass: ParentException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ExceptionHandlerTestCase.ChildException].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ExceptionHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ExceptionHandlerTestCase.ChildException
    signature: '[io.undertow.server.handlers.ExceptionHandlerTestCase.ChildException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ExceptionHandlerTestCase.AnotherChildException
      static: false
      superClass: ParentException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ExceptionHandlerTestCase.AnotherChildException].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/ExceptionHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ExceptionHandlerTestCase.AnotherChildException
    signature: '[io.undertow.server.handlers.ExceptionHandlerTestCase.AnotherChildException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:58,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:60,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:60,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:60,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:60,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:63,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:69,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:71,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:71,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:72,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:73,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:73,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:75,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:76,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:80,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:81,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:81,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:82,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:83,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:89,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:90,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:90,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:91,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:92,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:95,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:95,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:97,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:98,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:98,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:99,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:100,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:104,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:104,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:106,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:107,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:107,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:108,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:109,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:110,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:112,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:112,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:114,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:115,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:115,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:116,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:117,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:122,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].shutdown()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 97
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].testBasicEncodingSelect()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/EncodingSelectionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int)'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - header[0].getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].testBasicEncodingSelect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:133,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:135,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:135,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:135,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:135,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:138,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:135,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:144,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:146,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:146,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:147,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:148,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:149,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:149,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:150,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:151,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:154,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:154,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:155,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:156,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:157,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:157,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:157,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:158,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:161,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:161,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:162,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:163,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:164,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:164,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:164,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:165,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:166,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:167,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:169,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:169,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:171,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:172,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:172,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:172,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:173,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:174,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:174,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:175,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:178,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:178,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:179,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:180,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:181,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:181,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:181,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:182,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:183,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:183,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:184,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:186,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:186,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:187,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:188,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:189,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:189,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:189,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:190,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:191,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:191,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:192,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:196,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].shutdown()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 95
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 198
    functionName: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].testEncodingSelectWithQValue()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/EncodingSelectionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int)'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - header[0].getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].testEncodingSelectWithQValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:202,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:204,1
    - Dst: '[io.undertow.predicate.Predicates].falsePredicate()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:205,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:204,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:204,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:204,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:207,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:204,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:213,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:215,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:215,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:216,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:217,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:218,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:218,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:218,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:219,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:220,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:220,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:221,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:223,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:223,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:224,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:225,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:226,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:226,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:226,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:227,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:229,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:229,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:230,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:231,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:232,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:232,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:232,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:233,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:234,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:235,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:237,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:237,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:238,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:239,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:240,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:240,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:240,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:241,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:242,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:242,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:243,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:246,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:246,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:247,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:248,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:249,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:249,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:249,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:250,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:251,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:251,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:252,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:254,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:254,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:255,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:256,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:257,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:257,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:257,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:258,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:259,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:259,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:260,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:264,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].shutdown()'
      Src: io.undertow.server.handlers.encoding.EncodingSelectionTestCase:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 95
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 266
    functionName: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].testEncodingSelectionWithQValueAndPredicate()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/EncodingSelectionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int)'
    - '[io.undertow.predicate.Predicates].falsePredicate()'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase,int,io.undertow.predicate.Predicate)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusLine()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.EncodingSelectionTestCase)'
    - header[0].getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].testEncodingSelectionWithQValueAndPredicate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.EncodingSelectionTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/EncodingSelectionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.EncodingSelectionTestCase
    signature: '[io.undertow.server.handlers.encoding.EncodingSelectionTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:64,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:65,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:66,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:65,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:67,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:65,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:68,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:69,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:68,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:77,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:77,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:77,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:77,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:98,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:99,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.RequestEncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase3.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
    - '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.RequestEncodingHandler)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ExecutorService].shutdownNow()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].boom()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase3.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ExecutorService].shutdownNow()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].boom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:116,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:118,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:120,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:120,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].testDeflateEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase3.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(String,String)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].testDeflateEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:127,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:128,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:130,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:132,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].testGzipEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase3.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(String,String)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].testGzipEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:137,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].disableContentCompression()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:137,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].build()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:137,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:139,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:139,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:140,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:141,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:142,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:142,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:142,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:143,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:144,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:144,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:145,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:147,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:147,1
    - Dst: '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:148,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:148,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:149,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:151,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:152,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:152,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:152,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:153,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:154,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:154,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:154,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - theMessage
    - encoding
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase3.java
    functionUses: 2
    functionsReached:
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].length()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].build()'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].getStatusLine()'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].disableContentCompression()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].getHeaders(String)'
    - header[0].getValue()
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].runTest(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase3.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase3].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:53,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:54,1
    - Dst: '[io.undertow.predicate.Predicates].maxContentSize(int)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:54,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:53,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:53,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:55,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:53,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/DeflateContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.predicate.Predicates].maxContentSize(int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int,io.undertow.predicate.Predicate)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].runTest(String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].testDeflateEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/DeflateContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].runTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].testDeflateEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:85,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].build()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:88,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:89,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:90,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:90,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:92,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].testSmallMessagePredicateDoesNotCompress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/DeflateContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].build()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getHeaders(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].testSmallMessagePredicateDoesNotCompress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:100,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:102,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:104,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].testDeflateEncodingBigResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/DeflateContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - '[StringBuilder].<init>(int)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].testDeflateEncodingBigResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:109,1
    - Dst: '[java.util.Random].nextInt()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:109,1
    - Dst: '[java.util.Random].<init>(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:112,1
    - Dst: '[java.util.Random].nextInt(int)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:113,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:114,1
    - Dst: '[java.util.Random].nextInt(int)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:116,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:116,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:118,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:118,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].testDeflateEncodingRandomSizeResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/DeflateContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - '[java.util.Random].<init>()'
    - '[RuntimeException].<init>(String,io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - '[StringBuilder].<init>(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - '[java.util.Random].nextInt(int)'
    - '[java.util.Random].<init>(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - '[java.util.Random].nextInt()'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].testDeflateEncodingRandomSizeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:126,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].build()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:126,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:129,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:130,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:131,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:131,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getEntity()'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:132,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - theMessage
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].runTest(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/DeflateContentEncodingTestCase.java
    functionUses: 1
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].build()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].runTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/DeflateContentEncodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase
    signature: '[io.undertow.server.handlers.encoding.DeflateContentEncodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:64,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:65,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:64,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:66,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:64,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:67,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:68,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:67,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:76,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:76,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:76,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:76,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:90,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:91,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.RequestEncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
    - '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.RequestEncodingHandler)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:104,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:106,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:108,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:108,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:109,1
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:113,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:115,1
    - Dst: '[java.util.Base64].getEncoder()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:116,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].encodeToString(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:117,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].testDeflateEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Base64].getEncoder()'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(String,String)'
    - '[java.util.Random].<init>()'
    - '[java.util.Random].nextBytes(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].encodeToString(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].testDeflateEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:123,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:124,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:126,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:128,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:128,1
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:130,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:132,1
    - Dst: '[java.util.Base64].getEncoder()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:133,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].encodeToString(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:134,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].testGzipEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Base64].getEncoder()'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(String,String)'
    - '[java.util.Random].<init>()'
    - '[java.util.Random].nextBytes(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].encodeToString(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].testGzipEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:145,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:145,1
    - Dst: '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:146,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:146,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:147,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:149,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].disableContentCompression()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:149,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].build()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:149,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:150,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:151,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:151,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:152,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:153,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].testDeflateWithNoWrapping()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].disableContentCompression()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[String].length()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].build()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].testDeflateWithNoWrapping()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:160,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:162,1
    - Dst: '[java.util.Base64].getEncoder()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:163,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].encodeToString(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:164,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getBytes(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:166,1
    - Dst: '[java.util.zip.Deflater].<init>(boolean)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:168,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:169,1
    - Dst: '[java.util.zip.Deflater].finish()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:170,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:171,1
    - Dst: '[java.util.zip.Deflater].end()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:172,1
    - Dst: '[java.util.Arrays].copyOf(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:174,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:175,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:175,1
    - Dst: '[org.apache.http.entity.ByteArrayEntity].<init>(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:176,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:176,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:177,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:179,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].disableContentCompression()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:179,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].build()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:179,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:180,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:181,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:181,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:181,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:182,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:183,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:183,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:183,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].testDeflateWithNoWrappingLargeRequestBody()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Deflater].deflate(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[java.util.zip.Deflater].<init>(boolean)'
    - '[java.util.Random].<init>()'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].encodeToString(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getBytes(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusCode()'
    - '[String].length()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[java.util.Base64].getEncoder()'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].length()'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[java.util.Random].nextBytes(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[java.util.Arrays].copyOf(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].disableContentCompression()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].build()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[java.util.zip.Deflater].finish()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,String)'
    - '[java.util.zip.Deflater].end()'
    - '[org.apache.http.entity.ByteArrayEntity].<init>(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[java.util.zip.Deflater].setInput(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].testDeflateWithNoWrappingLargeRequestBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:189,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].disableContentCompression()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:189,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].build()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:189,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:191,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:191,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:192,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:193,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:194,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:194,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:194,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:195,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:196,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:199,1
    - Dst: '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:200,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:200,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:201,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:203,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:204,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:204,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:204,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:205,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:206,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:206,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:206,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - theMessage
    - encoding
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 210
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase.java
    functionUses: 2
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].length()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].disableContentCompression()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].build()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase)'
    - '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - header[0].getValue()
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].runTest(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:59,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:60,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:59,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:61,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:59,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:62,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:63,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:62,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:71,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:71,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:71,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:71,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:85,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:86,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.RequestEncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
    - '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.RequestEncodingHandler)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:99,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:101,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:103,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:103,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].testDeflateEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2,String)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].testDeflateEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:110,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:111,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:113,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:115,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].testGzipEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2,String)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].testGzipEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:120,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].disableContentCompression()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:120,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].build()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:120,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:123,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:124,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:125,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:125,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:125,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:126,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:127,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:127,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:128,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:130,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:130,1
    - Dst: '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:131,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:131,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:132,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:134,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:135,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:135,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:135,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:136,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:137,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:137,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:137,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - theMessage
    - encoding
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase2.java
    functionUses: 2
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].length()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].build()'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].disableContentCompression()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].getStatusLine()'
    - '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2)'
    - header[0].getValue()
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].getHeaders(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].runTest(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:64,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:65,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:66,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:65,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:67,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:65,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:68,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:69,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:68,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:77,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:77,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:77,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:77,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:98,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:99,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.RequestEncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase4.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
    - '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.RequestEncodingHandler)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ExecutorService].shutdownNow()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].boom()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase4.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ExecutorService].shutdownNow()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].boom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:117,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:119,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:121,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:121,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].testDeflateEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase4.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4,String)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].testDeflateEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:128,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:129,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:131,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:133,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].testGzipEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase4.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4,String)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].testGzipEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:138,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].disableContentCompression()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:138,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].build()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:138,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:140,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:140,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:141,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:142,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:143,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:143,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:143,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:144,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:145,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:145,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:146,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:148,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:148,1
    - Dst: '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:149,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:149,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:150,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:152,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:153,1
    - Dst: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:153,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:153,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:154,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:155,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:155,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:155,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - theMessage
    - encoding
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase4.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].build()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].getHeaders(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].length()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].disableContentCompression()'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].getStatusLine()'
    - '[org.apache.http.entity.ByteArrayEntity].<init>(byte[])'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4,io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4)'
    - header[0].getValue()
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.ByteArrayEntity)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].runTest(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.ExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/RequestContentEncodingTestCase4.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4
    signature: '[io.undertow.server.handlers.encoding.RequestContentEncodingTestCase4].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:53,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:54,1
    - Dst: '[io.undertow.predicate.Predicates].parse(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:54,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:53,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:53,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:55,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:53,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int,io.undertow.predicate.Predicate)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.predicate.Predicates].parse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].runTest(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testGzipEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].runTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testGzipEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:84,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].build()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:86,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:86,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:87,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:88,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:89,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:89,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:91,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testSmallMessagePredicateDoesNotCompress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].build()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getHeaders(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testSmallMessagePredicateDoesNotCompress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:101,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].build()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:104,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:105,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:106,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:106,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:108,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:109,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testAcceptIdentity()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - header[0].getValue()
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].build()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getHeaders(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testAcceptIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:117,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:119,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:121,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testGZipEncodingLargeResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[StringBuilder].<init>(int)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testGZipEncodingLargeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:126,1
    - Dst: '[java.util.Random].nextInt()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:126,1
    - Dst: '[java.util.Random].<init>(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:129,1
    - Dst: '[java.util.Random].nextInt(int)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:130,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:131,1
    - Dst: '[java.util.Random].nextInt(int)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:133,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:133,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:135,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:135,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testGzipEncodingRandomSizeResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].runTest(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[StringBuilder].append(char)'
    - '[java.util.Random].<init>()'
    - '[java.util.Random].nextInt(int)'
    - '[java.util.Random].nextInt()'
    - '[RuntimeException].<init>(String,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[StringBuilder].toString()'
    - '[java.util.Random].<init>(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].testGzipEncodingRandomSizeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:142,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].build()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:142,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:145,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:146,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:147,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:147,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getEntity()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:148,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - theMessage
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].runTest(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingTestCase.java
    functionUses: 1
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].build()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].getEntity()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].runTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.GzipContentEncodingTestCase
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].simpleDeflaterPool(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:56,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:57,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:58,1
    - Dst: '[io.undertow.predicate.Predicates].parse(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:58,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:57,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:57,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:59,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingSimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].simpleDeflaterPool(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int,io.undertow.predicate.Predicate)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.predicate.Predicates].parse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].runTest(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testGzipEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingSimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].runTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testGzipEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:89,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].build()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:91,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:91,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:92,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:93,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:94,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:94,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:96,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testSmallMessagePredicateDoesNotCompress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingSimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].build()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testSmallMessagePredicateDoesNotCompress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:106,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].build()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:109,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:110,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:111,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:111,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:113,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:114,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testAcceptIdentity()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingSimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].build()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getHeaders(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusLine()'
    - header[0].getValue()
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testAcceptIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:122,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:124,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:126,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].runTest(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testGZipEncodingLargeResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingSimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].runTest(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testGZipEncodingLargeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:131,1
    - Dst: '[java.util.Random].nextInt()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:131,1
    - Dst: '[java.util.Random].<init>(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:134,1
    - Dst: '[java.util.Random].nextInt(int)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:135,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:136,1
    - Dst: '[java.util.Random].nextInt(int)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:138,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:138,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:140,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].runTest(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:140,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testGzipEncodingRandomSizeResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingSimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[java.util.Random].<init>()'
    - '[java.util.Random].<init>(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[java.util.Random].nextInt(int)'
    - '[java.util.Random].nextInt()'
    - '[StringBuilder].toString()'
    - '[RuntimeException].<init>(String,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[StringBuilder].<init>(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].runTest(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].testGzipEncodingRandomSizeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:147,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].build()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:147,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:150,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:151,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:152,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:152,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getEntity()'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:153,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:154,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - theMessage
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].runTest(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingSimpleObjectPoolTestCase.java
    functionUses: 1
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].build()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getEntity()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].runTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/encoding/GzipContentEncodingSimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase
    signature: '[io.undertow.server.handlers.encoding.GzipContentEncodingSimpleObjectPoolTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:45,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:46,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].makeSuccessfulRequest(String)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:58,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:59,1
    - Dst: '[AssertionError].<init>(String,io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].testFlushAfterContentLengthReached()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/BlockingServerStreamClosureTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[AssertionError].<init>(String,io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].makeSuccessfulRequest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].testFlushAfterContentLengthReached()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:67,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:68,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].makeSuccessfulRequest(String)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:80,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:81,1
    - Dst: '[AssertionError].<init>(String,io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].testEmptyWriteAfterContentLength()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/BlockingServerStreamClosureTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[AssertionError].<init>(String,io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].makeSuccessfulRequest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].testEmptyWriteAfterContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:89,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:90,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].makeSuccessfulRequest(String)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:101,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:102,1
    - Dst: '[AssertionError].<init>(String,io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].testFlushAfterClose()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/BlockingServerStreamClosureTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[AssertionError].<init>(String,io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].makeSuccessfulRequest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].testFlushAfterClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:109,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:111,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:111,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:112,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:113,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:113,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:116,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].shutdown()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - expectedContent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].makeSuccessfulRequest(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/BlockingServerStreamClosureTestCase.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].makeSuccessfulRequest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/BlockingServerStreamClosureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase
    signature: '[io.undertow.server.handlers.blocking.BlockingServerStreamClosureTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:61,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:63,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Long>)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:120,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].setupServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.OptionMap].create(org.xnio.Option<Long>)'
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].setupServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:131,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:133,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:133,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:134,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:135,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:135,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:136,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:138,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].sendHttpRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].sendHttpRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:145,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:146,1
    - Dst: '[org.apache.http.client.methods.HttpHead].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:146,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:150,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:151,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:151,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:152,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:153,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:153,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getValue()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:156,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testHeadRequests()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getValue()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[String].length()'
    - '[org.apache.http.client.methods.HttpHead].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testHeadRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:163,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:164,1
    - Dst: '[org.apache.http.client.methods.HttpDelete].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:164,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpDelete)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:168,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:169,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:169,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:169,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:170,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:173,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testDeleteRequests()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpDelete)'
    - '[org.apache.http.client.methods.HttpDelete].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testDeleteRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:179,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:181,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:183,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:184,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:186,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:186,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:187,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:188,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:188,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:188,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:189,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].length()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:190,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:190,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:190,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].equals(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:191,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:191,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:193,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:193,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:194,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:195,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:195,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:195,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:196,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].equals(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:197,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:199,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:200,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:201,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:201,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:201,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:202,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].equals(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:203,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:203,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:206,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testLargeResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].length()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[String].length()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].equals(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testLargeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:214,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:216,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:216,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:217,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:217,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:218,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:219,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:219,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:219,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:220,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:220,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:220,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:222,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testSmallRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[String].equals(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testSmallRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:229,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:231,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:233,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:235,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:235,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:236,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:236,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:236,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:237,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:238,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:238,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:238,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:239,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:239,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].equals(String)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:239,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:239,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:241,1
    - Dst: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
      Src: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testLargeRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[StringBuilder].toString()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].equals(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].testLargeRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/SimpleBlockingServerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase
    signature: '[io.undertow.server.handlers.blocking.SimpleBlockingServerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:45,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:46,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:47,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:47,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:61,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:61,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:62,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:63,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:63,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:63,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:64,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:66,1
    - Dst: '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].shutdown()'
      Src: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].testResponseAfterStreamReset()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/BlockingServerStreamResetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].testResponseAfterStreamReset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/blocking/BlockingServerStreamResetTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase
    signature: '[io.undertow.server.handlers.blocking.BlockingServerStreamResetTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:44,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.handlers.error.FileErrorPageHandlerTestCase,int)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.error.FileErrorPageHandler)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:48,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:50,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:50,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:51,1
    - Dst: result.getHeaders("Content-Type")[0].getValue()
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:52,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.error.FileErrorPageHandlerTestCase)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:52,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:53,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:53,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.error.FileErrorPageHandlerTestCase)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:53,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.error.FileErrorPageHandlerTestCase)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:54,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:56,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.error.FileErrorPageHandlerTestCase)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:56,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:59,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].testFileBasedErrorPageIsGenerated()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/error/FileErrorPageHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.error.FileErrorPageHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.error.FileErrorPageHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.error.FileErrorPageHandler)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].contains(String)'
    - result.getHeaders("Content-Type")[0].getValue()
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.error.FileErrorPageHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.handlers.error.FileErrorPageHandlerTestCase,int)'
    - '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.error.FileErrorPageHandlerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].testFileBasedErrorPageIsGenerated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/error/FileErrorPageHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandlerTestCase
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:42,1
    - Dst: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].<init>()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:44,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.error.SimpleErrorPageHandler)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:45,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:47,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:47,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:48,1
    - Dst: '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:49,1
    - Dst: '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:49,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:49,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:50,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:52,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:52,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:55,1
    - Dst: '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].testSimpleErrorPageIsGenerated()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/error/SimpleErrorPageHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.error.SimpleErrorPageHandler].<init>()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase)'
    - '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.error.SimpleErrorPageHandler)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].contains(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].testSimpleErrorPageIsGenerated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/error/SimpleErrorPageHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:53,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:55,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:66,1
    - Dst: '[io.undertow.server.handlers.cache.CacheHandler].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.cache.CacheHandler)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:67,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:69,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:71,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:71,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:74,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:75,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:75,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:76,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:79,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:80,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:80,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:83,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:84,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:87,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:88,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:88,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:88,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:91,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:91,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:93,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:94,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:94,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.caching.CacheHandlerTestCase)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:98,1
    - Dst: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.caching.CacheHandlerTestCase:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].testBasicPathBasedCaching()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/caching/CacheHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.caching.CacheHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.cache.CacheHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.caching.CacheHandlerTestCase)'
    - '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.cache.CacheHandler].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.HttpHandler)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.caching.CacheHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.caching.CacheHandlerTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].testBasicPathBasedCaching()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.caching.CacheHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/caching/CacheHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.caching.CacheHandlerTestCase
    signature: '[io.undertow.server.handlers.caching.CacheHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:56,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:58,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.sse.ServerSentEventHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:88,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:89,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:89,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:95,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].shutdown()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testSSE()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/sse/ServerSentEventTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.sse.ServerSentEventHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testSSE()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:101,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:103,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:103,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.sse.ServerSentEventHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:103,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:122,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:123,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:123,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:126,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:129,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].shutdown()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testRetry()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/sse/ServerSentEventTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.sse.ServerSentEventHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testRetry()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:136,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:137,1
    - Dst: '[org.apache.http.impl.client.DecompressingHttpClient].<init>(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:137,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:140,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:141,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:140,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:140,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:142,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:142,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.handlers.sse.ServerSentEventHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:140,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:140,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:161,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:161,1
    - Dst: '[org.apache.http.impl.client.DecompressingHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:162,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:163,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:163,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:163,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getEntity()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:164,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getContent()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:164,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].assertData(io.undertow.server.handlers.sse.ServerSentEventTestCase,String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:165,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:166,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].send(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:166,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].assertData(io.undertow.server.handlers.sse.ServerSentEventTestCase,String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:167,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:168,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].close()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:168,1
    - Dst: '[org.apache.http.impl.client.DecompressingHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:170,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].shutdown()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testProgressiveSSEWithCompression()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/sse/ServerSentEventTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getContent()'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.handlers.sse.ServerSentEventHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].assertData(io.undertow.server.handlers.sse.ServerSentEventTestCase,String)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].close()'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int)'
    - '[org.apache.http.impl.client.DecompressingHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].send(String)'
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getEntity()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.apache.http.impl.client.DecompressingHttpClient].getConnectionManager()'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[org.apache.http.impl.client.DecompressingHttpClient].<init>(io.undertow.testutils.TestHttpClient)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].shutdown()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testProgressiveSSEWithCompression()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:175,1
    - Dst: '[java.io.InputStream].read(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:179,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:181,1
    - Dst: '[org.junit.Assert].fail(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:185,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - stream
    - data
    argTypes:
    - java.io.InputStream
    - String
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].assertData(java.io.InputStream,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/sse/ServerSentEventTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[org.junit.Assert].fail(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[java.io.InputStream].read(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[org.junit.Assert].fail(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].assertData(java.io.InputStream,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:196,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:197,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:199,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:202,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:202,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.sse.ServerSentEventHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:202,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:220,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:220,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:221,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:222,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:222,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:222,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:225,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:228,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].shutdown()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 230
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testLargeMessage()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/sse/ServerSentEventTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.sse.ServerSentEventHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testLargeMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:235,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:235,1
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:235,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:236,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:237,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:238,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:238,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.sse.ServerSentEventHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:238,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:263,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:264,1
    - Dst: ("GET / HTTP/1.1\r\nHost:" + DefaultServer.getHostAddress() +"\r\n\r\n").getBytes()
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:265,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].write(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:265,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].flush()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:266,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:267,1
    - Dst: '[org.junit.Assert].fail()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:268,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].close()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:270,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].close()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:271,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:272,1
    - Dst: '[org.junit.Assert].fail()'
      Src: io.undertow.server.handlers.sse.ServerSentEventTestCase:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 275
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testConnectionFail()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/sse/ServerSentEventTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.net.Socket].<init>(String,int)'
    - '[java.net.Socket].getInputStream()'
    - ("GET / HTTP/1.1\r\nHost:" + DefaultServer.getHostAddress() +"\r\n\r\n").getBytes()
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].write(io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.sse.ServerSentEventTestCase)'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].flush()'
    - '[io.undertow.server.handlers.sse.ServerSentEventTestCase].close()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[org.junit.Assert].fail()'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.sse.ServerSentEventHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].testConnectionFail()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/sse/ServerSentEventTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventTestCase
    signature: '[io.undertow.server.handlers.sse.ServerSentEventTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:53,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:54,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:54,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:54,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:54,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:54,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:56,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:57,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerIndexTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:58,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:58,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:58,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:58,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:57,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:62,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:62,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:63,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:64,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:64,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:65,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:66,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:67,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:68,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:68,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:71,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].testWelcomeFile()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerIndexTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].toURI()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getClass()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getParent()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerIndexTestCase,int)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].shutdown()'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[String].contains(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getHeaders(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].testWelcomeFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:77,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:78,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:78,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:78,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:78,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:78,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:81,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerIndexTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:82,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:82,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:82,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:81,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:85,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:86,1
    - Dst: '[java.nio.file.Files].createSymbolicLink(io.undertow.server.handlers.file.FileHandlerIndexTestCase,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:89,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:90,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:91,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:91,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:92,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:93,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:94,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:95,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:95,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:97,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:98,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:99,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:99,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:100,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:101,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:102,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:103,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:103,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:104,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:104,1
    - Dst: '[java.text.SimpleDateFormat].<init>(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:106,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:107,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:109,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:109,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerIndexTestCase:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].testDirectoryIndex()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerIndexTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].toURI()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getClass()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusLine()'
    - '[java.nio.file.Files].createSymbolicLink(io.undertow.server.handlers.file.FileHandlerIndexTestCase,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerIndexTestCase,int)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].shutdown()'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[java.text.SimpleDateFormat].<init>(String,io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getResource(String)'
    - '[String].contains(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerIndexTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].getHeaders(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].testDirectoryIndex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.file.FileHandlerIndexTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerIndexTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.file.FileHandlerIndexTestCase
    signature: '[io.undertow.server.handlers.file.FileHandlerIndexTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:36,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:36,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:36,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:36,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:36,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase,int,int)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:37,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:38,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:38,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:39,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:39,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:40,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testGetResource()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PathResourceManagerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase,int,int)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testGetResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:46,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:46,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:46,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:46,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:46,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase,int,int)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:47,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:48,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].list()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:49,1
    - Dst: '[java.util.List<io.undertow.server.handlers.resource.Resource>].get(int)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:49,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getPath()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:50,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testListDir()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PathResourceManagerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
    - '[io.undertow.server.handlers.resource.Resource].list()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase,int,int)'
    - '[java.util.List<io.undertow.server.handlers.resource.Resource>].get(int)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getPath()'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testListDir()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:57,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:57,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:57,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:57,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:57,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:57,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase,int,int)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:58,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:59,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:59,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:60,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testCantEscapeRoot()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PathResourceManagerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertNull(io.undertow.server.handlers.resource.Resource)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].resolve(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase,int,int)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testCantEscapeRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:66,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toLowerCase()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:66,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].contains(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:66,1
    - Dst: '[org.junit.Assume].assumeFalse(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:66,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:68,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:68,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:68,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:68,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:71,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:72,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:73,1
    - Dst: '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:75,1
    - Dst: '[java.nio.file.Files].copy(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:76,1
    - Dst: '[java.nio.file.Files].createSymbolicLink(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:77,1
    - Dst: '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:79,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:79,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase,int,int)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:80,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:81,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:81,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:82,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:82,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:83,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:83,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:86,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:87,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:88,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testBaseDirInSymlink()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PathResourceManagerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].resolve(String)'
    - '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
    - '[java.nio.file.Files].createSymbolicLink(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
    - '[java.nio.file.Files].copy(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase,int,int)'
    - '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toLowerCase()'
    - System.getProperty(String)
    - '[org.junit.Assert].assertNull(io.undertow.server.handlers.resource.Resource)'
    - '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].contains(String)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
    - '[org.junit.Assume].assumeFalse(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testBaseDirInSymlink()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:97,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:97,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:97,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:97,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:97,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].builder()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:98,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setBase(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:98,1
    - Dst: '[PathResourceManager.ETagFunction].<init>()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:100,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].setETagFunction(PathResourceManager.ETagFunction)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:98,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].build()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:98,1
    - Dst: '[io.undertow.util.ETag].<init>(boolean,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:107,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:108,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getETag()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.ETag,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testETagFunction()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PathResourceManagerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].build()'
    - '[io.undertow.util.ETag].<init>(boolean,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.util.ETag,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].builder()'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getETag()'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setBase(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[PathResourceManager.ETagFunction].<init>()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].setETagFunction(PathResourceManager.ETagFunction)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testETagFunction()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].createTempFile(String,String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:114,1
    - Dst: expectedText.getBytes(io.undertow.server.handlers.file.PathResourceManagerTestCase)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:118,1
    - Dst: '[java.nio.file.Files].newOutputStream(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:120,1
    - Dst: '[java.io.BufferedOutputStream].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:121,1
    - Dst: '[java.util.zip.ZipOutputStream].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:122,1
    - Dst: '[java.util.zip.ZipEntry].<init>(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:124,1
    - Dst: zos.putNextEntry(java.util.zip.ZipEntry)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:124,1
    - Dst: zos.closeEntry()
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:125,1
    - Dst: '[java.util.zip.ZipEntry].<init>(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:127,1
    - Dst: zos.putNextEntry(java.util.zip.ZipEntry)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:127,1
    - Dst: zos.write(io.undertow.server.handlers.file.PathResourceManagerTestCase)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:128,1
    - Dst: zos.closeEntry()
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:129,1
    - Dst: '[java.util.zip.ZipEntry].<init>(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:131,1
    - Dst: zos.putNextEntry(java.util.zip.ZipEntry)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:131,1
    - Dst: zos.write(io.undertow.server.handlers.file.PathResourceManagerTestCase)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:132,1
    - Dst: zos.closeEntry()
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:133,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:136,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClassLoader()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:136,1
    - Dst: '[java.nio.file.FileSystems].newFileSystem(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:136,1
    - Dst: zipFileSystem.getPath(String)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:138,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:138,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:140,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getFilePath()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:141,1
    - Dst: '[java.nio.file.Files].readAllBytes(java.nio.file.Path)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:141,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:141,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].registerResourceChangeListener()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:144,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:145,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getFile()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:149,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:150,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:153,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].isDirectory()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:154,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:154,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].list()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:155,1
    - Dst: '[java.util.List<io.undertow.server.handlers.resource.Resource>].size()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:156,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:156,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getFilePath()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:157,1
    - Dst: '[java.nio.file.Path].normalize()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:157,1
    - Dst: '[java.util.List<io.undertow.server.handlers.resource.Resource>].get(int)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:157,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getFilePath()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:157,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].normalize()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:157,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:157,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:159,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:160,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:162,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:163,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:165,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:165,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:165,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:165,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:165,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].setBase(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:165,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:166,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:166,1
    - Dst: zipFileSystem.getPath(String)
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:167,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].setBase(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:167,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:168,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:168,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:169,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:169,1
    - Dst: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:169,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:169,1
    - Dst: '[java.io.File].getParentFile()'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:169,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].setBase(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:169,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:170,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:170,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
      Src: io.undertow.server.handlers.file.PathResourceManagerTestCase:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testNonDefaultFileSystem()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PathResourceManagerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].list()'
    - '[java.nio.file.Files].readAllBytes(java.nio.file.Path)'
    - '[java.util.zip.ZipEntry].<init>(String)'
    - '[java.util.List<io.undertow.server.handlers.resource.Resource>].get(int)'
    - '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].toURI()'
    - '[org.junit.Assert].fail(String)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClassLoader()'
    - '[io.undertow.server.handlers.resource.Resource].getFile()'
    - expectedText.getBytes(io.undertow.server.handlers.file.PathResourceManagerTestCase)
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getClass()'
    - zipFileSystem.getPath(String)
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getResource(String)'
    - zos.closeEntry()
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[java.nio.file.Files].createTempFile(String,String)'
    - '[java.nio.file.FileSystems].newFileSystem(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].setBase(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[java.nio.file.Files].newOutputStream(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - zos.putNextEntry(java.util.zip.ZipEntry)
    - '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].normalize()'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.resource.Resource)'
    - '[java.util.List<io.undertow.server.handlers.resource.Resource>].size()'
    - '[java.io.File].getParentFile()'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.server.handlers.file.PathResourceManagerTestCase,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getFilePath()'
    - zos.write(io.undertow.server.handlers.file.PathResourceManagerTestCase)
    - '[java.nio.file.Path].normalize()'
    - '[io.undertow.server.handlers.resource.Resource].getFilePath()'
    - '[org.junit.Assert].assertNull(io.undertow.server.handlers.resource.Resource)'
    - '[java.io.BufferedOutputStream].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.server.handlers.resource.Resource].isDirectory()'
    - '[io.undertow.server.handlers.file.PathResourceManagerTestCase].getParent()'
    - '[java.util.zip.ZipOutputStream].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[java.io.File].<init>(io.undertow.server.handlers.file.PathResourceManagerTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].registerResourceChangeListener()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].testNonDefaultFileSystem()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.file.PathResourceManagerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PathResourceManagerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.file.PathResourceManagerTestCase
    signature: '[io.undertow.server.handlers.file.PathResourceManagerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:62,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:62,1
    - Dst: '[java.nio.file.Files].createTempDirectory(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,String)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:62,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,int)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:64,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:65,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,int,null,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:67,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:67,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:68,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int,null)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:67,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].<init>(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.encoding.ContentEncodingRepository,int,int,null)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:67,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setContentEncodedResourceManager(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:65,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/ContentEncodedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,int,null,io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].<init>(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.encoding.ContentEncodingRepository,int,int,null)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.DeflateEncodingProvider,int,null)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
    - '[java.nio.file.Files].createTempDirectory(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setContentEncodedResourceManager(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,int)'
    - System.getProperty(String)
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/ContentEncodedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].resolve(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:79,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:80,1
    - Dst: '[java.nio.file.Files].write(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:80,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:81,1
    - Dst: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].build()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:81,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:83,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:84,1
    - Dst: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:85,1
    - Dst: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:85,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:87,1
    - Dst: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getEntity()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:88,1
    - Dst: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].close()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:89,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:91,1
    - Dst: '[java.nio.file.Files].write(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:91,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:94,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:95,1
    - Dst: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:96,1
    - Dst: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:96,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:98,1
    - Dst: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getEntity()'
      Src: io.undertow.server.handlers.file.ContentEncodedResourceTestCase:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].testFileIsCompressed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/ContentEncodedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].build()'
    - '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
    - '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getStatusCode()'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - '[java.nio.file.Files].write(io.undertow.server.handlers.file.ContentEncodedResourceTestCase,io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
    - '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].getEntity()'
    - '[java.nio.file.Path].resolve(io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.ContentEncodedResourceTestCase)'
    - '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].testFileIsCompressed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.file.Path
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.file.ContentEncodedResourceTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/ContentEncodedResourceTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.file.ContentEncodedResourceTestCase
    signature: '[io.undertow.server.handlers.file.ContentEncodedResourceTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:57,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toLowerCase()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:57,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:57,1
    - Dst: '[org.junit.Assume].assumeFalse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:57,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:71,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:71,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:71,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:71,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:72,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:74,1
    - Dst: '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:75,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:77,1
    - Dst: '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:78,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getFileName()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:80,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:80,1
    - Dst: '[java.nio.file.Files].copy(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:80,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getFileName()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:81,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:81,1
    - Dst: '[java.nio.file.Files].copy(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:81,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:83,1
    - Dst: '[java.nio.file.Files].createSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:85,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:87,1
    - Dst: '[java.nio.file.Files].createSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].createSymlinksScenario()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toLowerCase()'
    - '[org.junit.Assume].assumeFalse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].contains(String)'
    - '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getFileName()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - System.getProperty(String)
    - '[java.nio.file.Files].createSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[java.nio.file.Files].copy(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].createSymlinksScenario()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:94,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:94,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:94,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:94,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:94,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:96,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:97,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:98,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:99,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:100,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:101,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:103,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:104,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:105,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:106,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:107,1
    - Dst: '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].deleteSymlinksScenario()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].deleteIfExists(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].deleteSymlinksScenario()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:113,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:113,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:113,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:113,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:113,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:115,1
    - Dst: '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:116,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:116,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:118,1
    - Dst: '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:119,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:119,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:121,1
    - Dst: '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:122,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:122,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:124,1
    - Dst: '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:125,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:125,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getRoot()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:127,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getNameCount()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:128,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getName(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:129,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:129,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:129,1
    - Dst: '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:130,1
    - Dst: System.out.println(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:130,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:132,1
    - Dst: '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:133,1
    - Dst: System.out.println(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testCreateSymlinks()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getRoot()'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - System.out.println(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[java.nio.file.Files].isSymbolicLink(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getNameCount()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getName(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testCreateSymlinks()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:138,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:139,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:139,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:139,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:139,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:139,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:140,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:143,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:144,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:145,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:145,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:145,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:145,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:144,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:143,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:143,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:151,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:151,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:152,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:153,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:155,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testDefaultAccessSymlinkDenied()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testDefaultAccessSymlinkDenied()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:161,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:162,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:162,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:162,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:162,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:162,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:163,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:166,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:167,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:168,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:168,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:168,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:168,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:167,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:166,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:166,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:174,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:174,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:175,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:176,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:176,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:176,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:178,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkDeniedForEmptySafePath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkDeniedForEmptySafePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:184,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:185,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:185,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:185,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:185,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:185,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:186,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:189,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:190,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:191,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:191,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:191,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:191,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:190,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:189,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:189,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:197,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:197,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:198,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:199,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:199,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:199,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:200,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:201,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:202,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:203,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:203,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:208,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:208,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:209,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:210,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:210,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:210,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:214,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 216
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkDeniedForInsideSymlinks()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getHeaders(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[String].contains(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkDeniedForInsideSymlinks()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:220,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:221,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:221,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:221,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:221,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:221,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:222,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:225,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:226,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:227,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:227,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:227,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:227,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:226,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:225,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:225,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:233,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:233,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:234,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:235,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:235,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:235,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:236,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:237,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:238,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:238,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:239,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:239,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:241,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 218
    functionDepth: 4
    functionLinenumber: 218
    functionLinenumberEnd: 243
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkGranted()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getHeaders(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[String].contains(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkGranted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:247,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:248,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:248,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:248,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:248,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:248,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:249,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:252,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:253,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toAbsolutePath()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:254,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:254,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].concat(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:254,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:254,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:254,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:254,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:254,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:253,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:252,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:252,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:260,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:260,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:261,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:262,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:262,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:262,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:263,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:264,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:265,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:265,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:266,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:266,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:268,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkGrantedUsingSpecificFilters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toAbsolutePath()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].concat(String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getHeaders(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[String].contains(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkGrantedUsingSpecificFilters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.SyncBasicHttpParams].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:275,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].setDefaultHttpParams(org.apache.http.params.SyncBasicHttpParams)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:276,1
    - Dst: '[org.apache.http.params.HttpConnectionParams].setSoTimeout(org.apache.http.params.SyncBasicHttpParams,int)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:277,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.params.SyncBasicHttpParams)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:279,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:281,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:281,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:281,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:281,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:281,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:282,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:285,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toAbsolutePath()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:286,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:286,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].concat(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:286,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:286,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:286,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:286,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:286,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:285,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:285,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:292,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:292,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:293,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:294,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:294,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:294,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:295,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:296,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:297,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:297,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:298,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:298,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:300,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 302
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkGrantedUsingSpecificFiltersWithDirectoryListingEnabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[org.apache.http.impl.client.DefaultHttpClient].setDefaultHttpParams(org.apache.http.params.SyncBasicHttpParams)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.params.SyncBasicHttpParams)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toAbsolutePath()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].concat(String)'
    - '[org.apache.http.params.SyncBasicHttpParams].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getHeaders(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[org.apache.http.params.HttpConnectionParams].setSoTimeout(org.apache.http.params.SyncBasicHttpParams,int)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[String].contains(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkGrantedUsingSpecificFiltersWithDirectoryListingEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:306,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:307,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:307,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:307,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:307,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:307,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:308,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:311,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:312,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toAbsolutePath()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:313,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:313,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].concat(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:313,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:313,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:313,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:313,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:313,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:312,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:311,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:311,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:319,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:319,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:320,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:321,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:321,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:321,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:323,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 325
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkDeniedUsingSpecificFilters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toAbsolutePath()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].concat(String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkDeniedUsingSpecificFilters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:329,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:330,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:330,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:330,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:330,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:330,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:331,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:334,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:335,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toAbsolutePath()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:336,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:336,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].concat(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:336,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:336,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:336,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:336,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:336,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:335,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:334,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:334,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:342,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:342,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:343,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:344,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:344,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:344,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:346,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 348
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkDeniedUsingSameSymlinkName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toAbsolutePath()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].concat(String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toString()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testExplicitAccessSymlinkDeniedUsingSameSymlinkName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:352,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:353,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:353,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:353,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:353,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:353,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:354,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:357,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:358,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:359,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:359,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:359,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:359,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:358,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:357,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:357,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:365,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:365,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:366,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:367,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:367,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:367,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:371,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:376,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:376,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:377,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:378,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:378,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:378,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:380,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 382
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testResourceManagerBaseSymlink()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testResourceManagerBaseSymlink()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:387,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:388,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:388,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:388,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:388,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:388,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:389,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:392,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:393,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:394,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:394,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:394,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:394,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:393,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:392,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:392,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:400,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:400,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:401,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:402,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:402,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:402,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:405,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testRelativePathSymlinkFilter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].resolve(String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase,int,boolean,String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getResource(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getParent()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerSymlinksTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].toURI()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles(String)'
    - '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].testRelativePathSymlinkFilter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerSymlinksTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.file.FileHandlerSymlinksTestCase
    signature: '[io.undertow.server.handlers.file.FileHandlerSymlinksTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:64,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:64,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:64,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:64,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:64,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:66,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:66,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:67,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:67,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:70,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:70,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:71,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:71,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:74,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:74,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:75,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:75,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:78,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:78,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:79,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].clean()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[java.nio.file.Files].exists(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
    - '[java.nio.file.Files].delete(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].clean()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:86,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:87,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:87,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:87,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:87,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:87,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:89,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].build()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:89,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:90,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:91,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:92,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:92,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:92,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:92,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:92,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:91,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:96,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:96,1
    - Dst: compClient.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:99,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:99,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generatePreCompressedResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:102,1
    - Dst: compClient.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:105,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:108,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].testContentEncodedResource()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].build()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String,String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generatePreCompressedResource(String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].shutdown()'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - compClient.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].testContentEncodedResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:114,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:115,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:116,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:116,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:116,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:116,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:116,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:118,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].build()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:118,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:119,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:120,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:121,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:121,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:121,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:121,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:121,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:120,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:125,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,null,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:125,1
    - Dst: compClient.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:128,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:128,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:131,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:132,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generateGZipFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:132,1
    - Dst: compClient.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:135,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:135,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:138,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].testContentEncodedJsonResource()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].build()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,null,String,String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String,String,String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generateGZipFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].shutdown()'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - compClient.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].testContentEncodedJsonResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:144,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:145,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:146,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:146,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:146,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:146,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:146,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:148,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].build()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:148,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:149,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:150,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:151,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:151,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:151,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:151,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:151,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:150,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:149,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:149,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:155,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:156,1
    - Dst: '[java.nio.file.Files].copy(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:157,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:159,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generateGZipFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:159,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:160,1
    - Dst: compClient.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:163,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,null,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:163,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:166,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].testContentEncodedJsonResourceWithoutUncompressed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].build()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,null,String,String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generateGZipFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].shutdown()'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
    - '[java.nio.file.Files].delete(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - compClient.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[java.nio.file.Files].copy(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].testContentEncodedJsonResourceWithoutUncompressed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:173,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:173,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:174,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:175,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:175,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:175,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:175,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:175,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:177,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].build()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:177,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:178,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:179,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:180,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:181,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:181,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:180,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:180,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:182,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:182,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:182,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:182,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:182,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:180,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:179,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:178,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:178,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:187,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:187,1
    - Dst: compClient.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:190,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:190,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generatePreCompressedResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:193,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generatePreCompressedResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:194,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generatePreCompressedResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:195,1
    - Dst: compClient.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:198,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:198,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:201,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 203
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].testCorrectResourceSelected()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].build()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String,String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generatePreCompressedResource(String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].shutdown()'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - compClient.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int,io.undertow.predicate.Predicate)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(io.undertow.server.handlers.file.PreCompressedResourceTestCase,boolean,String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].testCorrectResourceSelected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].toFile()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:208,1
    - Dst: '[java.io.FileOutputStream].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:208,1
    - Dst: '[java.util.zip.GZIPOutputStream].<init>(java.io.FileOutputStream)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:208,1
    - Dst: '[java.nio.file.Path].toFile()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:209,1
    - Dst: '[java.io.FileInputStream].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:209,1
    - Dst: '[java.io.FileInputStream].read(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:212,1
    - Dst: '[java.util.zip.GZIPOutputStream].write(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:213,1
    - Dst: '[java.io.FileInputStream].close()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:216,1
    - Dst: '[java.util.zip.GZIPOutputStream].finish()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:217,1
    - Dst: '[java.util.zip.GZIPOutputStream].close()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - java.nio.file.Path
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generateGZipFile(java.nio.file.Path,java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.GZIPOutputStream].write(io.undertow.server.handlers.file.PreCompressedResourceTestCase,int,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[java.io.FileInputStream].read(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[java.util.zip.GZIPOutputStream].<init>(java.io.FileOutputStream)'
    - '[java.nio.file.Path].toFile()'
    - '[java.io.FileInputStream].close()'
    - '[java.util.zip.GZIPOutputStream].finish()'
    - '[java.io.FileOutputStream].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[java.io.FileInputStream].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[java.util.zip.GZIPOutputStream].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generateGZipFile(java.nio.file.Path,java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:222,1
    - Dst: '[String].replaceAll(String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:223,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getBytes(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:224,1
    - Dst: '[java.nio.file.Files].write(java.nio.file.Path,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - file
    - original
    - replacement
    argTypes:
    - java.nio.file.Path
    - String
    - String
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].replaceStringInFile(java.nio.file.Path,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getBytes(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[String].<init>(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[String].replaceAll(String,String)'
    - '[java.nio.file.Files].write(java.nio.file.Path,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].replaceStringInFile(java.nio.file.Path,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean,null,null,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.HttpResponse
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - response
    - encoding
    argTypes:
    - org.apache.http.HttpResponse
    - boolean
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean,null,null,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean,String,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.HttpResponse
      - boolean
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - response
    - encoding
    - compareWith
    argTypes:
    - org.apache.http.HttpResponse
    - boolean
    - String
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean,String,String,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.HttpResponse].getStatusLine()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:239,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:239,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:239,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:240,1
    - Dst: '[org.apache.http.HttpResponse].getHeaders(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:241,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:242,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:242,1
    - Dst: '[org.apache.http.HttpResponse].getEntity()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:245,1
    - Dst: '[org.apache.http.HttpResponse].getFirstHeader(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:247,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:247,1
    - Dst: '[String].replace(String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:251,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].replace(String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:251,1
    - Dst: '[String].replace(String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:251,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.HttpResponse
      - boolean
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - response
    - encoding
    - compareWith
    - extension
    - contentType
    argTypes:
    - org.apache.http.HttpResponse
    - boolean
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
    - headers[0].getValue()
    - '[org.apache.http.HttpResponse].getEntity()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[org.apache.http.HttpResponse].getHeaders(String)'
    - '[String].replace(String,String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].replace(String,String)'
    - '[org.apache.http.HttpResponse].getFirstHeader(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[org.junit.Assert].assertNull(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getStatusCode()'
    - '[org.apache.http.HttpResponse].getStatusLine()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].assertResponse(org.apache.http.HttpResponse,boolean,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:261,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:261,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:261,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:261,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:261,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:262,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].replaceStringInFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:264,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:265,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generateGZipFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:265,1
    - Dst: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].replaceStringInFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,String,String)'
      Src: io.undertow.server.handlers.file.PreCompressedResourceTestCase:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extension
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generatePreCompressedResource(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].resolve(String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generateGZipFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.PreCompressedResourceTestCase)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getClass()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].replaceStringInFile(io.undertow.server.handlers.file.PreCompressedResourceTestCase,String,String)'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].toURI()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getParent()'
    - '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].getResource(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].generatePreCompressedResource(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.file.PreCompressedResourceTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/PreCompressedResourceTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.file.PreCompressedResourceTestCase
    signature: '[io.undertow.server.handlers.file.PreCompressedResourceTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:62,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:64,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:64,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:64,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerStressTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:64,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:64,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerStressTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:65,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:65,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:67,1
    - Dst: '[io.undertow.server.handlers.cache.CacheHandler].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:67,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:68,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.cache.CacheHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:69,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:70,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:72,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:73,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:75,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].submit(Runnable)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:75,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.file.FileHandlerStressTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:75,1
    - Dst: future.get()
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:96,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerStressTestCase:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.util.concurrent.ExecutionException
      - InterruptedException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].simpleFileStressTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerStressTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerStressTestCase)'
    - future.get()
    - '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int)'
    - '[io.undertow.server.handlers.file.FileHandlerStressTestCase].toURI()'
    - '[Runnable].<init>()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.cache.CacheHandler].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerStressTestCase].shutdown()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerStressTestCase,int)'
    - '[io.undertow.server.handlers.file.FileHandlerStressTestCase].getClass()'
    - '[io.undertow.server.handlers.file.FileHandlerStressTestCase].getParent()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.cache.CacheHandler)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerStressTestCase].submit(Runnable)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerStressTestCase].getResource(String)'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.file.FileHandlerStressTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].simpleFileStressTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.file.FileHandlerStressTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerStressTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.file.FileHandlerStressTestCase
    signature: '[io.undertow.server.handlers.file.FileHandlerStressTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:60,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:61,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:61,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:64,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:65,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:65,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:65,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:64,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:68,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:68,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:69,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:70,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:70,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:70,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:71,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:72,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:73,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:74,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:77,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].testFileIsServed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
    - '[String].contains(String)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].testFileIsServed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:83,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:84,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:84,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:84,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:84,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:85,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:87,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:88,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:89,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:89,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:89,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:88,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpHead].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:93,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:94,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:94,1
    - Dst: '[java.nio.file.Files].size(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:95,1
    - Dst: Long.toString(io.undertow.server.handlers.file.FileHandlerTestCase)
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:95,1
    - Dst: result.getHeaders(Headers.CONTENT_LENGTH_STRING)[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:95,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:96,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:100,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].testHeadRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - Long.toString(io.undertow.server.handlers.file.FileHandlerTestCase)
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[org.apache.http.client.methods.HttpHead].<init>(String)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - result.getHeaders(Headers.CONTENT_LENGTH_STRING)[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[java.nio.file.Files].size(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].testHeadRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:106,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:107,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:107,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:107,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:107,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:107,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:109,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:110,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:111,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:111,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:111,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:110,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:109,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:109,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:114,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:114,1
    - Dst: result.getStatusLine()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:115,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:115,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:116,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:116,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:117,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:117,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:117,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:117,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:118,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:118,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:118,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:120,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:120,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:120,1
    - Dst: result.getStatusLine()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:121,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:121,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:122,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:122,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:123,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:123,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:123,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:123,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:124,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:124,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:126,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:126,1
    - Dst: result.getStatusLine()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:127,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:127,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:128,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:128,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:129,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getValue()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:129,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:129,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:129,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:130,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:130,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:133,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 64
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].testDirectoryListing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[org.hamcrest.CoreMatchers].startsWith(String)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - result.getFirstHeader(String)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - result.getStatusLine()
    - '[org.hamcrest.MatcherAssert].assertThat(io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.junit.Assert].assertNotNull(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].testDirectoryListing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:139,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:140,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:140,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:140,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:140,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:140,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:142,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:143,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:144,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:144,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:143,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:142,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:142,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:146,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:146,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:146,1
    - Dst: result.getStatusLine()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:147,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:147,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:149,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:149,1
    - Dst: result.getStatusLine()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:150,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:150,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:152,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:152,1
    - Dst: result.getStatusLine()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:153,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:156,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].testNoDirectoryListing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - result.getStatusLine()
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].testNoDirectoryListing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:162,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:163,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:163,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:163,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:163,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:163,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:165,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:166,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:167,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:167,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:167,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:166,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:165,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:165,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:170,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:171,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:172,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:172,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:172,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:173,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:175,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].testDotSuffix()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].testDotSuffix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:181,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:182,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:182,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:182,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:182,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:182,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:184,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:185,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:186,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:186,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:186,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:185,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:184,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:184,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:190,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:190,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:191,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:192,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:192,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:192,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:193,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:194,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:195,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:195,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:196,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:196,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:199,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].testFileTransfer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
    - '[String].contains(String)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].testFileTransfer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:205,1
    - Dst: '[java.nio.file.Paths].get(String,String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:206,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toAbsolutePath()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:206,1
    - Dst: '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:207,1
    - Dst: '[String].repeat(int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:208,1
    - Dst: '[java.nio.file.Files].createTempFile(io.undertow.server.handlers.file.FileHandlerTestCase,null,String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:209,1
    - Dst: '[java.nio.file.Files].write(io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:211,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:215,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:216,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:217,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:217,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:217,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:216,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:215,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:215,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getFileName()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:221,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toString()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:221,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:221,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:222,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:226,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:226,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.file.FileHandlerTestCase,int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:223,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:227,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:228,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:229,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:229,1
    - Dst: '[String].equals(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:230,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:230,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:232,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:232,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:234,1
    - Dst: e.printStackTrace()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 239
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].testFileTransferLargeFile()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toString()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toAbsolutePath()'
    - '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[java.nio.file.Paths].get(String,String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[java.nio.file.Files].delete(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getFileName()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - e.printStackTrace()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[String].repeat(int)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
    - headers[0].getValue()
    - '[java.nio.file.Files].createTempFile(io.undertow.server.handlers.file.FileHandlerTestCase,null,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
    - '[String].equals(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[java.nio.file.Files].write(io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.file.FileHandlerTestCase,int,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].testFileTransferLargeFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:243,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:244,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:244,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:244,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:244,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:244,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:246,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:247,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:248,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:248,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:248,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:247,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:246,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:246,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:252,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:252,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:253,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:254,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:255,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:255,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:255,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:256,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:257,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:258,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:258,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:259,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:261,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:261,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:262,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:263,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:264,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:264,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:264,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:265,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:266,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:267,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:267,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:268,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:271,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].testRangeRequests()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getClass()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getResource(String)'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getStatusLine()'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].testRangeRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FileHandlerTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:279,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:279,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:279,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:279,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:279,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:280,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:281,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:282,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:282,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:282,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:281,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:280,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:285,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:285,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].setHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:285,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].build()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:285,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerTestCase].start()'
      Src: io.undertow.server.handlers.file.FileHandlerTestCase:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].main(String[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerTestCase)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].build()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].setHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    - FileHandlerTestCase.class.getResource(String)
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].toURI()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.file.FileHandlerTestCase,int)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].start()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.file.FileHandlerTestCase].getParent()'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.file.FileHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.file.FileHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.file.FileHandlerTestCase
    signature: '[io.undertow.server.handlers.file.FileHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:44,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].getClass()'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:45,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].getResource(String)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:45,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].toURI()'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:45,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:45,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].getParent()'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:45,1
    - Dst: FileHandlerWithPredicateTestCase.class.getClassLoader()
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:47,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:47,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:48,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:48,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:50,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:52,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].CheckResponse(io.undertow.testutils.TestHttpClient,String,boolean,boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:55,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].CheckResponse(io.undertow.testutils.TestHttpClient,String,boolean,boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:58,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].CheckResponse(io.undertow.testutils.TestHttpClient,String,boolean,boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:61,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].CheckResponse(io.undertow.testutils.TestHttpClient,String,boolean,boolean)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:64,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:67,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].shutdown()'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].testIfHandlerReturnsResourcesWhenItIsInPredicate()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerWithPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler)'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].getClass()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].shutdown()'
    - FileHandlerWithPredicateTestCase.class.getClassLoader()
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].toURI()'
    - '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].getParent()'
    - '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].getResource(String)'
    - '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].CheckResponse(io.undertow.testutils.TestHttpClient,String,boolean,boolean)'
    - '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].testIfHandlerReturnsResourcesWhenItIsInPredicate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:73,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:73,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:74,1
    - Dst: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].getEntity()'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:74,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:77,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:80,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
      Src: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - String
      - Boolean
      - Boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - client
    - path
    - isJs
    - emptyResponseExpected
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - String
    - Boolean
    - Boolean
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].CheckResponse(io.undertow.testutils.TestHttpClient,String,Boolean,Boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerWithPredicateTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase,io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.util.EntityUtils].toString(io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase)'
    - '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].getEntity()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].CheckResponse(io.undertow.testutils.TestHttpClient,String,Boolean,Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/file/FileHandlerWithPredicateTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase
    signature: '[io.undertow.server.handlers.file.FileHandlerWithPredicateTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:98,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:98,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:99,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:102,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:104,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:106,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:106,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:107,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:107,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:107,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:107,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:107,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:110,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:111,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:111,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:116,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUpload()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - MultipartFormDataParserTestCase.class.getResource(String)
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUpload()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:123,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:123,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:127,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:127,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setHeader(String,String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:128,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:141,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:142,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:143,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:143,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:144,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:148,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testQuotedBoundary()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpPost].setHeader(String,String)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testQuotedBoundary()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:154,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:154,1
    - Dst: '[io.undertow.server.handlers.form.EagerFormParsingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:154,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.form.EagerFormParsingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:154,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:155,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:158,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:158,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:160,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:162,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:162,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:163,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:163,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:163,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:163,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:163,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:165,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:166,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:167,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:167,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:167,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:168,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:172,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 174
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithEagerParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - MultipartFormDataParserTestCase.class.getResource(String)
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.form.EagerFormParsingHandler)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[io.undertow.server.handlers.form.EagerFormParsingHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithEagerParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:178,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:178,1
    - Dst: '[io.undertow.server.handlers.form.EagerFormParsingHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:178,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.form.EagerFormParsingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:178,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:179,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:182,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:182,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:183,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:185,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:185,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:187,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:187,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:187,1
    - Dst: StandardCharsets.UTF_8.toString()
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:188,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File,String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:188,1
    - Dst: '[org.apache.http.entity.mime.FormBodyPart].<init>(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:188,1
    - Dst: '[org.apache.http.entity.mime.FormBodyPart].addField(String,String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:189,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(org.apache.http.entity.mime.FormBodyPart)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:190,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:192,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:193,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:194,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:194,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:194,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:195,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:199,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 201
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithEagerParsingAndNonASCIIFilename()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(org.apache.http.entity.mime.FormBodyPart)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File,String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>()'
    - MultipartFormDataParserTestCase.class.getResource(String)
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.FormBodyPart].addField(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.form.EagerFormParsingHandler)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - StandardCharsets.UTF_8.toString()
    - '[org.apache.http.entity.mime.FormBodyPart].<init>(String,org.apache.http.entity.mime.content.FileBody)'
    - '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createHandler()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[io.undertow.server.handlers.form.EagerFormParsingHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithEagerParsingAndNonASCIIFilename()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(long,null)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - fileSizeThreshold
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(long)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(long,null)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - fileSizeThreshold
    - maxInvidualFileThreshold
    - async
    argTypes:
    - long
    - long
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 266
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 266
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(long,long,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(long,long,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:270,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:270,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:270,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:272,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:275,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:275,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:276,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:278,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:278,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:279,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:279,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:279,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:279,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:279,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:281,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:282,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:283,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:283,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:283,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:284,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:286,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:288,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:288,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:289,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:289,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:290,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:290,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:290,1
    - Dst: '[java.io.FileInputStream].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:290,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].md5Hex(java.io.FileInputStream)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:290,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:290,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:290,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:293,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 295
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithSmallFileSizeThreshold()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
    - '[org.apache.commons.codec.digest.DigestUtils].md5Hex(java.io.FileInputStream)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - MultipartFormDataParserTestCase.class.getResource(String)
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[java.io.FileInputStream].<init>(java.io.File)'
    - '[java.util.Map<String,String>].get(String)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithSmallFileSizeThreshold()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:299,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:299,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:299,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:301,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:304,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:304,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:305,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:307,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:307,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:308,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:308,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:308,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:308,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:308,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:310,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:311,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:312,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:312,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:312,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:313,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:315,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:316,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:316,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:317,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:317,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:318,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:318,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:318,1
    - Dst: '[java.io.FileInputStream].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:318,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].md5Hex(java.io.FileInputStream)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:318,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:318,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:318,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:321,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithLargeFileSizeThreshold()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
    - '[org.apache.commons.codec.digest.DigestUtils].md5Hex(java.io.FileInputStream)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - MultipartFormDataParserTestCase.class.getResource(String)
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[java.io.FileInputStream].<init>(java.io.File)'
    - '[java.util.Map<String,String>].get(String)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithLargeFileSizeThreshold()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:328,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:328,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:328,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:330,1
    - Dst: '[java.io.File].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:331,1
    - Dst: '[java.io.File].createNewFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:332,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].writeLargeFileContent(java.io.File,int)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:334,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:336,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:336,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:337,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:339,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:339,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:340,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:340,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:342,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:343,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:344,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:344,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:344,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:345,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:347,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:348,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:348,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:349,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:349,1
    - Dst: '[java.io.FileInputStream].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:350,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].md5Hex(java.io.FileInputStream)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:350,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:350,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:350,1
    - Dst: '[java.io.File].delete()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:353,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:354,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 356
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithMediumFileSizeThresholdAndLargeFile()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.commons.codec.digest.DigestUtils].md5Hex(java.io.FileInputStream)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[java.io.File].delete()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[java.io.File].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[java.io.FileInputStream].<init>(java.io.File)'
    - '[java.util.Map<String,String>].get(String)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].writeLargeFileContent(java.io.File,int)'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.io.File].createNewFile()'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithMediumFileSizeThresholdAndLargeFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:360,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:360,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:360,1
    - Dst: '[java.io.File].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:361,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:362,1
    - Dst: '[java.io.File].createNewFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:363,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].writeLargeFileContent(java.io.File,int,int)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:365,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:366,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:366,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntityBuilder].create()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:367,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].addTextBody(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:367,1
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:369,1
    - Dst: '[java.nio.file.Files].newInputStream(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:369,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].addBinaryBody(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:367,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].build()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:367,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:371,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:372,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:373,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:373,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:373,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:374,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:376,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:378,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:378,1
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:379,1
    - Dst: '[java.nio.file.Files].newInputStream(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:379,1
    - Dst: '[org.apache.commons.codec.digest.DigestUtils].md5Hex(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:379,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:379,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:379,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:380,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:380,1
    - Dst: '[java.io.File].delete()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:382,1
    - Dst: '[java.io.File].deleteOnExit()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 386
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testLargeContentWithoutFileNameWithSmallFileSizeThreshold()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[java.io.File].delete()'
    - '[java.nio.file.Files].newInputStream(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[java.io.File].deleteOnExit()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].writeLargeFileContent(java.io.File,int,int)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].addBinaryBody(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[java.io.File].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[java.util.Map<String,String>].get(String)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int)'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].build()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[java.io.File].createNewFile()'
    - '[org.apache.commons.codec.digest.DigestUtils].md5Hex(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[java.io.File].toPath()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.MultipartFormDataParserTestCase,String)'
    - '[org.apache.http.entity.mime.MultipartEntityBuilder].create()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].addTextBody(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testLargeContentWithoutFileNameWithSmallFileSizeThreshold()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int,int,null)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:390,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:390,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:390,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:392,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:395,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:395,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:396,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:398,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:398,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:399,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:399,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:399,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:399,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:399,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:401,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:402,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:403,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:403,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:403,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:406,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithFileSizeThresholdOverflow_Sync()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - MultipartFormDataParserTestCase.class.getResource(String)
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int,int,null)'
    - '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithFileSizeThresholdOverflow_Sync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:412,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:412,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:412,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:412,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:420,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:423,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:423,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:424,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:426,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:426,1
    - Dst: MultipartFormDataParserTestCase.class.getResource(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:427,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:427,1
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:427,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:427,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:427,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:429,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:430,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:431,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:431,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:431,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:434,1
    - Dst: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 436
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithFileSizeThresholdOverflow_ASync()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getFile()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.BlockingHandler)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - MultipartFormDataParserTestCase.class.getResource(String)
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].createInMemoryReadingHandler(int,int,io.undertow.server.HttpHandler)'
    - '[java.io.File].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].shutdown()'
    - '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].testFileUploadWithFileSizeThresholdOverflow_ASync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:439,1
    - Dst: '[java.io.FileOutputStream].<init>(java.io.File)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:440,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:442,1
    - Dst: '[java.io.FileOutputStream].write(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:442,1
    - Dst: '[java.io.FileOutputStream].flush()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:444,1
    - Dst: '[java.io.FileOutputStream].close()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - file
    - size
    argTypes:
    - java.io.File
    - int
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].writeLargeFileContent(java.io.File,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 1
    functionsReached:
    - '[java.io.FileOutputStream].write(io.undertow.server.handlers.form.MultipartFormDataParserTestCase)'
    - '[java.io.FileOutputStream].close()'
    - '[java.io.FileOutputStream].<init>(java.io.File)'
    - '[String].getBytes()'
    - '[java.io.FileOutputStream].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].writeLargeFileContent(java.io.File,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:449,1
    - Dst: '[String].split(String)'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:451,1
    - Dst: s.split(String)
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:453,1
    - Dst: '[java.util.HashMap].put()'
      Src: io.undertow.server.handlers.form.MultipartFormDataParserTestCase:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - resp
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 4
    functionsReached:
    - '[java.util.HashMap].put()'
    - '[String].split(String)'
    - s.split(String)
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].parse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultipartFormDataParserTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/MultipartFormDataParserTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultipartFormDataParserTestCase
    signature: '[io.undertow.server.handlers.form.MultipartFormDataParserTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormDataParserTestCase
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormDataParserTestCase
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:75,1
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].builder()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:77,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].withDefaultCharset(String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:77,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].build()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:77,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:78,1
    - Dst: '[java.util.ArrayList].add()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:104,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:105,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:107,1
    - Dst: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:107,1
    - Dst: '[java.util.ArrayList].add()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<Object[]>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].handlerChains()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormParserFactory].builder()'
    - '[java.util.ArrayList].add()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.BlockingHandler].<init>()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].build()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].withDefaultCharset(String)'
    - '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: java.util.Collection<Object[]>
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].handlerChains()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:140,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:140,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:141,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,null)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:141,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:141,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:142,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:142,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:142,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:143,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,null)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:143,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:143,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].testFormDataParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,null)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded(org.apache.http.message.BasicNameValuePair)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].testFormDataParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:148,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].testRawFormDataParsing(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:148,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:149,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].testRawFormDataParsing(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].testRawFormDataParsingIncorrectValue()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].testRawFormDataParsing(org.apache.http.message.BasicNameValuePair)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].testRawFormDataParsingIncorrectValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: name.replaceAll(String,String)
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:157,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:157,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:157,1
    - Dst: '[java.util.Collections].singletonList(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:158,1
    - Dst: '[org.apache.http.entity.ByteArrayEntity].<init>(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:158,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(io.undertow.server.handlers.form.FormDataParserTestCase,org.apache.http.entity.ByteArrayEntity)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:158,1
    - Dst: value.replaceAll(String,String)
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:162,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].replaceAll(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:162,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:162,1
    - Dst: '[java.util.Collections].singletonList(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:163,1
    - Dst: '[org.apache.http.entity.ByteArrayEntity].<init>(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:163,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(io.undertow.server.handlers.form.FormDataParserTestCase,org.apache.http.entity.ByteArrayEntity)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].testUTF8FormDataParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonList(org.apache.http.message.BasicNameValuePair)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].replaceAll(String,String)'
    - value.replaceAll(String,String)
    - '[org.apache.http.entity.ByteArrayEntity].<init>(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(io.undertow.server.handlers.form.FormDataParserTestCase,org.apache.http.entity.ByteArrayEntity)'
    - name.replaceAll(String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].testUTF8FormDataParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:167,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:168,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:170,1
    - Dst: '[org.apache.http.client.utils.URLEncodedUtils].format(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:172,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:171,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].append(String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:171,1
    - Dst: '[org.apache.http.NameValuePair].getName()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:174,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].append(io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:171,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].append(String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:171,1
    - Dst: '[org.apache.http.NameValuePair].getValue()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:174,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].append(io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:171,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].append(String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:171,1
    - Dst: '[org.apache.http.client.utils.URLEncodedUtils].format(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:176,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].append(io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:171,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:178,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:179,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:180,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:181,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(java.util.ArrayList,org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.NameValuePair
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wrongPair
    argTypes:
    - org.apache.http.NameValuePair
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].testRawFormDataParsing(org.apache.http.NameValuePair)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.NameValuePair].getValue()'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[StringBuilder].<init>()'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
    - '[StringBuilder].append(io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].append(String)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].append(io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[org.apache.http.client.utils.URLEncodedUtils].format(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(java.util.ArrayList,org.apache.http.entity.StringEntity)'
    - '[org.apache.http.NameValuePair].getName()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].testRawFormDataParsing(org.apache.http.NameValuePair)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:185,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:185,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:186,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(java.util.ArrayList,org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[java.util.ArrayList].<init>(io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(java.util.ArrayList,org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTestUrlEncoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:190,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:191,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:193,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:193,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setHeader(String,String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:194,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.HttpEntity)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:195,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:196,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:197,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:197,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:197,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].checkResult(java.util.List<org.apache.http.NameValuePair>,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:198,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:200,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParserTestCase].shutdown()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<org.apache.http.NameValuePair>
      - org.apache.http.HttpEntity
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - entity
    argTypes:
    - java.util.List<org.apache.http.NameValuePair>
    - org.apache.http.HttpEntity
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(java.util.List<org.apache.http.NameValuePair>,org.apache.http.HttpEntity)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].checkResult(java.util.List<org.apache.http.NameValuePair>,io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.HttpEntity)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.server.handlers.form.FormDataParserTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].setHeader(String,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.form.FormDataParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].runTest(java.util.List<org.apache.http.NameValuePair>,org.apache.http.HttpEntity)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:205,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:206,1
    - Dst: '[String].split(String)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:207,1
    - Dst: value.split(String)
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:208,1
    - Dst: '[java.util.HashMap].put()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:209,1
    - Dst: '[java.util.List<org.apache.http.NameValuePair>].size()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:212,1
    - Dst: '[java.util.HashMap].size()'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:212,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:212,1
    - Dst: vp.getName()
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:215,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:215,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.FormDataParserTestCase)'
      Src: io.undertow.server.handlers.form.FormDataParserTestCase:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<org.apache.http.NameValuePair>
      - org.apache.http.HttpResponse
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - result
    argTypes:
    - java.util.List<org.apache.http.NameValuePair>
    - org.apache.http.HttpResponse
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase].checkResult(java.util.List<org.apache.http.NameValuePair>,org.apache.http.HttpResponse)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
    - vp.getName()
    - '[java.util.HashMap].size()'
    - '[java.util.HashMap].<init>()'
    - '[java.util.HashMap].put()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[java.util.HashMap].get(io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[java.util.List<org.apache.http.NameValuePair>].size()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.form.FormDataParserTestCase,io.undertow.server.handlers.form.FormDataParserTestCase)'
    - '[String].split(String)'
    - value.split(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase].checkResult(java.util.List<org.apache.http.NameValuePair>,org.apache.http.HttpResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormDataParserTestCase.AggregateRunner
      static: false
      superClass: TestRunner
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.form.FormDataParserTestCase.AggregateRunner].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/form/FormDataParserTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormDataParserTestCase.AggregateRunner
    signature: '[io.undertow.server.handlers.form.FormDataParserTestCase.AggregateRunner].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].createDirectories(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:61,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].builder()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:63,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setLogWriteExecutor(org.xnio.XnioWorker)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:63,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].setOutputDirectory(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:63,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].setLogBaseName(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:63,1
    - Dst: '[ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:66,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].setLogFileHeaderGenerator(ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:63,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].build()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].setOutputDirectory(java.nio.file.Path)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].setLogBaseName(String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].setLogFileHeaderGenerator(ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].builder()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].build()'
    - '[ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator].<init>(String)'
    - '[java.nio.file.Files].createDirectories(java.nio.file.Path)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setLogWriteExecutor(org.xnio.XnioWorker)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:71,1
    - Dst: '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:72,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].close()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].close()'
    - '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:86,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].testSingleLogMessageToFile()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.nio.file.Path].resolve(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].testSingleLogMessageToFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:95,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:97,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:97,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:99,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:100,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:100,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:101,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:102,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:103,1
    - Dst: '[java.nio.file.Files].readAllBytes(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:104,1
    - Dst: '[String].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:104,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:105,1
    - Dst: '[String].split(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:107,1
    - Dst: '[io.undertow.Version].getFullVersionString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:110,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:112,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].shutdown()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - logFileName
    - logReceiver
    argTypes:
    - java.nio.file.Path
    - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 6
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].verifySingleLogMessageToFile(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.nio.file.Files].readAllBytes(java.nio.file.Path)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[String].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - latchHandler.await()
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - System.lineSeparator()
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].shutdown()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].getStatusCode()'
    - '[String].split(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase)'
    - '[io.undertow.Version].getFullVersionString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].verifySingleLogMessageToFile(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:52,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:52,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase,String)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - System.getProperty(String)
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogFileTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,boolean)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].setServerOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
    - '[org.xnio.OptionMap].create(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].setServerOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].clearServerOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].clearServerOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,boolean)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].disableProxyUnescapedCharactersInURL()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
    - '[org.xnio.OptionMap].create(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].disableProxyUnescapedCharactersInURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].clearProxyOptions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setProxyOptions(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].clearProxyOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].createDirectories(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].createDirectories(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: directory.resolve(String)
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:95,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:95,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].testSingleLogMessageToFile()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - directory.resolve(String)
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,String)'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].testSingleLogMessageToFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: directory.resolve(String)
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:102,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:103,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:103,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].testSingleLogMessageToFileWithSuffix()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - directory.resolve(String)
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,String,String)'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].testSingleLogMessageToFileWithSuffix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:111,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:112,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:112,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:113,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:114,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:114,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:115,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:116,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:117,1
    - Dst: '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:118,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:119,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].getProtocolVersion()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:119,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].toString()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:119,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - logFileName
    - logReceiver
    argTypes:
    - java.nio.file.Path
    - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].verifySingleLogMessageToFile(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].getStatusCode()'
    - System.lineSeparator()
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].getProtocolVersion()'
    - latchHandler.await()
    - '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
    - '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].verifySingleLogMessageToFile(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:55,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:55,1
    - Dst: exchange.getResponseSender()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:89,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].send(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileWithUnescapedCharactersTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].send(String)'
    - System.getProperty(String)
    - exchange.getResponseSender()
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileWithUnescapedCharactersTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].createDirectories(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - int
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].createDirectories(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - int
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: directory.resolve(String)
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:85,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:85,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - int
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].testSingleLogMessageToFile()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
    - directory.resolve(String)
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].testSingleLogMessageToFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: directory.resolve(String)
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:93,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:93,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - int
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].testSingleLogMessageToFileWithSuffix()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - directory.resolve(String)
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String,String)'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].verifySingleLogMessageToFile(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].testSingleLogMessageToFileWithSuffix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:104,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:105,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:106,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:107,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:108,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:108,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:109,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:110,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:111,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:112,1
    - Dst: '[java.nio.file.Files].readAllBytes(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:112,1
    - Dst: '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:114,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].shutdown()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - int
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - logFileName
    - logReceiver
    argTypes:
    - java.nio.file.Path
    - io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].verifySingleLogMessageToFile(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.nio.file.Files].readAllBytes(java.nio.file.Path)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - latchHandler.await()
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - System.lineSeparator()
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].verifySingleLogMessageToFile(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: directory.resolve(String)
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:122,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:124,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:126,1
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:128,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:131,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:134,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].submit(Runnable)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:134,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:134,1
    - Dst: future.get()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:156,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].shutdown()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:160,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:162,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:163,1
    - Dst: '[java.nio.file.Files].readAllBytes(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:164,1
    - Dst: '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:164,1
    - Dst: '[String].contains(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:167,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - int
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      - java.util.concurrent.ExecutionException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].testLogLotsOfThreads()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].contains(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - future.get()
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[java.nio.file.Files].readAllBytes(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].shutdown()'
    - latchHandler.await()
    - directory.resolve(String)
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].submit(Runnable)'
    - '[Runnable].<init>()'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].testLogLotsOfThreads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:176,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:178,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,java.nio.file.Path,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:178,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:180,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:181,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:183,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:183,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:184,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:185,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:186,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:186,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:186,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:187,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:187,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:188,1
    - Dst: latchHandler.reset()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:189,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:190,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:191,1
    - Dst: '[java.nio.file.Files].readAllBytes(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:191,1
    - Dst: '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:191,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:191,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].rotate()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:192,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:193,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:194,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:194,1
    - Dst: '[java.nio.file.Files].size(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:195,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:195,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:196,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:197,1
    - Dst: '[java.nio.file.Files].readAllBytes(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:197,1
    - Dst: '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:197,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:200,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:201,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:202,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:202,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:203,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:203,1
    - Dst: latchHandler.await()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:204,1
    - Dst: latchHandler.reset()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:205,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:206,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:207,1
    - Dst: '[java.nio.file.Files].readAllBytes(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:207,1
    - Dst: '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:207,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:207,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].rotate()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:208,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:209,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:210,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:210,1
    - Dst: '[java.nio.file.Files].size(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:211,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:211,1
    - Dst: '[java.nio.file.Path].resolve(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:212,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:213,1
    - Dst: '[java.nio.file.Files].readAllBytes(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:213,1
    - Dst: '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:213,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:213,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:216,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].shutdown()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 103
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - int
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 218
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].testForcedLogRotation()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
    - '[java.nio.file.Path].resolve(String)'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
    - '[java.nio.file.Files].size(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - latchHandler.await()
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].rotate()'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - System.lineSeparator()
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[java.nio.file.Files].readAllBytes(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - latchHandler.reset()
    - '[String].<init>(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(org.xnio.XnioWorker,java.nio.file.Path,String)'
    - '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[java.nio.file.Files].exists(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.accesslog.AccessLogFileTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].testForcedLogRotation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:59,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:59,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogFileTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - int
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogFileTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - System.getProperty(String)
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.accesslog.AccessLogFileTestCase,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogFileTestCase
    signature: '[io.undertow.server.handlers.accesslog.AccessLogFileTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:71,1
    - Dst: AccessLogFileTestCase.class.getClassLoader()
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:72,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.server.handlers.accesslog.AccessLogTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:72,1
    - Dst: '[io.undertow.server.handlers.StoredResponseHandler].<init>(io.undertow.server.handlers.accesslog.AccessLogHandler)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.StoredResponseHandler)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:75,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:75,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:76,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:77,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:78,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:78,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:79,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.accesslog.AccessLogTestCase)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:83,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogTestCase].shutdown()'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogTestCase].testRemoteAddress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.accesslog.AccessLogTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.StoredResponseHandler)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.server.handlers.accesslog.AccessLogTestCase)'
    - AccessLogFileTestCase.class.getClassLoader()
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.accesslog.AccessLogTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.accesslog.AccessLogTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.accesslog.AccessLogTestCase].shutdown()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.accesslog.AccessLogTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.accesslog.AccessLogTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.StoredResponseHandler].<init>(io.undertow.server.handlers.accesslog.AccessLogHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogTestCase].testRemoteAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogReceiver].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:51,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/accesslog/AccessLogTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.AccessLogReceiver].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogTestCase
    signature: '[io.undertow.server.handlers.accesslog.AccessLogTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.path.PathTestCase:54,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.path.PathTestCase:56,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:57,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase:57,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:58,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase:58,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.path.PathTestCase:59,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase:59,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:65,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase:65,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.handlers.path.PathTestCase:67,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase:69,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:70,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase:70,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:71,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.path.PathTestCase:75,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.path.PathTestCase:76,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.path.PathTestCase:77,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.path.PathTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:77,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.path.PathTestCase:81,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.path.PathTestCase:82,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.path.PathTestCase:83,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.path.PathTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:83,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:84,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:86,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:87,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:88,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:89,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:90,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:91,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:92,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:93,1
    - Dst: '[java.util.Collections].singletonMap(String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:94,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:94,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:95,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.path.PathTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.path.PathTestCase:99,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.path.PathTestCase:100,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.path.PathTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:100,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.path.PathTestCase:101,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.path.PathTestCase:105,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].shutdown()'
      Src: io.undertow.server.handlers.path.PathTestCase:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 66
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.path.PathTestCase].testBasicPathHanding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/path/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.path.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String,io.undertow.server.handlers.path.PathTestCase)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
    - '[io.undertow.server.handlers.path.PathTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.path.PathTestCase)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.path.PathTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.util.Collections].singletonMap(String,String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
    - '[io.undertow.server.handlers.path.PathTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.path.PathTestCase].testBasicPathHanding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.path.PathTestCase:110,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - client
    - path
    - expectedMatch
    - expectedRemaining
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/path/PathTestCase.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    - '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String,io.undertow.server.handlers.path.PathTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.path.PathTestCase:113,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.path.PathTestCase:114,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.path.PathTestCase:115,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.path.PathTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:115,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:116,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.path.PathTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:117,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.path.PathTestCase:118,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.path.PathTestCase:119,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:119,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:120,1
    - Dst: '[java.util.Map<String,String>].entrySet()'
      Src: io.undertow.server.handlers.path.PathTestCase:121,1
    - Dst: entry.getKey()
      Src: io.undertow.server.handlers.path.PathTestCase:122,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase].getHeaders(io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:122,1
    - Dst: entry.getValue()
      Src: io.undertow.server.handlers.path.PathTestCase:123,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.path.PathTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.path.PathTestCase,io.undertow.server.handlers.path.PathTestCase)'
      Src: io.undertow.server.handlers.path.PathTestCase:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - String
      - String
      - String
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - client
    - path
    - expectedMatch
    - expectedRemaining
    - queryParams
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - String
    - String
    - String
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/path/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.path.PathTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.path.PathTestCase].getHeaders(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.path.PathTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.path.PathTestCase)'
    - '[io.undertow.server.handlers.path.PathTestCase].getStatusCode()'
    - entry.getValue()
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.path.PathTestCase].getHeaders(io.undertow.server.handlers.path.PathTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - entry.getKey()
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.path.PathTestCase)'
    - header[0].getValue()
    - '[java.util.Map<String,String>].entrySet()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.path.PathTestCase,io.undertow.server.handlers.path.PathTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.path.PathTestCase].runPathTest(io.undertow.testutils.TestHttpClient,String,String,String,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.path.PathTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.path.PathTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/path/PathTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.path.PathTestCase
    signature: '[io.undertow.server.handlers.path.PathTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - matched
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].<init>(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/path/PathTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler
    signature: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:137,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:137,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:137,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:138,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:138,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:138,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:138,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:139,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:139,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:140,1
    - Dst: param.getKey()
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:140,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:140,1
    - Dst: param.getValue()
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:140,1
    - Dst: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].getFirst()'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:140,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:140,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/path/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].getFirst()'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - param.getValue()
    - param.getKey()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.path.PathTestCase.RemainingPathHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].<init>()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:58,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:59,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:59,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:60,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/URLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
    - '[io.undertow.server.session.PathParameterSessionConfig].<init>()'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.PathParameterSessionConfig)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:90,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:91,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:91,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:93,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:94,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:95,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:95,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:96,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:97,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:101,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:102,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:102,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:103,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:104,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:105,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:108,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:109,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:109,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:110,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:111,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:116,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].shutdown()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].testURLRewriting()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/URLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
    - '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].shutdown()'
    - '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusCode()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].testURLRewriting()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:122,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:123,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:125,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:126,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:127,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:127,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:128,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:129,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:130,1
    - Dst: result.getHeaders("a")[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:131,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:135,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:136,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:136,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:137,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:138,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:139,1
    - Dst: result.getHeaders("a")[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:140,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:142,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:143,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:144,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:144,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:144,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:145,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:146,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:147,1
    - Dst: result.getHeaders("a")[0].getValue()
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:148,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:148,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:152,1
    - Dst: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].shutdown()'
      Src: io.undertow.server.handlers.session.URLRewritingSessionTestCase:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].testURLRewritingWithQueryParameters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/URLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - result.getHeaders("a")[0].getValue()
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
    - '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].shutdown()'
    - '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].getStatusCode()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.URLRewritingSessionTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].testURLRewritingWithQueryParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.session.URLRewritingSessionTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/URLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.session.URLRewritingSessionTestCase
    signature: '[io.undertow.server.handlers.session.URLRewritingSessionTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:58,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:60,1
    - Dst: '[io.undertow.server.session.SslSessionConfig].<init>(io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:61,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SslSessionConfig)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:62,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:63,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:79,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:83,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:84,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:85,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:86,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:89,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:90,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:91,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:91,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:92,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:93,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:96,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:97,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:98,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:98,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:99,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:100,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:101,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getCookieStore()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:103,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].getCookies()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:103,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].size()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.SSLSessionTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:103,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:108,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionTestCase].shutdown()'
      Src: io.undertow.server.handlers.session.SSLSessionTestCase:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 70
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 56
    functionDepth: 6
    functionLinenumber: 56
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.session.SSLSessionTestCase].testSslSession()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/SSLSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.session.SSLSessionTestCase].size()'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
    - '[io.undertow.server.handlers.session.SSLSessionTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.session.SSLSessionTestCase].getHeaders(String)'
    - '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SslSessionConfig)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.session.SSLSessionTestCase].shutdown()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.session.SSLSessionTestCase].getCookies()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.session.SSLSessionTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.SSLSessionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.TestHttpClient].getCookieStore()'
    - '[io.undertow.server.session.SslSessionConfig].<init>(io.undertow.server.session.InMemorySessionManager)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.SSLSessionTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.SSLSessionTestCase)'
    - header[0].getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.session.SSLSessionTestCase].testSslSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.session.SSLSessionTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.session.SSLSessionTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/SSLSessionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.session.SSLSessionTestCase
    signature: '[io.undertow.server.handlers.session.SSLSessionTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLContext].getDefault()'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:46,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].createSSLEngine()'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:47,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].setUseClientMode(boolean)'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:48,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].createSSLEngine()'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:49,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].setUseClientMode(boolean)'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:50,1
    - Dst: '[java.nio.ByteBuffer].wrap()'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:52,1
    - Dst: '[java.nio.ByteBuffer].allocate(int,int)'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:55,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].unwrap(io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase,io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase)'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:57,1
    - Dst: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].clear()'
      Src: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.session.SSLSessionTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/SSLSessionWithExpandedBufferTestCase.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLContext].getDefault()'
    - '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].setUseClientMode(boolean)'
    - '[java.nio.ByteBuffer].allocate(int,int)'
    - '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].unwrap(io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase,io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase)'
    - '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].createSSLEngine()'
    - '[java.nio.ByteBuffer].wrap()'
    - '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase
      static: false
      superClass: io.undertow.server.handlers.session.SSLSessionTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/SSLSessionWithExpandedBufferTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase
    signature: '[io.undertow.server.handlers.session.SSLSessionWithExpandedBufferTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:55,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:56,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:56,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:58,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:59,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:59,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:60,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:76,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:76,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:77,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:78,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:78,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:79,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:80,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:83,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:84,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:85,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:85,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:86,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:87,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:88,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:88,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:90,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:91,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:92,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:92,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:93,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:94,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:99,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].shutdown()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.session.InMemorySessionTestCase].inMemorySessionTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/InMemorySessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
    - '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].shutdown()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - header[0].getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.session.InMemorySessionTestCase].inMemorySessionTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:106,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:108,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:109,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:112,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String,int,boolean)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:113,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:113,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:114,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:128,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:131,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:131,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:132,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:133,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:133,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:134,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:135,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:138,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:138,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:139,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:140,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:140,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:141,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:142,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:143,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:145,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:145,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:146,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:147,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:147,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:148,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:149,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:150,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:153,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:154,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:155,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:155,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:155,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:156,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:157,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:158,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:158,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:162,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].shutdown()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:162,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:163,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].shutdown()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 83
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.handlers.session.InMemorySessionTestCase].inMemoryMaxSessionsTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/InMemorySessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
    - '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String,int,boolean)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].shutdown()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - header[0].getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.session.InMemorySessionTestCase].inMemoryMaxSessionsTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:173,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:174,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:174,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:176,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:177,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:177,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:178,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:178,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:230,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:232,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:232,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:233,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:234,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:234,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:234,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:235,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:236,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:237,1
    - Dst: Thread.sleep(int,int)
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:239,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:242,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:242,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:243,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:244,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:244,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:244,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:245,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:246,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:247,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:247,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:249,1
    - Dst: '[io.undertow.server.handlers.session.InMemorySessionTestCase].shutdown()'
      Src: io.undertow.server.handlers.session.InMemorySessionTestCase:249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 82
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 251
    functionName: '[io.undertow.server.handlers.session.InMemorySessionTestCase].inMemorySessionTimeoutExpirationTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/InMemorySessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.session.SessionAttachmentHandler)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.session.InMemorySessionTestCase)'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusLine()'
    - '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].shutdown()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - Thread.sleep(int,int)
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.session.InMemorySessionTestCase].getHeaders(String)'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - header[0].getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.session.InMemorySessionTestCase].inMemorySessionTimeoutExpirationTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.session.InMemorySessionTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.session.InMemorySessionTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/session/InMemorySessionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.session.InMemorySessionTestCase
    signature: '[io.undertow.server.handlers.session.InMemorySessionTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[TargetServer].stop()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:29,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].stop()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:30,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].stop()'
    - Thread.sleep(int)
    - '[TargetServer].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:41,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:42,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:43,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixRootToRoot()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixRootToRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:49,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:50,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:51,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixRootToPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixRootToPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:57,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:58,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:59,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:60,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:61,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:62,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixPathToPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixPathToPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:68,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:69,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:70,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:71,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:72,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixPathToRoot()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixPathToRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:78,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:79,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:80,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:81,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:82,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixPathSlashToRoot()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].prefixPathSlashToRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:88,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:89,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:90,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactRootToRoot()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactRootToRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:96,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:97,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:98,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactRootToPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactRootToPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:104,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:105,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:106,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactRootToPathSlash()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactRootToPathSlash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:112,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:113,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:114,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:115,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:116,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:117,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactPathToRoot()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactPathToRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:123,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:124,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:125,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:126,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:127,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:128,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactPathSlashToRoot()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactPathSlashToRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:134,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:135,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:136,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:137,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:138,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:139,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactPathToPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactPathToPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:145,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:146,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:147,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:148,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:149,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:150,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactPathToPathSlash()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].exactPathToPathSlash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].httpGet(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:156,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].assertEquals(int,int)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:156,1
    - Dst: '[TargetServer].gotRequest(boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:157,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].assertEquals(String,io.undertow.server.handlers.proxy.ProxyPathHandlingTest)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - requestPath
    - expectedTargetPath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 12
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].assertEquals(int,int)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].assertEquals(String,io.undertow.server.handlers.proxy.ProxyPathHandlingTest)'
    - '[TargetServer].gotRequest(boolean)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].httpGet(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isProxied(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].httpGet(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:161,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].assertEquals(int,int)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:161,1
    - Dst: '[TargetServer].gotRequest(boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:162,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].assertNull(io.undertow.server.handlers.proxy.ProxyPathHandlingTest)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requestPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 10
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].assertEquals(int,int)'
    - '[TargetServer].gotRequest(boolean)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].assertNull(io.undertow.server.handlers.proxy.ProxyPathHandlingTest)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].httpGet(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].isNotProxied(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:166,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.proxy.ProxyPathHandlingTest)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:167,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:167,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:168,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].httpGet(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.server.handlers.proxy.ProxyPathHandlingTest)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].getStatusLine()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].httpGet(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[TargetServer].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:24,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].<init>(io.undertow.server.handlers.proxy.ProxyPathHandlingTest)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - TargetServer
      - ProxyServer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyPathHandlingTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].<init>(io.undertow.server.handlers.proxy.ProxyPathHandlingTest)'
    - '[TargetServer].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyPathHandlingTest
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FreePort.find()
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:172,1
    - Dst: '[io.undertow.Handlers].path()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:174,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:180,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:180,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].setHandler(PathHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:180,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].build()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:180,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].start()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Undertow
      - PathHandler
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - targetUri
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].<init>(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].build()'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].setHandler(PathHandler)'
    - FreePort.find()
    - '[io.undertow.Handlers].path()'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].start()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.Undertow].builder()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyHandler(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:188,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Undertow
      - PathHandler
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - proxyPath
    - targetPath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyHandler(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyPrefixPath(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyHandler(String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:192,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Undertow
      - PathHandler
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - proxyPath
    - targetPath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyHandler(String)'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyExactPath(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Undertow
      - PathHandler
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].stop()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:200,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:200,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].build()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Undertow
      - PathHandler
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - targetPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyHandler(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient()'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].build()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.ProxyServer].proxyHandler(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FreePort.find()
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:206,1
    - Dst: '[java.util.concurrent.LinkedBlockingQueue].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:210,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:213,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:213,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:215,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:213,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].build()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:213,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].start()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Undertow
      - String
      - LinkedBlockingQueue<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingQueue].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].setHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].start()'
    - FreePort.find()
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].build()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Undertow
      - String
      - LinkedBlockingQueue<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].stop()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[LinkedBlockingQueue<String>].poll(io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:232,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Undertow
      - String
      - LinkedBlockingQueue<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wait
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].gotRequest(boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[LinkedBlockingQueue<String>].poll(io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.TargetServer].gotRequest(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.ServerSocket].<init>(int)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort:246,1
    - Dst: '[java.net.ServerSocket].getLocalPort()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort:247,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort)'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort:249,1
    - Dst: '[java.net.ServerSocket].close()'
      Src: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort].find()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached:
    - '[java.net.ServerSocket].getLocalPort()'
    - '[java.net.ServerSocket].<init>(int)'
    - '[java.net.ServerSocket].close()'
    - '[RuntimeException].<init>(String,io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort].find()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyPathHandlingTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort
    signature: '[io.undertow.server.handlers.proxy.ProxyPathHandlingTest.FreePort].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:36,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:37,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:38,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:39,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:38,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:38,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].path()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:41,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:42,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:42,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:42,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].addPrefixPath(String,io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:41,1
    - Dst: '[AbstractLoadBalancingProxyTestCase.StringSendHandler].<init>(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:43,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].addPrefixPath(String,AbstractLoadBalancingProxyTestCase.StringSendHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:41,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].jvmRoute(String,String,io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:41,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:38,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:38,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:47,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].path()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:50,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:50,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:50,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].addPrefixPath(String,io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:49,1
    - Dst: '[AbstractLoadBalancingProxyTestCase.StringSendHandler].<init>(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:51,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].addPrefixPath(String,AbstractLoadBalancingProxyTestCase.StringSendHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].jvmRoute(String,String,io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:53,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:54,1
    - Dst: '[LoadBalancingProxyClient.HostSelector].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:56,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,null,LoadBalancingProxyClient.HostSelector)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:72,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:72,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:73,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:73,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setMaxConnectionRetries(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithCustomHostSelectorTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setMaxConnectionRetries(int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].build()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].start()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setMaxRequestTime(int)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,null,LoadBalancingProxyClient.HostSelector)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].path()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].jvmRoute(String,String,io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].addPrefixPath(String,io.undertow.server.session.SessionAttachmentHandler)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].addPrefixPath(String,AbstractLoadBalancingProxyTestCase.StringSendHandler)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    - '[LoadBalancingProxyClient.HostSelector].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[java.net.URI].<init>(String,null,String,int,null,null,null)'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
    - '[AbstractLoadBalancingProxyTestCase.StringSendHandler].<init>(String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:80,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:81,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].teardown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithCustomHostSelectorTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].teardown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:91,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:96,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:97,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:98,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:98,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:99,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:99,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:102,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:102,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:105,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:105,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:105,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:106,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:106,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Throwable
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].testDistributeLoadToGivenHost()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithCustomHostSelectorTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].shutdown()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].contains(String)'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].testDistributeLoadToGivenHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithCustomHostSelectorTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithCustomHostSelectorTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:46,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:47,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:48,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:47,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:47,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:47,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:51,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:47,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:47,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:54,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:55,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:58,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:60,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:61,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:65,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:65,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:66,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:66,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setMaxConnectionRetries(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:63,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:70,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:72,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:73,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:70,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase,io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].getRootHandler(String,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase,io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.encoding.EncodingHandler)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setMaxRequestTime(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].build()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].start()'
    - '[java.net.URI].<init>(String,null,String,int,null,null,null)'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setMaxConnectionRetries(int)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.GzipEncodingProvider,int,io.undertow.predicate.Predicate)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setSoftMaxConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setTtl(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:51,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:46,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:55,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setIoThreads(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:60,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.Undertow
      - java.util.Set<io.undertow.server.ServerConnection>
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].before()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancerConnectionPoolingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(String,null,String,int,null,null,null)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setIoThreads(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].build()'
    - '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].addHttpListener(int,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].setMaxRequestTime(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setTtl(int)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setSoftMaxConnectionsPerThread(int)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].start()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:83,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.Undertow
      - java.util.Set<io.undertow.server.ServerConnection>
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].after()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancerConnectionPoolingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:92,1
    - Dst: '[org.apache.http.impl.conn.PoolingClientConnectionManager].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:93,1
    - Dst: '[org.apache.http.impl.conn.PoolingClientConnectionManager].setDefaultMaxPerRoute(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.impl.conn.PoolingClientConnectionManager)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:95,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:97,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:98,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:101,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].submit(Runnable)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:101,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:117,1
    - Dst: '[org.junit.Assert].fail()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:121,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:121,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:122,1
    - Dst: '[java.util.Set<io.undertow.server.ServerConnection>].size()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:125,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:128,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:129,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:132,1
    - Dst: '[java.util.Set<io.undertow.server.ServerConnection>].isEmpty()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:133,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:133,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:134,1
    - Dst: '[java.util.Set<io.undertow.server.ServerConnection>].size()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.Undertow
      - java.util.Set<io.undertow.server.ServerConnection>
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].shouldReduceConnectionPool()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancerConnectionPoolingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].submit(Runnable)'
    - Thread.sleep(int)
    - '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.impl.conn.PoolingClientConnectionManager].<init>()'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[Runnable].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>(org.apache.http.impl.conn.PoolingClientConnectionManager)'
    - '[org.junit.Assert].fail()'
    - '[java.util.Set<io.undertow.server.ServerConnection>].size()'
    - '[java.util.Set<io.undertow.server.ServerConnection>].isEmpty()'
    - System.currentTimeMillis()
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase)'
    - '[java.util.concurrent.CountDownLatch].<init>(io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase)'
    - '[org.apache.http.impl.conn.PoolingClientConnectionManager].setDefaultMaxPerRoute(int)'
    - '[org.junit.Assert].fail(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].shouldReduceConnectionPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:38,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:38,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:40,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.Undertow
      - java.util.Set<io.undertow.server.ServerConnection>
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 2
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancerConnectionPoolingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase
    signature: '[io.undertow.server.handlers.proxy.LoadBalancerConnectionPoolingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:47,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:51,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:52,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:52,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:54,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:55,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:55,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setSocketOption(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].path()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].addPrefixPath(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].jvmRoute(String,String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setHandler(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].build()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:54,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].start()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].addPrefixPath(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setHandler(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].build()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].path()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].jvmRoute(String,String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setSocketOption(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,boolean)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:66,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:67,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].teardown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.Undertow].stop()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].teardown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:77,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setRewriteHostHeader(boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setReuseXForwarded(boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].build()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:77,1
    - Dst: '[io.undertow.Handlers].proxyPeerAddress(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - rewriteHostHeader
    - reuseXForwarded
    argTypes:
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandlerWithPeerAddressHandler(boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].build()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setReuseXForwarded(boolean)'
    - '[io.undertow.Handlers].proxyPeerAddress(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setMaxRequestTime(int)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setRewriteHostHeader(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandlerWithPeerAddressHandler(boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:89,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:89,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:89,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setRewriteHostHeader(boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:89,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setReuseXForwarded(boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:89,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].build()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - rewriteHostHeader
    - reuseXForwarded
    argTypes:
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].build()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setReuseXForwarded(boolean)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setMaxRequestTime(int)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setRewriteHostHeader(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:104,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:106,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:107,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:107,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:109,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:109,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:109,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:109,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:110,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:110,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:110,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:111,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:111,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:112,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:112,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:112,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:112,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:112,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:115,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testXForwarded()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getHostAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testXForwarded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:122,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:125,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:126,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:128,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:129,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:129,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:131,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:131,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:131,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:131,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:132,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:132,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:132,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:133,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:133,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:133,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:133,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:134,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:134,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:134,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:134,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:134,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:134,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:137,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testXForwardedSsl()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getHostAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testXForwardedSsl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:143,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:144,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:147,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:147,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:148,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:148,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:149,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:150,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:150,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:152,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:152,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:152,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:152,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:153,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:153,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:153,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:154,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:154,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:154,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:154,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:154,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:155,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:155,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:155,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:155,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:155,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:155,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:155,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:158,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testReuseXForwarded()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getHostAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testReuseXForwarded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:164,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:165,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:168,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:168,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:170,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:171,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:173,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:173,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:174,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:174,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:174,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:177,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:177,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:176,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:179,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:179,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:179,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:182,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testReuseXForwardedHeaderSanitization()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].contains(String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertFalse(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testReuseXForwardedHeaderSanitization()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:188,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:189,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:192,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:192,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:193,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:193,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:194,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:195,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:195,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:195,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:197,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:197,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:197,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:197,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:197,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:198,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:198,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:198,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:198,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:199,1
    - Dst: String.format(String,String,int)
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:199,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:199,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:199,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:199,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:199,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:200,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:200,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:200,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:200,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:200,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:200,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:200,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:201,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:201,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].lastIndexOf(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:202,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:203,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].substring(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:204,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].substring(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:204,1
    - Dst: '[java.net.InetAddress].getByName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:205,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:206,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:206,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:207,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:207,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:207,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:208,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:211,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testRewriteHostHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
    - '[org.junit.Assert].assertNotEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - String.format(String,String,int)
    - '[java.net.InetAddress].getByName()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].substring(int)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandler(boolean,boolean)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].substring(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].lastIndexOf(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].toString()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getHostAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testRewriteHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandlerWithPeerAddressHandler(boolean,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:217,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:218,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:221,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:221,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:222,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:222,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:223,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:224,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:224,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:224,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:226,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:226,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:226,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:226,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:226,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:227,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:227,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:227,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:227,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:228,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:228,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:228,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:228,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:228,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:229,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:229,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:229,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:229,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:232,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testWithProxyPeerAddressHandler()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getFirstHeader(String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].setProxyHandlerWithPeerAddressHandler(boolean,boolean)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].getValue()'
    - Integer.parseInt(io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    - '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].testWithProxyPeerAddressHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - int
      - int
      - int
      - io.undertow.protocols.ssl.UndertowXnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:241,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:241,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:242,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:242,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:242,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:242,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:244,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:244,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:245,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:245,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:245,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:245,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:247,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:247,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:248,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:248,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:248,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:248,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:250,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:250,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:251,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:251,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:251,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:251,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:253,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:253,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:254,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:254,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:254,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/ProxyHandlerXForwardedForTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerXForwardedForTestCase.XForwardedHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].setupFailTest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].setupFailTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].getWorker()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:84,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:85,1
    - Dst: '[org.xnio.XnioWorker].isShutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:87,1
    - Dst: '[io.undertow.Undertow].getWorker()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:95,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:96,1
    - Dst: '[org.xnio.XnioWorker].isShutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:98,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:106,1
    - Dst: worker1.getIoThread()
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:107,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].execute()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:107,1
    - Dst: worker2.getIoThread()
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:108,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].execute()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:108,1
    - Dst: '[java.util.concurrent.CountDownLatch].await()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:110,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:112,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].teardown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - worker1.getIoThread()
    - Thread.sleep(int)
    - worker2.getIoThread()
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].execute()'
    - '[java.util.concurrent.CountDownLatch].await()'
    - '[java.util.concurrent.CountDownLatch].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.Undertow].stop()'
    - '[io.undertow.Undertow].getWorker()'
    - '[org.xnio.XnioWorker].isShutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].teardown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:126,1
    - Dst: '[org.apache.http.impl.client.DecompressingHttpClient].<init>(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:126,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:128,1
    - Dst: '[org.apache.http.impl.client.DecompressingHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:129,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:130,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:130,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:131,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:131,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:132,1
    - Dst: '[org.apache.http.impl.client.DecompressingHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:134,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:134,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:137,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:137,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:137,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:138,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:138,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testLoadShared()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.impl.client.DecompressingHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].append(char)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[StringBuilder].<init>()'
    - '[org.apache.http.impl.client.DecompressingHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].contains(String)'
    - '[StringBuilder].toString()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[org.apache.http.impl.client.DecompressingHttpClient].<init>(io.undertow.testutils.TestHttpClient)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testLoadShared()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:143,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:145,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:145,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:146,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:147,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:147,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:149,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testAbruptClosed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testAbruptClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:154,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:156,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:156,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:157,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:158,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:158,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:158,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:159,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:159,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:161,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testUrlEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testUrlEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:167,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:170,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:171,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:172,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:172,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:172,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:173,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:173,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:176,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testOldBackend()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testOldBackend()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:182,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:184,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:184,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:185,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:186,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:186,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:186,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:187,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:187,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:189,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testMaxRetries()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testMaxRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:196,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:199,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:200,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:200,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:201,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:202,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:202,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:203,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:203,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:204,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:205,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:206,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:207,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:207,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:208,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:209,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:209,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:209,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:210,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:210,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:211,1
    - Dst: '[io.undertow.Undertow].start()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:212,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:213,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:214,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:215,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:215,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:216,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:217,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:217,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:217,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:218,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:218,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:219,1
    - Dst: '[io.undertow.Undertow].start()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:220,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:222,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:222,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:222,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:223,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:223,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testLoadSharedWithServerShutdown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
    - Thread.sleep(int)
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].contains(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.Undertow].start()'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.Undertow].stop()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testLoadSharedWithServerShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:229,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:233,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:233,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:234,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:235,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:236,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:236,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:236,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:237,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:238,1
    - Dst: '[AssertionError].<init>(String,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:242,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:246,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 248
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testStickySessions()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - Integer.parseInt(String)
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[AssertionError].<init>(String,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testStickySessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:254,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:258,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:258,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:259,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:260,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:261,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:262,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:263,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:264,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:265,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:266,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:267,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:268,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:269,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:269,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:269,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:270,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:270,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:271,1
    - Dst: '[AssertionError].<init>(String,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:275,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:279,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 281
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testDuplicateHeaders()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - Integer.parseInt(String)
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[AssertionError].<init>(String,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testDuplicateHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:286,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:287,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:287,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:288,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:289,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:290,1
    - Dst: Boolean.parseBoolean(String)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:290,1
    - Dst: '[org.junit.Assert].assertEquals(boolean,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:291,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:294,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:295,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:297,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:298,1
    - Dst: Boolean.parseBoolean(String)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:298,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:300,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].info(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:301,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:302,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:303,1
    - Dst: Boolean.parseBoolean(String)
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:303,1
    - Dst: '[org.junit.Assert].assertEquals(boolean,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:304,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:306,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 308
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testConnectionTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - Boolean.parseBoolean(String)
    - Thread.sleep(int)
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].info(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(boolean,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].testConnectionTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:313,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].path()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:315,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:315,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:315,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[StringSendHandler].<init>(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:316,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,StringSendHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:317,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:323,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:329,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:340,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:350,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:355,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].jvmRoute(String,String,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - s1
    - server1
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 368
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 368
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getRootHandler(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].jvmRoute(String,String,io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase)'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,io.undertow.server.session.SessionAttachmentHandler)'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
    - '[StringSendHandler].<init>(String)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].path()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].addPrefixPath(String,StringSendHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].getRootHandler(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.Undertow
      - io.undertow.Undertow
      - boolean
      - int
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionCookieConfig
      classConcrete: true
      classEnum: false
      classFields:
      - SessionCookieConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionConfig
    argTypes:
    - io.undertow.server.session.SessionCookieConfig
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(io.undertow.server.session.SessionCookieConfig)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(io.undertow.server.session.SessionCookieConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler:380,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].getSession(io.undertow.server.HttpServerExchange,SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler:381,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].createSession(io.undertow.server.HttpServerExchange,SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler:383,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].setAttribute(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,int)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler:384,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].getAttribute(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler:386,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].setAttribute(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,int)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler:387,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler:388,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - SessionCookieConfig
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].createSession(io.undertow.server.HttpServerExchange,SessionCookieConfig)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].getAttribute(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler)'
    - '[io.undertow.io.Sender].send(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].setAttribute(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,int)'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].getSession(io.undertow.server.HttpServerExchange,SessionCookieConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.StringSendHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - serverName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.StringSendHandler].<init>(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.StringSendHandler
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.StringSendHandler].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.StringSendHandler:403,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.StringSendHandler:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.StringSendHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/AbstractLoadBalancingProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.io.Sender].send(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.StringSendHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:56,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:57,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:58,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:57,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:62,1
    - Dst: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:62,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setHandler(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:75,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:76,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:77,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:76,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:76,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:76,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:76,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:81,1
    - Dst: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:81,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setHandler(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:76,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:76,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:93,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:94,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:98,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:98,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:99,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:99,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setMaxConnectionRetries(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getRootHandler(String,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].start()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].build()'
    - '[java.net.URI].<init>(String,null,String,int,null,null,null)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setMaxConnectionRetries(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setMaxRequestTime(int)'
    - '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setHandler(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:109,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:110,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:110,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:112,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getName()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:115,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].testHeadersAreLowercase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getName()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].getFirstHeader(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].testHeadersAreLowercase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHTTP2ViaUpgradeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2ViaUpgradeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:42,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:43,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:44,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addAjpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:43,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:43,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:43,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:47,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:43,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:43,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:50,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addAjpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:53,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:56,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:60,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:60,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:61,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:61,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setMaxConnectionRetries(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyAJPTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].build()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].getRootHandler(String,String)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setMaxRequestTime(int)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].start()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addAjpListener(int,String)'
    - '[java.net.URI].<init>(String,null,String,int,null,null,null)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setMaxConnectionRetries(int)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyAJPTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyAJPTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:47,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:48,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:49,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:50,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:50,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:53,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:49,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:55,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:56,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:60,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:55,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:62,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:65,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:65,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:68,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:68,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:69,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:69,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setMaxConnectionRetries(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHttpsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].start()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setMaxConnectionRetries(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].build()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].getRootHandler(String,String)'
    - '[java.net.URI].<init>(String,null,String,int,null,null,null)'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setMaxRequestTime(int)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHttpsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHttpsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].startHttpServer()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:49,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].startLoadBalancer()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:50,1
    - Dst: '[io.undertow.Undertow].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:51,1
    - Dst: '[io.undertow.Undertow].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setUp()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithHeaderTableSizeSettingsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].startLoadBalancer()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].startHttpServer()'
    - '[io.undertow.Undertow].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setUp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].getWorker()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:61,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:62,1
    - Dst: '[org.xnio.XnioWorker].isShutdown()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:64,1
    - Dst: '[io.undertow.Undertow].getWorker()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:72,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:73,1
    - Dst: '[org.xnio.XnioWorker].isShutdown()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:75,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:83,1
    - Dst: worker1.getIoThread()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:84,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].execute()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:84,1
    - Dst: worker2.getIoThread()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:85,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].execute()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:85,1
    - Dst: '[java.util.concurrent.CountDownLatch].await()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:87,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:89,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].tearDown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithHeaderTableSizeSettingsTestCase.java
    functionUses: 0
    functionsReached:
    - worker1.getIoThread()
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].execute()'
    - Thread.sleep(int)
    - worker2.getIoThread()
    - '[java.util.concurrent.CountDownLatch].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[java.util.concurrent.CountDownLatch].await()'
    - '[io.undertow.Undertow].stop()'
    - '[io.undertow.Undertow].getWorker()'
    - '[org.xnio.XnioWorker].isShutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].tearDown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:99,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:99,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setServerOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:99,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setHandler()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:99,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Undertow
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].startHttpServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithHeaderTableSizeSettingsTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].build()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setHandler()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setServerOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,boolean)'
    linkageType: ''
    returnType: io.undertow.Undertow
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].startHttpServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runtime.getRuntime()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].availableProcessors()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:113,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:113,1
    - Dst: java.net.URI.create(String)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:115,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:113,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:117,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setReuseXForwarded(boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setRewriteHostHeader(boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setNext(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:117,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setIoThreads(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setWorkerThreads(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setServerOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setWorkerOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Undertow
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].startLoadBalancer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithHeaderTableSizeSettingsTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setWorkerThreads(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setReuseXForwarded(boolean)'
    - Runtime.getRuntime()
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].availableProcessors()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].addHttpListener(int,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setWorkerOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    - java.net.URI.create(String)
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setMaxRequestTime(int)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setIoThreads(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].build()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setRewriteHostHeader(boolean)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setNext(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].setServerOption(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,boolean)'
    linkageType: ''
    returnType: io.undertow.Undertow
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].startLoadBalancer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: java.net.http.HttpRequest.newBuilder()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:138,1
    - Dst: java.net.URI.create(String)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:139,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].uri(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:138,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].GET()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:138,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:138,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].newHttpClient()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:142,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].ofString()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:142,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].send(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:142,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].statusCode()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:144,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:144,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].body()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:145,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].assertEquals(String,io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].sendRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithHeaderTableSizeSettingsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].newHttpClient()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].GET()'
    - java.net.http.HttpRequest.newBuilder()
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].build()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].ofString()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].statusCode()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].body()'
    - java.net.URI.create(String)
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].send(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].uri(io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].assertEquals(String,io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].sendRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.Undertow
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyWithHeaderTableSizeSettingsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyWithHeaderTableSizeSettingsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:75,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:76,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:78,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:77,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:82,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getRootHandler(String,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:94,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:95,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:96,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:95,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:95,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:95,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:95,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:100,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:95,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:95,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].start()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:114,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:114,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:118,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:118,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:118,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:119,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,null,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:119,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:119,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setMaxConnectionRetries(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].build()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHTTP2TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setMaxRequestTime(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setServerOption(org.xnio.Option<Integer>,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setMaxConnectionRetries(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setSocketOption(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getRootHandler(String,String)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].build()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[java.net.URI].<init>(String,null,String,int,null,null,null)'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].start()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].assumeAlpnEnabled()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 8
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].requireAlpn()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHTTP2TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].assumeAlpnEnabled()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].requireAlpn()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:133,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:135,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:135,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:136,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:137,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:137,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:137,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:138,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getFirstHeader(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:139,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getName()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:140,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:142,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].shutdown()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].testHeadersAreLowercase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHTTP2TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getFirstHeader(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].shutdown()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getStatusCode()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getName()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].testHeadersAreLowercase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:150,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:150,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:151,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:152,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:152,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:152,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:152,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:152,1
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:153,1
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:155,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:157,1
    - Dst: '[java.util.ArrayDeque].add(org.xnio.FutureResult)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:158,1
    - Dst: '[java.util.concurrent.Callable].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:159,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].submit(java.util.concurrent.Callable)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:159,1
    - Dst: '[java.util.ArrayDeque].isEmpty()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:202,1
    - Dst: '[java.util.ArrayDeque].poll()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:203,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getIoFuture()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:204,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].awaitInterruptibly(int,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:204,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:204,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getIoFuture()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:205,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].get()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:205,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:205,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].shutdownNow()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      - java.util.concurrent.ExecutionException
      - InterruptedException
      - java.util.concurrent.TimeoutException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].testHttp2ClientMultipleStreamsThreadSafety()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHTTP2TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[java.util.ArrayDeque].add(org.xnio.FutureResult)'
    - '[java.util.ArrayDeque].<init>()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].submit(java.util.concurrent.Callable)'
    - '[org.junit.Assert].assertNotEquals(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[java.net.URI].<init>(String,null,String,int,String,null,null)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].getIoFuture()'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.ArrayDeque].poll()'
    - '[java.util.ArrayDeque].isEmpty()'
    - '[java.util.concurrent.Callable].<init>()'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].get()'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].shutdownNow()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].awaitInterruptibly(int,io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase)'
    - '[org.xnio.FutureResult].<init>()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].testHttp2ClientMultipleStreamsThreadSafety()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase
      static: false
      superClass: io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/LoadBalancingProxyHTTP2TestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyHTTP2TestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].builder()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getBalancerName()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getBalancerName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - balancerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setBalancerName(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setBalancerName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySession()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySession
    argTypes:
    - Boolean
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySession(Boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySession(Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionCookie()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySessionCookie
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySessionCookie(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySessionCookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySessionPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySessionPath(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySessionPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionRemove()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionRemove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySessionRemove
    argTypes:
    - Boolean
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySessionRemove(Boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySessionRemove(Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionForce()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionForce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySessionForce
    argTypes:
    - Boolean
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySessionForce(Boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setStickySessionForce(Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getWaitWorker()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getWaitWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - waitWorker
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setWaitWorker(Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setWaitWorker(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getMaxattempts()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getMaxattempts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxattempts
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setMaxattempts(Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setMaxattempts(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setJvmRoute(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setJvmRoute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getDomain()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - domain
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setType(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setType(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getHostname()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getHostname()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setHostname(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setHostname(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPort()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setPort(Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setPort(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getFlushPackets()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getFlushPackets()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flushPackets
    argTypes:
    - Boolean
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setFlushPackets(Boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setFlushPackets(Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getFlushwait()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getFlushwait()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flushwait
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setFlushwait(Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setFlushwait(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ping
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setPing(Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setPing(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getSmax()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getSmax()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - smax
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setSmax(Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setSmax(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getTtl()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setTtl(Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setTtl(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setTimeout(Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setTimeout(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getTestHandlers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getTestHandlers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - testHandlers
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setTestHandlers(io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setTestHandlers(io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers].setup(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.PathHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pathHandler
    argTypes:
    - io.undertow.server.handlers.PathHandler
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setupHandlers(io.undertow.server.handlers.PathHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers].setup(io.undertow.server.handlers.PathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setupHandlers(io.undertow.server.handlers.PathHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig:248,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 12
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[Object].clone()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - Integer
      - Boolean
      - Integer
      - Integer
      - Integer
      - Integer
      - Integer
      - String
      - Boolean
      - String
      - String
      - Boolean
      - Boolean
      - Integer
      - Integer
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Cloneable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:89,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:90,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getClientSSLContext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:92,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,io.undertow.testutils.DebuggingSlicePool,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,io.undertow.testutils.DebuggingSlicePool,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getHostPort(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getClientSSLContext()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getHostAddress(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].isHttps()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getType()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isHttps()'
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getWorker()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:113,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getHostPort(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:115,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].createProxyHandler()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:116,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].webBuilder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getHostAddress(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:118,1
    - Dst: '[WebBuilder].setManagementHost(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].setManagementPort(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].create(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].path(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].addPrefixPath(String,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:122,1
    - Dst: '[io.undertow.server.handlers.LocalNameResolvingHandler].<init>(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:122,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.LocalNameResolvingHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].start()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:123,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:125,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:126,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].<init>(org.apache.http.impl.client.DefaultHttpClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].setupModCluster()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].create(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getHostPort(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].path(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].webBuilder()'
    - '[io.undertow.testutils.DefaultServer].getWorker()'
    - '[WebBuilder].setManagementHost(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[org.apache.http.impl.client.DefaultHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.LocalNameResolvingHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].setManagementPort(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.LocalNameResolvingHandler].<init>(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].start()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getHostAddress(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].<init>(org.apache.http.impl.client.DefaultHttpClient,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].addPrefixPath(String,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].createProxyHandler()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].setupModCluster()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].stopServers()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:132,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].stop()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:134,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:136,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].shutdown()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].stopModCluster()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].shutdown()'
    - '[org.apache.http.impl.client.DefaultHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].stop()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].stopServers()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].stopModCluster()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:148,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].info()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:150,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:152,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].registerNode(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:153,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].updateLoad(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - updateLoad
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].registerNodes(boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].info()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].registerNode(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].updateLoad(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].registerNodes(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: config.getJvmRoute()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:162,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].updateLoad(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].updateLoad()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].updateLoad(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,int)'
    - config.getJvmRoute()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].updateLoad()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].info()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:169,1
    - Dst: e.printStackTrace()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:171,1
    - Dst: config.getJvmRoute()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:176,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeNode(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:176,1
    - Dst: e.printStackTrace()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:178,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].getCookieStore()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:184,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].clear()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].unregisterNodes()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].info()'
    - config.getJvmRoute()
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].clear()'
    - '[org.apache.http.impl.client.DefaultHttpClient].getCookieStore()'
    - e.printStackTrace()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeNode(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].unregisterNodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server.stop()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:194,1
    - Dst: e.printStackTrace()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:196,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].stopServers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 1
    functionsReached:
    - server.stop()
    - e.printStackTrace()
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].stopServers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:209,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].createNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:214,1
    - Dst: servers[i].start()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].startServers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].createNode()'
    - servers[i].start()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].startServers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].checkGet(String,int,null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - context
    - statusCode
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].checkGet(String,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].checkGet(String,int,null)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].checkGet(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:224,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getSessionRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:225,1
    - Dst: '[org.apache.http.impl.cookie.BasicClientCookie].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:226,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].getCookieStore()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:227,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].addCookie(org.apache.http.impl.cookie.BasicClientCookie)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:227,1
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:229,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:230,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:231,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:231,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:231,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getSessionRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:233,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - context
    - statusCode
    - route
    argTypes:
    - String
    - int
    - String
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 5
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].checkGet(String,int,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getStatusCode()'
    - '[org.apache.http.impl.cookie.BasicClientCookie].<init>(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.impl.client.DefaultHttpClient].getCookieStore()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getSessionRoute()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getStatusLine()'
    - '[org.apache.http.impl.client.DefaultHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].get(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].addCookie(org.apache.http.impl.cookie.BasicClientCookie)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].checkGet(String,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].get(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.client.methods.HttpGet
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - context
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].get(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].get(String,String)'
    linkageType: ''
    returnType: org.apache.http.client.methods.HttpGet
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].get(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:243,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:243,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:244,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(org.apache.http.message.BasicHeader)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.client.methods.HttpGet
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - context
    - host
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].get(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.apache.http.message.BasicHeader].<init>(String,String)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(org.apache.http.message.BasicHeader)'
    linkageType: ''
    returnType: org.apache.http.client.methods.HttpGet
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].get(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:287,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:289,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:292,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getHostname()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:292,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addAjpListener(Integer,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:292,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:295,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getHostname()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:295,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(Integer,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:295,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:298,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getHostname()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:298,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:298,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(Integer,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:298,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:301,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:303,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionCookie()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:304,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionCookie()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:305,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].setCookieName(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:305,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].path(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:307,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:308,1
    - Dst: '[StringSendHandler].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:308,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].addPrefixPath(String,StringSendHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:307,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:309,1
    - Dst: '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(String,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:309,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:309,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:309,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].addPrefixPath(String,io.undertow.server.session.SessionAttachmentHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:307,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setupHandlers(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:311,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setSocketOption(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:313,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:314,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].jvmRoute(String,String,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:314,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].setHandler(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:313,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Undertow
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    constantsTouched: []
    func_position:
      end: 316
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 316
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].createNode(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].setHandler(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(Integer,String)'
    - '[StringSendHandler].<init>(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.session.SessionCookieConfig].setCookieName(String)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setSocketOption(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase,boolean)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].addPrefixPath(String,io.undertow.server.session.SessionAttachmentHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].path(io.undertow.server.handlers.ResponseCodeHandler)'
    - '[io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler].<init>(String,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].jvmRoute(String,String,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionCookie()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setupHandlers(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(Integer,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getHostname()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].addPrefixPath(String,StringSendHandler)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addAjpListener(Integer,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPort()'
    - '[io.undertow.server.session.SessionCookieConfig].<init>()'
    - '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.handlers.proxy.AbstractLoadBalancingProxyTestCase.SessionTestHandler,io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.Undertow
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].createNode(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:319,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:323,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].indexOf(char)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:324,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].substring(int,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getJVMRoute(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[String].substring(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].substring(int,io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].indexOf(char)'
    - '[String].indexOf(char)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getJVMRoute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.DefaultHttpClient].getCookieStore()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:332,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getCookies()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:332,1
    - Dst: cookie.getName()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:333,1
    - Dst: '[String].equals(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:333,1
    - Dst: cookie.getValue()
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:334,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getJVMRoute(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getSessionRoute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getJVMRoute(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - '[String].equals(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase)'
    - cookie.getName()
    - cookie.getValue()
    - '[org.apache.http.impl.client.DefaultHttpClient].getCookieStore()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getCookies()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].getSessionRoute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].builder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:343,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setJvmRoute(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:343,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setType(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:343,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setHostname(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:343,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setPort(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: NodeTestConfig[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 351
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].createConfigs(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setHostname(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setJvmRoute(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].builder()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setType(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setPort(int)'
    linkageType: ''
    returnType: NodeTestConfig[]
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].createConfigs(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[MCMPTestClient.App].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:69,1
    - Dst: '[MCMPTestClient.App].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:70,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - MCMPTestClient.App
      - MCMPTestClient.App
      - Undertow[]
      - org.apache.http.impl.client.DefaultHttpClient
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      - int
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - String
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[MCMPTestClient.App].<init>(String,String)'
    - '[io.undertow.client.UndertowClient].getInstance()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.session.SessionCookieConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SessionCookieConfig
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - serverName
    - sessionConfig
    argTypes:
    - String
    - io.undertow.server.session.SessionCookieConfig
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].<init>(String,io.undertow.server.session.SessionCookieConfig)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].<init>(String,io.undertow.server.session.SessionCookieConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler:260,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].getSession(io.undertow.server.HttpServerExchange,SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler:261,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].createSession(io.undertow.server.HttpServerExchange,SessionCookieConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler:263,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].setAttribute(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler:264,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].getAttribute(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler:266,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].setAttribute(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler:267,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler:268,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SessionCookieConfig
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].getSession(io.undertow.server.HttpServerExchange,SessionCookieConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].createSession(io.undertow.server.HttpServerExchange,SessionCookieConfig)'
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler)'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].setAttribute(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].getAttribute(io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.SessionTestHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.StringSendHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - serverName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.StringSendHandler].<init>(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.StringSendHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.StringSendHandler].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.StringSendHandler:282,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.StringSendHandler:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.StringSendHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/AbstractModClusterTestBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.io.Sender].send(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase.StringSendHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:42,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:42,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:43,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:43,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:46,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:46,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:47,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:47,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:50,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:50,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:51,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:51,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:52,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:52,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:52,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:53,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:53,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:56,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:56,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:57,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:57,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:60,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:60,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:61,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:61,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:62,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:62,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:62,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:63,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:63,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:64,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:64,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:65,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:65,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:66,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:67,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].testModJkLikeRouteParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/RouteIteratorFactoryTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
    - '[java.util.Iterator<CharSequence>].next()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
    - '[java.util.Iterator<CharSequence>].hasNext()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].testModJkLikeRouteParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:73,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:73,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:74,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:74,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:76,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:76,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:77,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:80,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:80,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:81,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:81,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:83,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:83,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:84,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:84,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:87,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:87,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:88,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:88,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:89,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:89,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:90,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:90,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:93,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:93,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:94,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:94,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:97,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:97,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:98,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:98,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:99,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:99,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:100,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:100,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:101,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:101,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:102,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:102,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:103,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:103,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:104,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:104,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:107,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:107,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:108,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:108,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:109,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:109,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:110,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:110,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:111,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:112,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:112,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:113,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:114,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:114,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:117,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:117,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:118,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:118,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:119,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:119,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:119,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:120,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:120,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:121,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:121,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:122,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:122,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:123,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:123,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:124,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:124,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:125,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:126,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:126,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:129,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:129,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:130,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:130,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:131,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:131,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:132,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:132,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:133,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:133,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:134,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:134,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:135,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:136,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 119
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].testModClusterRouteParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/RouteIteratorFactoryTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
    - '[java.util.Iterator<CharSequence>].next()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].toString()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase,io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(null)'
    - '[java.util.Iterator<CharSequence>].hasNext()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].testModClusterRouteParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/RouteIteratorFactoryTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.RouteIteratorFactoryTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startServers(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startServers(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].stopServers()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].tearDown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].stopServers()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].tearDown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:68,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:69,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:69,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:71,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:73,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:73,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:74,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:76,1
    - Dst: modClusterClient.disableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:78,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:81,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDisabledApp()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    - modClusterClient.disableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDisabledApp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:90,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:90,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:91,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:91,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:93,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:94,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:94,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:95,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:97,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:97,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testNoDomainRemovedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    - modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testNoDomainRemovedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:106,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:108,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:109,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:109,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:112,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:112,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:113,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:115,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:115,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testNoDomainStoppedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testNoDomainStoppedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:124,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:126,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:126,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:127,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:127,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:129,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:130,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:130,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:131,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:131,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:133,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:133,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testNoDomainNodeInError()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.updateLoad(String)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testNoDomainNodeInError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:142,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:142,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:143,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:143,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:145,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:147,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:147,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:148,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:148,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:150,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:151,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:151,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:152,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:152,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:154,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:154,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDifferentDomainRemovedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    - modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDifferentDomainRemovedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:163,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:163,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:164,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:164,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:166,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:168,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:168,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:169,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:169,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:171,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:172,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:172,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:173,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:175,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:175,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDifferentDomainStoppedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDifferentDomainStoppedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:184,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:184,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:185,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:185,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:187,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:189,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:189,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:190,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:190,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:192,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:193,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:193,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:194,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:194,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:196,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:196,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDifferentDomainNodeInError()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.updateLoad(String)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDifferentDomainNodeInError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:205,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:205,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:206,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:206,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:208,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:210,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:210,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:211,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:211,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:213,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:214,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:214,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:215,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:215,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:217,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:217,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDomainStoppedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDomainStoppedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:226,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:226,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:227,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:227,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:229,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:231,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:231,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:232,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:232,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:234,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:235,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:235,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:236,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:236,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:238,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:238,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDomainRemovedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    - modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDomainRemovedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:247,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:247,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:248,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:248,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:250,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:252,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:252,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:253,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:253,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:255,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:256,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:256,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:257,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:257,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:259,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:259,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 263
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDomainNodeInError()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.updateLoad(String)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].testDomainNodeInError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionUnitTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:52,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].createWorker(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:52,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:53,1
    - Dst: TimeUnit.SECONDS.toMillis(int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:54,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setHealthCheckInterval(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:53,1
    - Dst: TimeUnit.SECONDS.toMillis(int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:55,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setRemoveBrokenNodes(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:53,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:53,1
    - Dst: java.net.InetAddress.getLocalHost()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:60,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].getHostName()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:60,1
    - Dst: System.out.println(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:61,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].start()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:64,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].createProxyHandler()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:67,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].builder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:68,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setManagementHost(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setManagementPort(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].enableAdvertise()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setSecurityKey(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].getParent()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].webBuilder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:76,1
    - Dst: '[WebBuilder].setManagementHost(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:76,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setManagementPort(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:76,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:76,1
    - Dst: ModClusterTestSetup.class.getClassLoader()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:89,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:84,1
    - Dst: '[io.undertow.Handlers].predicates(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup,io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:83,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].create(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup,io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:92,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].create(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:93,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:95,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].addHttpListener(int,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:95,1
    - Dst: '[io.undertow.Handlers].path(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:98,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:98,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].start()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:100,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].advertise(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:103,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:105,1
    - Dst: Runtime.getRuntime()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:113,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].addShutdownHook(Thread)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:113,1
    - Dst: e.printStackTrace()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 117
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].main(String[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterTestSetup.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].create(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup,io.undertow.predicate.PredicatesHandler)'
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].addShutdownHook(Thread)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].getHostName()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].webBuilder()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].enableAdvertise()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setManagementHost(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - TimeUnit.SECONDS.toMillis(int)
    - ModClusterTestSetup.class.getClassLoader()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].advertise(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[io.undertow.Undertow].builder()'
    - '[Runnable].<init>()'
    - java.net.InetAddress.getLocalHost()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].build()'
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parse(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - Runtime.getRuntime()
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[Thread].<init>(Runnable)'
    - '[io.undertow.Handlers].path(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[io.undertow.Handlers].predicates(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup,io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].createWorker(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].create(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[WebBuilder].setManagementHost(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setHealthCheckInterval(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].createProxyHandler()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setSecurityKey(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setManagementPort(int)'
    - e.printStackTrace()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].setRemoveBrokenNodes(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)'
    - System.out.println(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].addHttpListener(int,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].getParent()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].start()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].builder()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:43,1
    - Dst: System.getProperty(String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:44,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:44,1
    - Dst: System.getProperty(String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:47,1
    - Dst: System.getProperty(String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:48,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterTestSetup.java
    functionUses: 0
    functionsReached:
    - System.getProperty(String,String)
    - Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup)
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterTestSetup].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].startServers(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/BasicMCMPUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].startServers(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].stopServers()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].tearDown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/BasicMCMPUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].stopServers()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].tearDown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:66,1
    - Dst: modClusterClient.updateLoad(String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:68,1
    - Dst: modClusterClient.updateLoad(String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:69,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:71,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:72,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:73,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:74,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:77,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:78,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:81,1
    - Dst: httpClient.execute(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:82,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:83,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:83,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:84,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:88,1
    - Dst: httpClient.execute(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:89,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:90,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:90,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testBasic()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/BasicMCMPUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
    - modClusterClient.enableApp(String,String,String,String)
    - modClusterClient.updateLoad(String,int)
    - httpClient.execute(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].getStatusCode()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].get(String)'
    - modClusterClient.updateLoad(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testBasic()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:97,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:98,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:100,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:102,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:103,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:105,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:106,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:107,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:110,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:111,1
    - Dst: modClusterClient.updateLoad(String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:113,1
    - Dst: modClusterClient.updateLoad(String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:114,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:116,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testAppCommand()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/BasicMCMPUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.updateLoad(String,int)
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
    - modClusterClient.enableApp(String,String,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testAppCommand()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:124,1
    - Dst: modClusterClient.enableApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:126,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:127,1
    - Dst: modClusterClient.updateLoad(String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:129,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:130,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:132,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:133,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testErrorState()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/BasicMCMPUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.enableApp(String,String,String,String)
    - modClusterClient.updateLoad(String,int)
    - modClusterClient.updateLoad(String)
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].checkGet(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testErrorState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modClusterClient.ping(null,String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:142,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:143,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:143,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:145,1
    - Dst: modClusterClient.ping(String,String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:145,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:146,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:146,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:148,1
    - Dst: modClusterClient.ping(String,String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:148,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:149,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:149,1
    - Dst: modClusterClient.ping(null,String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:151,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:152,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:152,1
    - Dst: modClusterClient.ping(String,String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:154,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:155,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:155,1
    - Dst: modClusterClient.ping(String,String,int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:157,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:158,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testPing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/BasicMCMPUnitTestCase.java
    functionUses: 0
    functionsReached:
    - modClusterClient.ping(String,String,int)
    - modClusterClient.ping(null,String,int)
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
    - '[org.junit.Assert].assertFalse(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:164,1
    - Dst: modClusterClient.stopApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:166,1
    - Dst: modClusterClient.info()
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:168,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:169,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:169,1
    - Dst: modClusterClient.removeApp(String,String,String,String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testAddStoppedApp()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/BasicMCMPUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[org.junit.Assert].assertTrue(io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase)'
    - modClusterClient.stopApp(String,String,String,String)
    - '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].contains(String)'
    - modClusterClient.removeApp(String,String,String,String)
    - modClusterClient.info()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].testAddStoppedApp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/BasicMCMPUnitTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.BasicMCMPUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.PathHandler
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handler
    - config
    argTypes:
    - io.undertow.server.handlers.PathHandler
    - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers].setup(io.undertow.server.handlers.PathHandler,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestHandlers.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers].setup(io.undertow.server.handlers.PathHandler,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/NodeTestHandlers.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestHandlers].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:49,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:50,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:51,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:52,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:53,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:54,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:55,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:56,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:57,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.HttpClient
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - client
    - manager
    argTypes:
    - org.apache.http.client.HttpClient
    - String
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].<init>(org.apache.http.client.HttpClient,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].<init>(org.apache.http.client.HttpClient,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:73,1
    - Dst: '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:74,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].info()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].info()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:79,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:81,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getBalancerName()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:83,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:83,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionForce()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:84,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,Boolean,String[])'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:84,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionCookie()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:85,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:85,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:87,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:87,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:89,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:89,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getHostname()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:90,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:90,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:91,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,Integer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:91,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(java.util.ArrayList)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:93,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:93,1
    - Dst: '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].registerNode(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getBalancerName()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getPort()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,Boolean,String[])'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getHostname()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,Integer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getDomain()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(java.util.ArrayList)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionForce()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getStickySessionCookie()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getType()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].registerNode(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:101,1
    - Dst: '[java.util.List<org.apache.http.NameValuePair>].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<org.apache.http.NameValuePair>
      - String
      - Boolean
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pairs
    - key
    - value
    - inconsistentNames
    argTypes:
    - java.util.List<org.apache.http.NameValuePair>
    - String
    - Boolean
    - String[]
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.List<org.apache.http.NameValuePair>,String,Boolean,String[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.message.BasicNameValuePair].<init>(String)'
    - '[java.util.List<org.apache.http.NameValuePair>].add(org.apache.http.message.BasicNameValuePair)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.List<org.apache.http.NameValuePair>,String,Boolean,String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Integer].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:107,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:107,1
    - Dst: '[java.util.List<org.apache.http.NameValuePair>].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<org.apache.http.NameValuePair>
      - String
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - pairs
    - key
    - value
    argTypes:
    - java.util.List<org.apache.http.NameValuePair>
    - String
    - Integer
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.List<org.apache.http.NameValuePair>,String,Integer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[java.util.List<org.apache.http.NameValuePair>].add(org.apache.http.message.BasicNameValuePair)'
    - '[Integer].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.List<org.apache.http.NameValuePair>,String,Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:113,1
    - Dst: '[java.util.List<org.apache.http.NameValuePair>].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<org.apache.http.NameValuePair>
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - pairs
    - key
    - value
    argTypes:
    - java.util.List<org.apache.http.NameValuePair>
    - String
    - String
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.List<org.apache.http.NameValuePair>,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[java.util.List<org.apache.http.NameValuePair>].add(org.apache.http.message.BasicNameValuePair)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.List<org.apache.http.NameValuePair>,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:118,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:119,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:119,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:119,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:119,1
    - Dst: '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:120,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - load
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].updateLoad(String,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].updateLoad(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:126,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:127,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:127,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:127,1
    - Dst: '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:128,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeNode(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(org.apache.http.message.BasicNameValuePair)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[App].getContext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:133,1
    - Dst: '[App].getHosts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:133,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - App
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - app
    argTypes:
    - String
    - App
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].enableApp(String,App)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[App].getHosts()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[App].getContext()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].enableApp(String,App)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - webApp
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].enableApp(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].enableApp(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[App].getContext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:141,1
    - Dst: '[App].getHosts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:141,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].disableApp(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - App
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - app
    argTypes:
    - String
    - App
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].disableApp(String,App)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].disableApp(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[App].getHosts()'
    - '[App].getContext()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].disableApp(String,App)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - webApp
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].disableApp(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].disableApp(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[App].getContext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:149,1
    - Dst: '[App].getHosts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - App
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - app
    argTypes:
    - String
    - App
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].stopApp(String,App)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[App].getHosts()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[App].getContext()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].stopApp(String,App)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - webApp
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].stopApp(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].stopApp(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[App].getContext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:157,1
    - Dst: '[App].getHosts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:157,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - App
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - app
    argTypes:
    - String
    - App
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeApp(String,App)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[App].getHosts()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[App].getContext()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeApp(String,App)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - webApp
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeApp(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].removeApp(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:165,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:166,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:167,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:168,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:169,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(java.util.ArrayList)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:170,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:170,1
    - Dst: '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:171,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - scheme
    - hostname
    - port
    argTypes:
    - String
    - String
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].ping(String,String,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,int)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(java.util.ArrayList)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].addIfNotNull(java.util.ArrayList,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
    - '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].ping(String,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:176,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:177,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:177,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].asString(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:177,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:177,1
    - Dst: '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:178,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - command
    - jvmRoute
    - webApp
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].setEntity(org.apache.http.HttpEntity)'
    - '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].asString(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.HttpClient].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].executeAppCmd(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.client.HttpClient].getConnectionManager()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:184,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].shutdown()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].close()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.HttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:188,1
    - Dst: '[org.apache.http.HttpResponse].getStatusLine()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:189,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:189,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.HttpResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - org.apache.http.HttpResponse
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(org.apache.http.HttpResponse)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].getStatusCode()'
    - '[org.apache.http.HttpResponse].getStatusLine()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].assertResponse(org.apache.http.HttpResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:194,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.HttpEntity
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    linkageType: ''
    returnType: org.apache.http.HttpEntity
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.List<org.apache.http.NameValuePair>,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<org.apache.http.NameValuePair>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.HttpEntity
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - java.util.List<org.apache.http.NameValuePair>
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(java.util.List<org.apache.http.NameValuePair>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.List<org.apache.http.NameValuePair>,io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    linkageType: ''
    returnType: org.apache.http.HttpEntity
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].createEntity(java.util.List<org.apache.http.NameValuePair>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:219,1
    - Dst: '[java.util.List<String>].iterator()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:220,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:221,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:222,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:222,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:223,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:224,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String[]
      - org.apache.http.client.HttpClient
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - names
    argTypes:
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].asString(java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient)'
    - '[java.util.List<String>].iterator()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].hasNext()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].next()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient].asString(java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].create(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request:205,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request
      static: false
      superClass: HttpPost
    argCount: 2
    argNames:
    - uri
    - name
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request,String)'
    - '[java.net.URI].create(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(java.net.URI)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request
      static: false
      superClass: HttpPost
    argCount: 2
    argNames:
    - uri
    - name
    argTypes:
    - java.net.URI
    - String
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(java.net.URI,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].<init>(java.net.URI)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].<init>(java.net.URI,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: HttpPost
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].getMethod()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.Request].getMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.App
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - context
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.App].<init>(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.App
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.App].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.App].getContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.App].getContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.App].getHosts()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPTestClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPTestClient.App].getHosts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startServers(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].setup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startServers(io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].stopServers()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].tearDown()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].stopServers()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].tearDown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:70,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:70,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:71,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:71,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:73,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:74,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:74,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:75,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:75,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:77,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testNoDomainRemovedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testNoDomainRemovedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:88,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:89,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:89,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:91,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:92,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:92,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:93,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:93,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:95,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testNoDomainStoppedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testNoDomainStoppedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:104,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:106,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:106,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:107,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:107,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:109,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:110,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:110,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:111,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:111,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:113,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testNoDomainNodeInError()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - modClusterClient.updateLoad(String)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testNoDomainNodeInError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:123,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:123,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:125,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:127,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:127,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:128,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:128,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:130,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:131,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:131,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:132,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:132,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:134,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:134,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDifferentDomainRemovedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDifferentDomainRemovedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:143,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:143,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:144,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:144,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:146,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:148,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:148,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:149,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:151,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:152,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:152,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:153,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:153,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:155,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:155,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDifferentDomainStoppedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDifferentDomainStoppedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:164,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:164,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:165,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:165,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:167,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:169,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:169,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:170,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:170,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:172,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:174,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:176,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:176,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDifferentDomainNodeInError()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - modClusterClient.updateLoad(String)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDifferentDomainNodeInError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:185,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:185,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:186,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:186,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:188,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:190,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:190,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:191,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:191,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:193,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:194,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:194,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:195,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:195,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:197,1
    - Dst: modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:197,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 201
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDomainStoppedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - modClusterClient.stopApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDomainStoppedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:206,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:206,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:207,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:207,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:209,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:211,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:211,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:212,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:212,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:214,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:215,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:215,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:216,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:216,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:218,1
    - Dst: modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:218,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDomainRemovedContext()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - modClusterClient.removeApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDomainRemovedContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:227,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:227,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:228,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:228,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:230,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:232,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:232,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:233,1
    - Dst: modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:233,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:235,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:236,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:236,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:237,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:237,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:239,1
    - Dst: modClusterClient.updateLoad(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:239,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 243
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDomainNodeInError()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].clone()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].startsWith(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].registerNodes(boolean,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig,io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].checkGet(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].getJvmRoute()'
    - modClusterClient.enableApp(String,io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase)
    - modClusterClient.updateLoad(String)
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].testDomainNodeInError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      - io.undertow.server.handlers.proxy.mod_cluster.NodeTestConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.AbstractModClusterTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/handlers/proxy/mod_cluster/StickySessionForceUnitTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.StickySessionForceUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext(String)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:30,1
    - Dst: '[org.junit.Assume].assumeNoException(io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:33,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:36,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:38,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:36,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].setHandler()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:36,1
    - Dst: '[org.xnio.Sequence].of(String)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:43,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].setSocketOption(io.undertow.server.ssl.TLS13HalfCloseHangTestCase,io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:36,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].setIoThreads(int)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:36,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].setWorkerThreads(int)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:36,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].build()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:36,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].start()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:49,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].getListenerInfo()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:51,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].get(int)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:51,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].getAddress()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:51,1
    - Dst: address.getPort()
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:52,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].doRequest(javax.net.ssl.SSLContext,io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:54,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].doRequest(javax.net.ssl.SSLContext,io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:56,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].stop()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:58,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].testHang()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/TLS13HalfCloseHangTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].setIoThreads(int)'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].doRequest(javax.net.ssl.SSLContext,io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext(String)'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].build()'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].setWorkerThreads(int)'
    - '[org.junit.Assume].assumeNoException(io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].setSocketOption(io.undertow.server.ssl.TLS13HalfCloseHangTestCase,io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].get(int)'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].getAddress()'
    - address.getPort()
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].getListenerInfo()'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].stop()'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].start()'
    - '[org.xnio.Sequence].of(String)'
    - Thread.sleep(int)
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].setHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].testHang()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.Socket].<init>()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:67,1
    - Dst: '[java.net.Socket].connect(java.net.InetSocketAddress)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:68,1
    - Dst: '[javax.net.ssl.SSLContext].getSocketFactory()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:69,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:70,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].createSocket(java.net.Socket,String,io.undertow.server.ssl.TLS13HalfCloseHangTestCase,boolean)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:69,1
    - Dst: sslSocket.getOutputStream()
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:71,1
    - Dst: '[java.io.PrintWriter].<init>(io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:71,1
    - Dst: '[java.io.PrintWriter].println(String)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:72,1
    - Dst: '[java.io.PrintWriter].println(String)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:73,1
    - Dst: '[java.io.PrintWriter].println(String)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:74,1
    - Dst: '[java.io.PrintWriter].println()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:75,1
    - Dst: '[java.io.PrintWriter].flush()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:76,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].readResponse(io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:77,1
    - Dst: sslSocket.shutdownOutput()
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:79,1
    - Dst: '[java.net.Socket].close()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      - java.net.InetSocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - clientSslContext
    - address
    argTypes:
    - javax.net.ssl.SSLContext
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].doRequest(javax.net.ssl.SSLContext,java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/TLS13HalfCloseHangTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.PrintWriter].<init>(io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
    - sslSocket.getOutputStream()
    - '[java.io.PrintWriter].flush()'
    - '[java.net.Socket].close()'
    - '[java.net.InetSocketAddress].getPort()'
    - '[java.net.Socket].<init>()'
    - '[javax.net.ssl.SSLContext].getSocketFactory()'
    - sslSocket.shutdownOutput()
    - '[java.io.PrintWriter].println(String)'
    - '[java.io.PrintWriter].println()'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].createSocket(java.net.Socket,String,io.undertow.server.ssl.TLS13HalfCloseHangTestCase,boolean)'
    - '[java.net.Socket].connect(java.net.InetSocketAddress)'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].readResponse(io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].doRequest(javax.net.ssl.SSLContext,java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:84,1
    - Dst: '[java.io.InputStream].read()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:86,1
    - Dst: '[RuntimeException].<init>(String)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:89,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:93,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - is
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].readLine(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/TLS13HalfCloseHangTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[RuntimeException].<init>(String)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[java.io.InputStream].read()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].readLine(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLSocket].getInputStream()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:106,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].readLine(io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:106,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:107,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].matches()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:108,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].group(int)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:109,1
    - Dst: Integer.parseInt(io.undertow.server.ssl.TLS13HalfCloseHangTestCase,int)
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:109,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:111,1
    - Dst: '[javax.net.ssl.SSLSocket].getInputStream()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:114,1
    - Dst: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].read()'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLSocket
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslSocket
    argTypes:
    - javax.net.ssl.SSLSocket
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].readResponse(javax.net.ssl.SSLSocket)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/TLS13HalfCloseHangTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].matches()'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].read()'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].readLine(io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].group(int)'
    - '[String].isEmpty()'
    - Integer.parseInt(io.undertow.server.ssl.TLS13HalfCloseHangTestCase,int)
    - '[javax.net.ssl.SSLSocket].getInputStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].readResponse(javax.net.ssl.SSLSocket)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String,io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
      Src: io.undertow.server.ssl.TLS13HalfCloseHangTestCase:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ssl.TLS13HalfCloseHangTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/TLS13HalfCloseHangTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.regex.Pattern].compile(String,io.undertow.server.ssl.TLS13HalfCloseHangTestCase)'
    linkageType: ''
    returnType: io.undertow.server.ssl.TLS13HalfCloseHangTestCase
    signature: '[io.undertow.server.ssl.TLS13HalfCloseHangTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:67,1
    - Dst: FileHandlerTestCase.class.getResource(String)
      Src: io.undertow.server.ssl.ComplexSSLTestCase:68,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].toURI()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:68,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:68,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getParent()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:68,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:70,1
    - Dst: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].<init>(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:72,1
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>(io.undertow.server.handlers.error.SimpleErrorPageHandler)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:73,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(String,io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:75,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:76,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.ssl.ComplexSSLTestCase,int)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:78,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:78,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:78,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:89,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusLine()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:90,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusCode()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:90,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:91,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:92,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:92,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getHeaders(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:93,1
    - Dst: headersList[0].getValue()
      Src: io.undertow.server.ssl.ComplexSSLTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:97,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:98,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusLine()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:99,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusCode()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:99,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:100,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getHeaders(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:101,1
    - Dst: headers[0].getValue()
      Src: io.undertow.server.ssl.ComplexSSLTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:102,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:103,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:107,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].shutdown()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      - java.net.URISyntaxException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 65
    functionDepth: 6
    functionLinenumber: 65
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.ssl.ComplexSSLTestCase].complexSSLTestCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/ComplexSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(String,io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.ssl.ComplexSSLTestCase,int)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].getHeaders(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - FileHandlerTestCase.class.getResource(String)
    - headersList[0].getValue()
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].toURI()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
    - '[java.nio.file.Paths].get(io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].getParent()'
    - '[io.undertow.server.handlers.error.SimpleErrorPageHandler].<init>(io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - headers[0].getValue()
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>(io.undertow.server.handlers.error.SimpleErrorPageHandler)'
    - '[String].contains(String)'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.CanonicalPathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.ComplexSSLTestCase].complexSSLTestCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:115,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:115,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:135,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:137,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:137,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].generateMessage(int)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:139,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:140,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:140,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:141,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:141,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:142,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusLine()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:143,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusCode()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:143,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:144,1
    - Dst: '[String].length()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:145,1
    - Dst: '[String].length()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:145,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.ssl.ComplexSSLTestCase,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:145,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:146,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].generateMessage(int)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:148,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:149,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:150,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:150,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:151,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusLine()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:152,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusCode()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:152,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:153,1
    - Dst: '[String].length()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:154,1
    - Dst: '[String].length()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:154,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.ssl.ComplexSSLTestCase,io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:154,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:155,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:159,1
    - Dst: '[io.undertow.server.ssl.ComplexSSLTestCase].shutdown()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:159,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 59
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 112
    functionDepth: 6
    functionLinenumber: 112
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.ssl.ComplexSSLTestCase].testSslLotsOfData()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/ComplexSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].generateMessage(int)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[org.junit.Assert].assertEquals(io.undertow.server.ssl.ComplexSSLTestCase,io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[io.undertow.server.ssl.ComplexSSLTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.ComplexSSLTestCase].testSslLotsOfData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:165,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:165,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:167,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - repetitions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.ssl.ComplexSSLTestCase].generateMessage(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/ComplexSSLTestCase.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].<init>(io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.ComplexSSLTestCase].generateMessage(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:174,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.ssl.ComplexSSLTestCase].setupServer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/ComplexSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ssl.ComplexSSLTestCase)'
    - '[org.xnio.OptionMap].create(io.undertow.server.ssl.ComplexSSLTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.ComplexSSLTestCase].setupServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ssl.ComplexSSLTestCase)'
      Src: io.undertow.server.ssl.ComplexSSLTestCase:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.ssl.ComplexSSLTestCase].cleanup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/ComplexSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.server.ssl.ComplexSSLTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.ComplexSSLTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ssl.ComplexSSLTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ssl.ComplexSSLTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/ComplexSSLTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ssl.ComplexSSLTestCase
    signature: '[io.undertow.server.ssl.ComplexSSLTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:44,1
    - Dst: '[String].equals(io.undertow.server.ssl.SecureProtocolAttributeTestCase)'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:44,1
    - Dst: System.getProperty(String)
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:45,1
    - Dst: '[String].equals(io.undertow.server.ssl.SecureProtocolAttributeTestCase)'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:45,1
    - Dst: '[org.junit.AssumptionViolatedException].<init>(String)'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:47,1
    - Dst: '[io.undertow.util.CompletionLatchHandler].<init>()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:51,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.util.CompletionLatchHandler)'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:58,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:62,1
    - Dst: client.setSSLContext(javax.net.ssl.SSLContext)
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:65,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:65,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:65,1
    - Dst: '[io.undertow.server.ssl.SecureProtocolAttributeTestCase].getStatusLine()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:66,1
    - Dst: '[io.undertow.server.ssl.SecureProtocolAttributeTestCase].getStatusCode()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.SecureProtocolAttributeTestCase)'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:66,1
    - Dst: '[javax.net.ssl.SSLContext].getProtocol()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:67,1
    - Dst: formatString.replaceAll(String,io.undertow.server.ssl.SecureProtocolAttributeTestCase)
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:67,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.SecureProtocolAttributeTestCase)'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.server.ssl.SecureProtocolAttributeTestCase,String)'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:67,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.ssl.SecureProtocolAttributeTestCase:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.ssl.SecureProtocolAttributeTestCase].testTlsRequestViaLogging()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SecureProtocolAttributeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.SecureProtocolAttributeTestCase)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.SecureProtocolAttributeTestCase)'
    - formatString.replaceAll(String,io.undertow.server.ssl.SecureProtocolAttributeTestCase)
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.ssl.SecureProtocolAttributeTestCase].getStatusCode()'
    - '[org.junit.AssumptionViolatedException].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[String].equals(io.undertow.server.ssl.SecureProtocolAttributeTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.util.CompletionLatchHandler)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - client.setSSLContext(javax.net.ssl.SSLContext)
    - '[javax.net.ssl.SSLContext].getProtocol()'
    - '[io.undertow.server.ssl.SecureProtocolAttributeTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - System.getProperty(String)
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.util.CompletionLatchHandler].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.server.ssl.SecureProtocolAttributeTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.SecureProtocolAttributeTestCase].testTlsRequestViaLogging()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ssl.SecureProtocolAttributeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ssl.SecureProtocolAttributeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SecureProtocolAttributeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ssl.SecureProtocolAttributeTestCase
    signature: '[io.undertow.server.ssl.SecureProtocolAttributeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:70,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:74,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:75,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].getStatusLine()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:76,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].getStatusCode()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:76,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].getHeaders(String)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:77,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.ssl.SimpleSSLTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:80,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].shutdown()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.ssl.SimpleSSLTestCase].simpleSSLTestCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SimpleSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].shutdown()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.ssl.SimpleSSLTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.SimpleSSLTestCase)'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].getHeaders(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.SimpleSSLTestCase].simpleSSLTestCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:99,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:104,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].getStatusLine()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:105,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].getStatusCode()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:105,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].getHeaders(String)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:106,1
    - Dst: header[0].getValue()
      Src: io.undertow.server.ssl.SimpleSSLTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:107,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:112,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].shutdown()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.ssl.SimpleSSLTestCase].testNonPersistentConnections()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SimpleSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.server.ssl.SimpleSSLTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.server.ssl.SimpleSSLTestCase)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.server.ssl.SimpleSSLTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].getStatusCode()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].getHeaders(String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - header[0].getValue()
    - '[io.undertow.server.ssl.SimpleSSLTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.SimpleSSLTestCase].testNonPersistentConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:119,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].runTest(int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 7
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.ssl.SimpleSSLTestCase].parallel()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SimpleSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].runTest(int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.SimpleSSLTestCase].parallel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:130,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].runTest(int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 7
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.ssl.SimpleSSLTestCase].parallelWithDispatch()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SimpleSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].runTest(int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.SimpleSSLTestCase].parallelWithDispatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:143,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].runTest(int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 7
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.ssl.SimpleSSLTestCase].parallelWithBlockingDispatch()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SimpleSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].runTest(int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.SimpleSSLTestCase].parallelWithBlockingDispatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:158,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:159,1
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:160,1
    - Dst: '[org.apache.http.impl.client.HttpClients].custom()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:161,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].disableConnectionState()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:161,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:162,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:161,1
    - Dst: '[org.apache.http.config.SocketConfig].custom()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:163,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].setSoTimeout(int)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:163,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].build()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:163,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].setDefaultSocketConfig(io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:161,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].setMaxConnPerRoute(int)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:161,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].build()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:161,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:166,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:167,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:168,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].submit(Runnable)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:188,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].shutdown()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:190,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].awaitTermination(int,io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:192,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:192,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:193,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:195,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:196,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:200,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:200,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].isTerminated()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:201,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.server.ssl.SimpleSSLTestCase)'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:201,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:203,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].isTerminated()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:204,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].shutdownNow()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - concurrency
    - handler
    argTypes:
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 208
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.ssl.SimpleSSLTestCase].runTest(int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SimpleSSLTestCase.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].awaitTermination(int,io.undertow.server.ssl.SimpleSSLTestCase)'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.junit.Assert].assertFalse(String,io.undertow.server.ssl.SimpleSSLTestCase)'
    - '[Runnable].<init>()'
    - '[org.junit.Assert].fail(String)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].submit(Runnable)'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[org.apache.http.config.SocketConfig].custom()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].setSoTimeout(int)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].disableConnectionState()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].setMaxConnPerRoute(int)'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].setDefaultSocketConfig(io.undertow.server.ssl.SimpleSSLTestCase)'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].build()'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].isTerminated()'
    - '[org.junit.Assert].assertTrue(io.undertow.server.ssl.SimpleSSLTestCase)'
    - '[org.apache.http.impl.client.HttpClients].custom()'
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    - '[io.undertow.server.ssl.SimpleSSLTestCase].shutdownNow()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.SimpleSSLTestCase].runTest(int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runtime.getRuntime()
      Src: io.undertow.server.ssl.SimpleSSLTestCase:56,1
    - Dst: '[io.undertow.server.ssl.SimpleSSLTestCase].availableProcessors()'
      Src: io.undertow.server.ssl.SimpleSSLTestCase:56,1
    - Dst: Math.min(int,int)
      Src: io.undertow.server.ssl.SimpleSSLTestCase:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ssl.SimpleSSLTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ssl.SimpleSSLTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/SimpleSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ssl.SimpleSSLTestCase].availableProcessors()'
    - Math.min(int,int)
    - Runtime.getRuntime()
    linkageType: ''
    returnType: io.undertow.server.ssl.SimpleSSLTestCase
    signature: '[io.undertow.server.ssl.SimpleSSLTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.Executors].newSingleThreadExecutor()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:51,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:52,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:53,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:54,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,null,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:53,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].setSslEngineDelegatedTaskExecutor()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:53,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].setHandler(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:53,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].build()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:53,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:63,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:63,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].start()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:64,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].port(io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:65,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:66,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:66,1
    - Dst: response.getStatusLine()
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:67,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].getStatusCode()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:67,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].assertEquals(int,io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:67,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:68,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].assertTrue(String,int)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:68,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].stop()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:70,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:71,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].shutdown()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:71,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].shutdownNow()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:72,1
    - Dst: task.run()
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:74,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].awaitTermination(int,io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:78,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].assertTrue(String,io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].testDelegatedTaskExecutorIsUsed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/DelegatedTaskExecutorTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].stop()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].setSslEngineDelegatedTaskExecutor()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].shutdownNow()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].awaitTermination(int,io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].setHandler(io.undertow.server.handlers.ResponseCodeHandler)'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].build()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].port(io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].assertTrue(String,io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,null,javax.net.ssl.SSLContext)'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].getStatusCode()'
    - task.run()
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.util.concurrent.Executors].newSingleThreadExecutor()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].shutdown()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].start()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].assertEquals(int,io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].assertTrue(String,int)'
    - response.getStatusLine()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].testDelegatedTaskExecutorIsUsed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:85,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,null,javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:84,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].setSslEngineDelegatedTaskExecutor()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:84,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].setHandler(io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:84,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].build()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:93,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].start()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:94,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].port(io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:96,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:99,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].fail(String)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:100,1
    - Dst: handshakeException.getMessage()
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:107,1
    - Dst: System.out.println(io.undertow.server.ssl.DelegatedTaskExecutorTestCase)
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:108,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].assertTrue(String,io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:109,1
    - Dst: '[AssertionError].<init>(io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:113,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].stop()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:117,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].shutdown()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:117,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].testRejection()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/DelegatedTaskExecutorTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].stop()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].setSslEngineDelegatedTaskExecutor()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].setHandler(io.undertow.server.handlers.ResponseCodeHandler)'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].build()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].port(io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - handshakeException.getMessage()
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].assertTrue(String,io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,null,javax.net.ssl.SSLContext)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].shutdown()'
    - '[AssertionError].<init>(io.undertow.server.ssl.DelegatedTaskExecutorTestCase)'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].start()'
    - Thread.sleep(int)
    - System.out.println(io.undertow.server.ssl.DelegatedTaskExecutorTestCase)
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].fail(String)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].testRejection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].getListenerInfo()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:126,1
    - Dst: '[java.util.List<io.undertow.servlet.api.ListenerInfo>].size()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:126,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:127,1
    - Dst: '[io.undertow.Undertow].getListenerInfo()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:129,1
    - Dst: '[java.util.List<io.undertow.servlet.api.ListenerInfo>].get(int)'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:129,1
    - Dst: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].getAddress()'
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:129,1
    - Dst: address.getPort()
      Src: io.undertow.server.ssl.DelegatedTaskExecutorTestCase:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.Undertow
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - undertow
    argTypes:
    - io.undertow.Undertow
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].port(io.undertow.Undertow)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/DelegatedTaskExecutorTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].getListenerInfo()'
    - '[IllegalStateException].<init>(String)'
    - '[java.util.List<io.undertow.servlet.api.ListenerInfo>].size()'
    - '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].getAddress()'
    - '[java.util.List<io.undertow.servlet.api.ListenerInfo>].get(int)'
    - address.getPort()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].port(io.undertow.Undertow)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ssl.DelegatedTaskExecutorTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/server/ssl/DelegatedTaskExecutorTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ssl.DelegatedTaskExecutorTestCase
    signature: '[io.undertow.server.ssl.DelegatedTaskExecutorTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.util.PathMatcherTestCase:26,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:28,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:29,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:29,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:30,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:30,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:31,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:31,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:33,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:34,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:34,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:35,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:35,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:36,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:36,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:38,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:39,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:39,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:40,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:40,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:41,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:41,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:43,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:44,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:44,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:45,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:45,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:46,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:46,1
    - Dst: '[io.undertow.util.PathMatcher].clearPaths()'
      Src: io.undertow.util.PathMatcherTestCase:48,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:49,1
    - Dst: '[org.junit.Assert].assertNull(T)'
      Src: io.undertow.util.PathMatcherTestCase:49,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:50,1
    - Dst: '[org.junit.Assert].assertNull(T)'
      Src: io.undertow.util.PathMatcherTestCase:50,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:51,1
    - Dst: '[org.junit.Assert].assertNull(T)'
      Src: io.undertow.util.PathMatcherTestCase:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 52
    functionName: '[io.undertow.util.PathMatcherTestCase].testSimplePrefixCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathMatcherTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,T)'
    - '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.util.PathMatcher].clearPaths()'
    - '[io.undertow.util.PathMatcher].getPrefixPath(String)'
    - '[org.junit.Assert].assertNull(T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathMatcherTestCase].testSimplePrefixCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.util.PathMatcherTestCase:61,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:63,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:64,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:64,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:65,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:65,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:65,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:67,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:68,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:68,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:69,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:69,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:71,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:72,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:72,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:72,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:73,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:73,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:75,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:76,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:76,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:77,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:77,1
    - Dst: '[io.undertow.util.PathMatcher].clearPaths()'
      Src: io.undertow.util.PathMatcherTestCase:79,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:80,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:80,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:80,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:81,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:81,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: '[io.undertow.util.PathMatcherTestCase].testSimpleMatchCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathMatcherTestCase.java
    functionUses: 0
    functionsReached:
    - '[PathMatch<T>].getValue()'
    - '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
    - '[io.undertow.util.PathMatcher].match(String)'
    - '[org.junit.Assert].assertNull(io.undertow.util.PathMatcherTestCase)'
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.util.PathMatcher].clearPaths()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathMatcherTestCase].testSimpleMatchCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.util.PathMatcherTestCase:91,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:93,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:94,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:95,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:95,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:97,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:98,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:99,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:99,1
    - Dst: '[io.undertow.util.PathMatcher].clearPaths()'
      Src: io.undertow.util.PathMatcherTestCase:101,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:102,1
    - Dst: '[org.junit.Assert].assertNull(T)'
      Src: io.undertow.util.PathMatcherTestCase:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: '[io.undertow.util.PathMatcherTestCase].testSimpleDefaultCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathMatcherTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,T)'
    - '[PathMatch<T>].getValue()'
    - '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
    - '[io.undertow.util.PathMatcher].match(String)'
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.util.PathMatcher].clearPaths()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
    - '[io.undertow.util.PathMatcher].getPrefixPath(String)'
    - '[org.junit.Assert].assertNull(T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathMatcherTestCase].testSimpleDefaultCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>(String)'
      Src: io.undertow.util.PathMatcherTestCase:112,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.util.PathMatcherTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,T)'
      Src: io.undertow.util.PathMatcherTestCase:115,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:116,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:116,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:119,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:120,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:121,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
      Src: io.undertow.util.PathMatcherTestCase:122,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:125,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:125,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:126,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:126,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:127,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:127,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:128,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:128,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:129,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:129,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:132,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:132,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:133,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:133,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:134,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:134,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:134,1
    - Dst: '[io.undertow.util.PathMatcher].match(String)'
      Src: io.undertow.util.PathMatcherTestCase:135,1
    - Dst: '[PathMatch<T>].getValue()'
      Src: io.undertow.util.PathMatcherTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
      Src: io.undertow.util.PathMatcherTestCase:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 136
    functionName: '[io.undertow.util.PathMatcherTestCase].testDefaultFallthrough()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathMatcherTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,T)'
    - '[PathMatch<T>].getValue()'
    - '[io.undertow.util.PathMatcher].addPrefixPath(String,String)'
    - '[io.undertow.util.PathMatcher].match(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.PathMatcherTestCase)'
    - '[io.undertow.util.PathMatcher].getPrefixPath(String)'
    - '[io.undertow.util.PathMatcher].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathMatcherTestCase].testDefaultFallthrough()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcherTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathMatcherTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathMatcherTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathMatcherTestCase
    signature: '[io.undertow.util.PathMatcherTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.util.SingleByteStreamSinkConduit:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SingleByteStreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - singleByteWrites
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.SingleByteStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.util.SingleByteStreamSinkConduit
    signature: '[io.undertow.util.SingleByteStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.util.SingleByteStreamSinkConduit:56,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.SingleByteStreamSinkConduit:61,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.util.SingleByteStreamSinkConduit:64,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.SingleByteStreamSinkConduit:66,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.util.SingleByteStreamSinkConduit:66,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.util.SingleByteStreamSinkConduit:67,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.util.SingleByteStreamSinkConduit)'
      Src: io.undertow.util.SingleByteStreamSinkConduit:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: '[io.undertow.util.SingleByteStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.write(java.nio.ByteBuffer)
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].limit(io.undertow.util.SingleByteStreamSinkConduit)'
    - '[java.nio.ByteBuffer].limit(int)'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.SingleByteStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.write(ByteBuffer[],int,int)
      Src: io.undertow.util.SingleByteStreamSinkConduit:77,1
    - Dst: srcs[i].hasRemaining()
      Src: io.undertow.util.SingleByteStreamSinkConduit:84,1
    - Dst: src.limit()
      Src: io.undertow.util.SingleByteStreamSinkConduit:92,1
    - Dst: src.position()
      Src: io.undertow.util.SingleByteStreamSinkConduit:94,1
    - Dst: src.limit(int)
      Src: io.undertow.util.SingleByteStreamSinkConduit:94,1
    - Dst: next.write(io.undertow.util.SingleByteStreamSinkConduit)
      Src: io.undertow.util.SingleByteStreamSinkConduit:95,1
    - Dst: src.limit(io.undertow.util.SingleByteStreamSinkConduit)
      Src: io.undertow.util.SingleByteStreamSinkConduit:97,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: '[io.undertow.util.SingleByteStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - src.position()
    - src.limit(io.undertow.util.SingleByteStreamSinkConduit)
    - src.limit()
    - src.limit(int)
    - next.write(io.undertow.util.SingleByteStreamSinkConduit)
    - srcs[i].hasRemaining()
    - next.write(ByteBuffer[],int,int)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.SingleByteStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.transferFrom(java.nio.channels.FileChannel,long,long)
      Src: io.undertow.util.SingleByteStreamSinkConduit:105,1
    - Dst: next.transferFrom(java.nio.channels.FileChannel,long)
      Src: io.undertow.util.SingleByteStreamSinkConduit:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: '[io.undertow.util.SingleByteStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.transferFrom(java.nio.channels.FileChannel,long)
    - next.transferFrom(java.nio.channels.FileChannel,long,long)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.SingleByteStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)
      Src: io.undertow.util.SingleByteStreamSinkConduit:117,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.SingleByteStreamSinkConduit:120,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.util.SingleByteStreamSinkConduit)'
      Src: io.undertow.util.SingleByteStreamSinkConduit:120,1
    - Dst: next.transferFrom(org.xnio.channels.StreamSourceChannel,java.nio.ByteBuffer)
      Src: io.undertow.util.SingleByteStreamSinkConduit:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: '[io.undertow.util.SingleByteStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].limit(io.undertow.util.SingleByteStreamSinkConduit)'
    - '[java.nio.ByteBuffer].position()'
    - next.transferFrom(org.xnio.channels.StreamSourceChannel,java.nio.ByteBuffer)
    - next.transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.SingleByteStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.util.SingleByteStreamSourceConduit:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SingleByteStreamSourceConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - singleByteReads
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.util.SingleByteStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: io.undertow.util.SingleByteStreamSourceConduit
    signature: '[io.undertow.util.SingleByteStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:52,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.util.SingleByteStreamSourceConduit:54,1
    - Dst: '[io.undertow.util.SingleByteStreamSourceConduit].wakeupIfSsl()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:58,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:61,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:64,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:66,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.util.SingleByteStreamSourceConduit:66,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.util.SingleByteStreamSourceConduit:67,1
    - Dst: '[io.undertow.util.SingleByteStreamSourceConduit].wakeupIfSsl()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:69,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.util.SingleByteStreamSourceConduit)'
      Src: io.undertow.util.SingleByteStreamSourceConduit:73,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: '[io.undertow.util.SingleByteStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].limit(io.undertow.util.SingleByteStreamSourceConduit)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.util.SingleByteStreamSourceConduit].wakeupIfSsl()'
    - '[java.nio.ByteBuffer].limit(int)'
    - next.read(java.nio.ByteBuffer)
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.SingleByteStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SingleByteStreamSourceConduit].isReadResumed()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:80,1
    - Dst: next.getClass()
      Src: io.undertow.util.SingleByteStreamSourceConduit:80,1
    - Dst: '[io.undertow.util.SingleByteStreamSourceConduit].getSimpleName()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:80,1
    - Dst: '[io.undertow.util.SingleByteStreamSourceConduit].startsWith(String)'
      Src: io.undertow.util.SingleByteStreamSourceConduit:80,1
    - Dst: '[io.undertow.util.SingleByteStreamSourceConduit].wakeupReads()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: '[io.undertow.util.SingleByteStreamSourceConduit].wakeupIfSsl()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SingleByteStreamSourceConduit].isReadResumed()'
    - '[io.undertow.util.SingleByteStreamSourceConduit].wakeupReads()'
    - next.getClass()
    - '[io.undertow.util.SingleByteStreamSourceConduit].startsWith(String)'
    - '[io.undertow.util.SingleByteStreamSourceConduit].getSimpleName()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SingleByteStreamSourceConduit].wakeupIfSsl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.read(ByteBuffer[],int,int)
      Src: io.undertow.util.SingleByteStreamSourceConduit:88,1
    - Dst: dsts[i].hasRemaining()
      Src: io.undertow.util.SingleByteStreamSourceConduit:95,1
    - Dst: dst.limit()
      Src: io.undertow.util.SingleByteStreamSourceConduit:103,1
    - Dst: dst.position()
      Src: io.undertow.util.SingleByteStreamSourceConduit:105,1
    - Dst: dst.limit(int)
      Src: io.undertow.util.SingleByteStreamSourceConduit:105,1
    - Dst: next.read(io.undertow.util.SingleByteStreamSourceConduit)
      Src: io.undertow.util.SingleByteStreamSourceConduit:106,1
    - Dst: dst.limit(io.undertow.util.SingleByteStreamSourceConduit)
      Src: io.undertow.util.SingleByteStreamSourceConduit:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: '[io.undertow.util.SingleByteStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - dsts[i].hasRemaining()
    - dst.limit()
    - dst.limit(io.undertow.util.SingleByteStreamSourceConduit)
    - next.read(ByteBuffer[],int,int)
    - dst.position()
    - dst.limit(int)
    - next.read(io.undertow.util.SingleByteStreamSourceConduit)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.SingleByteStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.transferTo(long,long,java.nio.channels.FileChannel)
      Src: io.undertow.util.SingleByteStreamSourceConduit:116,1
    - Dst: next.transferTo(long,java.nio.channels.FileChannel)
      Src: io.undertow.util.SingleByteStreamSourceConduit:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: '[io.undertow.util.SingleByteStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - next.transferTo(long,java.nio.channels.FileChannel)
    - next.transferTo(long,long,java.nio.channels.FileChannel)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.SingleByteStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)
      Src: io.undertow.util.SingleByteStreamSourceConduit:128,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.util.SingleByteStreamSourceConduit:131,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.util.SingleByteStreamSourceConduit)'
      Src: io.undertow.util.SingleByteStreamSourceConduit:131,1
    - Dst: next.transferTo(java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)
      Src: io.undertow.util.SingleByteStreamSourceConduit:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: '[io.undertow.util.SingleByteStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SingleByteStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].position(io.undertow.util.SingleByteStreamSourceConduit)'
    - next.transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)
    - next.transferTo(java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.SingleByteStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateMatcher].<init>()'
      Src: io.undertow.util.PathTemplateMatcherTestCase:38,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].add(String)'
      Src: io.undertow.util.PathTemplateMatcherTestCase:39,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].match(String)'
      Src: io.undertow.util.PathTemplateMatcherTestCase:42,1
    - Dst: '[io.undertow.util.PathTemplateMatcherTestCase].assertNotNull(String,PathMatchResult<T>)'
      Src: io.undertow.util.PathTemplateMatcherTestCase:44,1
    - Dst: '[PathMatchResult<T>].getValue()'
      Src: io.undertow.util.PathTemplateMatcherTestCase:45,1
    - Dst: '[io.undertow.util.PathTemplateMatcherTestCase].assertNotNull(String,io.undertow.util.PathTemplateMatcherTestCase)'
      Src: io.undertow.util.PathTemplateMatcherTestCase:45,1
    - Dst: '[java.util.Arrays].asList(String,String,String,String)'
      Src: io.undertow.util.PathTemplateMatcherTestCase:47,1
    - Dst: '[PathMatchResult<T>].getParameters()'
      Src: io.undertow.util.PathTemplateMatcherTestCase:47,1
    - Dst: '[io.undertow.util.PathTemplateMatcherTestCase].values()'
      Src: io.undertow.util.PathTemplateMatcherTestCase:47,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.PathTemplateMatcherTestCase)'
      Src: io.undertow.util.PathTemplateMatcherTestCase:47,1
    - Dst: '[io.undertow.util.PathTemplateMatcherTestCase].assertEquals(String,io.undertow.util.PathTemplateMatcherTestCase,java.util.ArrayList)'
      Src: io.undertow.util.PathTemplateMatcherTestCase:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: '[io.undertow.util.PathTemplateMatcherTestCase].pathTemplateMatchedShouldKeepOrder()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateMatcherTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatcher].<init>()'
    - '[io.undertow.util.PathTemplateMatcherTestCase].values()'
    - '[java.util.Arrays].asList(String,String,String,String)'
    - '[io.undertow.util.PathTemplateMatcher].add(String)'
    - '[PathMatchResult<T>].getParameters()'
    - '[io.undertow.util.PathTemplateMatcherTestCase].assertEquals(String,io.undertow.util.PathTemplateMatcherTestCase,java.util.ArrayList)'
    - '[io.undertow.util.PathTemplateMatcher].match(String)'
    - '[io.undertow.util.PathTemplateMatcherTestCase].assertNotNull(String,io.undertow.util.PathTemplateMatcherTestCase)'
    - '[java.util.ArrayList].<init>(io.undertow.util.PathTemplateMatcherTestCase)'
    - '[PathMatchResult<T>].getValue()'
    - '[io.undertow.util.PathTemplateMatcherTestCase].assertNotNull(String,PathMatchResult<T>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateMatcherTestCase].pathTemplateMatchedShouldKeepOrder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateMatcherTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathTemplateMatcherTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateMatcherTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcherTestCase
    signature: '[io.undertow.util.PathTemplateMatcherTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.util.HeaderMapTestCase:45,1
    - Dst: '[io.undertow.util.HeaderMap].size()'
      Src: io.undertow.util.HeaderMapTestCase:46,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderMapTestCase:46,1
    - Dst: '[io.undertow.util.HeaderMap].fastIterate()'
      Src: io.undertow.util.HeaderMapTestCase:47,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(long)'
      Src: io.undertow.util.HeaderMapTestCase:47,1
    - Dst: '[io.undertow.util.HeaderMap].iterator()'
      Src: io.undertow.util.HeaderMapTestCase:48,1
    - Dst: '[java.util.Iterator<io.undertow.util.HeaderValues>].hasNext()'
      Src: io.undertow.util.HeaderMapTestCase:48,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertFalse(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: '[io.undertow.util.HeaderMapTestCase].testInitial()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].iterator()'
    - '[java.util.Iterator<io.undertow.util.HeaderValues>].hasNext()'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(long)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(int,int)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.util.HeaderMapTestCase].assertFalse(io.undertow.util.HeaderMapTestCase)'
    - '[io.undertow.util.HeaderMap].size()'
    - '[io.undertow.util.HeaderMap].fastIterate()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderMapTestCase].testInitial()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.util.HeaderMapTestCase:53,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:54,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.util.HeaderMapTestCase:54,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:55,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.util.HeaderMapTestCase:55,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:56,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:56,1
    - Dst: '[io.undertow.util.HeaderValues].toArray()'
      Src: io.undertow.util.HeaderMapTestCase:56,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertArrayEquals(String[])'
      Src: io.undertow.util.HeaderMapTestCase:56,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:57,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:57,1
    - Dst: '[io.undertow.util.HeaderValues].toArray()'
      Src: io.undertow.util.HeaderMapTestCase:57,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertArrayEquals(String[])'
      Src: io.undertow.util.HeaderMapTestCase:57,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:58,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:58,1
    - Dst: '[io.undertow.util.HeaderValues].toArray()'
      Src: io.undertow.util.HeaderMapTestCase:58,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertArrayEquals(String[])'
      Src: io.undertow.util.HeaderMapTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: '[io.undertow.util.HeaderMapTestCase].testMixedCase()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.util.HeaderMapTestCase].assertArrayEquals(String[])'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.util.HeaderValues].toArray()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderMapTestCase].testMixedCase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.util.HeaderMapTestCase:63,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.util.HeaderMapTestCase:64,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:65,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderMapTestCase:65,1
    - Dst: '[io.undertow.util.HeaderMap].contains(String)'
      Src: io.undertow.util.HeaderMapTestCase:66,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderMapTestCase:66,1
    - Dst: '[io.undertow.util.HeaderMap].size()'
      Src: io.undertow.util.HeaderMapTestCase:67,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderMapTestCase:67,1
    - Dst: '[io.undertow.util.HeaderMap].fastIterate()'
      Src: io.undertow.util.HeaderMapTestCase:68,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertNotEquals(long)'
      Src: io.undertow.util.HeaderMapTestCase:68,1
    - Dst: '[io.undertow.util.HeaderMap].fastIterate()'
      Src: io.undertow.util.HeaderMapTestCase:69,1
    - Dst: '[io.undertow.util.HeaderMap].fiNext(long)'
      Src: io.undertow.util.HeaderMapTestCase:69,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(long)'
      Src: io.undertow.util.HeaderMapTestCase:69,1
    - Dst: '[io.undertow.util.HeaderMap].fastIterate()'
      Src: io.undertow.util.HeaderMapTestCase:70,1
    - Dst: '[io.undertow.util.HeaderMap].fiCurrent(long)'
      Src: io.undertow.util.HeaderMapTestCase:70,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.util.HeaderMapTestCase:70,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:70,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:71,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderMapTestCase:71,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:72,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderMapTestCase:72,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString,int)'
      Src: io.undertow.util.HeaderMapTestCase:73,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderMapTestCase:73,1
    - Dst: '[io.undertow.util.HeaderMap].remove(String)'
      Src: io.undertow.util.HeaderMapTestCase:74,1
    - Dst: '[io.undertow.util.HeaderMap].size()'
      Src: io.undertow.util.HeaderMapTestCase:75,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderMapTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: '[io.undertow.util.HeaderMapTestCase].testSimple()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].contains(String)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].fiNext(long)'
    - '[io.undertow.util.HeaderMap].fiCurrent(long)'
    - '[io.undertow.util.HeaderMapTestCase].assertTrue(boolean)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(String,io.undertow.util.HeaderValues)'
    - '[io.undertow.util.HeaderMap].remove(String)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMapTestCase].assertNotEquals(long)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(long)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(int,int)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.util.HeaderValues].getHeaderName()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString,int)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.util.HeaderMap].fastIterate()'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderMapTestCase].testSimple()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.util.HeaderMapTestCase:80,1
    - Dst: item.hashCode()
      Src: io.undertow.util.HeaderMapTestCase:82,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HeaderMapTestCase,String)'
      Src: io.undertow.util.HeaderMapTestCase:83,1
    - Dst: item.hashCode()
      Src: io.undertow.util.HeaderMapTestCase:86,1
    - Dst: Integer.valueOf(io.undertow.util.HeaderMapTestCase)
      Src: io.undertow.util.HeaderMapTestCase:86,1
    - Dst: String.format(String,io.undertow.util.HeaderMapTestCase,io.undertow.util.HeaderMapTestCase)
      Src: io.undertow.util.HeaderMapTestCase:86,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:86,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertTrue(io.undertow.util.HeaderMapTestCase,boolean)'
      Src: io.undertow.util.HeaderMapTestCase:86,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:87,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertNotNull(io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderMapTestCase:87,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:88,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.HeaderMapTestCase:88,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderMapTestCase:88,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:89,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderMapTestCase:89,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:90,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderMapTestCase:90,1
    - Dst: '[java.util.List<io.undertow.util.HttpString>].size()'
      Src: io.undertow.util.HeaderMapTestCase:92,1
    - Dst: '[io.undertow.util.HeaderMap].size()'
      Src: io.undertow.util.HeaderMapTestCase:92,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(io.undertow.util.HeaderMapTestCase,int)'
      Src: io.undertow.util.HeaderMapTestCase:92,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:94,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderMapTestCase:94,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:95,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertNotNull(java.util.Collection<String>)'
      Src: io.undertow.util.HeaderMapTestCase:95,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:96,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertFalse(boolean)'
      Src: io.undertow.util.HeaderMapTestCase:96,1
    - Dst: '[io.undertow.util.HeaderMap].size()'
      Src: io.undertow.util.HeaderMapTestCase:98,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderMapTestCase:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: '[io.undertow.util.HeaderMapTestCase].testGrowing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HeaderMapTestCase)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
    - '[java.util.List<io.undertow.util.HttpString>].size()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HeaderMapTestCase)'
    - '[io.undertow.util.HeaderMapTestCase].assertTrue(io.undertow.util.HeaderMapTestCase,boolean)'
    - Integer.valueOf(io.undertow.util.HeaderMapTestCase)
    - '[io.undertow.util.HeaderMapTestCase].assertTrue(boolean)'
    - '[io.undertow.util.HeaderMapTestCase].assertNotNull(io.undertow.util.HeaderValues)'
    - item.hashCode()
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HeaderMapTestCase)'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HeaderMapTestCase)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HeaderMapTestCase,String)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(int,int)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.util.HeaderMapTestCase].assertNotNull(java.util.Collection<String>)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(io.undertow.util.HeaderMapTestCase,int)'
    - '[io.undertow.util.HeaderMapTestCase].assertFalse(boolean)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HeaderMapTestCase)'
    - '[io.undertow.util.HeaderMap].size()'
    - String.format(String,io.undertow.util.HeaderMapTestCase,io.undertow.util.HeaderMapTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderMapTestCase].testGrowing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.util.HeaderMapTestCase:103,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:104,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.util.HeaderMapTestCase:104,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:105,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.util.HeaderMapTestCase:105,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:106,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:106,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderMapTestCase:106,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HeaderMapTestCase:107,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:107,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderMapTestCase:107,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(String)'
      Src: io.undertow.util.HeaderMapTestCase:108,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderMapTestCase:108,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(String)'
      Src: io.undertow.util.HeaderMapTestCase:109,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderMapTestCase:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: '[io.undertow.util.HeaderMapTestCase].testCollision()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMapTestCase].assertEquals(String,String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.util.HeaderMap].getFirst(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderMapTestCase].testCollision()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.util.HeaderMapTestCase:115,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HeaderMapTestCase,String)'
      Src: io.undertow.util.HeaderMapTestCase:117,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:118,1
    - Dst: '[io.undertow.util.HeaderValues].clear()'
      Src: io.undertow.util.HeaderMapTestCase:118,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:119,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertFalse(boolean)'
      Src: io.undertow.util.HeaderMapTestCase:119,1
    - Dst: header.toString()
      Src: io.undertow.util.HeaderMapTestCase:120,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HeaderMapTestCase)'
      Src: io.undertow.util.HeaderMapTestCase:120,1
    - Dst: '[io.undertow.util.HeaderMapTestCase].assertFalse(boolean)'
      Src: io.undertow.util.HeaderMapTestCase:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: '[io.undertow.util.HeaderMapTestCase].testContainsAfterClear()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderMapTestCase.java
    functionUses: 0
    functionsReached:
    - header.toString()
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HeaderMapTestCase)'
    - '[io.undertow.util.HeaderMapTestCase].assertFalse(boolean)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HeaderMapTestCase)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.util.HeaderValues].clear()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HeaderMapTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderMapTestCase].testContainsAfterClear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMapTestCase:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMapTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.HeaderMapTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString)'
    linkageType: ''
    returnType: io.undertow.util.HeaderMapTestCase
    signature: '[io.undertow.util.HeaderMapTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].readFile(String)'
      Src: io.undertow.util.MimeDecodingTestCase:42,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
      Src: io.undertow.util.MimeDecodingTestCase:42,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase:43,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.util.MimeDecodingTestCase:44,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.util.MimeDecodingTestCase:44,1
    - Dst: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
      Src: io.undertow.util.MimeDecodingTestCase:44,1
    - Dst: '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:46,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:46,1
    - Dst: '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:47,1
    - Dst: '[ParseState].isComplete()'
      Src: io.undertow.util.MimeDecodingTestCase:48,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:48,1
    - Dst: handler.parts.size()
      Src: io.undertow.util.MimeDecodingTestCase:49,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:49,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:50,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:50,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:50,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:51,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:51,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:51,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:53,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MimeDecodingTestCase:53,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: '[io.undertow.util.MimeDecodingTestCase].testSimpleMimeDecodingWithPreamble()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.util.MimeDecodingTestCase].toString()'
    - '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
    - '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].isComplete()'
    - '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
    - handler.parts.size()
    - '[String].getBytes()'
    - '[io.undertow.util.FileUtils].readFile(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
    - handler.parts.get(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase].testSimpleMimeDecodingWithPreamble()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].readFile(String)'
      Src: io.undertow.util.MimeDecodingTestCase:59,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
      Src: io.undertow.util.MimeDecodingTestCase:59,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.util.MimeDecodingTestCase:61,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.util.MimeDecodingTestCase:61,1
    - Dst: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
      Src: io.undertow.util.MimeDecodingTestCase:61,1
    - Dst: '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:63,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:63,1
    - Dst: '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:64,1
    - Dst: '[ParseState].isComplete()'
      Src: io.undertow.util.MimeDecodingTestCase:65,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:65,1
    - Dst: handler.parts.size()
      Src: io.undertow.util.MimeDecodingTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:66,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:67,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:67,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:69,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MimeDecodingTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:69,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:70,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MimeDecodingTestCase:70,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: '[io.undertow.util.MimeDecodingTestCase].testMimeDecodingWithUTF8Headers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.util.MimeDecodingTestCase].toString()'
    - '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
    - '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].isComplete()'
    - '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
    - handler.parts.size()
    - '[String].getBytes()'
    - '[io.undertow.util.FileUtils].readFile(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
    - handler.parts.get(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase].testMimeDecodingWithUTF8Headers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].readFile(String)'
      Src: io.undertow.util.MimeDecodingTestCase:75,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
      Src: io.undertow.util.MimeDecodingTestCase:75,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase:76,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.util.MimeDecodingTestCase:77,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.util.MimeDecodingTestCase:77,1
    - Dst: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
      Src: io.undertow.util.MimeDecodingTestCase:77,1
    - Dst: '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:79,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:79,1
    - Dst: '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:80,1
    - Dst: '[ParseState].isComplete()'
      Src: io.undertow.util.MimeDecodingTestCase:81,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:81,1
    - Dst: handler.parts.size()
      Src: io.undertow.util.MimeDecodingTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:82,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:83,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:83,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:84,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:84,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:86,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MimeDecodingTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.MimeDecodingTestCase].testSimpleMimeDecodingWithoutPreamble()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.util.MimeDecodingTestCase].toString()'
    - '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
    - '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].isComplete()'
    - '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
    - handler.parts.size()
    - '[String].getBytes()'
    - '[io.undertow.util.FileUtils].readFile(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
    - handler.parts.get(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase].testSimpleMimeDecodingWithoutPreamble()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].readFile(String)'
      Src: io.undertow.util.MimeDecodingTestCase:91,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
      Src: io.undertow.util.MimeDecodingTestCase:91,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.util.MimeDecodingTestCase:93,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.util.MimeDecodingTestCase:93,1
    - Dst: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
      Src: io.undertow.util.MimeDecodingTestCase:93,1
    - Dst: '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:95,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:95,1
    - Dst: '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:96,1
    - Dst: '[ParseState].isComplete()'
      Src: io.undertow.util.MimeDecodingTestCase:97,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:97,1
    - Dst: handler.parts.size()
      Src: io.undertow.util.MimeDecodingTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:98,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:99,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:99,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:100,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:100,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:102,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MimeDecodingTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: '[io.undertow.util.MimeDecodingTestCase].testBase64MimeDecoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.util.MimeDecodingTestCase].toString()'
    - '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
    - '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].isComplete()'
    - '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
    - handler.parts.size()
    - '[String].getBytes()'
    - '[io.undertow.util.FileUtils].readFile(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
    - handler.parts.get(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase].testBase64MimeDecoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].readFile(String)'
      Src: io.undertow.util.MimeDecodingTestCase:107,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
      Src: io.undertow.util.MimeDecodingTestCase:107,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase:108,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.util.MimeDecodingTestCase:109,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.util.MimeDecodingTestCase:109,1
    - Dst: '[io.undertow.util.MultipartParser].beginParse(io.undertow.server.DefaultByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
      Src: io.undertow.util.MimeDecodingTestCase:109,1
    - Dst: '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:111,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:111,1
    - Dst: '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:112,1
    - Dst: '[ParseState].isComplete()'
      Src: io.undertow.util.MimeDecodingTestCase:113,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:113,1
    - Dst: handler.parts.size()
      Src: io.undertow.util.MimeDecodingTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:114,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:115,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:115,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:116,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:116,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:118,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MimeDecodingTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: '[io.undertow.util.MimeDecodingTestCase].testBase64MimeDecodingWithSmallBuffers()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.util.MimeDecodingTestCase].toString()'
    - '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
    - '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].isComplete()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    - '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
    - '[String].getBytes()'
    - '[io.undertow.util.FileUtils].readFile(String)'
    - handler.parts.size()
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
    - handler.parts.get(int)
    - '[io.undertow.util.MultipartParser].beginParse(io.undertow.server.DefaultByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase].testBase64MimeDecodingWithSmallBuffers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].readFile(String)'
      Src: io.undertow.util.MimeDecodingTestCase:123,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
      Src: io.undertow.util.MimeDecodingTestCase:123,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.util.MimeDecodingTestCase:125,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.util.MimeDecodingTestCase:125,1
    - Dst: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
      Src: io.undertow.util.MimeDecodingTestCase:125,1
    - Dst: '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:127,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:127,1
    - Dst: '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:128,1
    - Dst: '[ParseState].isComplete()'
      Src: io.undertow.util.MimeDecodingTestCase:129,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:129,1
    - Dst: handler.parts.size()
      Src: io.undertow.util.MimeDecodingTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:130,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:131,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:131,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:133,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MimeDecodingTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: '[io.undertow.util.MimeDecodingTestCase].testQuotedPrintable()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.util.MimeDecodingTestCase].toString()'
    - '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
    - '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].isComplete()'
    - '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
    - handler.parts.size()
    - '[String].getBytes()'
    - '[io.undertow.util.FileUtils].readFile(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
    - handler.parts.get(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase].testQuotedPrintable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].readFile(String)'
      Src: io.undertow.util.MimeDecodingTestCase:138,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
      Src: io.undertow.util.MimeDecodingTestCase:138,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase:139,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.util.MimeDecodingTestCase:140,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.util.MimeDecodingTestCase:140,1
    - Dst: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
      Src: io.undertow.util.MimeDecodingTestCase:140,1
    - Dst: '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:142,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:142,1
    - Dst: '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:143,1
    - Dst: '[ParseState].isComplete()'
      Src: io.undertow.util.MimeDecodingTestCase:144,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:144,1
    - Dst: handler.parts.size()
      Src: io.undertow.util.MimeDecodingTestCase:145,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:145,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:146,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:146,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:146,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:147,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:147,1
    - Dst: handler.parts.get(int)
      Src: io.undertow.util.MimeDecodingTestCase:149,1
    - Dst: '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MimeDecodingTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: '[io.undertow.util.MimeDecodingTestCase].testMultilineHeader()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.util.MimeDecodingTestCase.TestPartHandler,io.undertow.util.MimeDecodingTestCase,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].parse(io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.util.MimeDecodingTestCase].toString()'
    - '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
    - '[String].getBytes(io.undertow.util.MimeDecodingTestCase)'
    - '[ParseState].isComplete()'
    - '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
    - handler.parts.size()
    - '[String].getBytes()'
    - '[io.undertow.util.FileUtils].readFile(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.MimeDecodingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.util.MimeDecodingTestCase].getFirst(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.MimeDecodingTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.MimeDecodingTestCase)'
    - handler.parts.get(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase].testMultilineHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase:187,1
    - Dst: '[String].length()'
      Src: io.undertow.util.MimeDecodingTestCase:188,1
    - Dst: '[String].charAt(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:189,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.MimeDecodingTestCase:191,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.MimeDecodingTestCase:192,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.MimeDecodingTestCase:194,1
    - Dst: '[String].length()'
      Src: io.undertow.util.MimeDecodingTestCase:197,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.MimeDecodingTestCase:197,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.MimeDecodingTestCase:198,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.MimeDecodingTestCase:200,1
    - Dst: '[StringBuilder].append(io.undertow.util.MimeDecodingTestCase)'
      Src: io.undertow.util.MimeDecodingTestCase:203,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.MimeDecodingTestCase:206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 207
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 207
    functionName: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 7
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[String].charAt(io.undertow.util.MimeDecodingTestCase)'
    - '[StringBuilder].append(io.undertow.util.MimeDecodingTestCase)'
    - '[StringBuilder].<init>()'
    - '[String].charAt(int)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.MimeDecodingTestCase].fixLineEndings(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MimeDecodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.MimeDecodingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MimeDecodingTestCase
    signature: '[io.undertow.util.MimeDecodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate.Part].<init>(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.MimeDecodingTestCase.TestPartHandler:160,1
    - Dst: '[List<Part>].add(io.undertow.util.PathTemplate.Part)'
      Src: io.undertow.util.MimeDecodingTestCase.TestPartHandler:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - List<Part>
      - Part
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].beginPart(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplate.Part].<init>(io.undertow.util.HeaderMap)'
    - '[List<Part>].add(io.undertow.util.PathTemplate.Part)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].beginPart(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MimeDecodingTestCase.TestPartHandler:166,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.MimeDecodingTestCase.TestPartHandler:167,1
    - Dst: current.data.append(char)
      Src: io.undertow.util.MimeDecodingTestCase.TestPartHandler:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - List<Part>
      - Part
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].data(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    - current.data.append(char)
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].data(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<Part>
      - Part
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].endPart()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].endPart()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase.TestPartHandler:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<Part>
      - Part
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MimeDecodingTestCase.TestPartHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 7
    functionsReached:
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.util.MimeDecodingTestCase.TestPartHandler
    signature: '[io.undertow.util.MimeDecodingTestCase.TestPartHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.MimeDecodingTestCase.Part:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      - StringBuilder
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.MimeDecodingTestCase.Part
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - map
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.util.MimeDecodingTestCase.Part].<init>(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/MimeDecodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: io.undertow.util.MimeDecodingTestCase.Part
    signature: '[io.undertow.util.MimeDecodingTestCase.Part].<init>(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SimpleObjectPool].<init>(int)'
      Src: io.undertow.util.SimpleObjectPoolTestCase:39,1
    - Dst: '[io.undertow.util.SimpleObjectPool].allocate()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:40,1
    - Dst: '[io.undertow.util.PooledObject<T>].close()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:41,1
    - Dst: '[org.junit.rules.ExpectedException].expect()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:43,1
    - Dst: '[io.undertow.util.PooledObject<T>].getObject()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.junit.rules.ExpectedException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: '[io.undertow.util.SimpleObjectPoolTestCase].testObjectAlreadyReturned()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SimpleObjectPool].<init>(int)'
    - '[io.undertow.util.SimpleObjectPool].allocate()'
    - '[io.undertow.util.PooledObject<T>].close()'
    - '[io.undertow.util.PooledObject<T>].getObject()'
    - '[org.junit.rules.ExpectedException].expect()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SimpleObjectPoolTestCase].testObjectAlreadyReturned()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:49,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:50,1
    - Dst: '[io.undertow.util.SimpleObjectPool].<init>(int)'
      Src: io.undertow.util.SimpleObjectPoolTestCase:51,1
    - Dst: '[io.undertow.util.SimpleObjectPool].allocate()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:53,1
    - Dst: '[io.undertow.util.PooledObject<T>].close()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:54,1
    - Dst: '[io.undertow.util.PooledObject<T>].close()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:55,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:56,1
    - Dst: '[io.undertow.util.SimpleObjectPoolTestCase].assertEquals(String,int,io.undertow.util.SimpleObjectPoolTestCase)'
      Src: io.undertow.util.SimpleObjectPoolTestCase:56,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:57,1
    - Dst: '[io.undertow.util.SimpleObjectPoolTestCase].assertEquals(String,int,io.undertow.util.SimpleObjectPoolTestCase)'
      Src: io.undertow.util.SimpleObjectPoolTestCase:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.junit.rules.ExpectedException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: '[io.undertow.util.SimpleObjectPoolTestCase].testCloseMayBeInvokedMultipleTimesWhenObjectIsRecycled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SimpleObjectPool].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.util.SimpleObjectPool].allocate()'
    - '[io.undertow.util.SimpleObjectPoolTestCase].assertEquals(String,int,io.undertow.util.SimpleObjectPoolTestCase)'
    - '[io.undertow.util.PooledObject<T>].close()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SimpleObjectPoolTestCase].testCloseMayBeInvokedMultipleTimesWhenObjectIsRecycled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:62,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:63,1
    - Dst: '[io.undertow.util.SimpleObjectPool].<init>(int)'
      Src: io.undertow.util.SimpleObjectPoolTestCase:64,1
    - Dst: '[io.undertow.util.SimpleObjectPool].allocate()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:66,1
    - Dst: '[io.undertow.util.SimpleObjectPool].allocate()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:67,1
    - Dst: '[io.undertow.util.PooledObject<T>].close()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:68,1
    - Dst: '[io.undertow.util.PooledObject<T>].close()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:69,1
    - Dst: '[io.undertow.util.PooledObject<T>].close()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:70,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:71,1
    - Dst: '[io.undertow.util.SimpleObjectPoolTestCase].assertEquals(String,int,io.undertow.util.SimpleObjectPoolTestCase)'
      Src: io.undertow.util.SimpleObjectPoolTestCase:71,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:72,1
    - Dst: '[io.undertow.util.SimpleObjectPoolTestCase].assertEquals(String,int,io.undertow.util.SimpleObjectPoolTestCase)'
      Src: io.undertow.util.SimpleObjectPoolTestCase:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.junit.rules.ExpectedException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: '[io.undertow.util.SimpleObjectPoolTestCase].testCloseMayBeInvokedMultipleTimesWhenObjectIsConsumed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SimpleObjectPool].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.util.SimpleObjectPool].allocate()'
    - '[io.undertow.util.SimpleObjectPoolTestCase].assertEquals(String,int,io.undertow.util.SimpleObjectPoolTestCase)'
    - '[io.undertow.util.PooledObject<T>].close()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SimpleObjectPoolTestCase].testCloseMayBeInvokedMultipleTimesWhenObjectIsConsumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.rules.ExpectedException].none()'
      Src: io.undertow.util.SimpleObjectPoolTestCase:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.junit.rules.ExpectedException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SimpleObjectPoolTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.SimpleObjectPoolTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SimpleObjectPoolTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.rules.ExpectedException].none()'
    linkageType: ''
    returnType: io.undertow.util.SimpleObjectPoolTestCase
    signature: '[io.undertow.util.SimpleObjectPoolTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:47,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
      Src: io.undertow.util.PathTemplateRouterTest:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - templatePath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
    - '[Object].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertThrows()'
      Src: io.undertow.util.PathTemplateRouterTest:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - templatePath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: '[io.undertow.util.PathTemplateRouterTest].assertInValidTemplate(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 1
    functionsReached:
    - '[org.junit.Assert].assertThrows()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].assertInValidTemplate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:62,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
      Src: io.undertow.util.PathTemplateRouterTest:61,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:65,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
      Src: io.undertow.util.PathTemplateRouterTest:64,1
    - Dst: '[io.undertow.util.PathTemplate<T>].patternEquals(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:67,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:67,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:68,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:69,1
    - Dst: '[org.junit.Assert].assertEquals(PathTemplateParser.PathTemplatePatternEqualsAdapter,PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.util.PathTemplateRouterTest:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - expectedTemplatePath
    - actualTemplatePath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: '[io.undertow.util.PathTemplateRouterTest].assertPatternEquals(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
    - '[io.undertow.util.PathTemplate<T>].patternEquals(io.undertow.util.PathTemplate<T>)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
    - '[Object].<init>()'
    - '[org.junit.Assert].assertEquals(PathTemplateParser.PathTemplatePatternEqualsAdapter,PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].assertPatternEquals(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:78,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
      Src: io.undertow.util.PathTemplateRouterTest:77,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:81,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
      Src: io.undertow.util.PathTemplateRouterTest:80,1
    - Dst: '[io.undertow.util.PathTemplate<T>].patternEquals(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:83,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:83,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:84,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:85,1
    - Dst: '[org.junit.Assert].assertNotEquals(PathTemplateParser.PathTemplatePatternEqualsAdapter,PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.util.PathTemplateRouterTest:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - expectedTemplatePath
    - actualTemplatePath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.PathTemplateRouterTest].assertPatternNotEquals(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
    - '[io.undertow.util.PathTemplate<T>].patternEquals(io.undertow.util.PathTemplate<T>)'
    - '[org.junit.Assert].assertNotEquals(PathTemplateParser.PathTemplatePatternEqualsAdapter,PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    - '[org.junit.Assert].assertFalse(io.undertow.util.PathTemplateRouterTest)'
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
    - '[Object].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].assertPatternNotEquals(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:94,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:95,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:96,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:97,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:98,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:99,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:100,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:101,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:102,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:103,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:104,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:105,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:106,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:107,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertInValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:109,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertInValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:110,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertInValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:111,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertInValidTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:112,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertPatternEquals(String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:114,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertPatternNotEquals(String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:115,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertPatternEquals(String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:117,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertPatternNotEquals(String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:118,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertPatternEquals(String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 121
    functionName: '[io.undertow.util.PathTemplateRouterTest].testParseTemplate()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].assertInValidTemplate(String)'
    - '[io.undertow.util.PathTemplateRouterTest].assertValidTemplate(String)'
    - '[io.undertow.util.PathTemplateRouterTest].assertPatternEquals(String,String)'
    - '[io.undertow.util.PathTemplateRouterTest].assertPatternNotEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].testParseTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
      Src: io.undertow.util.PathTemplateRouterTest:124,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(T)'
      Src: io.undertow.util.PathTemplateRouterTest:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PathTemplateRouterFactory.Builder<java.util.function.Supplier<T>,T>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - defaultTarget
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: '[io.undertow.util.PathTemplateRouterTest].routerBuilder(T)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
    - '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(T)'
    linkageType: ''
    returnType: PathTemplateRouterFactory.Builder<java.util.function.Supplier<T>,T>
    signature: '[io.undertow.util.PathTemplateRouterTest].routerBuilder(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouter<String>].route(String)'
      Src: io.undertow.util.PathTemplateRouterTest:131,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getTarget()'
      Src: io.undertow.util.PathTemplateRouterTest:132,1
    - Dst: '[org.junit.Assert].assertSame(String,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:132,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getPathTemplate()'
      Src: io.undertow.util.PathTemplateRouterTest:133,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterTest:133,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:133,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getParameters()'
      Src: io.undertow.util.PathTemplateRouterTest:134,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterTest:134,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouter<String>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - router
    - path
    argTypes:
    - io.undertow.util.PathTemplateRouter<String>
    - String
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: '[io.undertow.util.PathTemplateRouterTest].assertNoMatch(io.undertow.util.PathTemplateRouter<String>,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].getTarget()'
    - '[io.undertow.util.PathTemplateRouterTest].getParameters()'
    - '[io.undertow.util.PathTemplateRouterTest].getPathTemplate()'
    - '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
    - '[io.undertow.util.PathTemplateRouterTest].isEmpty()'
    - '[org.junit.Assert].assertSame(String,io.undertow.util.PathTemplateRouterTest)'
    - '[io.undertow.util.PathTemplateRouter<String>].route(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].assertNoMatch(io.undertow.util.PathTemplateRouter<String>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:145,1
    - Dst: '[java.util.HashMap].<init>(int)'
      Src: io.undertow.util.PathTemplateRouterTest:150,1
    - Dst: '[java.util.HashMap].put()'
      Src: io.undertow.util.PathTemplateRouterTest:152,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.util.PathTemplateRouterTest:155,1
    - Dst: '[io.undertow.util.PathTemplateRouter<String>].route(String)'
      Src: io.undertow.util.PathTemplateRouterTest:158,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getTarget()'
      Src: io.undertow.util.PathTemplateRouterTest:159,1
    - Dst: '[org.junit.Assert].assertSame(String,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:159,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getPathTemplate()'
      Src: io.undertow.util.PathTemplateRouterTest:160,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].isPresent()'
      Src: io.undertow.util.PathTemplateRouterTest:160,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:160,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getParameters()'
      Src: io.undertow.util.PathTemplateRouterTest:161,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouter<String>
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - router
    - path
    - target
    argTypes:
    - io.undertow.util.PathTemplateRouter<String>
    - String
    - String
    constantsTouched: []
    func_position:
      end: 162
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 162
    functionName: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouter<String>,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].getTarget()'
    - '[io.undertow.util.PathTemplateRouterTest].getParameters()'
    - '[io.undertow.util.PathTemplateRouterTest].getPathTemplate()'
    - '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
    - '[java.util.HashMap].put()'
    - '[org.junit.Assert].assertEquals(io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
    - '[IllegalArgumentException].<init>()'
    - '[java.util.HashMap].<init>(int)'
    - '[org.junit.Assert].assertSame(String,io.undertow.util.PathTemplateRouterTest)'
    - '[java.util.Collections].emptyMap()'
    - '[io.undertow.util.PathTemplateRouter<String>].route(String)'
    - '[io.undertow.util.PathTemplateRouterTest].isPresent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouter<String>,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterTest].routerBuilder(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[PathTemplateRouterFactory.Builder<java.util.function.Supplier<T>,T>].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].build()'
      Src: io.undertow.util.PathTemplateRouterTest:175,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertNoMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:195,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertNoMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:198,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:199,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:200,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:201,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:202,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:203,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:204,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String)'
      Src: io.undertow.util.PathTemplateRouterTest:205,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:206,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:207,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:208,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:209,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:210,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:211,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:212,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:213,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:215,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 216
    functionName: '[io.undertow.util.PathTemplateRouterTest].testRouting()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String,String,String)'
    - '[io.undertow.util.PathTemplateRouterTest].assertNoMatch(io.undertow.util.PathTemplateRouterTest,String)'
    - '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String)'
    - '[io.undertow.util.PathTemplateRouterTest].assertMatch(io.undertow.util.PathTemplateRouterTest,String,String,String)'
    - '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
    - '[PathTemplateRouterFactory.Builder<java.util.function.Supplier<T>,T>].addTemplate(String)'
    - '[io.undertow.util.PathTemplateRouterTest].routerBuilder(String)'
    - '[io.undertow.util.PathTemplateRouterTest].build()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].testRouting()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:225,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:226,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:227,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:228,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:230,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:231,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:232,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:235,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:236,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:237,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:238,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:240,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:241,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:242,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:245,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:246,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:247,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:248,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:250,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:251,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:254,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:255,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:256,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 260
    functionName: '[io.undertow.util.PathTemplateRouterTest].testMatches()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
    - '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String,String,String)'
    - '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String)'
    - '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].testMatches()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:265,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:266,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:267,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:268,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:269,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:270,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:271,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateRouterTest:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: '[io.undertow.util.PathTemplateRouterTest].wildCardTests()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String)'
    - '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String,String,String,String,String)'
    - '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].wildCardTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertThrows()'
      Src: io.undertow.util.PathTemplateRouterTest:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: '[io.undertow.util.PathTemplateRouterTest].testNullPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertThrows()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].testNullPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:287,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:289,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
      Src: io.undertow.util.PathTemplateRouterTest:289,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:288,1
    - Dst: '[java.util.HashSet].add(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.util.PathTemplateRouterTest:288,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:292,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
      Src: io.undertow.util.PathTemplateRouterTest:292,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:291,1
    - Dst: '[java.util.HashSet].contains(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.util.PathTemplateRouterTest:291,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:291,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:295,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
      Src: io.undertow.util.PathTemplateRouterTest:295,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterTest:294,1
    - Dst: '[java.util.HashSet].contains(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.util.PathTemplateRouterTest:294,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: '[io.undertow.util.PathTemplateRouterTest].testDetectDuplicates()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String,Object)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateRouterTest)'
    - '[java.util.HashSet].contains(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    - '[org.junit.Assert].assertFalse(io.undertow.util.PathTemplateRouterTest)'
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.HashSet].add(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    - '[Object].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].testDetectDuplicates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
      Src: io.undertow.util.PathTemplateRouterTest:303,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(String)'
      Src: io.undertow.util.PathTemplateRouterTest:303,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:303,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].build()'
      Src: io.undertow.util.PathTemplateRouterTest:303,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].route(String)'
      Src: io.undertow.util.PathTemplateRouterTest:307,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getTarget()'
      Src: io.undertow.util.PathTemplateRouterTest:307,1
    - Dst: '[org.junit.Assert].assertNotSame(io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:307,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].route(String)'
      Src: io.undertow.util.PathTemplateRouterTest:308,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getTarget()'
      Src: io.undertow.util.PathTemplateRouterTest:308,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:308,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
      Src: io.undertow.util.PathTemplateRouterTest:310,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(String)'
      Src: io.undertow.util.PathTemplateRouterTest:310,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:310,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].build()'
      Src: io.undertow.util.PathTemplateRouterTest:310,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].route(String)'
      Src: io.undertow.util.PathTemplateRouterTest:315,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getTarget()'
      Src: io.undertow.util.PathTemplateRouterTest:315,1
    - Dst: '[org.junit.Assert].assertNotSame(io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:315,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].route(String)'
      Src: io.undertow.util.PathTemplateRouterTest:316,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getTarget()'
      Src: io.undertow.util.PathTemplateRouterTest:316,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 317
    functionName: '[io.undertow.util.PathTemplateRouterTest].testTrailingSlash()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].getTarget()'
    - '[org.junit.Assert].assertNotSame(io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
    - '[org.junit.Assert].assertSame(io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
    - '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
    - '[io.undertow.util.PathTemplateRouterTest].route(String)'
    - '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
    - '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(String)'
    - '[io.undertow.util.PathTemplateRouterTest].build()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].testTrailingSlash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.PathTemplateRouterTest:320,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:321,1
    - Dst: '[java.util.HashMap].put()'
      Src: io.undertow.util.PathTemplateRouterTest:323,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
      Src: io.undertow.util.PathTemplateRouterTest:327,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(String)'
      Src: io.undertow.util.PathTemplateRouterTest:327,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterTest:327,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].build()'
      Src: io.undertow.util.PathTemplateRouterTest:327,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].route(String)'
      Src: io.undertow.util.PathTemplateRouterTest:332,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getTarget()'
      Src: io.undertow.util.PathTemplateRouterTest:333,1
    - Dst: '[org.junit.Assert].assertSame(String,io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:333,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].getParameters()'
      Src: io.undertow.util.PathTemplateRouterTest:334,1
    - Dst: '[org.junit.Assert].assertEquals(java.util.HashMap,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - path
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].getTarget()'
    - '[io.undertow.util.PathTemplateRouterTest].getParameters()'
    - '[java.util.HashMap].<init>()'
    - '[java.util.HashMap].put()'
    - '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
    - '[org.junit.Assert].assertEquals(java.util.HashMap,io.undertow.util.PathTemplateRouterTest)'
    - '[io.undertow.util.PathTemplateRouterTest].route(String)'
    - '[io.undertow.util.PathTemplateRouterTest].addTemplate(String)'
    - '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(String)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.util.PathTemplateRouterTest].build()'
    - '[org.junit.Assert].assertSame(String,io.undertow.util.PathTemplateRouterTest,io.undertow.util.PathTemplateRouterTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].testMatch(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:348,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:353,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.PathTemplateRouterTest:358,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:358,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(String)'
      Src: io.undertow.util.PathTemplateRouterTest:358,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:358,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(String)'
      Src: io.undertow.util.PathTemplateRouterTest:358,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.PathTemplateRouterTest:363,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:363,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(String)'
      Src: io.undertow.util.PathTemplateRouterTest:363,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:363,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.PathTemplateRouterTest:367,1
    - Dst: '[java.util.LinkedList].add(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:367,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<String>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - segmentCount
    - n
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 374
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 374
    functionName: '[io.undertow.util.PathTemplateRouterTest].createTemplates(int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 2
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    - '[java.util.LinkedList].add(io.undertow.util.PathTemplateRouterTest)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.PathTemplateRouterTest].append(io.undertow.util.PathTemplateRouterTest)'
    - '[io.undertow.util.PathTemplateRouterTest].append(String)'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.util.PathTemplateRouterTest].createTemplates(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:380,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:385,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.PathTemplateRouterTest:388,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.PathTemplateRouterTest:390,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:390,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(String)'
      Src: io.undertow.util.PathTemplateRouterTest:390,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].append(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:390,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.PathTemplateRouterTest:393,1
    - Dst: '[java.util.LinkedList].add(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<String>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - segmentCount
    - n
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: '[io.undertow.util.PathTemplateRouterTest].createRequests(int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 2
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    - '[java.util.LinkedList].add(io.undertow.util.PathTemplateRouterTest)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.PathTemplateRouterTest].append(io.undertow.util.PathTemplateRouterTest)'
    - '[io.undertow.util.PathTemplateRouterTest].append(String)'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.util.PathTemplateRouterTest].createRequests(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterTest].createTemplates(int,int)'
      Src: io.undertow.util.PathTemplateRouterTest:406,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].createRequests(int,int)'
      Src: io.undertow.util.PathTemplateRouterTest:407,1
    - Dst: '[java.util.List<String>].toArray()'
      Src: io.undertow.util.PathTemplateRouterTest:407,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].<init>()'
      Src: io.undertow.util.PathTemplateRouterTest:410,1
    - Dst: '[io.undertow.util.PathTemplate].create(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:412,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].add(io.undertow.util.PathTemplate,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:412,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.PathTemplateRouterTest:416,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].match()'
      Src: io.undertow.util.PathTemplateRouterTest:418,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.PathTemplateRouterTest:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - segmentCount
    - n
    - requestCount
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 424
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 424
    functionName: '[io.undertow.util.PathTemplateRouterTest].routeOld(int,int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].createTemplates(int,int)'
    - '[io.undertow.util.PathTemplateMatcher].<init>()'
    - '[java.util.List<String>].toArray()'
    - '[io.undertow.util.PathTemplateMatcher].match()'
    - '[io.undertow.util.PathTemplate].create(io.undertow.util.PathTemplateRouterTest)'
    - System.currentTimeMillis()
    - '[io.undertow.util.PathTemplateMatcher].add(io.undertow.util.PathTemplate,io.undertow.util.PathTemplateRouterTest)'
    - '[io.undertow.util.PathTemplateRouterTest].createRequests(int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.PathTemplateRouterTest].routeOld(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterTest].createTemplates(int,int)'
      Src: io.undertow.util.PathTemplateRouterTest:431,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].createRequests(int,int)'
      Src: io.undertow.util.PathTemplateRouterTest:432,1
    - Dst: '[java.util.List<String>].toArray()'
      Src: io.undertow.util.PathTemplateRouterTest:432,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
      Src: io.undertow.util.PathTemplateRouterTest:435,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(String)'
      Src: io.undertow.util.PathTemplateRouterTest:435,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].addTemplate(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:441,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].build()'
      Src: io.undertow.util.PathTemplateRouterTest:443,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.PathTemplateRouterTest:445,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].route()'
      Src: io.undertow.util.PathTemplateRouterTest:447,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.PathTemplateRouterTest:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - segmentCount
    - n
    - requestCount
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 453
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 453
    functionName: '[io.undertow.util.PathTemplateRouterTest].routeNew(int,int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].createTemplates(int,int)'
    - '[io.undertow.util.PathTemplateRouterTest].route()'
    - '[io.undertow.util.PathTemplateRouterTest].newBuilder()'
    - '[java.util.List<String>].toArray()'
    - System.currentTimeMillis()
    - '[io.undertow.util.PathTemplateRouterTest].addTemplate(io.undertow.util.PathTemplateRouterTest)'
    - '[io.undertow.util.PathTemplateRouterTest].updateDefaultTarget(String)'
    - '[io.undertow.util.PathTemplateRouterTest].build()'
    - '[io.undertow.util.PathTemplateRouterTest].createRequests(int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.PathTemplateRouterTest].routeNew(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.PathTemplateRouterTest:464,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.PathTemplateRouterTest:465,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].routeOld(int,int,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:466,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].routeNew(int,int,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:467,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].createTemplates(io.undertow.util.PathTemplateRouterTest,int)'
      Src: io.undertow.util.PathTemplateRouterTest:475,1
    - Dst: '[java.util.List<String>].size()'
      Src: io.undertow.util.PathTemplateRouterTest:475,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].routeOld(io.undertow.util.PathTemplateRouterTest,int,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:477,1
    - Dst: '[io.undertow.util.PathTemplateRouterTest].routeNew(io.undertow.util.PathTemplateRouterTest,int,io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:478,1
    - Dst: '[java.io.File].<init>(io.undertow.util.PathTemplateRouterTest)'
      Src: io.undertow.util.PathTemplateRouterTest:482,1
    - Dst: '[java.io.File].exists()'
      Src: io.undertow.util.PathTemplateRouterTest:483,1
    - Dst: '[java.io.File].delete()'
      Src: io.undertow.util.PathTemplateRouterTest:484,1
    - Dst: '[java.io.PrintWriter].<init>(java.io.File)'
      Src: io.undertow.util.PathTemplateRouterTest:487,1
    - Dst: pw.println(String)
      Src: io.undertow.util.PathTemplateRouterTest:489,1
    - Dst: String.format(String)
      Src: io.undertow.util.PathTemplateRouterTest:491,1
    - Dst: pw.println(io.undertow.util.PathTemplateRouterTest)
      Src: io.undertow.util.PathTemplateRouterTest:491,1
    - Dst: ex.printStackTrace()
      Src: io.undertow.util.PathTemplateRouterTest:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 499
    functionName: '[io.undertow.util.PathTemplateRouterTest].comparePerformance()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterTest].createTemplates(io.undertow.util.PathTemplateRouterTest,int)'
    - '[io.undertow.util.PathTemplateRouterTest].routeNew(int,int,io.undertow.util.PathTemplateRouterTest)'
    - pw.println(String)
    - '[java.io.File].exists()'
    - '[io.undertow.util.PathTemplateRouterTest].routeNew(io.undertow.util.PathTemplateRouterTest,int,io.undertow.util.PathTemplateRouterTest)'
    - '[java.io.File].delete()'
    - '[java.io.File].<init>(io.undertow.util.PathTemplateRouterTest)'
    - String.format(String)
    - '[java.io.PrintWriter].<init>(java.io.File)'
    - pw.println(io.undertow.util.PathTemplateRouterTest)
    - '[io.undertow.util.PathTemplateRouterTest].routeOld(int,int,io.undertow.util.PathTemplateRouterTest)'
    - System.currentTimeMillis()
    - '[io.undertow.util.PathTemplateRouterTest].routeOld(io.undertow.util.PathTemplateRouterTest,int,io.undertow.util.PathTemplateRouterTest)'
    - '[java.util.List<String>].size()'
    - ex.printStackTrace()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterTest].comparePerformance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouterTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathTemplateRouterTest].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateRouterTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterTest
    signature: '[io.undertow.util.PathTemplateRouterTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.FileUtilsTestCase:37,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.FileUtilsTestCase:42,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.FileUtilsTestCase:47,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.FileUtilsTestCase:51,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.FileUtilsTestCase:55,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.FileUtilsTestCase:57,1
    - Dst: '[io.undertow.util.FileUtilsTestCase].getBytes(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:58,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:58,1
    - Dst: '[io.undertow.util.FileUtils].readFile(java.io.ByteArrayInputStream)'
      Src: io.undertow.util.FileUtilsTestCase:60,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.FileUtilsTestCase:64,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:63,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.FileUtilsTestCase,String)'
      Src: io.undertow.util.FileUtilsTestCase:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: '[io.undertow.util.FileUtilsTestCase].testMultiByteCharactersAtBufferBoundary()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/FileUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.FileUtilsTestCase,String)'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    - '[org.junit.Assert].assertFalse(String,io.undertow.util.FileUtilsTestCase)'
    - '[StringBuilder].toString()'
    - '[String].contains(String)'
    - '[io.undertow.util.FileUtilsTestCase].getBytes(io.undertow.util.FileUtilsTestCase)'
    - '[java.io.ByteArrayInputStream].<init>(io.undertow.util.FileUtilsTestCase)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.FileUtils].readFile(java.io.ByteArrayInputStream)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FileUtilsTestCase].testMultiByteCharactersAtBufferBoundary()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.FileUtilsTestCase:71,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.FileUtilsTestCase:75,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.FileUtilsTestCase:79,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.FileUtilsTestCase:83,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.FileUtilsTestCase:86,1
    - Dst: '[io.undertow.util.FileUtilsTestCase].getBytes(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:87,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:87,1
    - Dst: '[io.undertow.util.FileUtils].readFile(java.io.ByteArrayInputStream)'
      Src: io.undertow.util.FileUtilsTestCase:89,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.FileUtilsTestCase:92,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.FileUtilsTestCase,String)'
      Src: io.undertow.util.FileUtilsTestCase:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: '[io.undertow.util.FileUtilsTestCase].testEmojisAtBufferBoundary()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/FileUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.FileUtilsTestCase,String)'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    - '[org.junit.Assert].assertFalse(String,io.undertow.util.FileUtilsTestCase)'
    - '[StringBuilder].toString()'
    - '[String].contains(String)'
    - '[io.undertow.util.FileUtilsTestCase].getBytes(io.undertow.util.FileUtilsTestCase)'
    - '[java.io.ByteArrayInputStream].<init>(io.undertow.util.FileUtilsTestCase)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.FileUtils].readFile(java.io.ByteArrayInputStream)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FileUtilsTestCase].testEmojisAtBufferBoundary()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.FileUtilsTestCase:98,1
    - Dst: '[StringBuilder].append(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:106,1
    - Dst: '[StringBuilder].append(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:107,1
    - Dst: '[io.undertow.util.FileUtilsTestCase].append(String)'
      Src: io.undertow.util.FileUtilsTestCase:107,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.FileUtilsTestCase:110,1
    - Dst: '[io.undertow.util.FileUtilsTestCase].getBytes(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:112,1
    - Dst: '[org.junit.Assert].assertTrue(String,int)'
      Src: io.undertow.util.FileUtilsTestCase:111,1
    - Dst: '[io.undertow.util.FileUtilsTestCase].getBytes(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:114,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:114,1
    - Dst: '[io.undertow.util.FileUtils].readFile(java.io.ByteArrayInputStream)'
      Src: io.undertow.util.FileUtilsTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.FileUtilsTestCase,String)'
      Src: io.undertow.util.FileUtilsTestCase:117,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.FileUtilsTestCase:120,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.util.FileUtilsTestCase)'
      Src: io.undertow.util.FileUtilsTestCase:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: '[io.undertow.util.FileUtilsTestCase].testLargeContentWithMultiByteCharacters()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/FileUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(String,int)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.FileUtilsTestCase,String)'
    - '[StringBuilder].append(io.undertow.util.FileUtilsTestCase)'
    - '[StringBuilder].<init>()'
    - '[org.junit.Assert].assertFalse(String,io.undertow.util.FileUtilsTestCase)'
    - '[StringBuilder].toString()'
    - '[String].contains(String)'
    - '[io.undertow.util.FileUtilsTestCase].getBytes(io.undertow.util.FileUtilsTestCase)'
    - '[java.io.ByteArrayInputStream].<init>(io.undertow.util.FileUtilsTestCase)'
    - '[io.undertow.util.FileUtilsTestCase].append(String)'
    - '[io.undertow.util.FileUtils].readFile(java.io.ByteArrayInputStream)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FileUtilsTestCase].testLargeContentWithMultiByteCharacters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.FileUtilsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.FileUtilsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/FileUtilsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FileUtilsTestCase
    signature: '[io.undertow.util.FileUtilsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Version].getVersionString()'
      Src: io.undertow.util.TestVersion:35,1
    - Dst: '[org.junit.Assert].assertNotNull(String)'
      Src: io.undertow.util.TestVersion:35,1
    - Dst: '[io.undertow.Version].getVersionString()'
      Src: io.undertow.util.TestVersion:36,1
    - Dst: System.out.println(String)
      Src: io.undertow.util.TestVersion:37,1
    - Dst: '[org.junit.Assert].assertNotSame(String,String)'
      Src: io.undertow.util.TestVersion:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: '[io.undertow.util.TestVersion].testVersionSet()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/TestVersion.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertNotNull(String)'
    - '[io.undertow.Version].getVersionString()'
    - System.out.println(String)
    - '[org.junit.Assert].assertNotSame(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.TestVersion].testVersionSet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.TestVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.TestVersion].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/TestVersion.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.TestVersion
    signature: '[io.undertow.util.TestVersion].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpStringTestCase:40,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpStringTestCase:41,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:42,1
    - Dst: '[org.junit.Assert].assertEquals(int)'
      Src: io.undertow.util.HttpStringTestCase:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: '[io.undertow.util.HttpStringTestCase].testOrderShorterFirst()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HttpStringTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[org.junit.Assert].assertEquals(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpStringTestCase].testOrderShorterFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpStringTestCase:50,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:51,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:51,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.HttpStringTestCase:51,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpStringTestCase:53,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:54,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:54,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.HttpStringTestCase:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: '[io.undertow.util.HttpStringTestCase].testCompareShorterFirst()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HttpStringTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpStringTestCase].testCompareShorterFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpStringTestCase:62,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:63,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:63,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.HttpStringTestCase:63,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpStringTestCase:65,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:66,1
    - Dst: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.HttpStringTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: '[io.undertow.util.HttpStringTestCase].testCompare()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HttpStringTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpStringTestCase].testCompare()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.util.HttpStringTestCase:71,1
    - Dst: '[java.io.ObjectOutputStream].<init>(java.io.ByteArrayOutputStream)'
      Src: io.undertow.util.HttpStringTestCase:72,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpStringTestCase:73,1
    - Dst: '[java.io.ObjectOutputStream].writeObject(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpStringTestCase:74,1
    - Dst: '[java.io.ObjectOutputStream].close()'
      Src: io.undertow.util.HttpStringTestCase:75,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.util.HttpStringTestCase:77,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(io.undertow.util.HttpStringTestCase)'
      Src: io.undertow.util.HttpStringTestCase:77,1
    - Dst: '[java.io.ObjectInputStream].<init>(java.io.ByteArrayInputStream)'
      Src: io.undertow.util.HttpStringTestCase:77,1
    - Dst: '[java.io.ObjectInputStream].readObject()'
      Src: io.undertow.util.HttpStringTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.HttpString,io.undertow.util.HttpStringTestCase)'
      Src: io.undertow.util.HttpStringTestCase:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - ClassNotFoundException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: '[io.undertow.util.HttpStringTestCase].testSerialization()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HttpStringTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.ObjectOutputStream].<init>(java.io.ByteArrayOutputStream)'
    - '[java.io.ObjectOutputStream].writeObject(io.undertow.util.HttpString)'
    - '[java.io.ObjectInputStream].<init>(java.io.ByteArrayInputStream)'
    - '[org.junit.Assert].assertEquals(io.undertow.util.HttpString,io.undertow.util.HttpStringTestCase)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ObjectInputStream].readObject()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[java.io.ObjectOutputStream].close()'
    - '[java.io.ByteArrayInputStream].<init>(io.undertow.util.HttpStringTestCase)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpStringTestCase].testSerialization()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpStringTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.HttpStringTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HttpStringTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpStringTestCase
    signature: '[io.undertow.util.HttpStringTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderValuesTestCase:35,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.HeaderValuesTestCase:36,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderValuesTestCase:36,1
    - Dst: '[io.undertow.util.HeaderValues].isEmpty()'
      Src: io.undertow.util.HeaderValuesTestCase:37,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:37,1
    - Dst: '[io.undertow.util.HeaderValues].iterator()'
      Src: io.undertow.util.HeaderValuesTestCase:38,1
    - Dst: '[java.util.Iterator<String>].hasNext()'
      Src: io.undertow.util.HeaderValuesTestCase:38,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertFalse(io.undertow.util.HeaderValuesTestCase)'
      Src: io.undertow.util.HeaderValuesTestCase:38,1
    - Dst: '[io.undertow.util.HeaderValues].descendingIterator()'
      Src: io.undertow.util.HeaderValuesTestCase:39,1
    - Dst: '[java.util.Iterator<String>].hasNext()'
      Src: io.undertow.util.HeaderValuesTestCase:39,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertFalse(io.undertow.util.HeaderValuesTestCase)'
      Src: io.undertow.util.HeaderValuesTestCase:39,1
    - Dst: '[io.undertow.util.HeaderValues].listIterator()'
      Src: io.undertow.util.HeaderValuesTestCase:40,1
    - Dst: '[java.util.ListIterator<String>].hasNext()'
      Src: io.undertow.util.HeaderValuesTestCase:40,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertFalse(io.undertow.util.HeaderValuesTestCase)'
      Src: io.undertow.util.HeaderValuesTestCase:40,1
    - Dst: '[io.undertow.util.HeaderValues].listIterator(int)'
      Src: io.undertow.util.HeaderValuesTestCase:41,1
    - Dst: '[java.util.ListIterator<String>].hasNext()'
      Src: io.undertow.util.HeaderValuesTestCase:41,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertFalse(io.undertow.util.HeaderValuesTestCase)'
      Src: io.undertow.util.HeaderValuesTestCase:41,1
    - Dst: '[io.undertow.util.HeaderValues].peek()'
      Src: io.undertow.util.HeaderValuesTestCase:42,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertNull(String)'
      Src: io.undertow.util.HeaderValuesTestCase:42,1
    - Dst: '[io.undertow.util.HeaderValues].peekFirst()'
      Src: io.undertow.util.HeaderValuesTestCase:43,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertNull(String)'
      Src: io.undertow.util.HeaderValuesTestCase:43,1
    - Dst: '[io.undertow.util.HeaderValues].peekLast()'
      Src: io.undertow.util.HeaderValuesTestCase:44,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertNull(String)'
      Src: io.undertow.util.HeaderValuesTestCase:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: '[io.undertow.util.HeaderValuesTestCase].testBasic()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderValuesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderValues].isEmpty()'
    - '[io.undertow.util.HeaderValues].listIterator()'
    - '[io.undertow.util.HeaderValuesTestCase].assertEquals(int,int)'
    - '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
    - '[io.undertow.util.HeaderValues].iterator()'
    - '[io.undertow.util.HeaderValues].peekFirst()'
    - '[io.undertow.util.HeaderValues].listIterator(int)'
    - '[io.undertow.util.HeaderValues].peek()'
    - '[io.undertow.util.HeaderValuesTestCase].assertFalse(io.undertow.util.HeaderValuesTestCase)'
    - '[io.undertow.util.HeaderValues].size()'
    - '[java.util.Iterator<String>].hasNext()'
    - '[io.undertow.util.HeaderValuesTestCase].assertNull(String)'
    - '[io.undertow.util.HeaderValues].peekLast()'
    - '[io.undertow.util.HeaderValues].descendingIterator()'
    - '[java.util.ListIterator<String>].hasNext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValuesTestCase].testBasic()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderValuesTestCase:49,1
    - Dst: '[io.undertow.util.HeaderValues].add(String)'
      Src: io.undertow.util.HeaderValuesTestCase:50,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(void)'
      Src: io.undertow.util.HeaderValuesTestCase:50,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.util.HeaderValuesTestCase:51,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:51,1
    - Dst: '[String].<init>(String)'
      Src: io.undertow.util.HeaderValuesTestCase:52,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.util.HeaderValuesTestCase:52,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:52,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.util.HeaderValuesTestCase:53,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertFalse(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:53,1
    - Dst: '[io.undertow.util.HeaderValues].isEmpty()'
      Src: io.undertow.util.HeaderValuesTestCase:54,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertFalse(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:54,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.HeaderValuesTestCase:55,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderValuesTestCase:55,1
    - Dst: '[io.undertow.util.HeaderValues].peek()'
      Src: io.undertow.util.HeaderValuesTestCase:56,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:56,1
    - Dst: '[io.undertow.util.HeaderValues].peekFirst()'
      Src: io.undertow.util.HeaderValuesTestCase:57,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:57,1
    - Dst: '[io.undertow.util.HeaderValues].peekLast()'
      Src: io.undertow.util.HeaderValuesTestCase:58,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:58,1
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderValuesTestCase:59,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:59,1
    - Dst: '[io.undertow.util.HeaderValues].offerFirst(String)'
      Src: io.undertow.util.HeaderValuesTestCase:61,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:61,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.util.HeaderValuesTestCase:62,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:62,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.util.HeaderValuesTestCase:63,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:63,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.HeaderValuesTestCase:64,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderValuesTestCase:64,1
    - Dst: '[io.undertow.util.HeaderValues].peek()'
      Src: io.undertow.util.HeaderValuesTestCase:65,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:65,1
    - Dst: '[io.undertow.util.HeaderValues].peekFirst()'
      Src: io.undertow.util.HeaderValuesTestCase:66,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:66,1
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderValuesTestCase:67,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:67,1
    - Dst: '[io.undertow.util.HeaderValues].peekLast()'
      Src: io.undertow.util.HeaderValuesTestCase:68,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:68,1
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderValuesTestCase:69,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:69,1
    - Dst: '[io.undertow.util.HeaderValues].offerLast(String)'
      Src: io.undertow.util.HeaderValuesTestCase:71,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:71,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.util.HeaderValuesTestCase:72,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:72,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.util.HeaderValuesTestCase:73,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:73,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.util.HeaderValuesTestCase:74,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
      Src: io.undertow.util.HeaderValuesTestCase:74,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.HeaderValuesTestCase:75,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(int,int)'
      Src: io.undertow.util.HeaderValuesTestCase:75,1
    - Dst: '[io.undertow.util.HeaderValues].peek()'
      Src: io.undertow.util.HeaderValuesTestCase:76,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:76,1
    - Dst: '[io.undertow.util.HeaderValues].peekFirst()'
      Src: io.undertow.util.HeaderValuesTestCase:77,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:77,1
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderValuesTestCase:78,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:78,1
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderValuesTestCase:79,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:79,1
    - Dst: '[io.undertow.util.HeaderValues].peekLast()'
      Src: io.undertow.util.HeaderValuesTestCase:80,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:80,1
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderValuesTestCase:81,1
    - Dst: '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
      Src: io.undertow.util.HeaderValuesTestCase:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 82
    functionName: '[io.undertow.util.HeaderValuesTestCase].testAdd()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderValuesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValuesTestCase].assertFalse(boolean)'
    - '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderValues].isEmpty()'
    - '[String].<init>(String)'
    - '[io.undertow.util.HeaderValuesTestCase].assertTrue(boolean)'
    - '[io.undertow.util.HeaderValuesTestCase].assertTrue(void)'
    - '[io.undertow.util.HeaderValuesTestCase].assertEquals(int,int)'
    - '[io.undertow.util.HeaderValues].add(String)'
    - '[io.undertow.util.HeaderValues].peekFirst()'
    - '[io.undertow.util.HeaderValues].get(int)'
    - '[io.undertow.util.HeaderValues].peek()'
    - '[io.undertow.util.HeaderValues].offerLast(String)'
    - '[io.undertow.util.HeaderValues].contains(String)'
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.util.HeaderValuesTestCase].assertEquals(String,String)'
    - '[io.undertow.util.HeaderValues].offerFirst(String)'
    - '[io.undertow.util.HeaderValues].peekLast()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValuesTestCase].testAdd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderValuesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.HeaderValuesTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderValuesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderValuesTestCase
    signature: '[io.undertow.util.HeaderValuesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:46,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:47,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:47,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:48,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:48,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:49,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:49,1
    - Dst: '[io.undertow.util.CookiesTestCase].date(int,int,int,int,int,int)'
      Src: io.undertow.util.CookiesTestCase:50,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.util.CookiesTestCase:50,1
    - Dst: '[org.junit.Assert].assertEquals(java.util.Date,java.util.Date)'
      Src: io.undertow.util.CookiesTestCase:50,1
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:53,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:54,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:54,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:55,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:55,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:56,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:56,1
    - Dst: '[io.undertow.server.handlers.Cookie].isSecure()'
      Src: io.undertow.util.CookiesTestCase:57,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.util.CookiesTestCase:57,1
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:59,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:60,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:60,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: '[io.undertow.util.CookiesTestCase].testParsingSetCookieHeaderV0()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.server.handlers.Cookie].getName()'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.util.CookiesTestCase].date(int,int,int,int,int,int)'
    - '[org.junit.Assert].assertEquals(java.util.Date,java.util.Date)'
    - '[io.undertow.server.handlers.Cookie].getExpires()'
    - '[io.undertow.server.handlers.Cookie].isSecure()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testParsingSetCookieHeaderV0()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:66,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:67,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:68,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:69,1
    - Dst: '[io.undertow.server.handlers.Cookie].getVersion()'
      Src: io.undertow.util.CookiesTestCase:70,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.CookiesTestCase:70,1
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:73,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:74,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:75,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:76,1
    - Dst: '[io.undertow.server.handlers.Cookie].isSecure()'
      Src: io.undertow.util.CookiesTestCase:77,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.util.CookiesTestCase:77,1
    - Dst: '[io.undertow.server.handlers.Cookie].getVersion()'
      Src: io.undertow.util.CookiesTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.CookiesTestCase:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: '[io.undertow.util.CookiesTestCase].testParsingSetCookieHeaderV1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.server.handlers.Cookie].getName()'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.server.handlers.Cookie].getVersion()'
    - '[io.undertow.server.handlers.Cookie].isSecure()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testParsingSetCookieHeaderV1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Calendar].getInstance()'
      Src: io.undertow.util.CookiesTestCase:82,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(io.undertow.util.CookiesTestCase,int)'
      Src: io.undertow.util.CookiesTestCase:83,1
    - Dst: '[java.util.TimeZone].getTimeZone(String)'
      Src: io.undertow.util.CookiesTestCase:84,1
    - Dst: '[io.undertow.util.CookiesTestCase].setTimeZone(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:84,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(int,int,int,int,int,int)'
      Src: io.undertow.util.CookiesTestCase:85,1
    - Dst: '[io.undertow.util.CookiesTestCase].getTime()'
      Src: io.undertow.util.CookiesTestCase:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Date
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - year
    - month
    - day
    - hour
    - minute
    - second
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.CookiesTestCase].date(int,int,int,int,int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].set(int,int,int,int,int,int)'
    - '[io.undertow.util.CookiesTestCase].getTime()'
    - '[java.util.TimeZone].getTimeZone(String)'
    - '[java.util.Calendar].getInstance()'
    - '[io.undertow.util.CookiesTestCase].set(io.undertow.util.CookiesTestCase,int)'
    - '[io.undertow.util.CookiesTestCase].setTimeZone(io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.util.CookiesTestCase].date(int,int,int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:91,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:92,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:92,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:94,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:94,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:95,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:95,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:96,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:96,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:98,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:99,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:100,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:102,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:102,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:104,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:105,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:106,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:108,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:108,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:110,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:111,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidCookie()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[java.util.Arrays].asList(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[org.junit.Assert].assertFalse(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:116,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:116,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:116,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:116,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:116,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:119,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:119,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:123,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:123,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:124,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:124,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:125,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:125,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:127,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:128,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:129,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:130,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:131,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: '[io.undertow.util.CookiesTestCase].testRequestCookieDomainPathVersion()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getVersion()'
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getDomain()'
    - '[java.util.Arrays].asList(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testRequestCookieDomainPathVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:137,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:137,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:137,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:137,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:137,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:140,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:140,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:144,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:144,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:145,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:145,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:146,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:146,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:148,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:149,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:150,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:151,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:152,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:152,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: '[io.undertow.util.CookiesTestCase].testRequestCookieDomainPathVersion2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getVersion()'
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getDomain()'
    - '[java.util.Arrays].asList(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testRequestCookieDomainPathVersion2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:158,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:162,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:162,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
      Src: io.undertow.util.CookiesTestCase:163,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:163,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:165,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:166,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:167,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:167,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:168,1
    - Dst: '[org.junit.Assert].assertNull(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:168,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:170,1
    - Dst: '[org.junit.Assert].assertNull(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: '[io.undertow.util.CookiesTestCase].testRequestCookieDomainPathVersion3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertNull(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].getDomain()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].containsKey(String)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[org.junit.Assert].assertTrue(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testRequestCookieDomainPathVersion3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:175,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:175,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:175,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:175,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:175,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:178,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:178,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:181,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:182,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:182,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:183,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:183,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:185,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:186,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:186,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:187,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:187,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:188,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:188,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:189,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:189,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:190,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: '[io.undertow.util.CookiesTestCase].testMultipleRequestCookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getVersion()'
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[io.undertow.util.CookiesTestCase].getDomain()'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testMultipleRequestCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:195,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:196,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:196,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:197,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:198,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:199,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:199,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:200,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:201,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: '[io.undertow.util.CookiesTestCase].testEqualsInValueNotAllowed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testEqualsInValueNotAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:207,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:208,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:208,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:209,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:210,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:211,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:211,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:212,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:213,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:214,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:214,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:215,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:216,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:217,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: '[io.undertow.util.CookiesTestCase].testEmptyCookieNames()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testEmptyCookieNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:222,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:223,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:223,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:224,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:225,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:226,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: '[io.undertow.util.CookiesTestCase].testEqualsInValueAllowed()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testEqualsInValueAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:231,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:231,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:231,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:231,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:231,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:234,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:234,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:235,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:235,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:236,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:237,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:238,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:238,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:239,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:240,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:241,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: '[io.undertow.util.CookiesTestCase].testEqualsInValueAllowedInQuotedValue()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testEqualsInValueAllowedInQuotedValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:246,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:246,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:246,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:246,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:246,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:249,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:249,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:250,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:250,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:251,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:252,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:253,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:253,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:254,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:255,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:256,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: '[io.undertow.util.CookiesTestCase].testEqualsInValueNotAllowedInQuotedValue()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testEqualsInValueNotAllowedInQuotedValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:261,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:261,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:261,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:261,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:261,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:264,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:265,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:265,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:266,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:267,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:268,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:268,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:269,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:270,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:271,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:271,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:274,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:275,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:275,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:276,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:277,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:278,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:278,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:279,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:280,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:281,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:281,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:283,1
    - Dst: '[io.undertow.util.CookiesTestCase].addAll(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:283,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:283,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:283,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:284,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:285,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:285,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:286,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:287,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:288,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:288,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:289,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:290,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:291,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 293
    functionName: '[io.undertow.util.CookiesTestCase].testCommaSeparatedCookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].addAll(io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testCommaSeparatedCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:297,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:297,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:297,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:297,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:297,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:300,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:301,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:301,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:302,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:303,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:304,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:304,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:305,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:306,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:307,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:307,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:310,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:311,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:311,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:312,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:313,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:314,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:314,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:315,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:316,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:317,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:317,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:319,1
    - Dst: '[io.undertow.util.CookiesTestCase].addAll(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:319,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:319,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:319,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:320,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:321,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:321,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:322,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:323,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:324,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:324,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:325,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:326,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:327,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: '[io.undertow.util.CookiesTestCase].testCommaSeparatedCookiesLegacyMode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].addAll(io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testCommaSeparatedCookiesLegacyMode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:332,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:333,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:333,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:334,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:334,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:335,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:336,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:337,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:337,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:338,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:339,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:340,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:340,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:342,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:342,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:343,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:343,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:344,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:345,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:346,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:346,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:347,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:348,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:349,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:349,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:351,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:351,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:352,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:352,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:353,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:354,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:355,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:355,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:356,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:357,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:358,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:358,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:360,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:360,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:361,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:361,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:362,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:363,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:364,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:364,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:365,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:366,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:367,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 368
    functionName: '[io.undertow.util.CookiesTestCase].testHttpSeparatorInV0CookieValue()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testHttpSeparatorInV0CookieValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:376,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:377,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:377,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:378,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:378,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:379,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:380,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:381,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:381,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:382,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:383,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:384,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:384,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:385,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:386,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:387,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:387,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:389,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:389,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:390,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:390,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:391,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:392,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:393,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:393,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:394,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:395,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:396,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:396,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:397,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:398,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:399,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:399,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:401,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:401,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:402,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:402,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:403,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:404,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:405,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:405,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:406,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:407,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:408,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:408,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:409,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:410,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:411,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:411,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:413,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:413,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:414,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:414,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:415,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:416,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:417,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:417,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:418,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:419,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:420,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:420,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:421,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:422,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:423,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 79
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 424
    functionName: '[io.undertow.util.CookiesTestCase].testCookieContainsColonInJvmRoute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testCookieContainsColonInJvmRoute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:428,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:428,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:428,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:428,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:428,1
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.util.CookiesTestCase:431,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:431,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:435,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:436,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:436,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:437,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:437,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:439,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:440,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:440,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:441,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:441,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:442,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:442,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:443,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:443,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:445,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:446,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:446,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:447,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 448
    functionName: '[io.undertow.util.CookiesTestCase].testQuotedEscapedStringInRequestCookie()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getVersion()'
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[java.util.Arrays].asList(String,String)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testQuotedEscapedStringInRequestCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:454,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:454,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:454,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:454,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:454,1
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.util.CookiesTestCase:457,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:457,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:461,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:462,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:462,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:464,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:463,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:466,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:467,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:467,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:468,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:468,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:469,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:469,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:470,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:470,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:471,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 472
    functionName: '[io.undertow.util.CookiesTestCase].testSimpleJSONObjectInRequestCookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getVersion()'
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[io.undertow.util.CookiesTestCase].getDomain()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[java.util.Arrays].asList(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testSimpleJSONObjectInRequestCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:478,1
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.util.CookiesTestCase:479,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:479,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:483,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:484,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:484,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:486,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:485,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:488,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:489,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:489,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:490,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:490,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:491,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:491,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:492,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:492,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:493,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 494
    functionName: '[io.undertow.util.CookiesTestCase].testQuotedJSONObjectInRequestCookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getVersion()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[io.undertow.util.CookiesTestCase].getDomain()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[java.util.Arrays].asList(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testQuotedJSONObjectInRequestCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:501,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:502,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:502,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:509,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:510,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:510,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:515,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:511,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:517,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:518,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:518,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:519,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:519,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:520,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:520,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:521,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:521,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:522,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 523
    functionName: '[io.undertow.util.CookiesTestCase].testComplexJSONObjectInRequestCookies()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getVersion()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[io.undertow.util.CookiesTestCase].getDomain()'
    - '[java.util.Arrays].asList(String)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testComplexJSONObjectInRequestCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:527,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:528,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:528,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:529,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:529,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:530,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:530,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.util.CookiesTestCase:531,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.util.CookiesTestCase:531,1
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:533,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:534,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:534,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:535,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:535,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:536,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:536,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.util.CookiesTestCase:537,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:537,1
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:539,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:540,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:540,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:541,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:541,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:542,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:542,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.util.CookiesTestCase:543,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:543,1
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:545,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:546,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:546,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:547,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:547,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:548,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:548,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.util.CookiesTestCase:549,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:549,1
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:551,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.util.CookiesTestCase:552,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:552,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:553,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:553,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:554,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CookiesTestCase:554,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.util.CookiesTestCase:555,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.util.CookiesTestCase:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 556
    functionName: '[io.undertow.util.CookiesTestCase].testSameSiteCookie()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.server.handlers.Cookie].getName()'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
    - '[org.junit.Assert].assertNull(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testSameSiteCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:560,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:560,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:560,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:560,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:560,1
    - Dst: '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:563,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:564,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:564,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:565,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:566,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:566,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:567,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:567,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:568,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:569,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
      Src: io.undertow.util.CookiesTestCase:570,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:571,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:571,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:572,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:572,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 574
    functionName: '[io.undertow.util.CookiesTestCase].testNoDoubleQuoteTermination()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.util.CookiesTestCase].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.util.CookiesTestCase,boolean,boolean)'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[java.util.Map<String,io.undertow.server.handlers.Cookie>].size()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    - '[org.junit.Assert].assertNotNull(io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertNull(io.undertow.util.CookiesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testNoDoubleQuoteTermination()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:582,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:583,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.util.CookiesTestCase:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:588,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:589,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.util.CookiesTestCase:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 590
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 590
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:594,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:595,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.util.CookiesTestCase:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:600,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:601,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.util.CookiesTestCase:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:606,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:607,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.util.CookiesTestCase:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:612,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:613,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.util.CookiesTestCase:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue5()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInValue5()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:619,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:620,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.util.CookiesTestCase:620,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:621,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
      Src: io.undertow.util.CookiesTestCase:621,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.util.CookiesTestCase:622,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
      Src: io.undertow.util.CookiesTestCase:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
    - '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
      Src: io.undertow.util.CookiesTestCase:627,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.CookiesTestCase:628,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.util.CookiesTestCase:628,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.CookiesTestCase:629,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
      Src: io.undertow.util.CookiesTestCase:629,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.util.CookiesTestCase:630,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
      Src: io.undertow.util.CookiesTestCase:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInDomain()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
    - '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
    - '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testInvalidRfc6265CookieInDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.util.CookiesTestCase:635,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:636,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:637,1
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.server.CookieStore,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:638,1
    - Dst: '[io.undertow.server.CookieStore].size()'
      Src: io.undertow.util.CookiesTestCase:639,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.CookiesTestCase:639,1
    - Dst: '[io.undertow.server.CookieStore].get(String)'
      Src: io.undertow.util.CookiesTestCase:640,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:641,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:641,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].get(int)'
      Src: io.undertow.util.CookiesTestCase:642,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:643,1
    - Dst: '[org.junit.Assert].assertEquals(null,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:643,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:644,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:644,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:645,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: '[io.undertow.util.CookiesTestCase].testMultipleRFC6265()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[io.undertow.util.Cookies].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.server.CookieStore,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[java.util.Arrays].asList(String)'
    - '[io.undertow.server.CookieStore].size()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Integer>,int,org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.CookieStore].get(String)'
    - '[java.util.List<io.undertow.server.handlers.Cookie>].get(int)'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[java.util.List<io.undertow.server.handlers.Cookie>].size()'
    - '[org.junit.Assert].assertEquals(null,io.undertow.util.CookiesTestCase)'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testMultipleRFC6265()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.util.CookiesTestCase:650,1
    - Dst: '[java.util.Arrays].asList(String)'
      Src: io.undertow.util.CookiesTestCase:651,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.CookiesTestCase:652,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.CookiesTestCase:652,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:652,1
    - Dst: '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.CookiesTestCase:652,1
    - Dst: '[io.undertow.util.CookiesTestCase].getMap()'
      Src: io.undertow.util.CookiesTestCase:652,1
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.server.CookieStore,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:655,1
    - Dst: '[io.undertow.server.CookieStore].size()'
      Src: io.undertow.util.CookiesTestCase:656,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,int)'
      Src: io.undertow.util.CookiesTestCase:656,1
    - Dst: '[io.undertow.server.CookieStore].get(String)'
      Src: io.undertow.util.CookiesTestCase:657,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:658,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:658,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].get(int)'
      Src: io.undertow.util.CookiesTestCase:659,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:660,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:660,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:661,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:661,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:662,1
    - Dst: '[org.junit.Assert].assertEquals(null,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:662,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:663,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:663,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:664,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:664,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].get(int)'
      Src: io.undertow.util.CookiesTestCase:665,1
    - Dst: '[io.undertow.util.CookiesTestCase].getVersion()'
      Src: io.undertow.util.CookiesTestCase:666,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:666,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:667,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:667,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:668,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:668,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:669,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:669,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:670,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:670,1
    - Dst: '[io.undertow.server.CookieStore].get(String)'
      Src: io.undertow.util.CookiesTestCase:671,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].size()'
      Src: io.undertow.util.CookiesTestCase:672,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:672,1
    - Dst: '[java.util.List<io.undertow.server.handlers.Cookie>].get(int)'
      Src: io.undertow.util.CookiesTestCase:673,1
    - Dst: '[io.undertow.util.CookiesTestCase].getPath()'
      Src: io.undertow.util.CookiesTestCase:674,1
    - Dst: '[org.junit.Assert].assertEquals(null,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:674,1
    - Dst: '[io.undertow.util.CookiesTestCase].getDomain()'
      Src: io.undertow.util.CookiesTestCase:675,1
    - Dst: '[org.junit.Assert].assertEquals(null,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:675,1
    - Dst: '[io.undertow.util.CookiesTestCase].getName()'
      Src: io.undertow.util.CookiesTestCase:676,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:676,1
    - Dst: '[io.undertow.util.CookiesTestCase].getValue()'
      Src: io.undertow.util.CookiesTestCase:677,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
      Src: io.undertow.util.CookiesTestCase:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 678
    functionName: '[io.undertow.util.CookiesTestCase].testMultipleRFC2109()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CookiesTestCase].getMap()'
    - '[io.undertow.util.CookiesTestCase].getDomain()'
    - '[org.junit.Assert].assertEquals(null,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getVersion()'
    - '[io.undertow.util.CookiesTestCase].getPath()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].getName()'
    - '[io.undertow.server.CookieStore].size()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.CookiesTestCase].getValue()'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.util.Cookies].parseRequestCookies(io.undertow.util.CookiesTestCase,io.undertow.server.CookieStore,io.undertow.util.CookiesTestCase)'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.CookieStore].get(String)'
    - '[java.util.List<io.undertow.server.handlers.Cookie>].get(int)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.CookiesTestCase)'
    - '[java.util.Arrays].asList(String)'
    - '[org.junit.Assert].assertEquals(String,int,int)'
    - '[java.util.List<io.undertow.server.handlers.Cookie>].size()'
    - '[io.undertow.util.CookiesTestCase].set(org.xnio.Option<Integer>,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CookiesTestCase].testMultipleRFC2109()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.util.CookiesTestCase:681,1
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap)'
      Src: io.undertow.util.CookiesTestCase:682,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.util.CookiesTestCase:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - cookies
    - options
    argTypes:
    - java.util.List<String>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: '[io.undertow.util.CookiesTestCase].parseRequestCookies(java.util.List<String>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap)'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.util.CookiesTestCase].parseRequestCookies(java.util.List<String>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.util.CookiesTestCase:687,1
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap,boolean,boolean)'
      Src: io.undertow.util.CookiesTestCase:688,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.util.CookiesTestCase:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - org.xnio.OptionMap
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - cookies
    - options
    - commaIsSeparator
    - allowHttpSeparatorsInV0
    argTypes:
    - java.util.List<String>
    - org.xnio.OptionMap
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: '[io.undertow.util.CookiesTestCase].parseRequestCookies(java.util.List<String>,org.xnio.OptionMap,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    - '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap,boolean,boolean)'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.util.CookiesTestCase].parseRequestCookies(java.util.List<String>,org.xnio.OptionMap,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.CookiesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.CookiesTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CookiesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.CookiesTestCase
    signature: '[io.undertow.util.CookiesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64].createDecoder()'
      Src: io.undertow.util.FlexBase64TestCase:35,1
    - Dst: '[Decoder].decode(io.undertow.util.FlexBase64TestCase,int,io.undertow.util.FlexBase64TestCase,io.undertow.util.FlexBase64TestCase,int,io.undertow.util.FlexBase64TestCase)'
      Src: io.undertow.util.FlexBase64TestCase:36,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.FlexBase64TestCase)'
      Src: io.undertow.util.FlexBase64TestCase:37,1
    - Dst: '[String].<init>(io.undertow.util.FlexBase64TestCase,int,io.undertow.util.FlexBase64TestCase)'
      Src: io.undertow.util.FlexBase64TestCase:38,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.FlexBase64TestCase:38,1
    - Dst: '[Decoder].getLastInputPosition()'
      Src: io.undertow.util.FlexBase64TestCase:39,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.FlexBase64TestCase)'
      Src: io.undertow.util.FlexBase64TestCase:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: '[io.undertow.util.FlexBase64TestCase].testReadStopsAtTerminator()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/FlexBase64TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64].createDecoder()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.FlexBase64TestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].<init>(io.undertow.util.FlexBase64TestCase,int,io.undertow.util.FlexBase64TestCase)'
    - '[Decoder].getLastInputPosition()'
    - '[Decoder].decode(io.undertow.util.FlexBase64TestCase,int,io.undertow.util.FlexBase64TestCase,io.undertow.util.FlexBase64TestCase,int,io.undertow.util.FlexBase64TestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64TestCase].testReadStopsAtTerminator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].wrap()'
      Src: io.undertow.util.FlexBase64TestCase:45,1
    - Dst: '[io.undertow.util.FlexBase64].encodeStringURL(io.undertow.util.FlexBase64TestCase,boolean)'
      Src: io.undertow.util.FlexBase64TestCase:46,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.FlexBase64TestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: '[io.undertow.util.FlexBase64TestCase].testEncodeURLWithByteBufferUsesUrlTable()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/FlexBase64TestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64].encodeStringURL(io.undertow.util.FlexBase64TestCase,boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.nio.ByteBuffer].wrap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64TestCase].testEncodeURLWithByteBufferUsesUrlTable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.FlexBase64TestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.FlexBase64TestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/FlexBase64TestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FlexBase64TestCase
    signature: '[io.undertow.util.FlexBase64TestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap].<init>()'
      Src: io.undertow.util.SubstringMapTestCase:43,1
    - Dst: '[java.util.Random].<init>()'
      Src: io.undertow.util.SubstringMapTestCase:46,1
    - Dst: '[java.util.Random].nextInt()'
      Src: io.undertow.util.SubstringMapTestCase:46,1
    - Dst: '[java.util.Random].<init>(io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:48,1
    - Dst: System.out.println(String)
      Src: io.undertow.util.SubstringMapTestCase:49,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.SubstringMapTestCase:51,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.util.SubstringMapTestCase:53,1
    - Dst: '[java.util.Random].nextInt(int)'
      Src: io.undertow.util.SubstringMapTestCase:58,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:59,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.util.SubstringMapTestCase,boolean)'
      Src: io.undertow.util.SubstringMapTestCase:60,1
    - Dst: '[java.util.HashSet].contains(String)'
      Src: io.undertow.util.SubstringMapTestCase:61,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.util.SubstringMapTestCase:62,1
    - Dst: '[java.util.ArrayList].add(String)'
      Src: io.undertow.util.SubstringMapTestCase:63,1
    - Dst: '[io.undertow.util.SubstringMap].put(String,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:64,1
    - Dst: Integer.valueOf(io.undertow.util.SubstringMapTestCase)
      Src: io.undertow.util.SubstringMapTestCase:65,1
    - Dst: '[String].length()'
      Src: io.undertow.util.SubstringMapTestCase:65,1
    - Dst: '[io.undertow.util.SubstringMap].get(String,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:65,1
    - Dst: '[SubstringMatch<V>].getValue()'
      Src: io.undertow.util.SubstringMapTestCase:65,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.SubstringMapTestCase,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:65,1
    - Dst: Integer.valueOf(io.undertow.util.SubstringMapTestCase)
      Src: io.undertow.util.SubstringMapTestCase:66,1
    - Dst: '[String].length()'
      Src: io.undertow.util.SubstringMapTestCase:66,1
    - Dst: '[io.undertow.util.SubstringMap].get(String,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:66,1
    - Dst: '[SubstringMatch<V>].getValue()'
      Src: io.undertow.util.SubstringMapTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.SubstringMapTestCase,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:66,1
    - Dst: missing.length()
      Src: io.undertow.util.SubstringMapTestCase:68,1
    - Dst: '[io.undertow.util.SubstringMap].get(io.undertow.util.SubstringMapTestCase,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:68,1
    - Dst: '[org.junit.Assert].assertNull(SubstringMatch<V>)'
      Src: io.undertow.util.SubstringMapTestCase:68,1
    - Dst: '[io.undertow.util.SubstringMap].keys()'
      Src: io.undertow.util.SubstringMapTestCase:71,1
    - Dst: '[java.util.HashSet].remove(io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:72,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:72,1
    - Dst: '[java.util.HashSet].size()'
      Src: io.undertow.util.SubstringMapTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:74,1
    - Dst: '[java.util.ArrayList].get(io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:77,1
    - Dst: Integer.valueOf(io.undertow.util.SubstringMapTestCase)
      Src: io.undertow.util.SubstringMapTestCase:78,1
    - Dst: '[io.undertow.util.SubstringMapTestCase].length()'
      Src: io.undertow.util.SubstringMapTestCase:78,1
    - Dst: '[io.undertow.util.SubstringMap].get(io.undertow.util.SubstringMapTestCase,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:78,1
    - Dst: '[SubstringMatch<V>].getValue()'
      Src: io.undertow.util.SubstringMapTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.SubstringMapTestCase,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:78,1
    - Dst: Integer.valueOf(io.undertow.util.SubstringMapTestCase)
      Src: io.undertow.util.SubstringMapTestCase:79,1
    - Dst: '[io.undertow.util.SubstringMapTestCase].length()'
      Src: io.undertow.util.SubstringMapTestCase:79,1
    - Dst: '[io.undertow.util.SubstringMap].get(String,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:79,1
    - Dst: '[SubstringMatch<V>].getValue()'
      Src: io.undertow.util.SubstringMapTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.SubstringMapTestCase,io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:79,1
    - Dst: '[java.util.ArrayList].get(io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:82,1
    - Dst: '[io.undertow.util.SubstringMap].remove(io.undertow.util.SubstringMapTestCase)'
      Src: io.undertow.util.SubstringMapTestCase:82,1
    - Dst: Integer.valueOf(io.undertow.util.SubstringMapTestCase)
      Src: io.undertow.util.SubstringMapTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.SubstringMapTestCase,V)'
      Src: io.undertow.util.SubstringMapTestCase:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 62
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: '[io.undertow.util.SubstringMapTestCase].testSubstringMap()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SubstringMapTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SubstringMap].put(String,io.undertow.util.SubstringMapTestCase)'
    - '[io.undertow.util.SubstringMap].get(io.undertow.util.SubstringMapTestCase,io.undertow.util.SubstringMapTestCase)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.util.SubstringMapTestCase,boolean)'
    - '[java.util.HashSet].remove(io.undertow.util.SubstringMapTestCase)'
    - '[io.undertow.util.SubstringMap].<init>()'
    - '[java.util.HashSet].contains(String)'
    - '[SubstringMatch<V>].getValue()'
    - '[java.util.Random].<init>()'
    - missing.length()
    - '[org.junit.Assert].assertEquals(io.undertow.util.SubstringMapTestCase,V)'
    - '[java.util.Random].nextInt(int)'
    - '[java.util.Random].<init>(io.undertow.util.SubstringMapTestCase)'
    - '[java.util.HashSet].<init>()'
    - '[String].length()'
    - '[io.undertow.util.SubstringMap].get(String,io.undertow.util.SubstringMapTestCase)'
    - '[java.util.HashSet].add(String)'
    - System.out.println(String)
    - '[io.undertow.util.SubstringMap].keys()'
    - '[org.junit.Assert].assertTrue(io.undertow.util.SubstringMapTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(String)'
    - '[org.junit.Assert].assertNull(SubstringMatch<V>)'
    - '[java.util.ArrayList].get(io.undertow.util.SubstringMapTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.util.SubstringMapTestCase,io.undertow.util.SubstringMapTestCase)'
    - '[io.undertow.util.SubstringMap].remove(io.undertow.util.SubstringMapTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.SubstringMapTestCase)'
    - '[java.util.HashSet].size()'
    - '[java.util.Random].nextBytes(io.undertow.util.SubstringMapTestCase)'
    - '[io.undertow.util.SubstringMapTestCase].length()'
    - '[java.util.Random].nextInt()'
    - Integer.valueOf(io.undertow.util.SubstringMapTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SubstringMapTestCase].testSubstringMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SubstringMapTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.SubstringMapTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SubstringMapTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.SubstringMapTestCase
    signature: '[io.undertow.util.SubstringMapTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:34,1
    - Dst: '[org.junit.Assert].assertEquals(null,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:34,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:35,1
    - Dst: '[org.junit.Assert].assertEquals(null,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:35,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:36,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:36,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:37,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:37,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:38,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:38,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:39,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:39,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:40,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:40,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:41,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:41,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:42,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.ContentTypeParsingTestCase:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: '[io.undertow.util.ContentTypeParsingTestCase].testCharsetParsing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ContentTypeParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(null,String)'
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ContentTypeParsingTestCase].testCharsetParsing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ContentTypeParsingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.ContentTypeParsingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ContentTypeParsingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ContentTypeParsingTestCase
    signature: '[io.undertow.util.ContentTypeParsingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:21,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:22,1
    - Dst: '[org.junit.Assert].assertEquals(int)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:23,1
    - Dst: '[org.junit.Assert].assertEquals(int)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:24,1
    - Dst: '[org.junit.Assert].assertEquals(byte)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:25,1
    - Dst: '[org.junit.Assert].assertEquals(int)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:26,1
    - Dst: '[java.net.InetAddress].toString()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:27,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:27,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:29,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:30,1
    - Dst: '[org.junit.Assert].assertEquals(int)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:31,1
    - Dst: '[org.junit.Assert].assertEquals(int)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:32,1
    - Dst: '[org.junit.Assert].assertEquals(byte)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:33,1
    - Dst: '[org.junit.Assert].assertEquals(int)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:34,1
    - Dst: '[java.net.InetAddress].toString()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:35,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4Address()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetAddress].toString()'
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    - '[org.junit.Assert].assertTrue()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
    - '[org.junit.Assert].assertEquals(int)'
    - '[org.junit.Assert].assertEquals(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4Address()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressWithLeadingZero()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressWithLeadingZero()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressToSmall()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressToSmall()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressToLarge()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressToLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressMultipleDots()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressMultipleDots()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressMultipleDots2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressMultipleDots2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4Hostname()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4Hostname()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4Hostname2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4Hostname2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressStartsWithDot()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV4AddressStartsWithDot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:80,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:86,1
    - Dst: '[java.net.InetAddress].toString()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:88,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:88,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:91,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:97,1
    - Dst: '[java.net.InetAddress].toString()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:99,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:102,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:108,1
    - Dst: '[java.net.InetAddress].toString()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:110,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:113,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:119,1
    - Dst: '[java.net.InetAddress].toString()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:121,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:124,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:130,1
    - Dst: '[java.net.InetAddress].toString()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:132,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:135,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:141,1
    - Dst: '[java.net.InetAddress].toString()'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 123
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 144
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpv6Address()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.util.NetworkUtilsAddressParsingTestCase)'
    - '[java.net.InetAddress].toString()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.NetworkUtilsAddressParsingTestCase)'
    - '[org.junit.Assert].assertTrue()'
    - '[org.junit.Assert].assertEquals()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpv6Address()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressWithLeadingZero()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressWithLeadingZero()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressToSmall()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressToSmall()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressToLarge()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressToLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressMultipleColons()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressMultipleColons()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressMultipleColons2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressMultipleColons2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6Hostname()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6Hostname()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6Hostname2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6Hostname2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressStartsWithColon()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressStartsWithColon()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.util.NetworkUtilsAddressParsingTestCase:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressEndsWithDoubleColon()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].testIpV6AddressEndsWithDoubleColon()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.NetworkUtilsAddressParsingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressParsingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.NetworkUtilsAddressParsingTestCase
    signature: '[io.undertow.util.NetworkUtilsAddressParsingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String)'
      Src: io.undertow.util.PathTemplateTestCase:39,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:40,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:41,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:42,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:43,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:44,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:45,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String)'
      Src: io.undertow.util.PathTemplateTestCase:48,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:49,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:50,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:51,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:52,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:53,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:54,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String)'
      Src: io.undertow.util.PathTemplateTestCase:57,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:58,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:59,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:60,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:61,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:62,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:65,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:66,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:67,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 71
    functionName: '[io.undertow.util.PathTemplateTestCase].testMatches()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String,String,String)'
    - '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
    - '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
    - '[io.undertow.util.PathTemplateTestCase].testMatch(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateTestCase].testMatches()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:76,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:77,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:78,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:79,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:80,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:81,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:82,1
    - Dst: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String,String,String)'
      Src: io.undertow.util.PathTemplateTestCase:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: '[io.undertow.util.PathTemplateTestCase].wildCardTests()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String)'
    - '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String,String,String)'
    - '[io.undertow.util.PathTemplateTestCase].testMatch(String,String,String,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateTestCase].wildCardTests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].create(null)'
      Src: io.undertow.util.PathTemplateTestCase:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.util.PathTemplateTestCase].testNullPath()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplate].create(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateTestCase].testNullPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.util.PathTemplateTestCase:93,1
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateTestCase:94,1
    - Dst: '[java.util.TreeSet].add(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateTestCase:94,1
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateTestCase:95,1
    - Dst: '[java.util.TreeSet].contains(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateTestCase:95,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateTestCase)'
      Src: io.undertow.util.PathTemplateTestCase:95,1
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateTestCase:96,1
    - Dst: '[java.util.TreeSet].contains(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateTestCase:96,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.util.PathTemplateTestCase)'
      Src: io.undertow.util.PathTemplateTestCase:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: '[io.undertow.util.PathTemplateTestCase].testDetectDuplicates()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - '[java.util.TreeSet].contains(io.undertow.util.PathTemplate)'
    - '[org.junit.Assert].assertFalse(io.undertow.util.PathTemplateTestCase)'
    - '[io.undertow.util.PathTemplate].create(String)'
    - '[org.junit.Assert].assertTrue(io.undertow.util.PathTemplateTestCase)'
    - '[java.util.TreeSet].add(io.undertow.util.PathTemplate)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateTestCase].testDetectDuplicates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateTestCase:101,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateTestCase:102,1
    - Dst: '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
      Src: io.undertow.util.PathTemplateTestCase:102,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.util.PathTemplateTestCase:102,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateTestCase:103,1
    - Dst: '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
      Src: io.undertow.util.PathTemplateTestCase:103,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.util.PathTemplateTestCase:103,1
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateTestCase:105,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateTestCase:106,1
    - Dst: '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
      Src: io.undertow.util.PathTemplateTestCase:106,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.util.PathTemplateTestCase:106,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateTestCase:107,1
    - Dst: '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
      Src: io.undertow.util.PathTemplateTestCase:107,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.util.PathTemplateTestCase:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: '[io.undertow.util.PathTemplateTestCase].testTrailingSlash()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[java.util.HashMap].<init>()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
    - '[io.undertow.util.PathTemplate].create(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateTestCase].testTrailingSlash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.PathTemplateTestCase:112,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateTestCase:113,1
    - Dst: '[java.util.HashMap].put()'
      Src: io.undertow.util.PathTemplateTestCase:115,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateTestCase:117,1
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateTestCase:119,1
    - Dst: '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
      Src: io.undertow.util.PathTemplateTestCase:120,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.util.PathTemplateTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(java.util.HashMap,java.util.HashMap)'
      Src: io.undertow.util.PathTemplateTestCase:121,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.util.PathTemplateTestCase:122,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.PathTemplateTestCase:122,1
    - Dst: '[io.undertow.util.PathTemplateTestCase.PathTemplateFriend].<init>(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateTestCase:123,1
    - Dst: '[io.undertow.util.PathTemplateTestCase.PathTemplateFriend].getPartAmount()'
      Src: io.undertow.util.PathTemplateTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.util.PathTemplateTestCase)'
      Src: io.undertow.util.PathTemplateTestCase:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - path
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 1
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.util.PathTemplateTestCase)'
    - '[io.undertow.util.PathTemplateTestCase.PathTemplateFriend].getPartAmount()'
    - '[io.undertow.util.PathTemplateTestCase.PathTemplateFriend].<init>(io.undertow.util.PathTemplate)'
    - '[java.util.HashMap].<init>()'
    - '[java.util.HashMap].put()'
    - '[String].contains(String)'
    - '[String].endsWith(String)'
    - '[org.junit.Assert].assertEquals(java.util.HashMap,java.util.HashMap)'
    - '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
    - '[io.undertow.util.PathTemplate].create(String)'
    - '[org.junit.Assert].assertTrue(String,boolean)'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateTestCase].testMatch(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathTemplateTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateTestCase
    signature: '[io.undertow.util.PathTemplateTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplate
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateTestCase.PathTemplateFriend
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - io.undertow.util.PathTemplate
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.util.PathTemplateTestCase.PathTemplateFriend].<init>(io.undertow.util.PathTemplate)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateTestCase.PathTemplateFriend
    signature: '[io.undertow.util.PathTemplateTestCase.PathTemplateFriend].<init>(io.undertow.util.PathTemplate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template.parts.size()
      Src: io.undertow.util.PathTemplateTestCase.PathTemplateFriend:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '[io.undertow.util.PathTemplateTestCase.PathTemplateFriend].getPartAmount()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/PathTemplateTestCase.java
    functionUses: 1
    functionsReached:
    - template.parts.size()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateTestCase.PathTemplateFriend].getPartAmount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Headers].extractTokenFromHeader(String,String)'
      Src: io.undertow.util.HeadersUtilsTestCase:37,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.HeadersUtilsTestCase:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: '[io.undertow.util.HeadersUtilsTestCase].testTokenExtraction()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeadersUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.util.Headers].extractTokenFromHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeadersUtilsTestCase].testTokenExtraction()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeadersUtilsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.HeadersUtilsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeadersUtilsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeadersUtilsTestCase
    signature: '[io.undertow.util.HeadersUtilsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:34,1
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:35,1
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:36,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range,ByteRange.Range,ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:33,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:33,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:32,1
    - Dst: '[io.undertow.util.ByteRange].getRanges()'
      Src: io.undertow.util.ByteRangeTestCase:38,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetRanges()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ByteRange].getRanges()'
    - '[ByteRange.Range].<init>(int,int)'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    - '[java.util.Arrays].asList(ByteRange.Range,ByteRange.Range,ByteRange.Range)'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetRanges()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:45,1
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:46,1
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:47,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range,ByteRange.Range,ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:44,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:44,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:43,1
    - Dst: '[io.undertow.util.ByteRange].getStart(int)'
      Src: io.undertow.util.ByteRangeTestCase:49,1
    - Dst: '[org.junit.Assert].assertEquals(int,long)'
      Src: io.undertow.util.ByteRangeTestCase:49,1
    - Dst: '[io.undertow.util.ByteRange].getStart(int)'
      Src: io.undertow.util.ByteRangeTestCase:50,1
    - Dst: '[org.junit.Assert].assertEquals(int,long)'
      Src: io.undertow.util.ByteRangeTestCase:50,1
    - Dst: '[io.undertow.util.ByteRange].getStart(int)'
      Src: io.undertow.util.ByteRangeTestCase:51,1
    - Dst: '[org.junit.Assert].assertEquals(int,long)'
      Src: io.undertow.util.ByteRangeTestCase:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetStart()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[ByteRange.Range].<init>(int,int)'
    - '[io.undertow.util.ByteRange].getStart(int)'
    - '[org.junit.Assert].assertEquals(int,long)'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    - '[java.util.Arrays].asList(ByteRange.Range,ByteRange.Range,ByteRange.Range)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetStart()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:58,1
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:59,1
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:60,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range,ByteRange.Range,ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:57,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:57,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:56,1
    - Dst: '[io.undertow.util.ByteRange].getEnd(int)'
      Src: io.undertow.util.ByteRangeTestCase:62,1
    - Dst: '[org.junit.Assert].assertEquals(int,long)'
      Src: io.undertow.util.ByteRangeTestCase:62,1
    - Dst: '[io.undertow.util.ByteRange].getEnd(int)'
      Src: io.undertow.util.ByteRangeTestCase:63,1
    - Dst: '[org.junit.Assert].assertEquals(int,long)'
      Src: io.undertow.util.ByteRangeTestCase:63,1
    - Dst: '[io.undertow.util.ByteRange].getEnd(int)'
      Src: io.undertow.util.ByteRangeTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(int,long)'
      Src: io.undertow.util.ByteRangeTestCase:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetEnd()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[ByteRange.Range].<init>(int,int)'
    - '[io.undertow.util.ByteRange].getEnd(int)'
    - '[org.junit.Assert].assertEquals(int,long)'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    - '[java.util.Arrays].asList(ByteRange.Range,ByteRange.Range,ByteRange.Range)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ByteRange].parse(null)'
      Src: io.undertow.util.ByteRangeTestCase:69,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRangeTestCase:69,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.util.ByteRangeTestCase:70,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRangeTestCase:70,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.util.ByteRangeTestCase:71,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRangeTestCase:71,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.util.ByteRangeTestCase:72,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRangeTestCase:72,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.util.ByteRangeTestCase:73,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRangeTestCase:73,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.util.ByteRangeTestCase:74,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRangeTestCase:74,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.util.ByteRangeTestCase:75,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRangeTestCase:75,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.util.ByteRangeTestCase:77,1
    - Dst: '[io.undertow.util.ByteRange].getRanges()'
      Src: io.undertow.util.ByteRangeTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:77,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.util.ByteRangeTestCase:78,1
    - Dst: '[io.undertow.util.ByteRange].getRanges()'
      Src: io.undertow.util.ByteRangeTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: '[io.undertow.util.ByteRangeTestCase].testParse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ByteRange].parse(String)'
    - '[io.undertow.util.ByteRange].getRanges()'
    - '[org.junit.Assert].assertNull(io.undertow.util.ByteRange)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.util.ByteRange].parse(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testParse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:85,1
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:86,1
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:87,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range,ByteRange.Range,ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:84,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:84,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:83,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:90,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:89,1
    - Dst: '[org.junit.Assert].assertNull(RangeResponseResult)'
      Src: io.undertow.util.ByteRangeTestCase:89,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:93,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:91,1
    - Dst: '[org.junit.Assert].assertNull(RangeResponseResult)'
      Src: io.undertow.util.ByteRangeTestCase:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,String)'
    - '[java.util.Date].<init>(int)'
    - '[ByteRange.Range].<init>(int,int)'
    - '[org.junit.Assert].assertNull(RangeResponseResult)'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    - '[java.util.Arrays].asList(ByteRange.Range,ByteRange.Range,ByteRange.Range)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>()'
      Src: io.undertow.util.ByteRangeTestCase:99,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:99,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:99,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:98,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:102,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:101,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:101,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:104,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:103,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:103,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:106,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:105,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:105,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:108,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:107,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:107,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:110,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:109,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:109,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:113,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:112,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:112,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:115,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:114,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:114,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:117,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:116,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:116,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:119,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:118,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:118,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:121,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:120,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
    - '[java.util.Arrays].asList(ByteRange.Range)'
    - '[java.util.Date].<init>(int)'
    - '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
    - '[ByteRange.Range].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:127,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:127,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:127,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:126,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:130,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:129,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:129,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:132,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:131,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:131,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:134,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:133,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:133,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:136,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:135,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:135,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:138,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:137,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:137,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:137,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:141,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:140,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:140,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:143,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:142,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:142,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:142,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:145,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:144,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:144,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:144,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:147,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:146,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:146,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:146,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:149,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:148,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:148,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 150
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
    - '[ByteRange.Range].<init>(int)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
    - '[java.util.Date].<init>(int)'
    - '[java.util.Arrays].asList(ByteRange.Range)'
    - '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:155,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:155,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:155,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:154,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:158,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:157,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:157,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:157,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:160,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:159,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:159,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:159,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:162,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:161,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:161,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:161,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:164,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:163,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:163,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:163,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:166,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:165,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:165,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:165,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:169,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:168,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:168,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:168,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:171,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:170,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:170,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:170,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:173,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:172,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:172,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:172,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:175,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:174,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:174,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:174,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:177,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:176,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:176,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 178
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
    - '[ByteRange.Range].<init>(int)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
    - '[java.util.Date].<init>(int)'
    - '[java.util.Arrays].asList(ByteRange.Range)'
    - '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>(int,int)'
      Src: io.undertow.util.ByteRangeTestCase:183,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:183,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:183,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:182,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:186,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:185,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:185,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:185,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:188,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:187,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:187,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:187,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:190,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:189,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:189,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:189,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:192,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:191,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:191,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:191,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:194,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:193,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:193,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:193,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:197,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:196,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:196,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:199,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:198,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:198,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:198,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:201,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:200,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:200,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:200,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:203,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:202,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:202,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:205,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:204,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:204,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 206
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult5()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
    - '[java.util.Date].<init>(int)'
    - '[java.util.Arrays].asList(ByteRange.Range)'
    - '[ByteRange.Range].<init>(int,int)'
    - '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult5()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteRange.Range].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:211,1
    - Dst: '[java.util.Arrays].asList(ByteRange.Range)'
      Src: io.undertow.util.ByteRangeTestCase:211,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:211,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:210,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:214,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:213,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:213,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:213,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:216,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:215,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:215,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:215,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:218,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:217,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:217,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:217,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:220,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:219,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:219,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:219,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:222,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:221,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:221,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:221,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:225,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:224,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
      Src: io.undertow.util.ByteRangeTestCase:224,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:224,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:227,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:226,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
      Src: io.undertow.util.ByteRangeTestCase:226,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:226,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:229,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:228,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
      Src: io.undertow.util.ByteRangeTestCase:228,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:228,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:231,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:230,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
      Src: io.undertow.util.ByteRangeTestCase:230,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:230,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:233,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:232,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
      Src: io.undertow.util.ByteRangeTestCase:232,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
      Src: io.undertow.util.ByteRangeTestCase:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
    - '[ByteRange.Range].<init>(int)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
    - '[java.util.Date].<init>(int)'
    - '[java.util.Arrays].asList(ByteRange.Range)'
    - '[io.undertow.util.ByteRange].getResponseResult(int,null,java.util.Date,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
    - '[java.util.ArrayList].<init>(io.undertow.util.ByteRangeTestCase)'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    - '[org.junit.Assert].assertEquals(io.undertow.util.ByteRangeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetResponseResult6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.ByteRangeTestCase:238,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRangeTestCase:238,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:240,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:239,1
    - Dst: '[org.junit.Assert].assertNull(RangeResponseResult)'
      Src: io.undertow.util.ByteRangeTestCase:239,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:242,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,null)'
      Src: io.undertow.util.ByteRangeTestCase:241,1
    - Dst: '[org.junit.Assert].assertNull(RangeResponseResult)'
      Src: io.undertow.util.ByteRangeTestCase:241,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:244,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:243,1
    - Dst: '[org.junit.Assert].assertNull(RangeResponseResult)'
      Src: io.undertow.util.ByteRangeTestCase:243,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.util.ByteRangeTestCase:246,1
    - Dst: '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,String)'
      Src: io.undertow.util.ByteRangeTestCase:245,1
    - Dst: '[org.junit.Assert].assertNull(RangeResponseResult)'
      Src: io.undertow.util.ByteRangeTestCase:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: '[io.undertow.util.ByteRangeTestCase].testGetResponseResultNull()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,String)'
    - '[io.undertow.util.ByteRange].getResponseResult(int,String,java.util.Date,null)'
    - '[java.util.Date].<init>(int)'
    - '[org.junit.Assert].assertNull(RangeResponseResult)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ByteRangeTestCase].testGetResponseResultNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ByteRangeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.ByteRangeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ByteRangeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ByteRangeTestCase
    signature: '[io.undertow.util.ByteRangeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:37,1
    - Dst: '[io.undertow.util.NetworkUtils].toObfuscatedString(io.undertow.util.NetworkUtilsAddressObfuscationTestCase)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressObfuscationTestCase.java
    functionUses: 2
    functionsReached:
    - '[java.net.InetAddress].getByName(String)'
    - '[io.undertow.util.NetworkUtils].toObfuscatedString(io.undertow.util.NetworkUtilsAddressObfuscationTestCase)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:42,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:42,1
    - Dst: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:43,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:43,1
    - Dst: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:44,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].testIpV4Address()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressObfuscationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].testIpV4Address()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:49,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:49,1
    - Dst: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:50,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:50,1
    - Dst: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:51,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.NetworkUtilsAddressObfuscationTestCase:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].testIpv6Address()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressObfuscationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].cvt(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].testIpv6Address()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.NetworkUtilsAddressObfuscationTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NetworkUtilsAddressObfuscationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.NetworkUtilsAddressObfuscationTestCase
    signature: '[io.undertow.util.NetworkUtilsAddressObfuscationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.LocaleUtils].getLocaleFromString(String)'
      Src: io.undertow.util.LocaleUtilsTestCase:15,1
    - Dst: '[java.util.Locale].<init>(String)'
      Src: io.undertow.util.LocaleUtilsTestCase:15,1
    - Dst: '[org.junit.Assert].assertEquals(java.util.Locale,java.util.Locale)'
      Src: io.undertow.util.LocaleUtilsTestCase:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: '[io.undertow.util.LocaleUtilsTestCase].testGetLocaleFromInvalidString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/LocaleUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.LocaleUtils].getLocaleFromString(String)'
    - '[org.junit.Assert].assertEquals(java.util.Locale,java.util.Locale)'
    - '[java.util.Locale].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.LocaleUtilsTestCase].testGetLocaleFromInvalidString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.LocaleUtilsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.LocaleUtilsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/LocaleUtilsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.LocaleUtilsTestCase
    signature: '[io.undertow.util.LocaleUtilsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.StatusCodes].getReason(int)'
      Src: io.undertow.util.NodeStatusCodesTestCase:34,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.NodeStatusCodesTestCase:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.util.NodeStatusCodesTestCase].testCodeLookup()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NodeStatusCodesTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.util.StatusCodes].getReason(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NodeStatusCodesTestCase].testCodeLookup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.StatusCodes].getReason()'
      Src: io.undertow.util.NodeStatusCodesTestCase:39,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.util.NodeStatusCodesTestCase:39,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(int)'
      Src: io.undertow.util.NodeStatusCodesTestCase:40,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.util.NodeStatusCodesTestCase:40,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(int)'
      Src: io.undertow.util.NodeStatusCodesTestCase:41,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.util.NodeStatusCodesTestCase:41,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(io.undertow.util.NodeStatusCodesTestCase)'
      Src: io.undertow.util.NodeStatusCodesTestCase:42,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.util.NodeStatusCodesTestCase:42,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(io.undertow.util.NodeStatusCodesTestCase)'
      Src: io.undertow.util.NodeStatusCodesTestCase:43,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.util.NodeStatusCodesTestCase:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: '[io.undertow.util.NodeStatusCodesTestCase].testUnknownCode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NodeStatusCodesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.StatusCodes].getReason(io.undertow.util.NodeStatusCodesTestCase)'
    - '[io.undertow.util.StatusCodes].getReason()'
    - '[io.undertow.util.StatusCodes].getReason(int)'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.NodeStatusCodesTestCase].testUnknownCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.NodeStatusCodesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.NodeStatusCodesTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/NodeStatusCodesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.NodeStatusCodesTestCase
    signature: '[io.undertow.util.NodeStatusCodesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.DateUtils].parseDate(io.undertow.util.DateUtilsTestCase)'
      Src: io.undertow.util.DateUtilsTestCase:40,1
    - Dst: '[org.junit.Assert].assertNotNull(java.util.Date)'
      Src: io.undertow.util.DateUtilsTestCase:42,1
    - Dst: '[java.util.TimeZone].getTimeZone(String)'
      Src: io.undertow.util.DateUtilsTestCase:44,1
    - Dst: '[java.util.Calendar].getInstance(io.undertow.util.DateUtilsTestCase)'
      Src: io.undertow.util.DateUtilsTestCase:44,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].set(int,io.undertow.util.DateUtilsTestCase,int,int,int,int)'
      Src: io.undertow.util.DateUtilsTestCase:45,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].set(io.undertow.util.DateUtilsTestCase,int)'
      Src: io.undertow.util.DateUtilsTestCase:46,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].getTime()'
      Src: io.undertow.util.DateUtilsTestCase:48,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.DateUtilsTestCase,java.util.Date)'
      Src: io.undertow.util.DateUtilsTestCase:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.DateUtilsTestCase].testParseFirefoxDate()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/DateUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Calendar].getInstance(io.undertow.util.DateUtilsTestCase)'
    - '[java.util.TimeZone].getTimeZone(String)'
    - '[io.undertow.util.DateUtils].parseDate(io.undertow.util.DateUtilsTestCase)'
    - '[io.undertow.util.DateUtilsTestCase].getTime()'
    - '[org.junit.Assert].assertEquals(io.undertow.util.DateUtilsTestCase,java.util.Date)'
    - '[io.undertow.util.DateUtilsTestCase].set(int,io.undertow.util.DateUtilsTestCase,int,int,int,int)'
    - '[io.undertow.util.DateUtilsTestCase].set(io.undertow.util.DateUtilsTestCase,int)'
    - '[org.junit.Assert].assertNotNull(java.util.Date)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.DateUtilsTestCase].testParseFirefoxDate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.DateUtils].parseDate(io.undertow.util.DateUtilsTestCase)'
      Src: io.undertow.util.DateUtilsTestCase:57,1
    - Dst: '[org.junit.Assert].assertNotNull(java.util.Date)'
      Src: io.undertow.util.DateUtilsTestCase:59,1
    - Dst: '[java.util.TimeZone].getTimeZone(String)'
      Src: io.undertow.util.DateUtilsTestCase:61,1
    - Dst: '[java.util.Calendar].getInstance(io.undertow.util.DateUtilsTestCase)'
      Src: io.undertow.util.DateUtilsTestCase:61,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].set(int,io.undertow.util.DateUtilsTestCase,int,int,int,int)'
      Src: io.undertow.util.DateUtilsTestCase:62,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].set(io.undertow.util.DateUtilsTestCase,int)'
      Src: io.undertow.util.DateUtilsTestCase:63,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].getTime()'
      Src: io.undertow.util.DateUtilsTestCase:65,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.DateUtilsTestCase,java.util.Date)'
      Src: io.undertow.util.DateUtilsTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: '[io.undertow.util.DateUtilsTestCase].testParseChromeDate()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/DateUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Calendar].getInstance(io.undertow.util.DateUtilsTestCase)'
    - '[java.util.TimeZone].getTimeZone(String)'
    - '[io.undertow.util.DateUtils].parseDate(io.undertow.util.DateUtilsTestCase)'
    - '[io.undertow.util.DateUtilsTestCase].getTime()'
    - '[org.junit.Assert].assertEquals(io.undertow.util.DateUtilsTestCase,java.util.Date)'
    - '[io.undertow.util.DateUtilsTestCase].set(int,io.undertow.util.DateUtilsTestCase,int,int,int,int)'
    - '[io.undertow.util.DateUtilsTestCase].set(io.undertow.util.DateUtilsTestCase,int)'
    - '[org.junit.Assert].assertNotNull(java.util.Date)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.DateUtilsTestCase].testParseChromeDate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.DateUtils].parseDate(io.undertow.util.DateUtilsTestCase)'
      Src: io.undertow.util.DateUtilsTestCase:74,1
    - Dst: '[org.junit.Assert].assertNotNull(java.util.Date)'
      Src: io.undertow.util.DateUtilsTestCase:75,1
    - Dst: '[java.util.TimeZone].getTimeZone(String)'
      Src: io.undertow.util.DateUtilsTestCase:77,1
    - Dst: '[java.util.Calendar].getInstance(io.undertow.util.DateUtilsTestCase)'
      Src: io.undertow.util.DateUtilsTestCase:77,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].set(int,io.undertow.util.DateUtilsTestCase,int,int,int,int)'
      Src: io.undertow.util.DateUtilsTestCase:78,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].set(io.undertow.util.DateUtilsTestCase,int)'
      Src: io.undertow.util.DateUtilsTestCase:79,1
    - Dst: '[io.undertow.util.DateUtilsTestCase].getTime()'
      Src: io.undertow.util.DateUtilsTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.DateUtilsTestCase,java.util.Date)'
      Src: io.undertow.util.DateUtilsTestCase:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: '[io.undertow.util.DateUtilsTestCase].testParseIE9Date()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/DateUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Calendar].getInstance(io.undertow.util.DateUtilsTestCase)'
    - '[java.util.TimeZone].getTimeZone(String)'
    - '[io.undertow.util.DateUtils].parseDate(io.undertow.util.DateUtilsTestCase)'
    - '[io.undertow.util.DateUtilsTestCase].getTime()'
    - '[org.junit.Assert].assertEquals(io.undertow.util.DateUtilsTestCase,java.util.Date)'
    - '[io.undertow.util.DateUtilsTestCase].set(int,io.undertow.util.DateUtilsTestCase,int,int,int,int)'
    - '[io.undertow.util.DateUtilsTestCase].set(io.undertow.util.DateUtilsTestCase,int)'
    - '[org.junit.Assert].assertNotNull(java.util.Date)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.DateUtilsTestCase].testParseIE9Date()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.DateUtilsTestCase:91,1
    - Dst: ie9Header.replaceAll(String,String)
      Src: io.undertow.util.DateUtilsTestCase:93,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.DateUtilsTestCase:95,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.DateUtilsTestCase:97,1
    - Dst: ie9Header.indexOf(char)
      Src: io.undertow.util.DateUtilsTestCase:100,1
    - Dst: ie9Header.substring(int,io.undertow.util.DateUtilsTestCase)
      Src: io.undertow.util.DateUtilsTestCase:101,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.DateUtilsTestCase:104,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.util.DateUtilsTestCase)'
      Src: io.undertow.util.DateUtilsTestCase:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: '[io.undertow.util.DateUtilsTestCase].testPerformance()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/DateUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - ie9Header.indexOf(char)
    - ie9Header.replaceAll(String,String)
    - System.currentTimeMillis()
    - '[org.junit.Assert].assertTrue(io.undertow.util.DateUtilsTestCase)'
    - ie9Header.substring(int,io.undertow.util.DateUtilsTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.DateUtilsTestCase].testPerformance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.DateUtilsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.DateUtilsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/DateUtilsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.DateUtilsTestCase
    signature: '[io.undertow.util.DateUtilsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].shouldSendSameSiteNone(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:99,1
    - Dst: '[org.junit.Assert].assertFalse(String,boolean)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:100,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].shouldSendSameSiteNone(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:104,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:105,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].shouldSendSameSiteNone(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:109,1
    - Dst: '[org.junit.Assert].assertFalse(String,boolean)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:110,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].shouldSendSameSiteNone(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:114,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - String[]
      - String[]
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase].testShouldSendSameSiteNone()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SameSiteNoneIncompatibleClientCheckerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].shouldSendSameSiteNone(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
    - '[org.junit.Assert].assertFalse(String,boolean)'
    - '[org.junit.Assert].assertTrue(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase].testShouldSendSameSiteNone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:125,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:126,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:130,1
    - Dst: '[org.junit.Assert].assertFalse(String,boolean)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:131,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:135,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:136,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:140,1
    - Dst: '[org.junit.Assert].assertFalse(String,boolean)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - String[]
      - String[]
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase].testIsSameSiteNoneIncompatible()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SameSiteNoneIncompatibleClientCheckerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(String,boolean)'
    - '[org.junit.Assert].assertFalse(String,boolean)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase].testIsSameSiteNoneIncompatible()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - String[]
      - String[]
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/SameSiteNoneIncompatibleClientCheckerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientCheckerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.util.CompletionLatchHandler:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.CompletionLatchHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.util.CompletionLatchHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CompletionLatchHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.CompletionLatchHandler
    signature: '[io.undertow.util.CompletionLatchHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.util.CompletionLatchHandler:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.CompletionLatchHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - size
    - next
    argTypes:
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.util.CompletionLatchHandler].<init>(int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CompletionLatchHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.CompletionLatchHandler
    signature: '[io.undertow.util.CompletionLatchHandler].<init>(int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.util.CompletionLatchHandler)'
      Src: io.undertow.util.CompletionLatchHandler:47,1
    - Dst: '[RuntimeException].<init>(io.undertow.util.CompletionLatchHandler)'
      Src: io.undertow.util.CompletionLatchHandler:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.CompletionLatchHandler].await()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CompletionLatchHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.util.CompletionLatchHandler)'
    - '[RuntimeException].<init>(io.undertow.util.CompletionLatchHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CompletionLatchHandler].await()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.util.CompletionLatchHandler:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.util.CompletionLatchHandler].reset()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CompletionLatchHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CompletionLatchHandler].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.util.CompletionLatchHandler:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.util.CompletionLatchHandler].reset(int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CompletionLatchHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CompletionLatchHandler].reset(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.util.CompletionLatchHandler:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.util.CompletionLatchHandler:62,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.util.CompletionLatchHandler:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: '[io.undertow.util.CompletionLatchHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CompletionLatchHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CompletionLatchHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HttpString.class.getDeclaredField(String)
      Src: io.undertow.util.HeaderOrderTestCase:45,1
    - Dst: '[io.undertow.util.HeaderOrderTestCase].setAccessible(boolean)'
      Src: io.undertow.util.HeaderOrderTestCase:46,1
    - Dst: Headers.class.getDeclaredFields()
      Src: io.undertow.util.HeaderOrderTestCase:48,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.HeaderOrderTestCase:49,1
    - Dst: field.getModifiers()
      Src: io.undertow.util.HeaderOrderTestCase:52,1
    - Dst: Modifier.isTransient(io.undertow.util.HeaderOrderTestCase)
      Src: io.undertow.util.HeaderOrderTestCase:52,1
    - Dst: field.getModifiers()
      Src: io.undertow.util.HeaderOrderTestCase:52,1
    - Dst: Modifier.isPublic(io.undertow.util.HeaderOrderTestCase)
      Src: io.undertow.util.HeaderOrderTestCase:52,1
    - Dst: field.get(null)
      Src: io.undertow.util.HeaderOrderTestCase:56,1
    - Dst: '[io.undertow.util.HeaderOrderTestCase].get(io.undertow.util.HeaderOrderTestCase)'
      Src: io.undertow.util.HeaderOrderTestCase:61,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.HeaderOrderTestCase)'
      Src: io.undertow.util.HeaderOrderTestCase:62,1
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.util.HeaderOrderTestCase:66,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
      Src: io.undertow.util.HeaderOrderTestCase:66,1
    - Dst: '[io.undertow.util.HeaderOrderTestCase].get(io.undertow.util.HeaderOrderTestCase)'
      Src: io.undertow.util.HeaderOrderTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.util.HeaderOrderTestCase)'
      Src: io.undertow.util.HeaderOrderTestCase:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: '[io.undertow.util.HeaderOrderTestCase].testHeadersOrder()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderOrderTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
    - '[java.util.Comparator].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.util.HeaderOrderTestCase)'
    - Modifier.isPublic(io.undertow.util.HeaderOrderTestCase)
    - HttpString.class.getDeclaredField(String)
    - field.getModifiers()
    - Headers.class.getDeclaredFields()
    - '[java.util.ArrayList].add(io.undertow.util.HeaderOrderTestCase)'
    - '[io.undertow.util.HeaderOrderTestCase].get(io.undertow.util.HeaderOrderTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.util.HeaderOrderTestCase].setAccessible(boolean)'
    - field.get(null)
    - Modifier.isTransient(io.undertow.util.HeaderOrderTestCase)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderOrderTestCase].testHeadersOrder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderOrderTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.HeaderOrderTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderOrderTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderOrderTestCase
    signature: '[io.undertow.util.HeaderOrderTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object[]
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.util.URLUtilsTestCase].spaceCodes()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object[]
    signature: '[io.undertow.util.URLUtilsTestCase].spaceCodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.charset.Charset].defaultCharset()'
      Src: io.undertow.util.URLUtilsTestCase:56,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].name()'
      Src: io.undertow.util.URLUtilsTestCase:56,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.URLUtilsTestCase:56,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.util.URLUtilsTestCase,io.undertow.util.URLUtilsTestCase,boolean,StringBuilder)'
      Src: io.undertow.util.URLUtilsTestCase:56,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertEquals(String,String)'
      Src: io.undertow.util.URLUtilsTestCase:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: '[io.undertow.util.URLUtilsTestCase].testDecodingWithEncodedAndDecodedSlashAndSlashDecodingDisabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].decode(io.undertow.util.URLUtilsTestCase,io.undertow.util.URLUtilsTestCase,boolean,StringBuilder)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.URLUtilsTestCase].name()'
    - '[io.undertow.util.URLUtilsTestCase].assertEquals(String,String)'
    - '[java.nio.charset.Charset].defaultCharset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testDecodingWithEncodedAndDecodedSlashAndSlashDecodingDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.charset.Charset].defaultCharset()'
      Src: io.undertow.util.URLUtilsTestCase:64,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].name()'
      Src: io.undertow.util.URLUtilsTestCase:64,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.URLUtilsTestCase:64,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.util.URLUtilsTestCase,io.undertow.util.URLUtilsTestCase,boolean,StringBuilder)'
      Src: io.undertow.util.URLUtilsTestCase:64,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertEquals(io.undertow.util.URLUtilsTestCase,String)'
      Src: io.undertow.util.URLUtilsTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '[io.undertow.util.URLUtilsTestCase].testDecodingURLMustNotMutateSpaceSymbolsCaseIfSpaceDecodingDisabled()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtilsTestCase].assertEquals(io.undertow.util.URLUtilsTestCase,String)'
    - '[io.undertow.util.URLUtils].decode(io.undertow.util.URLUtilsTestCase,io.undertow.util.URLUtilsTestCase,boolean,StringBuilder)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.URLUtilsTestCase].name()'
    - '[java.nio.charset.Charset].defaultCharset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testDecodingURLMustNotMutateSpaceSymbolsCaseIfSpaceDecodingDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:70,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:70,1
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:71,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:71,1
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:72,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlRecognizingAbsolutUrls()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
    - '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlRecognizingAbsolutUrls()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:77,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:77,1
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:78,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlRecognizingAppUrls()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
    - '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlRecognizingAppUrls()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:83,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:83,1
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:84,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:84,1
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:85,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:85,1
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:86,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:86,1
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:87,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlRecognizingRelativeUrls()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
    - '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlRecognizingRelativeUrls()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(null)'
      Src: io.undertow.util.URLUtilsTestCase:92,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:92,1
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:93,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlRecognizingEmptyOrNullAsRelative()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
    - '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
    - '[io.undertow.util.URLUtils].isAbsoluteUrl(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlRecognizingEmptyOrNullAsRelative()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:98,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlIgnoresSyntaxErrorsAreNotAbsolute()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtilsTestCase].assertFalse(boolean)'
    - '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlIgnoresSyntaxErrorsAreNotAbsolute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.util.URLUtilsTestCase:109,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.URLUtilsTestCase:109,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.util.URLUtilsTestCase,io.undertow.util.URLUtilsTestCase,boolean,StringBuilder)'
      Src: io.undertow.util.URLUtilsTestCase:109,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.util.URLUtilsTestCase:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: '[io.undertow.util.URLUtilsTestCase].testDecodingWithTrailingPercentChar()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].fail(String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.URLUtils].decode(io.undertow.util.URLUtilsTestCase,io.undertow.util.URLUtilsTestCase,boolean,StringBuilder)'
    - StandardCharsets.UTF_8.name()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testDecodingWithTrailingPercentChar()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
      Src: io.undertow.util.URLUtilsTestCase:119,1
    - Dst: '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
      Src: io.undertow.util.URLUtilsTestCase:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlInvalidChars()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
    - '[io.undertow.util.URLUtilsTestCase].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtilsTestCase].testIsAbsoluteUrlInvalidChars()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.URLUtilsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.URLUtilsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/URLUtilsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.URLUtilsTestCase
    signature: '[io.undertow.util.URLUtilsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ETagUtils].parseETagList(String)'
      Src: io.undertow.util.ETagUtilsTestCase:39,1
    - Dst: '[java.util.List<io.undertow.util.ETag>].toArray()'
      Src: io.undertow.util.ETagUtilsTestCase:39,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.util.ETagUtilsTestCase)'
      Src: io.undertow.util.ETagUtilsTestCase:35,1
    - Dst: '[io.undertow.util.ETagUtils].parseETagList(String)'
      Src: io.undertow.util.ETagUtilsTestCase:45,1
    - Dst: '[java.util.List<io.undertow.util.ETag>].toArray()'
      Src: io.undertow.util.ETagUtilsTestCase:45,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.util.ETagUtilsTestCase)'
      Src: io.undertow.util.ETagUtilsTestCase:41,1
    - Dst: '[io.undertow.util.ETagUtils].parseETagList(String)'
      Src: io.undertow.util.ETagUtilsTestCase:51,1
    - Dst: '[java.util.List<io.undertow.util.ETag>].toArray()'
      Src: io.undertow.util.ETagUtilsTestCase:51,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.util.ETagUtilsTestCase)'
      Src: io.undertow.util.ETagUtilsTestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: '[io.undertow.util.ETagUtilsTestCase].testParseHeaderList()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ETagUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertArrayEquals(io.undertow.util.ETagUtilsTestCase)'
    - '[java.util.List<io.undertow.util.ETag>].toArray()'
    - '[io.undertow.util.ETagUtils].parseETagList(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ETagUtilsTestCase].testParseHeaderList()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETagUtilsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.ETagUtilsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/ETagUtilsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETagUtilsTestCase
    signature: '[io.undertow.util.ETagUtilsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:38,1
    - Dst: '[org.junit.Assert].assertSame(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:38,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:39,1
    - Dst: '[org.junit.Assert].assertSame(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:39,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:40,1
    - Dst: '[org.junit.Assert].assertSame(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:40,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:43,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:43,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:44,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:44,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:48,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:48,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:49,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:49,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:50,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:50,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:53,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:53,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:54,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:54,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:55,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:55,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:56,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:56,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:57,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:57,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:58,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:58,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:61,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:62,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:62,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:63,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:63,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:66,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:66,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:67,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:67,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:68,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:68,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:69,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:70,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:70,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:73,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:74,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:75,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 77
    functionName: '[io.undertow.util.CanonicalPathUtilsTestCase].testCanonicalization()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CanonicalPathUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
    - '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertNull(String)'
    - '[org.junit.Assert].assertSame(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CanonicalPathUtilsTestCase].testCanonicalization()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:83,1
    - Dst: '[org.junit.Assert].assertSame(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:83,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:84,1
    - Dst: '[org.junit.Assert].assertSame(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:84,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:85,1
    - Dst: '[org.junit.Assert].assertSame(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:85,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:88,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:88,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:89,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:93,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:94,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:95,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:98,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:99,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:100,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:101,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:102,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:103,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:106,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:107,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:108,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:111,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:111,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:112,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:112,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:113,1
    - Dst: '[org.junit.Assert].assertNull(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:113,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:114,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:115,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:118,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:119,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:119,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:120,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:121,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:124,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:125,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:126,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.util.CanonicalPathUtilsTestCase:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 128
    functionName: '[io.undertow.util.CanonicalPathUtilsTestCase].testCanonicalizationBackslash()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CanonicalPathUtilsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
    - '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertNull(String)'
    - '[org.junit.Assert].assertSame(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CanonicalPathUtilsTestCase].testCanonicalizationBackslash()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.CanonicalPathUtilsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.CanonicalPathUtilsTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/CanonicalPathUtilsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.CanonicalPathUtilsTestCase
    signature: '[io.undertow.util.CanonicalPathUtilsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String,io.undertow.util.HeaderTokenParserTestCase)'
      Src: io.undertow.util.HeaderTokenParserTestCase:37,1
    - Dst: '[io.undertow.util.HeaderTokenParser].<init>(io.undertow.util.HeaderTokenParserTestCase)'
      Src: io.undertow.util.HeaderTokenParserTestCase:37,1
    - Dst: '[io.undertow.util.HeaderTokenParser].parseHeader(String)'
      Src: io.undertow.util.HeaderTokenParserTestCase:38,1
    - Dst: '[java.util.Map<E,String>].get(io.undertow.util.HeaderTokenParserTestCase)'
      Src: io.undertow.util.HeaderTokenParserTestCase:38,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.util.HeaderTokenParserTestCase)'
      Src: io.undertow.util.HeaderTokenParserTestCase:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[io.undertow.util.HeaderTokenParserTestCase].testHeaderTokenParser()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderTokenParserTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String,io.undertow.util.HeaderTokenParserTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.util.HeaderTokenParserTestCase)'
    - '[io.undertow.util.HeaderTokenParser].parseHeader(String)'
    - '[java.util.Map<E,String>].get(io.undertow.util.HeaderTokenParserTestCase)'
    - '[io.undertow.util.HeaderTokenParser].<init>(io.undertow.util.HeaderTokenParserTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderTokenParserTestCase].testHeaderTokenParser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderTokenParserTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.HeaderTokenParserTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/util/HeaderTokenParserTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderTokenParserTestCase
    signature: '[io.undertow.util.HeaderTokenParserTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:45,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:46,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:47,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:48,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:48,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:49,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:49,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:50,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:50,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:50,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:51,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:51,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:52,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:52,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - emitter.map.getFirst(io.undertow.util.HttpString)
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
    - emitter.map.size()
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:60,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:61,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:62,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:63,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:63,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:64,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:65,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:65,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:65,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:66,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:66,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - emitter.map.getFirst(io.undertow.util.HttpString)
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    - emitter.map.size()
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:74,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:75,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:76,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:77,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:77,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:78,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:79,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:79,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:80,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - emitter.map.getFirst(io.undertow.util.HttpString)
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    - emitter.map.size()
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:88,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:89,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:90,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:91,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:91,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:92,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:93,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:93,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:94,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - emitter.map.getFirst(io.undertow.util.HttpString)
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    - emitter.map.size()
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:102,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:103,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:104,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:105,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:105,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:106,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:107,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:107,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:108,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:108,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:109,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:109,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:110,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:110,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:111,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:112,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:113,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:117,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:118,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:119,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:119,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:120,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:121,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:121,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:122,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:122,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:123,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:123,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:124,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:124,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:125,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:125,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:126,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:127,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:128,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:129,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:134,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:135,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:136,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:136,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:137,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:137,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:138,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:138,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:138,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:139,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:139,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:140,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:140,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:141,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:141,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:142,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:142,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:142,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:143,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:144,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:144,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:145,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:146,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 96
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 149
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - emitter.map.getFirst(io.undertow.util.HttpString)
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
    - emitter.map.size()
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:157,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:158,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:159,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:160,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:160,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:161,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:161,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:162,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:162,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:162,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:163,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:163,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:163,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:164,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:164,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:164,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:165,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:165,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:165,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:166,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:167,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:167,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:168,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:173,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:174,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:175,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:175,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:176,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:176,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:177,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:177,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:177,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:178,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:178,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:178,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:179,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:179,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:179,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:180,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:180,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:180,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:181,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:181,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:181,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:182,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:182,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:183,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:183,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:184,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:185,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:190,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:191,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:192,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:192,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:193,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:193,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:194,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:194,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:194,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:195,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:195,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:195,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:196,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:196,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:197,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:197,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:197,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:198,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:198,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:198,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:199,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:199,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:200,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:200,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:201,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:202,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 123
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 204
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_4()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - emitter.map.getFirst(io.undertow.util.HttpString)
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
    - emitter.map.size()
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_4()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:213,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:216,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:217,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:218,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:218,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:219,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:219,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:220,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:220,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:220,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:221,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:221,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:221,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:222,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:222,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:222,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:223,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:223,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:224,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:224,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:225,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:225,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:226,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:227,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:228,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:229,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:233,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:234,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:235,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:235,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:236,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:236,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:237,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:237,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:238,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:238,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:238,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:239,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:239,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:239,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:240,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:240,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:240,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:241,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:241,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:242,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:242,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:243,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:244,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:245,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:246,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:255,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:256,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:257,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:257,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:258,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:258,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:259,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:259,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:259,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:260,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:260,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:260,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:261,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:261,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:261,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:262,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:262,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:262,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:263,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:263,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:263,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:264,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:264,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:264,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:265,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:265,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:266,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:266,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:267,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:268,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 97
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 270
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_5()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - emitter.map.getFirst(io.undertow.util.HttpString)
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
    - emitter.map.size()
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_5()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:280,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:283,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:284,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:285,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:285,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:286,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:286,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:287,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:287,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:287,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:288,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:288,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:288,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:289,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:289,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:289,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:290,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:290,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:290,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:291,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:291,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:292,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:292,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:293,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:294,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:295,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:296,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:300,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:301,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:302,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:302,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:303,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:303,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:304,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:304,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:304,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:305,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:305,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:305,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:306,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:306,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:306,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:307,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:307,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:307,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:308,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:308,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:309,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:309,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:310,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:311,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:312,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:313,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:321,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:322,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:323,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:323,1
    - Dst: emitter.map.size()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:324,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:324,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:325,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:325,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:325,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:326,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:326,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:326,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:327,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:327,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:327,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:328,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:328,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:328,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:329,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:329,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:329,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:330,1
    - Dst: emitter.map.getFirst(io.undertow.util.HttpString)
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:330,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:330,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:331,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:331,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:332,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:332,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:333,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:334,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 166
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 336
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_6()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - emitter.map.getFirst(io.undertow.util.HttpString)
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
    - emitter.map.size()
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    - '[org.junit.Assert].assertEquals(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_6()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:342,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:343,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:344,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:346,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:346,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 352
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_110()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[org.junit.Assert].fail(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_110()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:361,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:362,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:363,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:365,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:365,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 371
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_111()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[org.junit.Assert].fail(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_111()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:379,1
    - Dst: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:380,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:381,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:383,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:383,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_112()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].decode(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[org.junit.Assert].fail(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].testExample_D_2_112()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getRealIndex(int)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:393,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getHeaderTable()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:394,1
    - Dst: val.name.toString()
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:395,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:395,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - decoder
    - index
    - name
    - value
    argTypes:
    - io.undertow.protocols.http2.HpackDecoder
    - int
    - String
    - String
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder].getHeaderTable()'
    - '[io.undertow.protocols.http2.HpackDecoder].getRealIndex(int)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase)'
    - val.name.toString()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].assertTableState(io.undertow.protocols.http2.HpackDecoder,int,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - value
    - neverIndex
    argTypes:
    - io.undertow.util.HttpString
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].emitHeader(io.undertow.util.HttpString,String,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].emitHeader(io.undertow.util.HttpString,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackSpecExamplesUnitTestCase.java
    functionUses: 11
    functionsReached:
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter
    signature: '[io.undertow.protocols.http2.HpackSpecExamplesUnitTestCase.HeaderMapEmitter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation:46,1
    - Dst: '[org.junit.Assert].assertThrows()'
      Src: io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: '[io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation].testStringLiteralContainingEOS()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackHuffmanDecodingStringLiteralRepresentation.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[org.junit.Assert].assertThrows()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation].testStringLiteralContainingEOS()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation:59,1
    - Dst: '[org.junit.Assert].assertThrows()'
      Src: io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: '[io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation].testStringLiteralPaddingLongerThan7Bits()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackHuffmanDecodingStringLiteralRepresentation.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[org.junit.Assert].assertThrows()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation].testStringLiteralPaddingLongerThan7Bits()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation:72,1
    - Dst: '[org.junit.Assert].assertThrows()'
      Src: io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: '[io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation].testStringLiteralPaddedByZero()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackHuffmanDecodingStringLiteralRepresentation.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[org.junit.Assert].assertThrows()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation].testStringLiteralPaddedByZero()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackHuffmanDecodingStringLiteralRepresentation.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation
    signature: '[io.undertow.protocols.http2.HpackHuffmanDecodingStringLiteralRepresentation].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:36,1
    - Dst: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(String,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:36,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:37,1
    - Dst: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(String,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:37,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:38,1
    - Dst: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(String,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:38,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:39,1
    - Dst: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(String,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].testHuffmanEncoding()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackHuffmanEncodingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(String,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,boolean)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].testHuffmanEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:45,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:47,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:49,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:49,1
    - Dst: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].testHuffmanEncodingLargeString()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackHuffmanEncodingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase,boolean)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].testHuffmanEncodingLargeString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HPackHuffman].encode(java.nio.ByteBuffer,String,boolean)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:53,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:55,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:58,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:59,1
    - Dst: '[org.junit.Assert].assertTrue(int)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:60,1
    - Dst: '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:61,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:62,1
    - Dst: '[io.undertow.protocols.http2.HPackHuffman].decode(java.nio.ByteBuffer,int,StringBuilder)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:63,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase)'
      Src: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - string
    - buffer
    - bufferBigEnough
    argTypes:
    - String
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(String,java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackHuffmanEncodingUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[java.nio.ByteBuffer].flip()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase)'
    - '[org.junit.Assert].assertTrue(int)'
    - '[io.undertow.protocols.http2.HPackHuffman].decode(java.nio.ByteBuffer,int,StringBuilder)'
    - '[io.undertow.protocols.http2.HPackHuffman].encode(java.nio.ByteBuffer,String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].runTest(String,java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/HpackHuffmanEncodingUnitTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase
    signature: '[io.undertow.protocols.http2.HpackHuffmanEncodingUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:115,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:117,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:117,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:117,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:125,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:126,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:126,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:125,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:125,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].setServerOption(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:125,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].setServerOption(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:125,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].setSocketOption(io.undertow.protocols.http2.PushResourceRSTTestCase,boolean)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:125,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].setHandler()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:125,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].build()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:125,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].start()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:131,1
    - Dst: '[java.net.URI].<init>(io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:132,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:133,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.client.http2.Http2ClientConnection
      - java.io.IOException
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: '[io.undertow.protocols.http2.PushResourceRSTTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/PushResourceRSTTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].setHandler()'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].setServerOption(org.xnio.Option<Integer>,int)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].build()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[java.net.URI].<init>(io.undertow.protocols.http2.PushResourceRSTTestCase)'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].setSocketOption(io.undertow.protocols.http2.PushResourceRSTTestCase,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.PushResourceRSTTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:139,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.client.http2.Http2ClientConnection
      - java.io.IOException
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: '[io.undertow.protocols.http2.PushResourceRSTTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/PushResourceRSTTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].stopWorker(org.xnio.XnioWorker)'
    - '[io.undertow.Undertow].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.PushResourceRSTTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:146,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:147,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.client.http2.Http2ClientConnection
      - java.io.IOException
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: '[io.undertow.protocols.http2.PushResourceRSTTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/PushResourceRSTTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.io.Sender].send(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.PushResourceRSTTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - String
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.client.http2.Http2ClientConnection
      - java.io.IOException
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ALPNClientSelector.ALPNProtocol
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - listener
    - defaultHost
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - String
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: '[io.undertow.protocols.http2.PushResourceRSTTestCase].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,String,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/PushResourceRSTTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(io.undertow.protocols.http2.PushResourceRSTTestCase)'
    linkageType: ''
    returnType: ALPNClientSelector.ALPNProtocol
    signature: '[io.undertow.protocols.http2.PushResourceRSTTestCase].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,String,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:160,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,null,boolean)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.client.http2.Http2ClientConnection
      - java.io.IOException
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.Http2ClientConnection
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - connection
    - bufferPool
    - options
    - defaultHost
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - String
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: '[io.undertow.protocols.http2.PushResourceRSTTestCase].createHttp2Channel(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/PushResourceRSTTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
    - '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,null,boolean)'
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientConnection
    signature: '[io.undertow.protocols.http2.PushResourceRSTTestCase].createHttp2Channel(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:167,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:168,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:169,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].doPrivileged(java.security.PrivilegedAction<java.util.ServiceLoader<io.undertow.client.ClientProvider>>)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:171,1
    - Dst: provider.handlesSchemes()
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:176,1
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:177,1
    - Dst: scheme.equals(io.undertow.protocols.http2.PushResourceRSTTestCase)
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:177,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:183,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:184,1
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:185,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:196,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.protocols.http2.PushResourceRSTTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:196,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:197,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].set(org.xnio.Option<String>)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:197,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].set(io.undertow.protocols.http2.PushResourceRSTTestCase,boolean)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:197,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].getMap()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:197,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:206,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:206,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].alpnProtocol(io.undertow.client.ClientCallback,io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.connector.ByteBufferPool,io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:206,1
    - Dst: '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,io.undertow.client.ClientCallback,ALPNClientSelector.ALPNProtocol)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:201,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:209,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:209,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:209,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:208,1
    - Dst: '[org.xnio.IoFuture<org.xnio.ssl.SslConnection>].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:208,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:216,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].get()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:216,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].getIoThread()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:218,1
    - Dst: '[io.undertow.protocols.http2.PushResourceRSTTestCase].execute()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:218,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:226,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:227,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:227,1
    - Dst: '[org.junit.Assert].assertNull(java.io.IOException)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:228,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].isOpen()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:230,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:230,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.PushResourceRSTTestCase)'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.client.http2.Http2ClientConnection
      - java.io.IOException
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 164
    functionDepth: 6
    functionLinenumber: 164
    functionLinenumberEnd: 234
    functionName: '[io.undertow.protocols.http2.PushResourceRSTTestCase].testRstOnPush()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/PushResourceRSTTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].getMap()'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].set(org.xnio.Option<String>)'
    - '[io.undertow.client.http2.Http2ClientConnection].isOpen()'
    - '[org.xnio.IoFuture<org.xnio.ssl.SslConnection>].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
    - scheme.equals(io.undertow.protocols.http2.PushResourceRSTTestCase)
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].getIoThread()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.PushResourceRSTTestCase)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.protocols.http2.PushResourceRSTTestCase)'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].get()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[org.junit.Assert].assertNotNull(io.undertow.protocols.http2.PushResourceRSTTestCase)'
    - '[io.undertow.client.ClientCallback].<init>()'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].set(io.undertow.protocols.http2.PushResourceRSTTestCase,boolean)'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].execute()'
    - '[org.xnio.OptionMap].builder()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    - '[java.net.URI].getHost()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    - '[org.junit.Assert].assertNull(java.io.IOException)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].doPrivileged(java.security.PrivilegedAction<java.util.ServiceLoader<io.undertow.client.ClientProvider>>)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.protocols.http2.PushResourceRSTTestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,io.undertow.client.ClientCallback,ALPNClientSelector.ALPNProtocol)'
    - '[io.undertow.protocols.http2.PushResourceRSTTestCase].alpnProtocol(io.undertow.client.ClientCallback,io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.connector.ByteBufferPool,io.undertow.protocols.http2.PushResourceRSTTestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.protocols.http2.PushResourceRSTTestCase)'
    - '[java.net.URI].getPort()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.protocols.http2.PushResourceRSTTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.protocols.http2.PushResourceRSTTestCase,io.undertow.protocols.http2.PushResourceRSTTestCase)'
    - provider.handlesSchemes()
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.net.URI].getScheme()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.PushResourceRSTTestCase].testRstOnPush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      - java.util.concurrent.atomic.AtomicInteger
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.client.http2.Http2ClientConnection
      - java.io.IOException
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - responses
    - latch
    - pushRstCount
    argTypes:
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    - java.util.concurrent.atomic.AtomicInteger
    constantsTouched: []
    func_position:
      end: 303
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 303
    functionName: '[io.undertow.protocols.http2.PushResourceRSTTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch,java.util.concurrent.atomic.AtomicInteger)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/PushResourceRSTTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.protocols.http2.PushResourceRSTTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch,java.util.concurrent.atomic.AtomicInteger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:90,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.protocols.http2.PushResourceRSTTestCase:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.client.http2.Http2ClientConnection
      - java.io.IOException
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.PushResourceRSTTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.PushResourceRSTTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/PushResourceRSTTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.PushResourceRSTTestCase
    signature: '[io.undertow.protocols.http2.PushResourceRSTTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:113,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:114,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.io.Sender].send(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:121,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:123,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:123,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:123,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:128,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:129,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:129,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:128,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:128,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setSocketOption(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:128,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setHandler()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:128,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].build()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:128,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].start()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:134,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:137,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:137,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:136,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:136,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setServerOption(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:136,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setServerOption(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:136,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setSocketOption(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:136,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setHandler()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:136,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].build()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:136,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].start()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:144,1
    - Dst: '[java.net.URI].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:146,1
    - Dst: '[java.net.URI].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:147,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:150,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 151
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].build()'
    - '[org.xnio.Xnio].getInstance()'
    - '[java.net.URI].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setHandler()'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setServerOption(org.xnio.Option<Integer>,int)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].setSocketOption(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,boolean)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:156,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:158,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].stopWorker(org.xnio.XnioWorker)'
    - '[io.undertow.Undertow].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println(String)
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:165,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 7
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].testGoAwayWithDefaultConfig()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].testGoAwayWithDefaultConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println(String)
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:171,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 7
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].testNoErrorWithDefaultConfig()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].testNoErrorWithDefaultConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println(String)
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:177,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 7
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].testGoAwayWithOverwrittenConfig()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].testGoAwayWithOverwrittenConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println(String)
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:183,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 7
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].testNoErrorWithOverwrittenConfig()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].testNoErrorWithOverwrittenConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:188,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:189,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].doPrivileged(java.security.PrivilegedAction<java.util.ServiceLoader<io.undertow.client.ClientProvider>>)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:191,1
    - Dst: provider.handlesSchemes()
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:195,1
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:196,1
    - Dst: scheme.equals(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:196,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:202,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:203,1
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:204,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:213,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:213,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:214,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].set(org.xnio.Option<String>)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:214,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].set(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,boolean)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:214,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].getMap()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:214,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:222,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:222,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].alpnProtocol(io.undertow.client.ClientCallback,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,io.undertow.connector.ByteBufferPool,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:222,1
    - Dst: '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,io.undertow.client.ClientCallback,ALPNClientSelector.ALPNProtocol)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:218,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:224,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:224,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:224,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:224,1
    - Dst: '[org.xnio.IoFuture<org.xnio.ssl.SslConnection>].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:224,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:232,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].get()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:232,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].getIoThread()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:234,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].execute()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:234,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:242,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:246,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:247,1
    - Dst: '[org.junit.Assert].assertNotNull(java.io.IOException)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:248,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:249,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:252,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:252,1
    - Dst: response.getAttachment(io.undertow.util.AttachmentKey<String>)
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:254,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].isEmpty()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:255,1
    - Dst: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].equals(String)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:255,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:255,1
    - Dst: '[org.junit.Assert].assertNotNull(java.io.IOException)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:258,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:259,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].getGoAwayStreamSourceChannel()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:260,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:261,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].getStatus()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:262,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:262,1
    - Dst: '[org.junit.Assert].assertNull(java.io.IOException)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:264,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].getGoAwayStreamSourceChannel()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:265,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:265,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:268,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - totalNumberOfRequests
    - rstStreamLimit
    - errorExpected
    - serverAddress
    argTypes:
    - int
    - int
    - boolean
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 270
      start: 187
    functionDepth: 6
    functionLinenumber: 187
    functionLinenumberEnd: 270
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 4
    functionsReached:
    - '[org.junit.Assert].assertNull(io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel)'
    - '[org.junit.Assert].assertNotNull(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].getStatus()'
    - '[org.xnio.IoFuture<org.xnio.ssl.SslConnection>].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].set(org.xnio.Option<String>)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].doPrivileged(java.security.PrivilegedAction<java.util.ServiceLoader<io.undertow.client.ClientProvider>>)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].set(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,boolean)'
    - scheme.equals(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].execute()'
    - '[io.undertow.client.ClientCallback].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].isEmpty()'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].get()'
    - '[org.xnio.OptionMap].builder()'
    - '[java.net.URI].getHost()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[org.junit.Assert].assertNotNull(io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[org.junit.Assert].assertNull(java.io.IOException)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - response.getAttachment(io.undertow.util.AttachmentKey<String>)
    - '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,io.undertow.client.ClientCallback,ALPNClientSelector.ALPNProtocol)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].getIoThread()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].alpnProtocol(io.undertow.client.ClientCallback,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,io.undertow.connector.ByteBufferPool,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].getMap()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[java.net.URI].getPort()'
    - '[org.junit.Assert].assertTrue()'
    - provider.handlesSchemes()
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.junit.Assert].assertNotNull(java.io.IOException)'
    - '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].equals(String)'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].getGoAwayStreamSourceChannel()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase,javax.net.ssl.SSLContext)'
    - '[java.net.URI].getScheme()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].assertDoSRstFramesHandled(int,int,boolean,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - String
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ALPNClientSelector.ALPNProtocol
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - listener
    - defaultHost
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - String
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,String,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(io.undertow.protocols.http2.RapidResetDDoSUnitTestCase)'
    linkageType: ''
    returnType: ALPNClientSelector.ALPNProtocol
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,String,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:279,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,null,boolean)'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.Http2ClientConnection
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - connection
    - bufferPool
    - options
    - defaultHost
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - String
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].createHttp2Channel(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,null,boolean)'
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientConnection
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].createHttp2Channel(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - responses
    - latch
    argTypes:
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 329
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 329
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.client.http2.DoSHttp2ClientConnection
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/protocols/http2/RapidResetDDoSUnitTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.RapidResetDDoSUnitTestCase
    signature: '[io.undertow.protocols.http2.RapidResetDDoSUnitTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:45,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].testResume(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseParserResumeTestCase,boolean,boolean)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:48,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: '[io.undertow.client.http.ResponseParserResumeTestCase].testMethodSplit_response1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/ResponseParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].testResume(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseParserResumeTestCase,boolean,boolean)'
    - '[RuntimeException].<init>(String,io.undertow.client.http.ResponseParserResumeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParserResumeTestCase].testMethodSplit_response1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:57,1
    - Dst: '[io.undertow.client.http.ResponseState].<init>()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:58,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].<init>()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:59,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:60,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:61,1
    - Dst: '[io.undertow.client.http.ResponseState].isComplete()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:62,1
    - Dst: '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:63,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:64,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:64,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 6
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: '[io.undertow.client.http.ResponseParserResumeTestCase].testOneCharacterAtATime_response1()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/ResponseParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpResponseBuilder].<init>()'
    - '[io.undertow.client.http.ResponseState].isComplete()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].limit()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
    - '[String].getBytes()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
    - '[io.undertow.client.http.ResponseState].<init>()'
    - '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.client.http.ResponseParserResumeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParserResumeTestCase].testOneCharacterAtATime_response1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:71,1
    - Dst: '[io.undertow.client.http.ResponseState].<init>()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:72,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].<init>()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:73,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:74,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:75,1
    - Dst: '[io.undertow.client.http.ResponseState].isComplete()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:76,1
    - Dst: '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:77,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:78,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:78,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: '[io.undertow.client.http.ResponseParserResumeTestCase].testOneCharacterAtATime_response2()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/ResponseParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpResponseBuilder].<init>()'
    - '[io.undertow.client.http.ResponseState].isComplete()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].limit()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
    - '[String].getBytes()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
    - '[io.undertow.client.http.ResponseState].<init>()'
    - '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.client.http.ResponseParserResumeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParserResumeTestCase].testOneCharacterAtATime_response2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:85,1
    - Dst: '[io.undertow.client.http.ResponseState].<init>()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:86,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].<init>()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:87,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:88,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:89,1
    - Dst: '[io.undertow.client.http.ResponseState].isComplete()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:90,1
    - Dst: '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:91,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:92,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:92,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: '[io.undertow.client.http.ResponseParserResumeTestCase].testOneCharacterAtATime_response3()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/ResponseParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpResponseBuilder].<init>()'
    - '[io.undertow.client.http.ResponseState].isComplete()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].limit()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
    - '[String].getBytes()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
    - '[io.undertow.client.http.ResponseState].<init>()'
    - '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.client.http.ResponseParserResumeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParserResumeTestCase].testOneCharacterAtATime_response3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.ResponseState].<init>()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:98,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].<init>()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:99,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:100,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:101,1
    - Dst: '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:102,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].remaining()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:103,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].capacity()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:104,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].limit(io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:104,1
    - Dst: '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:105,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:106,1
    - Dst: '[io.undertow.client.http.ResponseParserResumeTestCase].remaining()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - split
    - in
    - hasReasonPhrase
    - hasHeaders
    argTypes:
    - int
    - byte[]
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 6
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: '[io.undertow.client.http.ResponseParserResumeTestCase].testResume(int,byte[],boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/ResponseParserResumeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpResponseBuilder].<init>()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].capacity()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].limit(io.undertow.client.http.ResponseParserResumeTestCase)'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].limit(int)'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.client.http.ResponseState].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.ResponseParserResumeTestCase)'
    - '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.ResponseParserResumeTestCase,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].remaining()'
    - '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParserResumeTestCase].testResume(int,byte[],boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getStatusCode()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(int,int)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:111,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getReasonPhrase()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:112,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getProtocol()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:113,1
    - Dst: '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:113,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:116,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:116,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:116,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:117,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:117,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:117,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:118,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:118,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:118,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:119,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:119,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:119,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:119,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:120,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:120,1
    - Dst: '[java.util.Collection<io.undertow.util.HttpString>].size()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:120,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:122,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:122,1
    - Dst: '[java.util.Collection<io.undertow.util.HttpString>].size()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.ResponseParserResumeTestCase)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:122,1
    - Dst: '[io.undertow.client.http.ResponseState].isComplete()'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:125,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.client.http.ResponseParserResumeTestCase:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.http.HttpResponseBuilder
      - io.undertow.client.http.ResponseState
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - result
    - context
    - hasReasonPhrase
    - hasHeaders
    argTypes:
    - io.undertow.client.http.HttpResponseBuilder
    - io.undertow.client.http.ResponseState
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/ResponseParserResumeTestCase.java
    functionUses: 4
    functionsReached:
    - '[org.junit.Assert].assertEquals(String)'
    - '[io.undertow.client.http.HttpResponseBuilder].getProtocol()'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.client.http.HttpResponseBuilder].getReasonPhrase()'
    - '[io.undertow.client.http.HttpResponseBuilder].getStatusCode()'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.client.http.ResponseState].isComplete()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.ResponseParserResumeTestCase)'
    - '[org.junit.Assert].assertEquals(int,int)'
    - '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
    - '[org.junit.Assert].assertSame(io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.util.Collection<io.undertow.util.HttpString>].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParserResumeTestCase].runAssertions(io.undertow.client.http.HttpResponseBuilder,io.undertow.client.http.ResponseState,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.ResponseParserResumeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.ResponseParserResumeTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/ResponseParserResumeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http.ResponseParserResumeTestCase
    signature: '[io.undertow.client.http.ResponseParserResumeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.client.http.HttpClientSNITestCase:96,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientSNITestCase:97,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:100,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.client.http.HttpClientSNITestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.HttpClientSNITestCase:102,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setByteBufferPool(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.client.http.HttpClientSNITestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:103,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.client.http.HttpClientSNITestCase:103,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].addHttpsListener(io.undertow.client.http.HttpClientSNITestCase,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.HttpClientSNITestCase:101,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.HttpClientSNITestCase:101,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].setSocketOption(io.undertow.client.http.HttpClientSNITestCase,boolean)'
      Src: io.undertow.client.http.HttpClientSNITestCase:101,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.client.http.HttpClientSNITestCase:106,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:106,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].setHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.client.http.HttpClientSNITestCase:101,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].build()'
      Src: io.undertow.client.http.HttpClientSNITestCase:101,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].start()'
      Src: io.undertow.client.http.HttpClientSNITestCase:129,1
    - Dst: '[java.net.URL].<init>(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.OptionMap
      - io.undertow.util.AttachmentKey<String>
      - java.net.URL
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 131
    functionName: '[io.undertow.client.http.HttpClientSNITestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientSNITestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.URL].<init>(io.undertow.client.http.HttpClientSNITestCase)'
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.client.http.HttpClientSNITestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.client.http.HttpClientSNITestCase].setHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.client.http.HttpClientSNITestCase].createWorker(null,org.xnio.OptionMap)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setByteBufferPool(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.client.http.HttpClientSNITestCase].start()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.client.http.HttpClientSNITestCase].setSocketOption(io.undertow.client.http.HttpClientSNITestCase,boolean)'
    - '[io.undertow.client.http.HttpClientSNITestCase].build()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.client.http.HttpClientSNITestCase].addHttpsListener(io.undertow.client.http.HttpClientSNITestCase,String,javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientSNITestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.client.http.HttpClientSNITestCase:136,1
    - Dst: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.client.http.HttpClientSNITestCase:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.OptionMap
      - io.undertow.util.AttachmentKey<String>
      - java.net.URL
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: '[io.undertow.client.http.HttpClientSNITestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientSNITestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
    - '[io.undertow.Undertow].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientSNITestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].getHost()'
      Src: io.undertow.client.http.HttpClientSNITestCase:145,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:145,1
    - Dst: '[org.junit.Assume].assumeTrue(String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:146,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.HttpClientSNITestCase:148,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientSNITestCase:149,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:150,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:153,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientSNITestCase:153,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientSNITestCase:157,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].execute()'
      Src: io.undertow.client.http.HttpClientSNITestCase:157,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:163,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.HttpClientSNITestCase:165,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:165,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:166,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getResponseCode()'
      Src: io.undertow.client.http.HttpClientSNITestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:166,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getHostName()'
      Src: io.undertow.client.http.HttpClientSNITestCase:167,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:167,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.HttpClientSNITestCase:167,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:167,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.OptionMap
      - io.undertow.util.AttachmentKey<String>
      - java.net.URL
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 171
    functionName: '[io.undertow.client.http.HttpClientSNITestCase].testSNIWhenHostname()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientSNITestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getIoThread()'
    - '[io.undertow.client.http.HttpClientSNITestCase].execute()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[org.junit.Assume].assumeTrue(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.net.URL].getHost()'
    - '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[org.junit.Assert].assertEquals(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientSNITestCase)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.client.http.HttpClientSNITestCase].getResponseCode()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getHostName()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientSNITestCase].testSNIWhenHostname()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].getHost()'
      Src: io.undertow.client.http.HttpClientSNITestCase:175,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:175,1
    - Dst: '[org.junit.Assume].assumeTrue(String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:176,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getHostAddress()'
      Src: io.undertow.client.http.HttpClientSNITestCase:177,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getHostAddress()'
      Src: io.undertow.client.http.HttpClientSNITestCase:177,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.HttpClientSNITestCase:179,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientSNITestCase:180,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:181,1
    - Dst: '[java.net.URL].getPort()'
      Src: io.undertow.client.http.HttpClientSNITestCase:184,1
    - Dst: '[java.net.URI].<init>(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:184,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.client.http.HttpClientSNITestCase:185,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.HttpClientSNITestCase:185,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.HttpClientSNITestCase:186,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<String>,String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:186,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:184,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientSNITestCase:184,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientSNITestCase:188,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].execute()'
      Src: io.undertow.client.http.HttpClientSNITestCase:188,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:194,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.HttpClientSNITestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:196,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:197,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getResponseCode()'
      Src: io.undertow.client.http.HttpClientSNITestCase:197,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:197,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:198,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.HttpClientSNITestCase:198,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:198,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.OptionMap
      - io.undertow.util.AttachmentKey<String>
      - java.net.URL
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 202
    functionName: '[io.undertow.client.http.HttpClientSNITestCase].testNoSNIWhenIP()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientSNITestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getIoThread()'
    - '[io.undertow.client.http.HttpClientSNITestCase].execute()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[org.junit.Assume].assumeTrue(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.net.URL].getPort()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientSNITestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<String>,String)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.net.URL].getHost()'
    - '[java.net.URI].<init>(io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.client.http.HttpClientSNITestCase].getHostAddress()'
    - '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getResponseCode()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientSNITestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientSNITestCase].testNoSNIWhenIP()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].getHost()'
      Src: io.undertow.client.http.HttpClientSNITestCase:206,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:206,1
    - Dst: '[org.junit.Assume].assumeTrue(String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:207,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getHostAddress()'
      Src: io.undertow.client.http.HttpClientSNITestCase:208,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getHostAddress()'
      Src: io.undertow.client.http.HttpClientSNITestCase:208,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.HttpClientSNITestCase:210,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientSNITestCase:211,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:212,1
    - Dst: '[java.net.URL].getPort()'
      Src: io.undertow.client.http.HttpClientSNITestCase:215,1
    - Dst: '[java.net.URI].<init>(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:215,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.client.http.HttpClientSNITestCase:216,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.HttpClientSNITestCase:216,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.HttpClientSNITestCase:217,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getHostName()'
      Src: io.undertow.client.http.HttpClientSNITestCase:217,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<String>,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:217,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:215,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientSNITestCase:215,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientSNITestCase:219,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].execute()'
      Src: io.undertow.client.http.HttpClientSNITestCase:219,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:225,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.HttpClientSNITestCase:227,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:227,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:228,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getResponseCode()'
      Src: io.undertow.client.http.HttpClientSNITestCase:228,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:228,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getHostName()'
      Src: io.undertow.client.http.HttpClientSNITestCase:229,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:229,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.HttpClientSNITestCase:229,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:229,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.OptionMap
      - io.undertow.util.AttachmentKey<String>
      - java.net.URL
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 204
    functionDepth: 5
    functionLinenumber: 204
    functionLinenumberEnd: 233
    functionName: '[io.undertow.client.http.HttpClientSNITestCase].testForcingSNIForIP()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientSNITestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getIoThread()'
    - '[io.undertow.client.http.HttpClientSNITestCase].execute()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[org.junit.Assume].assumeTrue(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.net.URL].getPort()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.net.URL].getHost()'
    - '[java.net.URI].<init>(io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[org.junit.Assert].assertEquals(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.client.http.HttpClientSNITestCase].getHostAddress()'
    - '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getResponseCode()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getHostName()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<String>,io.undertow.client.http.HttpClientSNITestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientSNITestCase].testForcingSNIForIP()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].getHost()'
      Src: io.undertow.client.http.HttpClientSNITestCase:237,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:237,1
    - Dst: '[org.junit.Assume].assumeTrue(String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:238,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.HttpClientSNITestCase:240,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientSNITestCase:241,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:242,1
    - Dst: '[java.net.URL].getPort()'
      Src: io.undertow.client.http.HttpClientSNITestCase:245,1
    - Dst: '[java.net.URI].<init>(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:245,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.client.http.HttpClientSNITestCase:246,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.HttpClientSNITestCase:246,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.HttpClientSNITestCase:247,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<String>,String,org.xnio.Option<String>,String)'
      Src: io.undertow.client.http.HttpClientSNITestCase:247,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:245,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientSNITestCase:245,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientSNITestCase:249,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].execute()'
      Src: io.undertow.client.http.HttpClientSNITestCase:249,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:255,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.HttpClientSNITestCase:257,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:257,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:258,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getResponseCode()'
      Src: io.undertow.client.http.HttpClientSNITestCase:258,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:258,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.HttpClientSNITestCase:259,1
    - Dst: '[io.undertow.client.http.HttpClientSNITestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.HttpClientSNITestCase:259,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:259,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientSNITestCase)'
      Src: io.undertow.client.http.HttpClientSNITestCase:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.OptionMap
      - io.undertow.util.AttachmentKey<String>
      - java.net.URL
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 263
    functionName: '[io.undertow.client.http.HttpClientSNITestCase].testForcingSNIForHostname()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientSNITestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<String>,String,org.xnio.Option<String>,String)'
    - '[io.undertow.client.http.HttpClientSNITestCase].getIoThread()'
    - '[io.undertow.client.http.HttpClientSNITestCase].execute()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[org.junit.Assume].assumeTrue(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.net.URL].getPort()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientSNITestCase,io.undertow.client.http.HttpClientSNITestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.net.URL].getHost()'
    - '[java.net.URI].<init>(io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientSNITestCase)'
    - '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientSNITestCase)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.HttpClientSNITestCase].getResponseCode()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientSNITestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientSNITestCase].testForcingSNIForHostname()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.http.HttpClientSNITestCase:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.OptionMap
      - io.undertow.util.AttachmentKey<String>
      - java.net.URL
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - responses
    - latch
    argTypes:
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 318
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 318
    functionName: '[io.undertow.client.http.HttpClientSNITestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientSNITestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.HttpClientSNITestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.HttpClientSNITestCase:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.OptionMap
      - io.undertow.util.AttachmentKey<String>
      - java.net.URL
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.HttpClientSNITestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.HttpClientSNITestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientSNITestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.http.HttpClientSNITestCase
    signature: '[io.undertow.client.http.HttpClientSNITestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.client.http.Http2ClientTestCase:99,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.client.http.Http2ClientTestCase:100,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.client.http.Http2ClientTestCase:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: '[io.undertow.client.http.Http2ClientTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.io.Sender].send(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ClientTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.client.http.Http2ClientTestCase:107,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:109,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:110,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.Http2ClientTestCase:109,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:116,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.Http2ClientTestCase:109,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.client.http.Http2ClientTestCase:128,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.client.http.Http2ClientTestCase:129,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.client.http.Http2ClientTestCase:129,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2ClientTestCase:128,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2ClientTestCase:128,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].setSocketOption(io.undertow.client.http.Http2ClientTestCase,boolean)'
      Src: io.undertow.client.http.Http2ClientTestCase:128,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:132,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.Http2ClientTestCase:128,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].build()'
      Src: io.undertow.client.http.Http2ClientTestCase:128,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].start()'
      Src: io.undertow.client.http.Http2ClientTestCase:142,1
    - Dst: '[java.net.URI].<init>(io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:144,1
    - Dst: '[RuntimeException].<init>(io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:146,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.client.http.Http2ClientTestCase:150,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.client.http.Http2ClientTestCase:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 153
    functionName: '[io.undertow.client.http.Http2ClientTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ClientTestCase].start()'
    - '[org.xnio.Xnio].getInstance()'
    - '[java.net.URI].<init>(io.undertow.client.http.Http2ClientTestCase)'
    - '[io.undertow.client.http.Http2ClientTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.client.http.Http2ClientTestCase].setHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.client.http.Http2ClientTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[RuntimeException].<init>(io.undertow.client.http.Http2ClientTestCase)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.client.http.Http2ClientTestCase].setSocketOption(io.undertow.client.http.Http2ClientTestCase,boolean)'
    - '[io.undertow.client.http.Http2ClientTestCase].build()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ClientTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.client.http.Http2ClientTestCase:158,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.client.http.Http2ClientTestCase:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: '[io.undertow.client.http.Http2ClientTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    - '[io.undertow.client.http.Http2ClientTestCase].stopWorker(org.xnio.XnioWorker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ClientTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].createClient(io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.client.http.Http2ClientTestCase].createClient()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.client.http.Http2ClientTestCase].createClient(io.undertow.client.http.Http2ClientTestCase)'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.http.Http2ClientTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.Http2ClientTestCase:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.client.http.Http2ClientTestCase].createClient(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.http.Http2ClientTestCase].createClient(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].createClient()'
      Src: io.undertow.client.http.Http2ClientTestCase:174,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:176,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.Http2ClientTestCase:177,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.Http2ClientTestCase:178,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2ClientTestCase:178,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2ClientTestCase:178,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2ClientTestCase:178,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:178,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.Http2ClientTestCase:178,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].getIoThread()'
      Src: io.undertow.client.http.Http2ClientTestCase:180,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:180,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].execute(Runnable)'
      Src: io.undertow.client.http.Http2ClientTestCase:180,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:192,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.Http2ClientTestCase:194,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:194,1
    - Dst: response.getAttachment(io.undertow.util.AttachmentKey<String>)
      Src: io.undertow.client.http.Http2ClientTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:196,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 6
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: '[io.undertow.client.http.Http2ClientTestCase].testSimpleBasic()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,javax.net.ssl.SSLContext)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.Http2ClientTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.client.http.Http2ClientTestCase].execute(Runnable)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ClientTestCase)'
    - response.getAttachment(io.undertow.util.AttachmentKey<String>)
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.Http2ClientTestCase)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ClientTestCase)'
    - '[io.undertow.client.http.Http2ClientTestCase].getIoThread()'
    - '[Runnable].<init>()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.Http2ClientTestCase].createClient()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ClientTestCase].testSimpleBasic()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].createClient()'
      Src: io.undertow.client.http.Http2ClientTestCase:205,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:208,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.Http2ClientTestCase:209,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.Http2ClientTestCase:210,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:210,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].getHostAddress()'
      Src: io.undertow.client.http.Http2ClientTestCase:211,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].getHostAddress()'
      Src: io.undertow.client.http.Http2ClientTestCase:211,1
    - Dst: '[java.net.URI].getUserInfo()'
      Src: io.undertow.client.http.Http2ClientTestCase:212,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.client.http.Http2ClientTestCase:212,1
    - Dst: '[java.net.URI].getPath()'
      Src: io.undertow.client.http.Http2ClientTestCase:212,1
    - Dst: '[java.net.URI].getQuery()'
      Src: io.undertow.client.http.Http2ClientTestCase:212,1
    - Dst: '[java.net.URI].getFragment()'
      Src: io.undertow.client.http.Http2ClientTestCase:212,1
    - Dst: '[java.net.URI].<init>(String,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:212,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.Http2ClientTestCase:213,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2ClientTestCase:213,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2ClientTestCase:213,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2ClientTestCase:213,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:213,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.Http2ClientTestCase:213,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].getIoThread()'
      Src: io.undertow.client.http.Http2ClientTestCase:215,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].execute()'
      Src: io.undertow.client.http.Http2ClientTestCase:215,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:221,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.Http2ClientTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:223,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.client.http.Http2ClientTestCase:224,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 203
    functionDepth: 6
    functionLinenumber: 203
    functionLinenumberEnd: 228
    functionName: '[io.undertow.client.http.Http2ClientTestCase].testH2ServerIdentity()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,javax.net.ssl.SSLContext)'
    - '[java.net.URI].getFragment()'
    - '[java.net.URI].getUserInfo()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[java.net.URI].<init>(String,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase)'
    - '[java.net.URI].getHost()'
    - '[io.undertow.client.http.Http2ClientTestCase].createClient()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.Http2ClientTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ClientTestCase)'
    - '[java.net.InetAddress].getByName(io.undertow.client.http.Http2ClientTestCase)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ClientTestCase)'
    - '[io.undertow.client.http.Http2ClientTestCase].execute()'
    - '[java.net.URI].getPort()'
    - '[java.net.URI].getPath()'
    - '[java.net.URI].getQuery()'
    - '[org.junit.Assert].assertTrue()'
    - '[io.undertow.client.http.Http2ClientTestCase].getHostAddress()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ClientTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.Http2ClientTestCase].getIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ClientTestCase].testH2ServerIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].createClient()'
      Src: io.undertow.client.http.Http2ClientTestCase:233,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:235,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.Http2ClientTestCase:236,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.Http2ClientTestCase:237,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2ClientTestCase:237,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2ClientTestCase:237,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2ClientTestCase:237,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:237,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.Http2ClientTestCase:237,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].getIoThread()'
      Src: io.undertow.client.http.Http2ClientTestCase:239,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:239,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].execute(Runnable)'
      Src: io.undertow.client.http.Http2ClientTestCase:239,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:251,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.Http2ClientTestCase:253,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:253,1
    - Dst: response.getAttachment(io.undertow.util.AttachmentKey<String>)
      Src: io.undertow.client.http.Http2ClientTestCase:255,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:255,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 230
    functionDepth: 6
    functionLinenumber: 230
    functionLinenumberEnd: 260
    functionName: '[io.undertow.client.http.Http2ClientTestCase].testHeadRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,javax.net.ssl.SSLContext)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.Http2ClientTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.client.http.Http2ClientTestCase].execute(Runnable)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ClientTestCase)'
    - response.getAttachment(io.undertow.util.AttachmentKey<String>)
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.Http2ClientTestCase)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ClientTestCase)'
    - '[io.undertow.client.http.Http2ClientTestCase].getIoThread()'
    - '[Runnable].<init>()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.Http2ClientTestCase].createClient()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ClientTestCase].testHeadRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].createClient()'
      Src: io.undertow.client.http.Http2ClientTestCase:265,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:268,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.Http2ClientTestCase:269,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.Http2ClientTestCase:270,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2ClientTestCase:270,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2ClientTestCase:270,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2ClientTestCase:270,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:270,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.Http2ClientTestCase:270,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].getIoThread()'
      Src: io.undertow.client.http.Http2ClientTestCase:272,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:272,1
    - Dst: '[io.undertow.client.http.Http2ClientTestCase].execute(Runnable)'
      Src: io.undertow.client.http.Http2ClientTestCase:272,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:321,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.Http2ClientTestCase:323,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:323,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:325,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ClientTestCase)'
      Src: io.undertow.client.http.Http2ClientTestCase:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 262
    functionDepth: 6
    functionLinenumber: 262
    functionLinenumberEnd: 330
    functionName: '[io.undertow.client.http.Http2ClientTestCase].testPostRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase,javax.net.ssl.SSLContext)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.Http2ClientTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.client.http.Http2ClientTestCase].execute(Runnable)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ClientTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.client.http.Http2ClientTestCase,io.undertow.client.http.Http2ClientTestCase)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ClientTestCase)'
    - '[io.undertow.client.http.Http2ClientTestCase].getIoThread()'
    - '[Runnable].<init>()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.Http2ClientTestCase].createClient()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ClientTestCase].testPostRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.http.Http2ClientTestCase:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - responses
    - latch
    argTypes:
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 384
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 384
    functionName: '[io.undertow.client.http.Http2ClientTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.Http2ClientTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.Http2ClientTestCase:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.Http2ClientTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.Http2ClientTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.http.Http2ClientTestCase
    signature: '[io.undertow.client.http.Http2ClientTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:101,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:103,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:104,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:103,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:127,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setByteBufferPool(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:128,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:128,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].setSocketOption(io.undertow.client.http.Http2ReadTimeoutTestCase,int)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].setSocketOption(io.undertow.client.http.Http2ReadTimeoutTestCase,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:132,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].build()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:126,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].start()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:143,1
    - Dst: '[java.net.URL].<init>(io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:144,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:147,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 150
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].build()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].start()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setByteBufferPool(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].setSocketOption(io.undertow.client.http.Http2ReadTimeoutTestCase,boolean)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].setSocketOption(io.undertow.client.http.Http2ReadTimeoutTestCase,int)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].setHandler(io.undertow.server.HttpHandler)'
    - '[java.net.URL].<init>(io.undertow.client.http.Http2ReadTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:155,1
    - Dst: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
    - '[io.undertow.Undertow].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:165,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 7
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testBlockingSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[String].length()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testBlockingSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:171,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 7
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testNonBlockingSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[String].length()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testNonBlockingSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:177,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 7
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testBlockingException()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[String].length()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testBlockingException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:183,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 7
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testNonBlockingException()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[String].length()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testNonBlockingException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:189,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 7
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testBlockingRepetitiveSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[String].length()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testBlockingRepetitiveSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:195,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 7
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testNonBlockingRepetitiveSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[String].length()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].testNonBlockingRepetitiveSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:213,1
    - Dst: '[java.net.URL].toURI()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:214,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:215,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ReadTimeoutTestCase,io.undertow.client.http.Http2ReadTimeoutTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:215,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:216,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:217,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:217,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].getMap()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:217,1
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.http.Http2ReadTimeoutTestCase,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:214,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:214,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:222,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:223,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:226,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].getIoThread()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:227,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].execute()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:227,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:234,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:234,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:235,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:235,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].iterator()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:236,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].next()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:236,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].isResponse()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:238,1
    - Dst: '[org.junit.Assert].assertFalse(String,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:238,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:239,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].isResponse()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:241,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:241,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].getResponse()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:242,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].getResponseCode()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:242,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:242,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].getResponse()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:243,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:243,1
    - Dst: Integer.parseInt(io.undertow.client.http.Http2ReadTimeoutTestCase)
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:244,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:244,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ReadTimeoutTestCase)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - int
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - blocking
    - size
    - timeout
    - repetitiveTimeout
    - expectedException
    argTypes:
    - boolean
    - int
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 249
      start: 211
    functionDepth: 6
    functionLinenumber: 211
    functionLinenumberEnd: 249
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].getMap()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].getResponse()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].execute()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].next()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].getResponseCode()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.http.Http2ReadTimeoutTestCase,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2ReadTimeoutTestCase)'
    - '[java.net.URL].toURI()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.junit.Assert].assertFalse(String,io.undertow.client.http.Http2ReadTimeoutTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].getIoThread()'
    - '[java.util.concurrent.CopyOnWriteArrayList].iterator()'
    - Integer.parseInt(io.undertow.client.http.Http2ReadTimeoutTestCase)
    - System.currentTimeMillis()
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2ReadTimeoutTestCase)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2ReadTimeoutTestCase)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2ReadTimeoutTestCase,io.undertow.client.http.Http2ReadTimeoutTestCase,javax.net.ssl.SSLContext)'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.Http2ReadTimeoutTestCase)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase].isResponse()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.client.http.Http2ReadTimeoutTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      - java.util.List<ClientResponseOrException>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - size
    - timeout
    - repetitiveTimeout
    - responses
    - latch
    argTypes:
    - int
    - int
    - boolean
    - java.util.List<ClientResponseOrException>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 301
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 301
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].createClientCallback(int,int,boolean,java.util.List<ClientResponseOrException>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].createClientCallback(int,int,boolean,java.util.List<ClientResponseOrException>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.Http2ReadTimeoutTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.http.Http2ReadTimeoutTestCase
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      classConcrete: true
      classEnum: false
      classFields:
      - Sender
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PartialBytesCallback
      - ErrorCallback
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sender
    argTypes:
    - io.undertow.io.Sender
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback].<init>(io.undertow.io.Sender)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback].<init>(io.undertow.io.Sender)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(int)
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback:321,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Sender
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PartialBytesCallback
      - ErrorCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - message
    - last
    argTypes:
    - io.undertow.server.HttpServerExchange
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].send(io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback)'
    - Integer.toString(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback].onException(io.undertow.server.HttpServerExchange,Sender,java.io.IOException)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - Sender
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PartialBytesCallback
      - ErrorCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback].error(io.undertow.server.HttpServerExchange,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback].onException(io.undertow.server.HttpServerExchange,Sender,java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ReceiverCallback].error(io.undertow.server.HttpServerExchange,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: message.getBytes()
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:348,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:348,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].wrapBuffer()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientExchange
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - int
      - int
      - ByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - result
    - size
    - timeout
    argTypes:
    - io.undertow.client.ClientExchange
    - int
    - int
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].<init>(io.undertow.client.ClientExchange,int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].wrap(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].wrapBuffer()'
    - message.getBytes()
    linkageType: ''
    returnType: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].<init>(io.undertow.client.ClientExchange,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientExchange].getRequestChannel()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:354,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - int
      - int
      - ByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].run()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.client.ClientExchange].getRequestChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:362,1
    - Dst: '[ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:364,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].wrapBuffer()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:365,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:367,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:377,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:379,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener,int,io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:380,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].isWriteResumed()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:381,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:382,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:385,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - int
      - int
      - ByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 387
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 387
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
    - '[ByteBuffer].hasRemaining()'
    - '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer)'
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener,int,io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
    - '[org.xnio.channels.StreamSinkChannel].isWriteResumed()'
    - '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].wrapBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteBuffer].position(int)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:390,1
    - Dst: '[ByteBuffer].capacity()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:391,1
    - Dst: '[ByteBuffer].limit(int)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:392,1
    - Dst: '[ByteBuffer].capacity()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:394,1
    - Dst: '[ByteBuffer].limit(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - int
      - int
      - ByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].wrapBuffer()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 2
    functionsReached:
    - '[ByteBuffer].position(int)'
    - '[ByteBuffer].limit(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
    - '[ByteBuffer].limit(int)'
    - '[ByteBuffer].capacity()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].wrapBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:400,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:401,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:402,1
    - Dst: '[org.xnio.ChannelListeners].closingChannelExceptionHandler()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:404,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:402,1
    - Dst: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].set(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:402,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:405,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - int
      - int
      - ByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 410
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 410
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[org.xnio.ChannelListeners].closingChannelExceptionHandler()'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].set(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.WriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientResponse
      classConcrete: true
      classEnum: false
      classFields:
      - ClientResponse
      - IOException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - io.undertow.client.ClientResponse
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].<init>(io.undertow.client.ClientResponse)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].<init>(io.undertow.client.ClientResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - ClientResponse
      - IOException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exception
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].<init>(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].<init>(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClientResponse
      - IOException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].getResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].getResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClientResponse
      - IOException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].getException()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].getException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClientResponse
      - IOException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].isResponse()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2ReadTimeoutTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.Http2ReadTimeoutTestCase.ClientResponseOrException].isResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.client.http.AjpClientTestCase:99,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.client.http.AjpClientTestCase:100,1
    - Dst: '[String].length()'
      Src: io.undertow.client.http.AjpClientTestCase:100,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.AjpClientTestCase:100,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.client.http.AjpClientTestCase:101,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.client.http.AjpClientTestCase:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: '[io.undertow.client.http.AjpClientTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].send(String)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[String].length()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.AjpClientTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.client.http.AjpClientTestCase:108,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.client.http.AjpClientTestCase:108,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.client.http.AjpClientTestCase:109,1
    - Dst: '[Undertow.ListenerBuilder].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:109,1
    - Dst: '[Undertow.ListenerBuilder].setType(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:109,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].setPort(int)'
      Src: io.undertow.client.http.AjpClientTestCase:109,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addListener(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:109,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:110,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
      Src: io.undertow.client.http.AjpClientTestCase:110,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
      Src: io.undertow.client.http.AjpClientTestCase:110,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].setHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.client.http.AjpClientTestCase:109,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].build()'
      Src: io.undertow.client.http.AjpClientTestCase:109,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].start()'
      Src: io.undertow.client.http.AjpClientTestCase:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: '[io.undertow.client.http.AjpClientTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.client.http.AjpClientTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[io.undertow.client.http.AjpClientTestCase].setPort(int)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[Undertow.ListenerBuilder].setType(io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.client.http.AjpClientTestCase].setHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.client.http.AjpClientTestCase].build()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addListener(io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.client.http.AjpClientTestCase].start()'
    - '[io.undertow.Undertow].builder()'
    - '[Undertow.ListenerBuilder].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.AjpClientTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.client.http.AjpClientTestCase:120,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.client.http.AjpClientTestCase:121,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.client.http.AjpClientTestCase:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: '[io.undertow.client.http.AjpClientTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.AjpClientTestCase].stopWorker(org.xnio.XnioWorker)'
    - '[io.undertow.Undertow].stop()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.AjpClientTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.AjpClientTestCase:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[io.undertow.client.http.AjpClientTestCase].createClient()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.http.AjpClientTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.AjpClientTestCase].createClient()'
      Src: io.undertow.client.http.AjpClientTestCase:135,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:137,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.AjpClientTestCase:138,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:139,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.AjpClientTestCase:139,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.AjpClientTestCase:141,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].execute()'
      Src: io.undertow.client.http.AjpClientTestCase:141,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:149,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].assertTrue(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:149,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.AjpClientTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:151,1
    - Dst: response.getAttachment(io.undertow.util.AttachmentKey<String>)
      Src: io.undertow.client.http.AjpClientTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:153,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 158
    functionName: '[io.undertow.client.http.AjpClientTestCase].testSimpleBasic()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.client.http.AjpClientTestCase].createClient()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.AjpClientTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.AjpClientTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.client.http.AjpClientTestCase].assertTrue(io.undertow.client.http.AjpClientTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.client.http.AjpClientTestCase].getIoThread()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.client.http.AjpClientTestCase].execute()'
    - response.getAttachment(io.undertow.util.AttachmentKey<String>)
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.AjpClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.AjpClientTestCase].testSimpleBasic()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.AjpClientTestCase].createClient()'
      Src: io.undertow.client.http.AjpClientTestCase:164,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:166,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:167,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.AjpClientTestCase:168,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:169,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.AjpClientTestCase:169,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].isPingSupported()'
      Src: io.undertow.client.http.AjpClientTestCase:170,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].assertTrue(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:170,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.AjpClientTestCase:172,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].execute()'
      Src: io.undertow.client.http.AjpClientTestCase:172,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:192,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].assertTrue(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:192,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.AjpClientTestCase:194,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:194,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.client.http.AjpClientTestCase:195,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].get()'
      Src: io.undertow.client.http.AjpClientTestCase:195,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].assertTrue(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:195,1
    - Dst: response.getAttachment(io.undertow.util.AttachmentKey<String>)
      Src: io.undertow.client.http.AjpClientTestCase:197,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:197,1
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.client.http.AjpClientTestCase:202,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:204,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.AjpClientTestCase:205,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].execute()'
      Src: io.undertow.client.http.AjpClientTestCase:205,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.client.http.AjpClientTestCase:218,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].get()'
      Src: io.undertow.client.http.AjpClientTestCase:218,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.client.http.AjpClientTestCase:219,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.client.http.AjpClientTestCase:227,1
    - Dst: '[io.undertow.Undertow].start()'
      Src: io.undertow.client.http.AjpClientTestCase:231,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:235,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 237
    functionName: '[io.undertow.client.http.AjpClientTestCase].testSendPing()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.AjpClientTestCase)'
    - '[org.junit.Assert].fail(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.client.http.AjpClientTestCase].createClient()'
    - '[io.undertow.client.http.AjpClientTestCase].assertTrue(io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.Undertow].start()'
    - '[io.undertow.Undertow].stop()'
    - '[io.undertow.client.http.AjpClientTestCase].get()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.AjpClientTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.client.http.AjpClientTestCase].execute()'
    - response.getAttachment(io.undertow.util.AttachmentKey<String>)
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.AjpClientTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.AjpClientTestCase)'
    - Thread.sleep(int)
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.client.http.AjpClientTestCase].getIoThread()'
    - '[io.undertow.client.http.AjpClientTestCase].isPingSupported()'
    - '[org.xnio.FutureResult].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.AjpClientTestCase].testSendPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.AjpClientTestCase].createClient()'
      Src: io.undertow.client.http.AjpClientTestCase:243,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:246,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.AjpClientTestCase:247,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:248,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.AjpClientTestCase:248,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.AjpClientTestCase:250,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].execute()'
      Src: io.undertow.client.http.AjpClientTestCase:250,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:295,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].assertTrue(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:295,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.AjpClientTestCase:297,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:297,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.client.http.AjpClientTestCase,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:299,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 304
    functionName: '[io.undertow.client.http.AjpClientTestCase].testPostRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.client.http.AjpClientTestCase].createClient()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.AjpClientTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.junit.Assert].assertEquals(io.undertow.client.http.AjpClientTestCase,io.undertow.client.http.AjpClientTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.client.http.AjpClientTestCase].assertTrue(io.undertow.client.http.AjpClientTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.client.http.AjpClientTestCase].getIoThread()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.client.http.AjpClientTestCase].execute()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.AjpClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.AjpClientTestCase].testPostRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.AjpClientTestCase].createClient()'
      Src: io.undertow.client.http.AjpClientTestCase:311,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.AjpClientTestCase:313,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:314,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.AjpClientTestCase:314,1
    - Dst: '[io.undertow.client.ClientRequest].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:316,1
    - Dst: '[io.undertow.client.ClientRequest].setPath(String)'
      Src: io.undertow.client.http.AjpClientTestCase:316,1
    - Dst: '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.AjpClientTestCase:316,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.AjpClientTestCase:317,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.client.http.AjpClientTestCase:317,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.AjpClientTestCase:317,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:318,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.AjpClientTestCase:319,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http.AjpClientTestCase:319,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.AjpClientTestCase:319,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].createClientCallback(java.util.concurrent.CopyOnWriteArrayList,java.util.concurrent.CountDownLatch)'
      Src: io.undertow.client.http.AjpClientTestCase:320,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
      Src: io.undertow.client.http.AjpClientTestCase:320,1
    - Dst: '[java.util.concurrent.CountDownLatch].await()'
      Src: io.undertow.client.http.AjpClientTestCase:321,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].iterator()'
      Src: io.undertow.client.http.AjpClientTestCase:322,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].next()'
      Src: io.undertow.client.http.AjpClientTestCase:322,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.AjpClientTestCase:323,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:323,1
    - Dst: '[io.undertow.client.http.AjpClientTestCase].isOpen()'
      Src: io.undertow.client.http.AjpClientTestCase:324,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:324,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.AjpClientTestCase)'
      Src: io.undertow.client.http.AjpClientTestCase:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: '[io.undertow.client.http.AjpClientTestCase].testConnectionClose()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientRequest].setPath(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.client.http.AjpClientTestCase].createClient()'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.client.ClientRequest].<init>()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.client.http.AjpClientTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[java.util.concurrent.CountDownLatch].await()'
    - '[io.undertow.client.http.AjpClientTestCase].isOpen()'
    - '[io.undertow.client.http.AjpClientTestCase].createClientCallback(java.util.concurrent.CopyOnWriteArrayList,java.util.concurrent.CountDownLatch)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.client.http.AjpClientTestCase].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CopyOnWriteArrayList].iterator()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.client.http.AjpClientTestCase].next()'
    - '[org.junit.Assert].assertFalse(io.undertow.client.http.AjpClientTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.AjpClientTestCase)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.AjpClientTestCase].testConnectionClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.http.AjpClientTestCase:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - responses
    - latch
    argTypes:
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 381
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 381
    functionName: '[io.undertow.client.http.AjpClientTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.AjpClientTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.client.http.AjpClientTestCase:74,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.AjpClientTestCase:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - int
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.AjpClientTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 3
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.AjpClientTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/AjpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.http.AjpClientTestCase
    signature: '[io.undertow.client.http.AjpClientTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:96,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:98,1
    - Dst: header.getFirst()
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:99,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].startsWith(String)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:99,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:100,1
    - Dst: header.getHeaderName()
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:100,1
    - Dst: header.size()
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:100,1
    - Dst: header.subList(int,io.undertow.client.http.H2CUpgradeContinuationTestCase)
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:100,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.client.http.H2CUpgradeContinuationTestCase,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:100,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:104,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:105,1
    - Dst: '[Receiver.FullStringCallback].<init>()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:105,1
    - Dst: '[io.undertow.io.Receiver].receiveFullString(Receiver.FullStringCallback)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:105,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:112,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendEchoResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeContinuationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].send(String)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - header.getHeaderName()
    - header.size()
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - header.getFirst()
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - header.subList(int,io.undertow.client.http.H2CUpgradeContinuationTestCase)
    - '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
    - '[Receiver.FullStringCallback].<init>()'
    - '[io.undertow.io.Receiver].receiveFullString(Receiver.FullStringCallback)'
    - '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.client.http.H2CUpgradeContinuationTestCase,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendEchoResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:125,1
    - Dst: '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:125,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:127,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:128,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:127,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:135,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setByteBufferPool(io.undertow.testutils.DebuggingSlicePool)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:135,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:137,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:137,1
    - Dst: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:137,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].addHttpListener(int,String,io.undertow.server.protocol.http2.Http2UpgradeHandler)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:135,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].setSocketOption(io.undertow.client.http.H2CUpgradeContinuationTestCase,boolean)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:135,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].build()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:135,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].start()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:140,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:143,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:144,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].set(io.undertow.client.http.H2CUpgradeContinuationTestCase,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:144,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].set(io.undertow.client.http.H2CUpgradeContinuationTestCase,boolean)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:144,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].set(io.undertow.client.http.H2CUpgradeContinuationTestCase,boolean)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:144,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].getMap()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:144,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].createWorker(null,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 150
    functionName: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeContinuationTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].addHttpListener(int,String,io.undertow.server.protocol.http2.Http2UpgradeHandler)'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].getMap()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.testutils.DebuggingSlicePool].<init>(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].createWorker(null,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].set(io.undertow.client.http.H2CUpgradeContinuationTestCase,boolean)'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].start()'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int,int)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].set(io.undertow.client.http.H2CUpgradeContinuationTestCase,int)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].setSocketOption(io.undertow.client.http.H2CUpgradeContinuationTestCase,boolean)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setByteBufferPool(io.undertow.testutils.DebuggingSlicePool)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].build()'
    - '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.handlers.PathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:158,1
    - Dst: '[org.xnio.XnioWorker].shutdown()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:161,1
    - Dst: '[io.undertow.connector.ByteBufferPool].close()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeContinuationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.ByteBufferPool].close()'
    - '[io.undertow.Undertow].stop()'
    - '[org.xnio.XnioWorker].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:180,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:181,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:182,1
    - Dst: '[StringBuilder].append(int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:184,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:186,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:186,1
    - Dst: '[io.undertow.client.ClientConnection].getIoThread()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:187,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:187,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:187,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:206,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:208,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:208,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:210,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].getResponseCode()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:210,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:210,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:211,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:211,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:211,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:213,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].getResponseHeaders()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:213,1
    - Dst: header.getFirst()
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:214,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].startsWith(String)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:214,1
    - Dst: header.size()
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:215,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientConnection
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - connection
    - requestCount
    - headersCount
    - contentLength
    argTypes:
    - io.undertow.client.ClientConnection
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 220
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 220
    functionName: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.ClientConnection,int,int,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeContinuationTestCase.java
    functionUses: 0
    functionsReached:
    - header.size()
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    - '[Runnable].<init>()'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].getResponseHeaders()'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].startsWith(String)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].getResponseCode()'
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    - '[StringBuilder].append(int)'
    - '[io.undertow.client.ClientConnection].getIoThread()'
    - '[StringBuilder].length()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[StringBuilder].<init>()'
    - header.getFirst()
    - '[StringBuilder].toString()'
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[java.util.concurrent.CopyOnWriteArrayList].get(io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.ClientConnection,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:229,1
    - Dst: '[java.net.URI].<init>(io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:233,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:234,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.H2CUpgradeContinuationTestCase,io.undertow.client.http.H2CUpgradeContinuationTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:234,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:235,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:232,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:232,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.http.H2CUpgradeContinuationTestCase,int,int,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:238,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.http.H2CUpgradeContinuationTestCase,int,int,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:240,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.http.H2CUpgradeContinuationTestCase,int,int,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:241,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.http.H2CUpgradeContinuationTestCase,int,int,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:242,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.http.H2CUpgradeContinuationTestCase,int,int,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:243,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.http.H2CUpgradeContinuationTestCase,int,int,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:244,1
    - Dst: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.http.H2CUpgradeContinuationTestCase,int,int,int)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:245,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.H2CUpgradeContinuationTestCase)'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 249
    functionName: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].testDifferentSizes()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeContinuationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.H2CUpgradeContinuationTestCase].sendRequest(io.undertow.client.http.H2CUpgradeContinuationTestCase,int,int,int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[java.net.URI].<init>(io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.H2CUpgradeContinuationTestCase)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.H2CUpgradeContinuationTestCase,io.undertow.client.http.H2CUpgradeContinuationTestCase,javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].testDifferentSizes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - responses
    - latch
    - message
    argTypes:
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    - String
    constantsTouched: []
    func_position:
      end: 309
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 309
    functionName: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch,String)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeContinuationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.H2CUpgradeContinuationTestCase:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.H2CUpgradeContinuationTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeContinuationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.http.H2CUpgradeContinuationTestCase
    signature: '[io.undertow.client.http.H2CUpgradeContinuationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.client.http.HttpClientTestCase:109,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.client.http.HttpClientTestCase:110,1
    - Dst: '[String].length()'
      Src: io.undertow.client.http.HttpClientTestCase:110,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.HttpClientTestCase:110,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.client.http.HttpClientTestCase:111,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.client.http.HttpClientTestCase:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: '[io.undertow.client.http.HttpClientTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].send(String)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[String].length()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].sendMessage(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.client.http.HttpClientTestCase:118,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientTestCase:119,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:121,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:122,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.HttpClientTestCase:121,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:128,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.HttpClientTestCase:121,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:148,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.HttpClientTestCase:121,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:164,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.HttpClientTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.client.http.HttpClientTestCase:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 175
    functionName: '[io.undertow.client.http.HttpClientTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.client.http.HttpClientTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.client.http.HttpClientTestCase:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.client.http.HttpClientTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientTestCase].stopWorker(org.xnio.XnioWorker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClient(io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: '[io.undertow.client.http.HttpClientTestCase].createClient()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.client.http.HttpClientTestCase].createClient(io.undertow.client.http.HttpClientTestCase)'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.http.HttpClientTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.HttpClientTestCase:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: '[io.undertow.client.http.HttpClientTestCase].createClient(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getInstance()'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.http.HttpClientTestCase].createClient(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClient()'
      Src: io.undertow.client.http.HttpClientTestCase:193,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:195,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientTestCase:196,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:197,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientTestCase:197,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:199,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:199,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute(Runnable)'
      Src: io.undertow.client.http.HttpClientTestCase:199,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:211,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.HttpClientTestCase:213,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:213,1
    - Dst: response.getAttachment(io.undertow.util.AttachmentKey<String>)
      Src: io.undertow.client.http.HttpClientTestCase:215,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:215,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 220
    functionName: '[io.undertow.client.http.HttpClientTestCase].testSimpleBasic()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.client.http.HttpClientTestCase].execute(Runnable)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
    - response.getAttachment(io.undertow.util.AttachmentKey<String>)
    - '[io.undertow.client.http.HttpClientTestCase].createClient()'
    - '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
    - '[Runnable].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].testSimpleBasic()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClient()'
      Src: io.undertow.client.http.HttpClientTestCase:225,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:228,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientTestCase:229,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:230,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientTestCase:230,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:232,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:232,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute(Runnable)'
      Src: io.undertow.client.http.HttpClientTestCase:232,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:281,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.HttpClientTestCase:283,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:283,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:285,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 290
    functionName: '[io.undertow.client.http.HttpClientTestCase].testPostRequest()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.client.http.HttpClientTestCase].execute(Runnable)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].createClient()'
    - '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[org.junit.Assert].assertEquals(io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientTestCase)'
    - '[Runnable].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].testPostRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClient()'
      Src: io.undertow.client.http.HttpClientTestCase:296,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:298,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientTestCase:299,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.client.http.HttpClientTestCase:300,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.HttpClientTestCase:301,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.HttpClientTestCase:302,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:304,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientTestCase:304,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:306,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:306,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute(Runnable)'
      Src: io.undertow.client.http.HttpClientTestCase:306,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:318,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.HttpClientTestCase:320,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:320,1
    - Dst: response.getAttachment(io.undertow.util.AttachmentKey<String>)
      Src: io.undertow.client.http.HttpClientTestCase:322,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:322,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:325,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:325,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute(Runnable)'
      Src: io.undertow.client.http.HttpClientTestCase:325,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.client.http.HttpClientTestCase:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 293
    functionDepth: 6
    functionLinenumber: 293
    functionLinenumberEnd: 333
    functionName: '[io.undertow.client.http.HttpClientTestCase].testSsl()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.http.HttpClientTestCase].execute(Runnable)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].createClient()'
    - response.getAttachment(io.undertow.util.AttachmentKey<String>)
    - '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[Runnable].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].testSsl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClient()'
      Src: io.undertow.client.http.HttpClientTestCase:337,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:340,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientTestCase:341,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.client.http.HttpClientTestCase:342,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.HttpClientTestCase:343,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.HttpClientTestCase:344,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.client.http.HttpClientTestCase:347,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.client.http.HttpClientTestCase:347,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientTestCase:348,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:348,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getHostAddress()'
      Src: io.undertow.client.http.HttpClientTestCase:349,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getHostAddress()'
      Src: io.undertow.client.http.HttpClientTestCase:349,1
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.client.http.HttpClientTestCase:350,1
    - Dst: '[java.net.URI].getUserInfo()'
      Src: io.undertow.client.http.HttpClientTestCase:350,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.client.http.HttpClientTestCase:350,1
    - Dst: '[java.net.URI].getPath()'
      Src: io.undertow.client.http.HttpClientTestCase:350,1
    - Dst: '[java.net.URI].getQuery()'
      Src: io.undertow.client.http.HttpClientTestCase:350,1
    - Dst: '[java.net.URI].getFragment()'
      Src: io.undertow.client.http.HttpClientTestCase:350,1
    - Dst: '[java.net.URI].<init>(io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:350,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:353,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientTestCase:353,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:355,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute()'
      Src: io.undertow.client.http.HttpClientTestCase:355,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:361,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.HttpClientTestCase:363,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:363,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.client.http.HttpClientTestCase:364,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:366,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute()'
      Src: io.undertow.client.http.HttpClientTestCase:366,1
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.client.http.HttpClientTestCase:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 369
    functionName: '[io.undertow.client.http.HttpClientTestCase].testSslServerIdentity()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[java.net.URI].getFragment()'
    - '[java.net.URI].getUserInfo()'
    - '[java.net.InetAddress].getByName(io.undertow.client.http.HttpClientTestCase)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
    - '[java.net.URI].getHost()'
    - '[io.undertow.client.http.HttpClientTestCase].execute()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.testutils.DebuggingSlicePool,javax.net.ssl.SSLContext)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.client.http.HttpClientTestCase].getHostAddress()'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.client.http.HttpClientTestCase].createClient()'
    - '[java.net.URI].getPort()'
    - '[java.net.URI].<init>(io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase,io.undertow.client.http.HttpClientTestCase)'
    - '[java.net.URI].getPath()'
    - '[java.net.URI].getQuery()'
    - '[org.junit.Assert].assertTrue()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[java.net.URI].getScheme()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.client.http.HttpClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].testSslServerIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClient()'
      Src: io.undertow.client.http.HttpClientTestCase:374,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientTestCase:376,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:377,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientTestCase:377,1
    - Dst: '[io.undertow.client.ClientRequest].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:379,1
    - Dst: '[io.undertow.client.ClientRequest].setPath(String)'
      Src: io.undertow.client.http.HttpClientTestCase:379,1
    - Dst: '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientTestCase:379,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientTestCase:380,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.client.http.HttpClientTestCase:380,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.HttpClientTestCase:380,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:381,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientTestCase:382,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http.HttpClientTestCase:382,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.HttpClientTestCase:382,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClientCallback(java.util.concurrent.CopyOnWriteArrayList,java.util.concurrent.CountDownLatch)'
      Src: io.undertow.client.http.HttpClientTestCase:383,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
      Src: io.undertow.client.http.HttpClientTestCase:383,1
    - Dst: '[java.util.concurrent.CountDownLatch].await()'
      Src: io.undertow.client.http.HttpClientTestCase:384,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].iterator()'
      Src: io.undertow.client.http.HttpClientTestCase:385,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].next()'
      Src: io.undertow.client.http.HttpClientTestCase:385,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.HttpClientTestCase:386,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:386,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].isOpen()'
      Src: io.undertow.client.http.HttpClientTestCase:387,1
    - Dst: '[org.junit.Assert].assertEquals(boolean,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:387,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 392
    functionName: '[io.undertow.client.http.HttpClientTestCase].testConnectionClose()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientRequest].setPath(String)'
    - '[io.undertow.client.http.HttpClientTestCase].isOpen()'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.client.ClientRequest].<init>()'
    - '[java.util.concurrent.CountDownLatch].await()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.HttpClientTestCase)'
    - '[org.junit.Assert].assertEquals(boolean,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.client.http.HttpClientTestCase].createClient()'
    - '[java.util.concurrent.CopyOnWriteArrayList].iterator()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.client.http.HttpClientTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].createClientCallback(java.util.concurrent.CopyOnWriteArrayList,java.util.concurrent.CountDownLatch)'
    - '[io.undertow.client.http.HttpClientTestCase].next()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].testConnectionClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClient()'
      Src: io.undertow.client.http.HttpClientTestCase:397,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:400,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientTestCase:401,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http.HttpClientTestCase:402,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].set(io.undertow.client.http.HttpClientTestCase,int)'
      Src: io.undertow.client.http.HttpClientTestCase:403,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.HttpClientTestCase:404,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getMap()'
      Src: io.undertow.client.http.HttpClientTestCase:404,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:404,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientTestCase:404,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:406,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute()'
      Src: io.undertow.client.http.HttpClientTestCase:406,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:411,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:411,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.client.http.HttpClientTestCase:413,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:415,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute()'
      Src: io.undertow.client.http.HttpClientTestCase:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 417
    functionName: '[io.undertow.client.http.HttpClientTestCase].testReadTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.client.http.HttpClientTestCase].set(io.undertow.client.http.HttpClientTestCase,int)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.junit.Assert].assertTrue()'
    - '[org.junit.Assert].assertTrue(io.undertow.client.http.HttpClientTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].createClient()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].execute()'
    - '[io.undertow.client.http.HttpClientTestCase].getMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].testReadTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientTestCase].createClient()'
      Src: io.undertow.client.http.HttpClientTestCase:421,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:424,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.HttpClientTestCase:425,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http.HttpClientTestCase:426,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].set(io.undertow.client.http.HttpClientTestCase,int)'
      Src: io.undertow.client.http.HttpClientTestCase:426,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.HttpClientTestCase:427,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getMap()'
      Src: io.undertow.client.http.HttpClientTestCase:427,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:427,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.HttpClientTestCase:427,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:429,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute()'
      Src: io.undertow.client.http.HttpClientTestCase:429,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:434,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.client.http.HttpClientTestCase)'
      Src: io.undertow.client.http.HttpClientTestCase:434,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.client.http.HttpClientTestCase:436,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
      Src: io.undertow.client.http.HttpClientTestCase:438,1
    - Dst: '[io.undertow.client.http.HttpClientTestCase].execute()'
      Src: io.undertow.client.http.HttpClientTestCase:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 440
    functionName: '[io.undertow.client.http.HttpClientTestCase].testReadTimeoutAtInit()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.client.http.HttpClientTestCase].set(io.undertow.client.http.HttpClientTestCase,int)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.junit.Assert].assertTrue()'
    - '[org.junit.Assert].assertTrue(io.undertow.client.http.HttpClientTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].createClient()'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.client.http.HttpClientTestCase].getIoThread()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientTestCase)'
    - '[io.undertow.client.http.HttpClientTestCase].execute()'
    - '[io.undertow.client.http.HttpClientTestCase].getMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientTestCase].testReadTimeoutAtInit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.http.HttpClientTestCase:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - responses
    - latch
    argTypes:
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 500
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 500
    functionName: '[io.undertow.client.http.HttpClientTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.HttpClientTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.HttpClientTestCase:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - org.xnio.XnioWorker
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.util.AttachmentKey<String>
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.HttpClientTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.HttpClientTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/HttpClientTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.http.HttpClientTestCase
    signature: '[io.undertow.client.http.HttpClientTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:85,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:86,1
    - Dst: '[Receiver.FullStringCallback].<init>()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:86,1
    - Dst: '[io.undertow.io.Receiver].receiveFullString(Receiver.FullStringCallback)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:86,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:93,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<String>
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: '[io.undertow.client.http.H2CUpgradeResetTestCase].sendEchoResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeResetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].send(String)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.io.Receiver].receiveFullString(Receiver.FullStringCallback)'
    - '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
    - '[Receiver.FullStringCallback].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeResetTestCase].sendEchoResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:105,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:106,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:105,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:114,1
    - Dst: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:114,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String,io.undertow.server.protocol.http2.Http2UpgradeHandler)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:113,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].setSocketOption(io.undertow.client.http.H2CUpgradeResetTestCase,boolean)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:113,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].build()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:113,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].start()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:117,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:120,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:121,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].set(io.undertow.client.http.H2CUpgradeResetTestCase,int)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:121,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].set(io.undertow.client.http.H2CUpgradeResetTestCase,boolean)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:121,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].set(io.undertow.client.http.H2CUpgradeResetTestCase,boolean)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:121,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].getMap()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:121,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].createWorker(null,io.undertow.client.http.H2CUpgradeResetTestCase)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<String>
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: '[io.undertow.client.http.H2CUpgradeResetTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeResetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].getMap()'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].set(io.undertow.client.http.H2CUpgradeResetTestCase,boolean)'
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addHttpListener(int,String,io.undertow.server.protocol.http2.Http2UpgradeHandler)'
    - '[io.undertow.testutils.DefaultServer].getHostPort()'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].set(io.undertow.client.http.H2CUpgradeResetTestCase,int)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].start()'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].createWorker(null,io.undertow.client.http.H2CUpgradeResetTestCase)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].build()'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].setSocketOption(io.undertow.client.http.H2CUpgradeResetTestCase,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeResetTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:135,1
    - Dst: '[org.xnio.XnioWorker].shutdown()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<String>
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: '[io.undertow.client.http.H2CUpgradeResetTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeResetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].stop()'
    - '[org.xnio.XnioWorker].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeResetTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:152,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:153,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:154,1
    - Dst: '[StringBuilder].append(int)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:156,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:158,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:158,1
    - Dst: '[io.undertow.client.ClientConnection].getIoThread()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:159,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:159,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:159,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.H2CUpgradeResetTestCase)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:171,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:173,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.H2CUpgradeResetTestCase)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:173,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:174,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].getResponseCode()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:174,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.H2CUpgradeResetTestCase)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:174,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:175,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:175,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.H2CUpgradeResetTestCase)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientConnection
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<String>
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - connection
    - contentLength
    - reset
    argTypes:
    - io.undertow.client.ClientConnection
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 176
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 176
    functionName: '[io.undertow.client.http.H2CUpgradeResetTestCase].sendRequest(io.undertow.client.ClientConnection,int,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeResetTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.CopyOnWriteArrayList].get(int)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.H2CUpgradeResetTestCase)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    - '[StringBuilder].append(int)'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.H2CUpgradeResetTestCase)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[io.undertow.client.ClientConnection].getIoThread()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].getResponseCode()'
    - '[StringBuilder].length()'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.H2CUpgradeResetTestCase)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeResetTestCase].sendRequest(io.undertow.client.ClientConnection,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:184,1
    - Dst: '[java.net.URI].<init>(io.undertow.client.http.H2CUpgradeResetTestCase)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:188,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:189,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.H2CUpgradeResetTestCase,io.undertow.client.http.H2CUpgradeResetTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:189,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:190,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:190,1
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.H2CUpgradeResetTestCase)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:187,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:187,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].sendRequest(io.undertow.client.http.H2CUpgradeResetTestCase,int,boolean)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:193,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].sendRequest(io.undertow.client.http.H2CUpgradeResetTestCase,int,boolean)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:195,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].sendRequest(io.undertow.client.http.H2CUpgradeResetTestCase,int,boolean)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:196,1
    - Dst: '[io.undertow.client.http.H2CUpgradeResetTestCase].sendRequest(io.undertow.client.http.H2CUpgradeResetTestCase,int,boolean)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:197,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.H2CUpgradeResetTestCase)'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<String>
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 201
    functionName: '[io.undertow.client.http.H2CUpgradeResetTestCase].testUpgradeWithReset()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeResetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[java.net.URI].<init>(io.undertow.client.http.H2CUpgradeResetTestCase)'
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.H2CUpgradeResetTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.H2CUpgradeResetTestCase,io.undertow.client.http.H2CUpgradeResetTestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.http.H2CUpgradeResetTestCase].sendRequest(io.undertow.client.http.H2CUpgradeResetTestCase,int,boolean)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.H2CUpgradeResetTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.H2CUpgradeResetTestCase].testUpgradeWithReset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<String>
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - responses
    - latch
    - message
    - reset
    argTypes:
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 257
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 257
    functionName: '[io.undertow.client.http.H2CUpgradeResetTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch,String,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeResetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.H2CUpgradeResetTestCase].createClientCallback(java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.H2CUpgradeResetTestCase:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.AttachmentKey<String>
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.H2CUpgradeResetTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.H2CUpgradeResetTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/H2CUpgradeResetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.http.H2CUpgradeResetTestCase
    signature: '[io.undertow.client.http.H2CUpgradeResetTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:106,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:108,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:109,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:108,1
    - Dst: '[io.undertow.Undertow].builder()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:160,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:161,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setByteBufferPool(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:160,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:162,1
    - Dst: '[io.undertow.testutils.DefaultServer].getServerSslContext()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:162,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:160,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:160,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].setSocketOption(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,int)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:160,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].setSocketOption(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:160,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:166,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].setHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:160,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].build()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:160,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].start()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:177,1
    - Dst: '[java.net.URL].<init>(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:178,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:181,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].createWorker(null,org.xnio.OptionMap)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 184
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].beforeClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Xnio].getInstance()'
    - '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].setSocketOption(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,boolean)'
    - '[io.undertow.Undertow].builder()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[java.net.URL].<init>(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].setServerOption(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setByteBufferPool(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].setHandler(io.undertow.server.HttpHandler)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].start()'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].setSocketOption(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,int)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].createWorker(null,org.xnio.OptionMap)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.testutils.DefaultServer].getServerSslContext()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].build()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].beforeClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].stop()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:189,1
    - Dst: '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].afterClass()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.StopServerWithExternalWorkerUtils].stopWorker(org.xnio.XnioWorker)'
    - '[io.undertow.Undertow].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].afterClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:214,1
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:214,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:214,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:217,1
    - Dst: '[java.net.URL].toURI()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:218,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:219,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,javax.net.ssl.SSLContext)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:219,1
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:220,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:221,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:221,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:221,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getMap()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:221,1
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:218,1
    - Dst: '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:218,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:224,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:225,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getIoThread()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:228,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].execute()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:228,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:234,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:234,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].size()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:235,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:235,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].iterator()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:236,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].next()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:236,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getResponseCode()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:237,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getAttachment(io.undertow.util.AttachmentKey<java.io.IOException>)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:238,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:239,1
    - Dst: '[org.junit.Assert].assertNull(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:242,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:243,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getMessage()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:244,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].contains(String)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:244,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:244,1
    - Dst: '[org.junit.Assert].assertNull(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:247,1
    - Dst: '[org.junit.Assert].assertNotNull(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:248,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].length()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:249,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:249,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].length()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:250,1
    - Dst: '[String].length()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:250,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:252,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].substring(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:253,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:251,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 80
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - int
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - blocking
    - size
    - timeout
    - repetitiveTimeout
    - expectedTimedout
    argTypes:
    - boolean
    - int
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 259
      start: 213
    functionDepth: 6
    functionLinenumber: 213
    functionLinenumberEnd: 259
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 6
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[org.junit.Assert].assertNull(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].contains(String)'
    - '[String].substring(int)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,org.xnio.XnioWorker,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[String].length()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].set(org.xnio.Option<Integer>,int)'
    - '[org.xnio.OptionMap].builder()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,javax.net.ssl.SSLContext)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].next()'
    - '[java.net.URL].toURI()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].set(org.xnio.Option<Boolean>,boolean)'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[org.xnio.IoFuture<io.undertow.client.ClientConnection>].get()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].substring(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getAttachment(io.undertow.util.AttachmentKey<java.io.IOException>)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getIoThread()'
    - '[java.util.concurrent.CopyOnWriteArrayList].iterator()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getMap()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].length()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].execute()'
    - '[org.junit.Assert].assertNotNull(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getResponseCode()'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[java.util.concurrent.CopyOnWriteArrayList].size()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase)'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].getMessage()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:264,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:264,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 7
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testBlockingSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testBlockingSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:270,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:270,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 7
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testNonBlockingSuccess()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testNonBlockingSuccess()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:276,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:276,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 7
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testBlockingTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testBlockingTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:282,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:282,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 7
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testNonBlockingTimeout()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testNonBlockingTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:288,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:288,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 7
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testBlockingTimeoutRepetitive()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testBlockingTimeoutRepetitive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:294,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:294,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 7
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testNonBlockingRepetitive()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].test(boolean,int,int,boolean,boolean)'
    - '[io.undertow.testutils.DefaultServer].getBufferPool()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].testNonBlockingRepetitive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - java.util.List<io.undertow.client.ClientResponse>
      - java.util.concurrent.CountDownLatch
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - timeout
    - repetitiveTimeout
    - responses
    - latch
    argTypes:
    - int
    - boolean
    - java.util.List<io.undertow.client.ClientResponse>
    - java.util.concurrent.CountDownLatch
    constantsTouched: []
    func_position:
      end: 335
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 335
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].createClientCallback(int,boolean,java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].createClientCallback(int,boolean,java.util.List<io.undertow.client.ClientResponse>,java.util.concurrent.CountDownLatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:84,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<java.io.IOException>
      - org.xnio.OptionMap
      - org.xnio.XnioWorker
      - io.undertow.Undertow
      - java.net.URL
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.UTF8Output].<init>()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientExchange
      - java.util.concurrent.CountDownLatch
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - UTF8Output
      - CountDownLatch
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - result
    - latch
    - timeout
    argTypes:
    - io.undertow.client.ClientExchange
    - java.util.concurrent.CountDownLatch
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener].<init>(io.undertow.client.ClientExchange,java.util.concurrent.CountDownLatch,int)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.UTF8Output].<init>()'
    linkageType: ''
    returnType: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener].<init>(io.undertow.client.ClientExchange,java.util.concurrent.CountDownLatch,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientExchange].getConnection()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:360,1
    - Dst: '[io.undertow.client.ClientConnection].getBufferPool()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:360,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:360,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:361,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:365,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:369,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener,int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:370,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:371,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:372,1
    - Dst: '[io.undertow.client.ClientExchange].getResponse()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:376,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].extract()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:376,1
    - Dst: '[io.undertow.client.ClientResponse].putAttachment(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener,String)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:376,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:377,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:378,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:381,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(java.nio.ByteBuffer)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:382,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:384,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener,int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:385,1
    - Dst: e.printStackTrace()
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:392,1
    - Dst: '[io.undertow.client.ClientExchange].getResponse()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:393,1
    - Dst: '[io.undertow.client.ClientResponse].putAttachment(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:393,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:394,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - UTF8Output
      - CountDownLatch
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 398
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 398
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.UTF8Output].extract()'
    - '[CountDownLatch].countDown()'
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener,int,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSourceChannel)'
    - '[io.undertow.client.ClientConnection].getBufferPool()'
    - '[io.undertow.client.ClientResponse].putAttachment(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener,String)'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.client.ClientExchange].getResponse()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
    - e.printStackTrace()
    - '[io.undertow.websockets.core.UTF8Output].write(java.nio.ByteBuffer)'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    - '[io.undertow.client.ClientResponse].putAttachment(io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener,io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener)'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.client.ClientExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientExchange].getResponseChannel()'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:402,1
    - Dst: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - UTF8Output
      - CountDownLatch
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener].run()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http/Http2WindowUpdateTimeoutTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientExchange].getResponseChannel()'
    - '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.Http2WindowUpdateTimeoutTestCase.ReadChannelListener].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:68,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:70,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:72,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:80,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:83,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.ClientStatistics,boolean)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:86,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:91,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:91,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:91,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:92,1
    - Dst: '[ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>].get()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:94,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.client.http2.DoSHttp2ClientConnection,io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:94,1
    - Dst: listener.handleEvent(io.undertow.client.http2.DoSHttp2ClientConnection)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:96,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:98,1
    - Dst: entry.getValue()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:99,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:99,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].failed(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:99,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].clear()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:101,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].addCloseTask(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.DoSHttp2ClientConnection
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 5
    argNames:
    - http2Channel
    - initialUpgradeRequest
    - defaultHost
    - clientStatistics
    - secure
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - boolean
    - String
    - io.undertow.client.ClientStatistics
    - boolean
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.ClientStatistics,boolean)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - entry.getValue()
    - '[ChannelListener.SimpleSetter].<init>()'
    - listener.handleEvent(io.undertow.client.http2.DoSHttp2ClientConnection)
    - '[io.undertow.protocols.http2.Http2Channel].addCloseTask(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].clear()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>].get()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].failed(java.nio.channels.ClosedChannelException)'
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.client.http2.DoSHttp2ClientConnection,io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.ClientStatistics,boolean)'
    linkageType: ''
    returnType: io.undertow.client.http2.DoSHttp2ClientConnection
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.ClientStatistics,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:109,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:110,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:110,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:113,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:113,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:113,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.DoSHttp2ClientConnection,String)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:113,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:114,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:114,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:116,1
    - Dst: '[io.undertow.client.ClientRequest].getPath()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:116,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.DoSHttp2ClientConnection,String)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:116,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:117,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:117,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:119,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:119,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:121,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.DoSHttp2ClientConnection,String)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:121,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:123,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.DoSHttp2ClientConnection,String)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:123,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:125,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:125,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:130,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:130,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:131,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:131,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:134,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:137,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].handleError(java.io.IOException)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:137,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:144,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:144,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:145,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:145,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:146,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:146,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:150,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].createStream(io.undertow.util.HeaderMap)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:150,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:153,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:154,1
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,io.undertow.client.ClientRequest)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:157,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:158,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].put(io.undertow.client.http2.DoSHttp2ClientConnection,io.undertow.client.http2.Http2ClientExchange)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:158,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setTrailersProducer()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:160,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].flush()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:178,1
    - Dst: '[RuntimeException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:180,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(io.undertow.client.http2.DoSHttp2ClientConnection,int)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:183,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed(io.undertow.client.http2.Http2ClientExchange)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:185,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].shutdownWrites()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:191,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].flush()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:192,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getWriteSetter()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:193,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler<org.xnio.channels.StreamSinkChannel>)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:193,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].set(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:193,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].resumeWrites()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:195,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].handleError(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:198,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientRequest
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 2
    argNames:
    - request
    - clientCallback
    argTypes:
    - io.undertow.client.ClientRequest
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 201
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 201
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].handleError(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[java.io.IOException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.client.ClientRequest].getPath()'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].resumeWrites()'
    - '[io.undertow.client.ClientRequest].getMethod()'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed(io.undertow.client.http2.Http2ClientExchange)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.nio.channels.ClosedChannelException)'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].put(io.undertow.client.http2.DoSHttp2ClientConnection,io.undertow.client.http2.Http2ClientExchange)'
    - Long.parseLong(String)
    - '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,io.undertow.client.ClientRequest)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler<org.xnio.channels.StreamSinkChannel>)'
    - '[io.undertow.protocols.http2.Http2Channel].sendRstStream(io.undertow.client.http2.DoSHttp2ClientConnection,int)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].flush()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
    - '[RuntimeException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].handleError(java.io.IOException)'
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].set(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setTrailersProducer()'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].shutdownWrites()'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getWriteSetter()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.DoSHttp2ClientConnection,String)'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[io.undertow.protocols.http2.Http2Channel].createStream(io.undertow.util.HeaderMap)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.http2.DoSHttp2ClientConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:204,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].ioException(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:205,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:206,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:207,1
    - Dst: entry.getValue()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:209,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].failed(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:209,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:211,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].ioException(java.io.IOException)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].handleError(Throwable)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].ioException(java.io.IOException)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].failed(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[java.io.IOException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - entry.getValue()
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].ioException(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].handleError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].upgradeNotSupported()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].performUpgrade()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].upgradeNotSupported()'
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].performUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getBufferPool()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getBufferPool()'
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getPeerAddress(Class<A>)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getPeerAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsClientConnection>
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsClientConnection>
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getLocalAddress()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getLocalAddress(Class<A>)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getLocalAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getWorker()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getWorker()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getIoThread()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:263,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isPeerGoneAway()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:263,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isThisGoneAway()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].isThisGoneAway()'
    - '[io.undertow.protocols.http2.Http2Channel].isPeerGoneAway()'
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:269,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:271,1
    - Dst: entry.getValue()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:272,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:272,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].failed(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:272,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].clear()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].close()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - entry.getValue()
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].failed(java.nio.channels.ClosedChannelException)'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].clear()'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientStatistics
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getStatistics()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientStatistics
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>].add(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 1
    argNames:
    - listener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>].add(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:300,1
    - Dst: '[PingKey].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:310,1
    - Dst: '[java.util.Map<PingKey,PingListener>].put(PingKey,PingListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:311,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:313,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection].executeAfter(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:313,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendPing(io.undertow.client.http2.DoSHttp2ClientConnection)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - PingListener
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 3
    argNames:
    - listener
    - timeout
    - timeUnit
    argTypes:
    - PingListener
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 321
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 321
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
    - '[io.undertow.protocols.http2.Http2Channel].sendPing(io.undertow.client.http2.DoSHttp2ClientConnection)'
    - '[java.util.Map<PingKey,PingListener>].put(PingKey,PingListener)'
    - '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection].executeAfter(long,java.util.concurrent.TimeUnit)'
    - '[PingKey].<init>(io.undertow.client.http2.DoSHttp2ClientConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      static: false
      superClass: io.undertow.client.http2.Http2ClientConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection].getGoAwayStreamSourceChannel()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection].getGoAwayStreamSourceChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].receive()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:371,1
    - Dst: streamSourceChannel.getHeaders()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:375,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:375,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:375,1
    - Dst: Integer.parseInt(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:375,1
    - Dst: streamSourceChannel.getStreamId()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:376,1
    - Dst: currentExchanges.get(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:376,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].createResponse(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:381,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].setContinueResponse(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:381,1
    - Dst: streamSourceChannel.getReadSetter()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:384,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].<init>(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:384,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].set(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:384,1
    - Dst: streamSourceChannel.resumeReads()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:385,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:387,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleFinalResponse(io.undertow.protocols.http2.Http2Channel,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:390,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handlePing(io.undertow.protocols.http2.Http2PingStreamSourceChannel)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:392,1
    - Dst: rstStream.getStreamId()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:395,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].debugf(String,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:396,1
    - Dst: currentExchanges.remove(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:397,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].http2StreamWasReset()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:401,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].failed(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:401,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:403,1
    - Dst: stream.getAssociatedStreamId()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:406,1
    - Dst: currentExchanges.get(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:406,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:408,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].getPushCallback()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:409,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,int)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:410,1
    - Dst: '[io.undertow.client.ClientRequest].<init>()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:412,1
    - Dst: stream.getHeaders()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:413,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:413,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:413,1
    - Dst: '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:413,1
    - Dst: stream.getHeaders()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:414,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:414,1
    - Dst: '[io.undertow.client.ClientRequest].setPath(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:414,1
    - Dst: '[io.undertow.client.ClientRequest].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:415,1
    - Dst: stream.getHeaders()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:416,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:417,1
    - Dst: header.getHeaderName()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:417,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:417,1
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,null,io.undertow.client.ClientRequest)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:420,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].getPushCallback()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:423,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handlePush(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientExchange)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:423,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,int)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:425,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:426,1
    - Dst: stream.getPushedStreamId()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:427,1
    - Dst: http2Channel.addPushPromiseStream(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:427,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:429,1
    - Dst: stream.getPushedStreamId()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:432,1
    - Dst: currentExchanges.put(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientExchange)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:432,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:435,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].close()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:439,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:441,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleThrowable(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:445,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 447
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 447
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleEvent(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].receive()'
    - currentExchanges.remove(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handlePush(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientExchange)'
    - stream.getAssociatedStreamId()
    - '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
    - '[java.util.Objects].requireNonNull(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.util.HttpString].<init>(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - currentExchanges.put(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientExchange)
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - http2Channel.addPushPromiseStream(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleFinalResponse(io.undertow.protocols.http2.Http2Channel,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.ClientRequest].<init>()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].getPushCallback()'
    - rstStream.getStreamId()
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handlePing(io.undertow.protocols.http2.Http2PingStreamSourceChannel)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].setContinueResponse(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[org.xnio.channels.Channels].drain(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].failed(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - streamSourceChannel.resumeReads()
    - '[io.undertow.protocols.http2.Http2Channel].sendRstStream(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,int)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].close()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].http2StreamWasReset()'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].createResponse(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - streamSourceChannel.getReadSetter()
    - stream.getPushedStreamId()
    - streamSourceChannel.getStreamId()
    - stream.getHeaders()
    - currentExchanges.get(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
    - Integer.parseInt(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)
    - '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener,null,io.undertow.client.ClientRequest)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].<init>(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].set(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - header.getHeaderName()
    - '[io.undertow.client.ClientRequest].setProtocol(io.undertow.util.HttpString)'
    - streamSourceChannel.getHeaders()
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleThrowable(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.ClientRequest].setPath(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].debugf(String,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleEvent(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setTrailersHandler()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:450,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].addCloseTask()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:451,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setCompletionListener()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:452,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.protocols.http2.Http2StreamSourceChannel,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:454,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:458,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:459,1
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].responseReady(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.client.http2.Http2ClientExchange
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - request
    - response
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.client.http2.Http2ClientExchange
    - io.undertow.protocols.http2.Http2StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 463
      start: 449
    functionDepth: 7
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleFinalResponse(io.undertow.protocols.http2.Http2Channel,io.undertow.client.http2.Http2ClientExchange,io.undertow.protocols.http2.Http2StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientExchange].responseReady(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].setTrailersHandler()'
    - '[org.xnio.channels.Channels].drain(io.undertow.protocols.http2.Http2StreamSourceChannel,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].addCloseTask()'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].setCompletionListener()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleFinalResponse(io.undertow.protocols.http2.Http2Channel,io.undertow.client.http2.Http2ClientExchange,io.undertow.protocols.http2.Http2StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getData()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:466,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].isAck()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:467,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getHttp2Channel()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:469,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].sendPing(byte[])'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:469,1
    - Dst: '[PingKey].<init>(byte[])'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:471,1
    - Dst: outstandingPings.remove(PingKey)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:471,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].acknowledged()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2PingStreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frame
    argTypes:
    - io.undertow.protocols.http2.Http2PingStreamSourceChannel
    constantsTouched: []
    func_position:
      end: 476
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 476
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handlePing(io.undertow.protocols.http2.Http2PingStreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].sendPing(byte[])'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].acknowledged()'
    - '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getHttp2Channel()'
    - outstandingPings.remove(PingKey)
    - '[PingKey].<init>(byte[])'
    - '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getData()'
    - '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].isAck()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handlePing(io.undertow.protocols.http2.Http2PingStreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:479,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].ioException(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:480,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:481,1
    - Dst: currentExchanges.entrySet()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:482,1
    - Dst: entry.getValue()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:484,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].failed(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:484,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:486,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].ioException(java.io.IOException)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 489
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 489
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleThrowable(Throwable)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - currentExchanges.entrySet()
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].failed(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - entry.getValue()
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].ioException(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].ioException(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener)'
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].handleThrowable(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].<init>()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields:
      - Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - http2Channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].<init>(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].<init>(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel.getHeaders()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:340,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:340,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:342,1
    - Dst: channel.getHeaders()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:343,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:343,1
    - Dst: channel.getHeaders()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:349,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:349,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:349,1
    - Dst: Integer.parseInt(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:349,1
    - Dst: channel.getStreamId()
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:350,1
    - Dst: currentExchanges.get(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:350,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].createResponse(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:355,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].setContinueResponse(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:355,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:357,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleFinalResponse(Http2Channel,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:361,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleThrowable(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sourceChannel
    argTypes:
    - io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 365
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 365
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleEvent(io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].setContinueResponse(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleThrowable(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].createResponse(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[org.xnio.channels.Channels].drain(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - channel.getHeaders()
    - channel.getStreamId()
    - currentExchanges.get(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleFinalResponse(Http2Channel,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - Integer.parseInt(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)
    - '[java.util.Objects].requireNonNull(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].getFirst(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleEvent(io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.DoSHttp2ClientConnection.PingKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.PingKey].<init>(byte[])'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.DoSHttp2ClientConnection.PingKey
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.PingKey].<init>(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.PingKey].getClass()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.PingKey:502,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.PingKey:502,1
    - Dst: '[java.util.Arrays].equals(byte[],io.undertow.client.http2.DoSHttp2ClientConnection.PingKey)'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.PingKey:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 507
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 507
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.PingKey].equals(Object)'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.PingKey].getClass()'
    - '[java.util.Arrays].equals(byte[],io.undertow.client.http2.DoSHttp2ClientConnection.PingKey)'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.PingKey].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].hashCode(byte[])'
      Src: io.undertow.client.http2.DoSHttp2ClientConnection.PingKey:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: '[io.undertow.client.http2.DoSHttp2ClientConnection.PingKey].hashCode()'
    functionSourceFile: /src/undertow/core/src/test/java/io/undertow/client/http2/DoSHttp2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].hashCode(byte[])'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.client.http2.DoSHttp2ClientConnection.PingKey].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.Version].getVersionString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Version.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.Version].getVersionString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.Version].getFullVersionString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Version.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.Version].getFullVersionString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.Version
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.Version].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Version.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.Version
    signature: '[io.undertow.Version].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.Undertow:72,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.Undertow:98,1
    - Dst: '[io.undertow.connector.ByteBufferPool].isDirect()'
      Src: io.undertow.Undertow:99,1
    - Dst: '[java.util.List<ListenerConfig>].addAll(io.undertow.Undertow)'
      Src: io.undertow.Undertow:102,1
    - Dst: builder.workerOptions.getMap()
      Src: io.undertow.Undertow:107,1
    - Dst: builder.socketOptions.getMap()
      Src: io.undertow.Undertow:108,1
    - Dst: builder.serverOptions.getMap()
      Src: io.undertow.Undertow:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - Builder
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - java.util.List<ListenerConfig>
      - java.util.List<io.undertow.servlet.api.ListenerInfo>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - boolean
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - java.util.concurrent.Executor
      - java.util.List<org.xnio.channels.AcceptingChannel<?extendsStreamConnection>>
      - org.xnio.Xnio
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Undertow
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - builder
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: '[io.undertow.Undertow].<init>(Builder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - builder.workerOptions.getMap()
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    - builder.socketOptions.getMap()
    - '[java.util.List<ListenerConfig>].addAll(io.undertow.Undertow)'
    - '[java.util.ArrayList].<init>()'
    - builder.serverOptions.getMap()
    - '[io.undertow.connector.ByteBufferPool].isDirect()'
    linkageType: ''
    returnType: io.undertow.Undertow
    signature: '[io.undertow.Undertow].<init>(Builder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.Undertow:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - java.util.List<ListenerConfig>
      - java.util.List<io.undertow.servlet.api.ListenerInfo>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - boolean
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - java.util.concurrent.Executor
      - java.util.List<org.xnio.channels.AcceptingChannel<?extendsStreamConnection>>
      - org.xnio.Xnio
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '[io.undertow.Undertow].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 58
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Version].getFullVersionString()'
      Src: io.undertow.Undertow:120,1
    - Dst: '[io.undertow.Undertow].infof(String,String)'
      Src: io.undertow.Undertow:120,1
    - Dst: Undertow.class.getClassLoader()
      Src: io.undertow.Undertow:121,1
    - Dst: '[org.xnio.Xnio].getInstance(io.undertow.Undertow)'
      Src: io.undertow.Undertow:121,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.Undertow:122,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,boolean)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,boolean)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].addAll(org.xnio.OptionMap)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].getMap()'
      Src: io.undertow.Undertow:125,1
    - Dst: '[io.undertow.Undertow].createWorker(io.undertow.Undertow)'
      Src: io.undertow.Undertow:125,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow:137,1
    - Dst: '[io.undertow.Undertow].getIoThreadCount()'
      Src: io.undertow.Undertow:138,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:137,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,boolean)'
      Src: io.undertow.Undertow:137,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,boolean)'
      Src: io.undertow.Undertow:137,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
      Src: io.undertow.Undertow:137,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
      Src: io.undertow.Undertow:137,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
      Src: io.undertow.Undertow:137,1
    - Dst: '[io.undertow.Undertow].addAll(org.xnio.OptionMap)'
      Src: io.undertow.Undertow:137,1
    - Dst: '[io.undertow.Undertow].getMap()'
      Src: io.undertow.Undertow:137,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow:147,1
    - Dst: '[io.undertow.Undertow].set(org.xnio.Option<Integer>,int,int)'
      Src: io.undertow.Undertow:147,1
    - Dst: '[io.undertow.Undertow].addAll(org.xnio.OptionMap)'
      Src: io.undertow.Undertow:147,1
    - Dst: '[io.undertow.Undertow].getMap()'
      Src: io.undertow.Undertow:147,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int)'
      Src: io.undertow.Undertow:155,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.Undertow:158,1
    - Dst: '[io.undertow.Undertow].debugf(String,io.undertow.Undertow,io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:160,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow:162,1
    - Dst: '[io.undertow.Undertow].addAll(io.undertow.Undertow)'
      Src: io.undertow.Undertow:162,1
    - Dst: '[io.undertow.Undertow].addAll(io.undertow.Undertow)'
      Src: io.undertow.Undertow:162,1
    - Dst: '[io.undertow.Undertow].getMap()'
      Src: io.undertow.Undertow:162,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
      Src: io.undertow.Undertow:164,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.Undertow:165,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,null,io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
      Src: io.undertow.Undertow:169,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.Undertow)'
      Src: io.undertow.Undertow:173,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:174,1
    - Dst: '[io.undertow.Undertow].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:174,1
    - Dst: '[io.undertow.Undertow].resumeAccepts()'
      Src: io.undertow.Undertow:175,1
    - Dst: '[java.util.ArrayList].add(io.undertow.Undertow)'
      Src: io.undertow.Undertow:176,1
    - Dst: '[io.undertow.Undertow].getLocalAddress()'
      Src: io.undertow.Undertow:177,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>(String,io.undertow.Undertow,io.undertow.server.protocol.ajp.AjpOpenListener,null,io.undertow.Undertow)'
      Src: io.undertow.Undertow:177,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.Undertow:177,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow:179,1
    - Dst: '[io.undertow.Undertow].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.Undertow:179,1
    - Dst: '[io.undertow.Undertow].addAll(io.undertow.Undertow)'
      Src: io.undertow.Undertow:179,1
    - Dst: '[io.undertow.Undertow].getMap()'
      Src: io.undertow.Undertow:179,1
    - Dst: '[io.undertow.Undertow].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.Undertow:180,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
      Src: io.undertow.Undertow:182,1
    - Dst: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.Undertow)'
      Src: io.undertow.Undertow:185,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
      Src: io.undertow.Undertow:187,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].<init>(io.undertow.server.protocol.http.HttpOpenListener,null,io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
      Src: io.undertow.Undertow:190,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.Undertow)'
      Src: io.undertow.Undertow:195,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:196,1
    - Dst: '[io.undertow.Undertow].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:196,1
    - Dst: '[io.undertow.Undertow].resumeAccepts()'
      Src: io.undertow.Undertow:197,1
    - Dst: '[java.util.ArrayList].add(io.undertow.Undertow)'
      Src: io.undertow.Undertow:198,1
    - Dst: '[io.undertow.Undertow].getLocalAddress()'
      Src: io.undertow.Undertow:199,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>(String,io.undertow.Undertow,io.undertow.server.protocol.http.HttpOpenListener,null,io.undertow.Undertow)'
      Src: io.undertow.Undertow:199,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.Undertow:199,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
      Src: io.undertow.Undertow:203,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.Undertow:204,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow,io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.Undertow:207,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
      Src: io.undertow.Undertow:208,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.Undertow:209,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.protocol.http2.Http2OpenListener,int)'
      Src: io.undertow.Undertow:210,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.protocol.http2.Http2OpenListener,int)'
      Src: io.undertow.Undertow:211,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.Undertow,io.undertow.Undertow,io.undertow.Undertow,java.util.concurrent.Executor)'
      Src: io.undertow.Undertow:219,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow:221,1
    - Dst: '[io.undertow.Undertow].addAll(io.undertow.Undertow)'
      Src: io.undertow.Undertow:221,1
    - Dst: '[io.undertow.Undertow].contains(io.undertow.Undertow)'
      Src: io.undertow.Undertow:223,1
    - Dst: '[io.undertow.Undertow].set(io.undertow.Undertow,String)'
      Src: io.undertow.Undertow:224,1
    - Dst: '[org.xnio.OptionMap].create(io.undertow.Undertow,boolean)'
      Src: io.undertow.Undertow:228,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: io.undertow.Undertow:229,1
    - Dst: '[io.undertow.Undertow].getMap()'
      Src: io.undertow.Undertow:229,1
    - Dst: '[org.xnio.ssl.JsseSslUtils].createSSLContext(io.undertow.Undertow,io.undertow.Undertow,java.security.SecureRandom,io.undertow.Undertow)'
      Src: io.undertow.Undertow:229,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.Undertow,io.undertow.Undertow,io.undertow.Undertow,java.util.concurrent.Executor)'
      Src: io.undertow.Undertow:226,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].<init>(io.undertow.Undertow,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
      Src: io.undertow.Undertow:235,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.proxy.ProxyProtocolOpenListener)'
      Src: io.undertow.Undertow:235,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:236,1
    - Dst: '[io.undertow.Undertow].createStreamConnectionServer(java.net.InetSocketAddress,org.xnio.ChannelListener,io.undertow.Undertow)'
      Src: io.undertow.Undertow:236,1
    - Dst: '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.Undertow)'
      Src: io.undertow.Undertow:238,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:239,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(io.undertow.Undertow,java.net.InetSocketAddress,org.xnio.ChannelListener,io.undertow.Undertow)'
      Src: io.undertow.Undertow:239,1
    - Dst: '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].resumeAccepts()'
      Src: io.undertow.Undertow:242,1
    - Dst: '[java.util.ArrayList].add(org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>)'
      Src: io.undertow.Undertow:243,1
    - Dst: '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].getLocalAddress()'
      Src: io.undertow.Undertow:244,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>(String,io.undertow.Undertow,io.undertow.Undertow,io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>)'
      Src: io.undertow.Undertow:244,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.Undertow:244,1
    - Dst: '[io.undertow.Undertow].shutdownNow()'
      Src: io.undertow.Undertow:252,1
    - Dst: '[RuntimeException].<init>(io.undertow.Undertow)'
      Src: io.undertow.Undertow:254,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 133
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - java.util.List<ListenerConfig>
      - java.util.List<io.undertow.servlet.api.ListenerInfo>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - boolean
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - java.util.concurrent.Executor
      - java.util.List<org.xnio.channels.AcceptingChannel<?extendsStreamConnection>>
      - org.xnio.Xnio
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 256
    functionName: '[io.undertow.Undertow].start()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 6
    functionsReached:
    - '[java.net.InetSocketAddress].<init>(io.undertow.Undertow,io.undertow.Undertow)'
    - '[java.util.ArrayList].add(io.undertow.servlet.api.ListenerInfo)'
    - '[org.xnio.ssl.JsseSslUtils].createSSLContext(io.undertow.Undertow,io.undertow.Undertow,java.security.SecureRandom,io.undertow.Undertow)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].<init>(io.undertow.Undertow,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
    - '[io.undertow.Undertow].set(io.undertow.Undertow,io.undertow.Undertow)'
    - '[io.undertow.servlet.api.ListenerInfo].<init>(String,io.undertow.Undertow,io.undertow.Undertow,io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>)'
    - '[io.undertow.Undertow].shutdownNow()'
    - '[java.util.ArrayList].add(io.undertow.Undertow)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,null,io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.protocol.http2.Http2OpenListener,int)'
    - '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].getLocalAddress()'
    - '[io.undertow.Undertow].debugf(String,io.undertow.Undertow,io.undertow.Undertow,io.undertow.Undertow)'
    - '[io.undertow.servlet.api.ListenerInfo].<init>(String,io.undertow.Undertow,io.undertow.server.protocol.ajp.AjpOpenListener,null,io.undertow.Undertow)'
    - '[io.undertow.Undertow].getIoThreadCount()'
    - '[io.undertow.Undertow].contains(io.undertow.Undertow)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    - Undertow.class.getClassLoader()
    - '[io.undertow.Undertow].resumeAccepts()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(io.undertow.Undertow,java.net.InetSocketAddress,org.xnio.ChannelListener,io.undertow.Undertow)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    - '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.server.protocol.proxy.ProxyProtocolOpenListener)'
    - '[org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>].resumeAccepts()'
    - '[io.undertow.Undertow].set(io.undertow.Undertow,int)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(io.undertow.Undertow,io.undertow.Undertow,io.undertow.Undertow,java.util.concurrent.Executor)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].<init>(io.undertow.server.protocol.http.HttpOpenListener,null,io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
    - '[io.undertow.Undertow].infof(String,String)'
    - '[io.undertow.Undertow].set(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.Undertow].getLocalAddress()'
    - '[io.undertow.Undertow].createStreamConnectionServer(java.net.InetSocketAddress,org.xnio.ChannelListener,io.undertow.Undertow)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow)'
    - '[java.security.SecureRandom].<init>()'
    - '[io.undertow.Undertow].addAll(org.xnio.OptionMap)'
    - '[io.undertow.Undertow].set(io.undertow.Undertow,boolean)'
    - '[org.xnio.Xnio].getInstance(io.undertow.Undertow)'
    - '[io.undertow.Undertow].get(org.xnio.Option<Boolean>,boolean)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.Undertow].createStreamConnectionServer(java.net.InetSocketAddress,io.undertow.Undertow,io.undertow.Undertow)'
    - '[io.undertow.Undertow].set(org.xnio.Option<Integer>,int,int)'
    - '[io.undertow.Undertow].addAll(io.undertow.Undertow)'
    - '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.Undertow)'
    - '[RuntimeException].<init>(io.undertow.Undertow)'
    - '[io.undertow.Undertow].set(io.undertow.Undertow,String)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    - '[java.util.ArrayList].add(org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>)'
    - '[io.undertow.Version].getFullVersionString()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int)'
    - '[org.xnio.ChannelListeners].openListenerAdapter(io.undertow.Undertow)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.server.DefaultByteBufferPool,io.undertow.Undertow,io.undertow.server.protocol.http.HttpOpenListener)'
    - '[org.xnio.OptionMap].create(io.undertow.Undertow,boolean)'
    - '[io.undertow.Undertow].createWorker(io.undertow.Undertow)'
    - '[io.undertow.servlet.api.ListenerInfo].<init>(String,io.undertow.Undertow,io.undertow.server.protocol.http.HttpOpenListener,null,io.undertow.Undertow)'
    - '[io.undertow.Undertow].getMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.Undertow].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Version].getFullVersionString()'
      Src: io.undertow.Undertow:259,1
    - Dst: '[io.undertow.Undertow].infof(String,String)'
      Src: io.undertow.Undertow:259,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.Undertow)'
      Src: io.undertow.Undertow:262,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.Undertow:271,1
    - Dst: '[org.xnio.XnioWorker].shutdown()'
      Src: io.undertow.Undertow:272,1
    - Dst: '[org.xnio.XnioWorker].awaitTermination()'
      Src: io.undertow.Undertow:275,1
    - Dst: '[org.xnio.XnioWorker].awaitTermination(io.undertow.Undertow,io.undertow.Undertow)'
      Src: io.undertow.Undertow:277,1
    - Dst: '[org.xnio.XnioWorker].shutdownNow()'
      Src: io.undertow.Undertow:278,1
    - Dst: '[org.xnio.XnioWorker].shutdownNow()'
      Src: io.undertow.Undertow:282,1
    - Dst: Thread.currentThread()
      Src: io.undertow.Undertow:283,1
    - Dst: '[io.undertow.Undertow].interrupt()'
      Src: io.undertow.Undertow:283,1
    - Dst: '[RuntimeException].<init>(io.undertow.Undertow)'
      Src: io.undertow.Undertow:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - java.util.List<ListenerConfig>
      - java.util.List<io.undertow.servlet.api.ListenerInfo>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - boolean
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - java.util.concurrent.Executor
      - java.util.List<org.xnio.channels.AcceptingChannel<?extendsStreamConnection>>
      - org.xnio.Xnio
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 290
    functionName: '[io.undertow.Undertow].stop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 29
    functionsReached:
    - '[io.undertow.Undertow].interrupt()'
    - '[io.undertow.Undertow].infof(String,String)'
    - '[RuntimeException].<init>(io.undertow.Undertow)'
    - '[org.xnio.XnioWorker].awaitTermination()'
    - '[org.xnio.XnioWorker].shutdown()'
    - '[org.xnio.XnioWorker].awaitTermination(io.undertow.Undertow,io.undertow.Undertow)'
    - '[io.undertow.Version].getFullVersionString()'
    - Thread.currentThread()
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.Undertow)'
    - '[org.xnio.XnioWorker].shutdownNow()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.Undertow].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - java.util.List<ListenerConfig>
      - java.util.List<io.undertow.servlet.api.ListenerInfo>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - boolean
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - java.util.concurrent.Executor
      - java.util.List<org.xnio.channels.AcceptingChannel<?extendsStreamConnection>>
      - org.xnio.Xnio
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.Xnio
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: '[io.undertow.Undertow].getXnio()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.Xnio
    signature: '[io.undertow.Undertow].getXnio()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - java.util.List<ListenerConfig>
      - java.util.List<io.undertow.servlet.api.ListenerInfo>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - boolean
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - java.util.concurrent.Executor
      - java.util.List<org.xnio.channels.AcceptingChannel<?extendsStreamConnection>>
      - org.xnio.Xnio
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: '[io.undertow.Undertow].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.Undertow].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].serverNotStarted()'
      Src: io.undertow.Undertow:302,1
    - Dst: '[java.util.Collections].unmodifiableList(java.util.List<io.undertow.servlet.api.ListenerInfo>)'
      Src: io.undertow.Undertow:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - java.util.List<ListenerConfig>
      - java.util.List<io.undertow.servlet.api.ListenerInfo>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - org.xnio.OptionMap
      - boolean
      - io.undertow.connector.ByteBufferPool
      - org.xnio.XnioWorker
      - java.util.concurrent.Executor
      - java.util.List<org.xnio.channels.AcceptingChannel<?extendsStreamConnection>>
      - org.xnio.Xnio
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.servlet.api.ListenerInfo>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: '[io.undertow.Undertow].getListenerInfo()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 4
    functionsReached:
    - '[java.util.Collections].unmodifiableList(java.util.List<io.undertow.servlet.api.ListenerInfo>)'
    - '[io.undertow.Undertow].serverNotStarted()'
    linkageType: ''
    returnType: java.util.List<io.undertow.servlet.api.ListenerInfo>
    signature: '[io.undertow.Undertow].getListenerInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Undertow.ListenerConfig
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - type
    - port
    - host
    - keyManagers
    - trustManagers
    - rootHandler
    argTypes:
    - ListenerType
    - int
    - String
    - KeyManager[]
    - TrustManager[]
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: '[io.undertow.Undertow.ListenerConfig].<init>(ListenerType,int,String,KeyManager[],TrustManager[],io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.Undertow.ListenerConfig
    signature: '[io.undertow.Undertow.ListenerConfig].<init>(ListenerType,int,String,KeyManager[],TrustManager[],io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - ListenerType
      - int
      - String
      - javax.net.ssl.SSLContext
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Undertow.ListenerConfig
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - type
    - port
    - host
    - sslContext
    - rootHandler
    argTypes:
    - ListenerType
    - int
    - String
    - javax.net.ssl.SSLContext
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 351
    functionName: '[io.undertow.Undertow.ListenerConfig].<init>(ListenerType,int,String,javax.net.ssl.SSLContext,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.Undertow.ListenerConfig
    signature: '[io.undertow.Undertow.ListenerConfig].<init>(ListenerType,int,String,javax.net.ssl.SSLContext,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - ListenerBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Undertow.ListenerConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listenerBuilder
    argTypes:
    - ListenerBuilder
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: '[io.undertow.Undertow.ListenerConfig].<init>(ListenerBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.Undertow.ListenerConfig
    signature: '[io.undertow.Undertow.ListenerConfig].<init>(ListenerBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ListenerType
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - ListenerType
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: '[io.undertow.Undertow.ListenerBuilder].setType(ListenerType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setType(ListenerType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: '[io.undertow.Undertow.ListenerBuilder].setPort(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setPort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: '[io.undertow.Undertow.ListenerBuilder].setHost(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - KeyManager[]
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - keyManagers
    argTypes:
    - KeyManager[]
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: '[io.undertow.Undertow.ListenerBuilder].setKeyManagers(KeyManager[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setKeyManagers(KeyManager[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - TrustManager[]
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - trustManagers
    argTypes:
    - TrustManager[]
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: '[io.undertow.Undertow.ListenerBuilder].setTrustManagers(TrustManager[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setTrustManagers(TrustManager[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslContext
    argTypes:
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: '[io.undertow.Undertow.ListenerBuilder].setSslContext(javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setSslContext(javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: '[io.undertow.Undertow.ListenerBuilder].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - overrideSocketOptions
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: '[io.undertow.Undertow.ListenerBuilder].setOverrideSocketOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setOverrideSocketOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - useProxyProtocol
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: '[io.undertow.Undertow.ListenerBuilder].setUseProxyProtocol(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setUseProxyProtocol(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ListenerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - http2Enabled
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: '[io.undertow.Undertow.ListenerBuilder].setHttp2Enabled(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].setHttp2Enabled(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ListenerType
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - SSLContext
      - HttpHandler
      - OptionMap
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.Undertow.ListenerBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.Undertow.ListenerBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.Undertow.ListenerBuilder
    signature: '[io.undertow.Undertow.ListenerBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.Undertow.Builder:437,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow.Builder:443,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow.Builder:444,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.Undertow.Builder:445,1
    - Dst: Runtime.getRuntime()
      Src: io.undertow.Undertow.Builder:448,1
    - Dst: '[io.undertow.Undertow.Builder].availableProcessors()'
      Src: io.undertow.Undertow.Builder:448,1
    - Dst: Math.max(io.undertow.Undertow.Builder,int)
      Src: io.undertow.Undertow.Builder:448,1
    - Dst: Runtime.getRuntime()
      Src: io.undertow.Undertow.Builder:450,1
    - Dst: '[io.undertow.Undertow.Builder].maxMemory()'
      Src: io.undertow.Undertow.Builder:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Undertow.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 467
    functionName: '[io.undertow.Undertow.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow.Builder].availableProcessors()'
    - Math.max(io.undertow.Undertow.Builder,int)
    - '[org.xnio.OptionMap].builder()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.Undertow.Builder].maxMemory()'
    - Runtime.getRuntime()
    linkageType: ''
    returnType: io.undertow.Undertow.Builder
    signature: '[io.undertow.Undertow.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow].<init>()'
      Src: io.undertow.Undertow.Builder:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.Undertow
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: '[io.undertow.Undertow.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow].<init>()'
    linkageType: ''
    returnType: io.undertow.Undertow
    signature: '[io.undertow.Undertow.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,null)'
      Src: io.undertow.Undertow.Builder:475,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - port
    - host
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: '[io.undertow.Undertow.Builder].addListener(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,null)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addListener(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(ListenerType,int,String,null,null,null)'
      Src: io.undertow.Undertow.Builder:481,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - ListenerType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - port
    - host
    - listenerType
    argTypes:
    - int
    - String
    - ListenerType
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: '[io.undertow.Undertow.Builder].addListener(int,String,ListenerType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(ListenerType,int,String,null,null,null)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addListener(int,String,ListenerType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(ListenerBuilder)'
      Src: io.undertow.Undertow.Builder:486,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ListenerBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listenerBuilder
    argTypes:
    - ListenerBuilder
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: '[io.undertow.Undertow.Builder].addListener(ListenerBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow.ListenerConfig].<init>(ListenerBuilder)'
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addListener(ListenerBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,null)'
      Src: io.undertow.Undertow.Builder:491,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - port
    - host
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: '[io.undertow.Undertow.Builder].addHttpListener(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,null)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addHttpListener(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,KeyManager[],TrustManager[],null)'
      Src: io.undertow.Undertow.Builder:496,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - port
    - host
    - keyManagers
    - trustManagers
    argTypes:
    - int
    - String
    - KeyManager[]
    - TrustManager[]
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: '[io.undertow.Undertow.Builder].addHttpsListener(int,String,KeyManager[],TrustManager[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,KeyManager[],TrustManager[],null)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addHttpsListener(int,String,KeyManager[],TrustManager[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,javax.net.ssl.SSLContext,null)'
      Src: io.undertow.Undertow.Builder:501,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - port
    - host
    - sslContext
    argTypes:
    - int
    - String
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: '[io.undertow.Undertow.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,javax.net.ssl.SSLContext,null)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,null)'
      Src: io.undertow.Undertow.Builder:506,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - port
    - host
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: '[io.undertow.Undertow.Builder].addAjpListener(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,null)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addAjpListener(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,io.undertow.server.HttpHandler)'
      Src: io.undertow.Undertow.Builder:511,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - port
    - host
    - rootHandler
    argTypes:
    - int
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: '[io.undertow.Undertow.Builder].addHttpListener(int,String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addHttpListener(int,String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,KeyManager[],TrustManager[],io.undertow.server.HttpHandler)'
      Src: io.undertow.Undertow.Builder:516,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - KeyManager[]
      - TrustManager[]
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - port
    - host
    - keyManagers
    - trustManagers
    - rootHandler
    argTypes:
    - int
    - String
    - KeyManager[]
    - TrustManager[]
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: '[io.undertow.Undertow.Builder].addHttpsListener(int,String,KeyManager[],TrustManager[],io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,KeyManager[],TrustManager[],io.undertow.server.HttpHandler)'
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addHttpsListener(int,String,KeyManager[],TrustManager[],io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,javax.net.ssl.SSLContext,io.undertow.server.HttpHandler)'
      Src: io.undertow.Undertow.Builder:521,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - javax.net.ssl.SSLContext
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - port
    - host
    - sslContext
    - rootHandler
    argTypes:
    - int
    - String
    - javax.net.ssl.SSLContext
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: '[io.undertow.Undertow.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,javax.net.ssl.SSLContext,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addHttpsListener(int,String,javax.net.ssl.SSLContext,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,io.undertow.server.HttpHandler)'
      Src: io.undertow.Undertow.Builder:526,1
    - Dst: '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
      Src: io.undertow.Undertow.Builder:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - port
    - host
    - rootHandler
    argTypes:
    - int
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: '[io.undertow.Undertow.Builder].addAjpListener(int,String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[List<ListenerConfig>].add(io.undertow.Undertow.ListenerConfig)'
    - '[io.undertow.Undertow.ListenerConfig].<init>(io.undertow.Undertow.Builder,int,String,null,null,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].addAjpListener(int,String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bufferSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: '[io.undertow.Undertow.Builder].setBufferSize(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffersPerRegion
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: '[io.undertow.Undertow.Builder].setBuffersPerRegion(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setBuffersPerRegion(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ioThreads
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: '[io.undertow.Undertow.Builder].setIoThreads(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setIoThreads(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - workerThreads
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: '[io.undertow.Undertow.Builder].setWorkerThreads(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setWorkerThreads(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - directBuffers
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: '[io.undertow.Undertow.Builder].setDirectBuffers(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setDirectBuffers(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: '[io.undertow.Undertow.Builder].setHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[OptionMap.Builder].set(org.xnio.Option<T>,T)'
      Src: io.undertow.Undertow.Builder:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: '[io.undertow.Undertow.Builder].setServerOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[OptionMap.Builder].set(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setServerOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[OptionMap.Builder].set(org.xnio.Option<T>,T)'
      Src: io.undertow.Undertow.Builder:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: '[io.undertow.Undertow.Builder].setSocketOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[OptionMap.Builder].set(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setSocketOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[OptionMap.Builder].set(org.xnio.Option<T>,T)'
      Src: io.undertow.Undertow.Builder:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: '[io.undertow.Undertow.Builder].setWorkerOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[OptionMap.Builder].set(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setWorkerOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - worker
    argTypes:
    - org.xnio.XnioWorker
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: '[io.undertow.Undertow.Builder].setWorker(org.xnio.XnioWorker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setWorker(org.xnio.XnioWorker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslEngineDelegatedTaskExecutor
    argTypes:
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: '[io.undertow.Undertow.Builder].setSslEngineDelegatedTaskExecutor(java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setSslEngineDelegatedTaskExecutor(java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - List<ListenerConfig>
      - HttpHandler
      - XnioWorker
      - Executor
      - ByteBufferPool
      - OptionMap.Builder
      - OptionMap.Builder
      - OptionMap.Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBufferPool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: '[io.undertow.Undertow.Builder].setByteBufferPool(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.Undertow.Builder].setByteBufferPool(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.net.SocketAddress
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.Undertow.ListenerInfo
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - protcol
    - address
    - openListener
    - ssl
    - channel
    argTypes:
    - String
    - java.net.SocketAddress
    - io.undertow.server.OpenListener
    - io.undertow.protocols.ssl.UndertowXnioSsl
    - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: '[io.undertow.Undertow.ListenerInfo].<init>(String,java.net.SocketAddress,io.undertow.server.OpenListener,io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.channels.AcceptingChannel<?extendsStreamConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.Undertow.ListenerInfo
    signature: '[io.undertow.Undertow.ListenerInfo].<init>(String,java.net.SocketAddress,io.undertow.server.OpenListener,io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.channels.AcceptingChannel<?extendsStreamConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionName: '[io.undertow.Undertow.ListenerInfo].getProtcol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.Undertow.ListenerInfo].getProtcol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 626
    functionName: '[io.undertow.Undertow.ListenerInfo].getAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.Undertow.ListenerInfo].getAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslContext()'
      Src: io.undertow.Undertow.ListenerInfo:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 633
    functionName: '[io.undertow.Undertow.ListenerInfo].getSslContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslContext()'
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.Undertow.ListenerInfo].getSslContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].updateSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.Undertow.ListenerInfo:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslContext
    argTypes:
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: '[io.undertow.Undertow.ListenerInfo].setSslContext(javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].updateSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.Undertow.ListenerInfo].setSslContext(javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AcceptingChannel<? extends StreamConnection>].suspendAccepts()'
      Src: io.undertow.Undertow.ListenerInfo:644,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.Undertow.ListenerInfo:645,1
    - Dst: '[AcceptingChannel<? extends StreamConnection>].getIoThread()'
      Src: io.undertow.Undertow.ListenerInfo:647,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.Undertow.ListenerInfo:647,1
    - Dst: '[io.undertow.Undertow.ListenerInfo].execute(Runnable)'
      Src: io.undertow.Undertow.ListenerInfo:647,1
    - Dst: '[java.util.concurrent.CountDownLatch].await()'
      Src: io.undertow.Undertow.ListenerInfo:658,1
    - Dst: '[RuntimeException].<init>(io.undertow.Undertow.ListenerInfo)'
      Src: io.undertow.Undertow.ListenerInfo:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 662
    functionName: '[io.undertow.Undertow.ListenerInfo].suspend()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[RuntimeException].<init>(io.undertow.Undertow.ListenerInfo)'
    - '[io.undertow.Undertow.ListenerInfo].execute(Runnable)'
    - '[java.util.concurrent.CountDownLatch].await()'
    - '[AcceptingChannel<? extends StreamConnection>].getIoThread()'
    - '[Runnable].<init>()'
    - '[AcceptingChannel<? extends StreamConnection>].suspendAccepts()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.Undertow.ListenerInfo].suspend()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AcceptingChannel<? extends StreamConnection>].resumeAccepts()'
      Src: io.undertow.Undertow.ListenerInfo:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: '[io.undertow.Undertow.ListenerInfo].resume()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[AcceptingChannel<? extends StreamConnection>].resumeAccepts()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.Undertow.ListenerInfo].resume()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: '[io.undertow.Undertow.ListenerInfo].isSuspended()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.Undertow.ListenerInfo].isSuspended()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.OpenListener].getConnectorStatistics()'
      Src: io.undertow.Undertow.ListenerInfo:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 675
    functionName: '[io.undertow.Undertow.ListenerInfo].getConnectorStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.OpenListener].getConnectorStatistics()'
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatistics
    signature: '[io.undertow.Undertow.ListenerInfo].getConnectorStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AcceptingChannel<? extends StreamConnection>].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.Undertow.ListenerInfo:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 679
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 679
    functionName: '[io.undertow.Undertow.ListenerInfo].setSocketOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[AcceptingChannel<? extends StreamConnection>].setOption(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.Undertow.ListenerInfo].setSocketOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.OpenListener].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.Undertow.ListenerInfo:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 683
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 683
    functionName: '[io.undertow.Undertow.ListenerInfo].setServerOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.OpenListener].setUndertowOptions(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.Undertow.ListenerInfo].setServerOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Undertow.ListenerInfo].getSslContext()'
      Src: io.undertow.Undertow.ListenerInfo:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - SocketAddress
      - OpenListener
      - UndertowXnioSsl
      - AcceptingChannel<? extends StreamConnection>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: '[io.undertow.Undertow.ListenerInfo].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Undertow.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Undertow.ListenerInfo].getSslContext()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.Undertow.ListenerInfo].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: '[io.undertow.UndertowMessages].maximumConcurrentRequestsMustBeLargerThanZero()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].maximumConcurrentRequestsMustBeLargerThanZero()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: '[io.undertow.UndertowMessages].responseAlreadyStarted()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].responseAlreadyStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: '[io.undertow.UndertowMessages].responseChannelAlreadyProvided()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].responseChannelAlreadyProvided()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: '[io.undertow.UndertowMessages].requestChannelAlreadyProvided()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].requestChannelAlreadyProvided()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: '[io.undertow.UndertowMessages].handlerCannotBeNull()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].handlerCannotBeNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: '[io.undertow.UndertowMessages].pathMustBeSpecified()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].pathMustBeSpecified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: '[io.undertow.UndertowMessages].sessionIsInvalid(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].sessionIsInvalid(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: '[io.undertow.UndertowMessages].sessionManagerMustNotBeNull()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].sessionManagerMustNotBeNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: '[io.undertow.UndertowMessages].sessionManagerNotFound()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].sessionManagerNotFound()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - argument
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: '[io.undertow.UndertowMessages].argumentCannotBeNull(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].argumentCannotBeNull(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: '[io.undertow.UndertowMessages].formValueIsAFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].formValueIsAFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: '[io.undertow.UndertowMessages].formValueIsAString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].formValueIsAString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.RequestTooBigException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: '[io.undertow.UndertowMessages].requestEntityWasTooLarge(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RequestTooBigException
    signature: '[io.undertow.UndertowMessages].requestEntityWasTooLarge(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: '[io.undertow.UndertowMessages].sessionAlreadyInvalidated()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].sessionAlreadyInvalidated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - algorithmName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: '[io.undertow.UndertowMessages].hashAlgorithmNotFound(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].hashAlgorithmNotFound(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: '[io.undertow.UndertowMessages].invalidBase64Token(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidBase64Token(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: '[io.undertow.UndertowMessages].invalidNonceReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidNonceReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: '[io.undertow.UndertowMessages].unexpectedTokenInHeader(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].unexpectedTokenInHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: '[io.undertow.UndertowMessages].invalidHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: '[io.undertow.UndertowMessages].couldNotFindSessionCookieConfig()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].couldNotFindSessionCookieConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: '[io.undertow.UndertowMessages].chunkedChannelClosedMidChunk()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].chunkedChannelClosedMidChunk()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: '[io.undertow.UndertowMessages].userAuthenticated(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].userAuthenticated(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: '[io.undertow.UndertowMessages].userLoggedOut(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].userLoggedOut(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: '[io.undertow.UndertowMessages].streamIsClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].streamIsClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: '[io.undertow.UndertowMessages].startBlockingHasNotBeenCalled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].startBlockingHasNotBeenCalled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: '[io.undertow.UndertowMessages].connectionTerminatedReadingMultiPartData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].connectionTerminatedReadingMultiPartData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: '[io.undertow.UndertowMessages].failedToParsePath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].failedToParsePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: '[io.undertow.UndertowMessages].authenticationFailed(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].authenticationFailed(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - noParams
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: '[io.undertow.UndertowMessages].tooManyQueryParameters(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.UndertowMessages].tooManyQueryParameters(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - noParams
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: '[io.undertow.UndertowMessages].tooManyHeaders(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].tooManyHeaders(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.channels.ClosedChannelException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: '[io.undertow.UndertowMessages].channelIsClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.channels.ClosedChannelException
    signature: '[io.undertow.UndertowMessages].channelIsClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: '[io.undertow.UndertowMessages].couldNotDecodeTrailers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].couldNotDecodeTrailers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: '[io.undertow.UndertowMessages].dataAlreadyQueued()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].dataAlreadyQueued()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Class<?extendsPredicateBuilder>
      - Class<?extendsPredicateBuilder>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - aClass
    - existing
    argTypes:
    - String
    - Class<?extendsPredicateBuilder>
    - Class<?extendsPredicateBuilder>
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: '[io.undertow.UndertowMessages].moreThanOnePredicateWithName(String,Class<?extendsPredicateBuilder>,Class<?extendsPredicateBuilder>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].moreThanOnePredicateWithName(String,Class<?extendsPredicateBuilder>,Class<?extendsPredicateBuilder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - reason
    - s
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: '[io.undertow.UndertowMessages].errorParsingPredicateString(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].errorParsingPredicateString(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxCookies
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: '[io.undertow.UndertowMessages].tooManyCookies(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].tooManyCookies(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.ParameterLimitException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxValues
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: '[io.undertow.UndertowMessages].tooManyParameters(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ParameterLimitException
    signature: '[io.undertow.UndertowMessages].tooManyParameters(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: '[io.undertow.UndertowMessages].noRequestActive()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].noRequestActive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: '[io.undertow.UndertowMessages].authMechanismOutcomeNull()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].authMechanismOutcomeNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - peer
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: '[io.undertow.UndertowMessages].notAValidIpPattern(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].notAValidIpPattern(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: '[io.undertow.UndertowMessages].noSessionData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].noSessionData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: '[io.undertow.UndertowMessages].listenerAlreadyRegistered(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].listenerAlreadyRegistered(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: MultiPartParserDefinition.FileTooLargeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxIndividualFileSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: '[io.undertow.UndertowMessages].maxFileSizeExceeded(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MultiPartParserDefinition.FileTooLargeException
    signature: '[io.undertow.UndertowMessages].maxFileSizeExceeded(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - attributeName
    - newValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: '[io.undertow.UndertowMessages].couldNotSetAttribute(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].couldNotSetAttribute(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - i
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: '[io.undertow.UndertowMessages].couldNotParseUriTemplate(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].couldNotParseUriTemplate(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - valueString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: '[io.undertow.UndertowMessages].mismatchedBraces(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].mismatchedBraces(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Class<?extendsHandlerBuilder>
      - Class<?extendsHandlerBuilder>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - aClass
    - existing
    argTypes:
    - String
    - Class<?extendsHandlerBuilder>
    - Class<?extendsHandlerBuilder>
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: '[io.undertow.UndertowMessages].moreThanOneHandlerWithName(String,Class<?extendsHandlerBuilder>,Class<?extendsHandlerBuilder>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].moreThanOneHandlerWithName(String,Class<?extendsHandlerBuilder>,Class<?extendsHandlerBuilder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: '[io.undertow.UndertowMessages].outOfBandResponseOnlyAllowedFor100Continue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].outOfBandResponseOnlyAllowedFor100Continue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: '[io.undertow.UndertowMessages].sslWasNull()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].sslWasNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: '[io.undertow.UndertowMessages].wrongMagicNumber(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].wrongMagicNumber(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLPeerUnverifiedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: '[io.undertow.UndertowMessages].peerUnverified()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLPeerUnverifiedException
    signature: '[io.undertow.UndertowMessages].peerUnverified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: '[io.undertow.UndertowMessages].servletPathMatchFailed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].servletPathMatchFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: '[io.undertow.UndertowMessages].couldNotParseCookie(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].couldNotParseCookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: '[io.undertow.UndertowMessages].canOnlyBeCalledByIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].canOnlyBeCalledByIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - templateString
    - templateString1
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: '[io.undertow.UndertowMessages].matcherAlreadyContainsTemplate(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].matcherAlreadyContainsTemplate(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.UrlDecodeException
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - s
    - enc
    - e
    argTypes:
    - String
    - String
    - Exception
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: '[io.undertow.UndertowMessages].failedToDecodeURL(String,String,Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.UrlDecodeException
    signature: '[io.undertow.UndertowMessages].failedToDecodeURL(String,String,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: '[io.undertow.UndertowMessages].resourceChangeListenerNotSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].resourceChangeListenerNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: '[io.undertow.UndertowMessages].objectWasFreed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].objectWasFreed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: '[io.undertow.UndertowMessages].handlerNotShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].handlerNotShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: '[io.undertow.UndertowMessages].upgradeNotSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].upgradeNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: '[io.undertow.UndertowMessages].renegotiationNotSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].renegotiationNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: '[io.undertow.UndertowMessages].notAValidRegularExpressionPattern(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].notAValidRegularExpressionPattern(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: '[io.undertow.UndertowMessages].badRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.UndertowMessages].badRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: '[io.undertow.UndertowMessages].hostAlreadyRegistered(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].hostAlreadyRegistered(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: '[io.undertow.UndertowMessages].hostHasNotBeenRegistered(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].hostHasNotBeenRegistered(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: '[io.undertow.UndertowMessages].extraDataWrittenAfterChunkEnd()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].extraDataWrittenAfterChunkEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: '[io.undertow.UndertowMessages].couldNotGenerateUniqueSessionId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].couldNotGenerateUniqueSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: '[io.undertow.UndertowMessages].controlFrameCannotHaveBodyContent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].controlFrameCannotHaveBodyContent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: '[io.undertow.UndertowMessages].bufferAlreadyFreed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].bufferAlreadyFreed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: '[io.undertow.UndertowMessages].awaitCalledFromIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].awaitCalledFromIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: '[io.undertow.UndertowMessages].recursiveCallToFlushingSenders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].recursiveCallToFlushingSenders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: '[io.undertow.UndertowMessages].fixedLengthOverflow()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].fixedLengthOverflow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: '[io.undertow.UndertowMessages].ajpRequestAlreadyInProgress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].ajpRequestAlreadyInProgress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: '[io.undertow.UndertowMessages].httpPingDataMustBeLength8()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].httpPingDataMustBeLength8()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: '[io.undertow.UndertowMessages].invalidPingSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].invalidPingSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frameType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: '[io.undertow.UndertowMessages].streamIdMustBeZeroForFrameType(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].streamIdMustBeZeroForFrameType(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frameType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: '[io.undertow.UndertowMessages].streamIdMustNotBeZeroForFrameType(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].streamIdMustNotBeZeroForFrameType(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: '[io.undertow.UndertowMessages].http2StreamWasReset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].http2StreamWasReset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: '[io.undertow.UndertowMessages].incorrectHttp2Preface()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].incorrectHttp2Preface()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: '[io.undertow.UndertowMessages].http2FrameTooLarge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].http2FrameTooLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: '[io.undertow.UndertowMessages].http2ContinuationFrameNotExpected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].http2ContinuationFrameNotExpected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: '[io.undertow.UndertowMessages].huffmanEncodedHpackValueDidNotEndWithEOS()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages].huffmanEncodedHpackValueDidNotEndWithEOS()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxIntegerOctets
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: '[io.undertow.UndertowMessages].integerEncodedOverTooManyOctets(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages].integerEncodedOverTooManyOctets(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    functionName: '[io.undertow.UndertowMessages].zeroNotValidHeaderTableIndex()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages].zeroNotValidHeaderTableIndex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: '[io.undertow.UndertowMessages].cannotSendContinueResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].cannotSendContinueResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: '[io.undertow.UndertowMessages].parserDidNotMakeProgress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].parserDidNotMakeProgress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: '[io.undertow.UndertowMessages].headersStreamCanOnlyBeCreatedByClient()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].headersStreamCanOnlyBeCreatedByClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: '[io.undertow.UndertowMessages].pushPromiseCanOnlyBeCreatedByServer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].pushPromiseCanOnlyBeCreatedByServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rule
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: '[io.undertow.UndertowMessages].invalidAclRule(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidAclRule(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: '[io.undertow.UndertowMessages].serverReceivedPushPromise()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].serverReceivedPushPromise()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: '[io.undertow.UndertowMessages].connectNotSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].connectNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: '[io.undertow.UndertowMessages].notAConnectRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].notAConnectRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: '[io.undertow.UndertowMessages].cannotResetBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].cannotResetBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: '[io.undertow.UndertowMessages].http2PriRequestFailed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].http2PriRequestFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: '[io.undertow.UndertowMessages].outOfBandResponseNotSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].outOfBandResponseNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxSessions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: '[io.undertow.UndertowMessages].tooManySessions(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].tooManySessions(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: '[io.undertow.UndertowMessages].proxyConnectionFailed(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].proxyConnectionFailed(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: '[io.undertow.UndertowMessages].mcmpMessageRejectedDueToSuspiciousCharacters(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].mcmpMessageRejectedDueToSuspiciousCharacters(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 416
    functionName: '[io.undertow.UndertowMessages].rengotiationTimedOut()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].rengotiationTimedOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: '[io.undertow.UndertowMessages].requestBodyAlreadyRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].requestBodyAlreadyRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: '[io.undertow.UndertowMessages].blockingIoFromIOThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].blockingIoFromIOThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 425
    functionName: '[io.undertow.UndertowMessages].responseComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].responseComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    functionName: '[io.undertow.UndertowMessages].couldNotReadContentLengthData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].couldNotReadContentLengthData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 431
    functionName: '[io.undertow.UndertowMessages].failedToSendAfterBeingSafe()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].failedToSendAfterBeingSafe()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - phrase
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: '[io.undertow.UndertowMessages].reasonPhraseToLargeForBuffer(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].reasonPhraseToLargeForBuffer(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: '[io.undertow.UndertowMessages].poolIsClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].poolIsClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: '[io.undertow.UndertowMessages].hpackFailed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages].hpackFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 443
    functionName: '[io.undertow.UndertowMessages].notAnUpgradeRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].notAnUpgradeRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - header
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: '[io.undertow.UndertowMessages].authenticationPropertyNotSet(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].authenticationPropertyNotSet(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: '[io.undertow.UndertowMessages].rengotiationFailed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].rengotiationFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - supplied
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: '[io.undertow.UndertowMessages].userAgentCharsetMustHaveEvenNumberOfItems(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].userAgentCharsetMustHaveEvenNumberOfItems(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ds
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: '[io.undertow.UndertowMessages].datasourceNotFound(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].datasourceNotFound(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: '[io.undertow.UndertowMessages].serverNotStarted()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].serverNotStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    functionName: '[io.undertow.UndertowMessages].exchangeAlreadyComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].exchangeAlreadyComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: '[io.undertow.UndertowMessages].notHandshakeRecord()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages].notHandshakeRecord()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: '[io.undertow.UndertowMessages].invalidHandshakeRecord()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages].invalidHandshakeRecord()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: '[io.undertow.UndertowMessages].multiRecordSSLHandshake()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages].multiRecordSSLHandshake()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: '[io.undertow.UndertowMessages].expectedClientHello()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages].expectedClientHello()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: '[io.undertow.UndertowMessages].expectedServerHello()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages].expectedServerHello()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exception
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: '[io.undertow.UndertowMessages].tooManyRedirects(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].tooManyRedirects(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: '[io.undertow.UndertowMessages].resumedAndDispatched()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].resumedAndDispatched()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 485
    functionName: '[io.undertow.UndertowMessages].noHostInHttp11Request()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].noHostInHttp11Request()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: '[io.undertow.UndertowMessages].invalidHpackEncoding(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages].invalidHpackEncoding(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: '[io.undertow.UndertowMessages].newlineNotSupportedInHttpString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].newlineNotSupportedInHttpString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: '[io.undertow.UndertowMessages].pseudoHeaderInWrongOrder(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].pseudoHeaderInWrongOrder(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: '[io.undertow.UndertowMessages].expectedContinuationFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].expectedContinuationFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    functionName: '[io.undertow.UndertowMessages].incorrectFrameSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].incorrectFrameSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 503
    functionName: '[io.undertow.UndertowMessages].streamNotRegistered()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].streamNotRegistered()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMechanism
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: NullPointerException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - io.undertow.security.api.AuthenticationMechanism
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: '[io.undertow.UndertowMessages].sendChallengeReturnedNull(io.undertow.security.api.AuthenticationMechanism)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NullPointerException
    signature: '[io.undertow.UndertowMessages].sendChallengeReturnedNull(io.undertow.security.api.AuthenticationMechanism)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 509
    functionName: '[io.undertow.UndertowMessages].bodyIsSetAndNotReadyForFlush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].bodyIsSetAndNotReadyForFlush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: '[io.undertow.UndertowMessages].invalidGzipHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].invalidGzipHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 515
    functionName: '[io.undertow.UndertowMessages].invalidGZIPFooter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].invalidGZIPFooter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - length
    argTypes:
    - Long
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: '[io.undertow.UndertowMessages].responseTooLargeToBuffer(Long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].responseTooLargeToBuffer(Long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxHeaderSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: '[io.undertow.UndertowMessages].headerBlockTooLarge(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].headerBlockTooLarge(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - mode
    - validAttributes
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: '[io.undertow.UndertowMessages].invalidSameSiteMode(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidSameSiteMode(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: '[io.undertow.UndertowMessages].invalidToken(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidToken(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: '[io.undertow.UndertowMessages].invalidHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - char
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: '[io.undertow.UndertowMessages].invalidCharacterInRequestTarget(char)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].invalidCharacterInRequestTarget(char)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 539
    functionName: '[io.undertow.UndertowMessages].objectIsClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].objectIsClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 542
    functionName: '[io.undertow.UndertowMessages].moreThanOneHostHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].moreThanOneHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: '[io.undertow.UndertowMessages].invalidCookieValue(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidCookieValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 548
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 548
    functionName: '[io.undertow.UndertowMessages].invalidCookieDomain(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidCookieDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    functionName: '[io.undertow.UndertowMessages].invalidCookiePath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidCookiePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: '[io.undertow.UndertowMessages].invalidControlCharacter(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidControlCharacter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: '[io.undertow.UndertowMessages].invalidEscapeCharacter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidEscapeCharacter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 560
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 560
    functionName: '[io.undertow.UndertowMessages].invalidHpackIndex(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages].invalidHpackIndex(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - minSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    functionName: '[io.undertow.UndertowMessages].bufferPoolTooSmall(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].bufferPoolTooSmall(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    functionName: '[io.undertow.UndertowMessages].invalidProxyHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].invalidProxyHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: '[io.undertow.UndertowMessages].headerSizeToLarge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].headerSizeToLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: '[io.undertow.UndertowMessages].http2TrailerToLargeForSingleBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].http2TrailerToLargeForSingleBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    functionName: '[io.undertow.UndertowMessages].pingNotSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].pingNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 578
    functionName: '[io.undertow.UndertowMessages].pingTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].pingTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    functionName: '[io.undertow.UndertowMessages].streamLimitExceeded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].streamLimitExceeded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - addressString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: '[io.undertow.UndertowMessages].invalidIpAddress(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidIpAddress(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: '[io.undertow.UndertowMessages].invalidTlsExt()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages].invalidTlsExt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: '[io.undertow.UndertowMessages].notEnoughData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages].notEnoughData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: '[io.undertow.UndertowMessages].emptyHostNameSni()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages].emptyHostNameSni()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: '[io.undertow.UndertowMessages].duplicatedSniServerName(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages].duplicatedSniServerName(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: '[io.undertow.UndertowMessages].noContextForSslConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages].noContextForSslConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: '[io.undertow.UndertowMessages].defaultContextCannotBeNull()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].defaultContextCannotBeNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: '[io.undertow.UndertowMessages].formValueIsInMemoryFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].formValueIsInMemoryFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - parameter
    - value
    - e
    argTypes:
    - String
    - String
    - Exception
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: '[io.undertow.UndertowMessages].failedToDecodeParameterValue(String,String,Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].failedToDecodeParameterValue(String,String,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - parameter
    - e
    argTypes:
    - String
    - Exception
    constantsTouched: []
    func_position:
      end: 611
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 611
    functionName: '[io.undertow.UndertowMessages].failedToDecodeParameterName(String,Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages].failedToDecodeParameterName(String,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 614
    functionName: '[io.undertow.UndertowMessages].chunkSizeTooLarge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].chunkSizeTooLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionID
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 617
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 617
    functionName: '[io.undertow.UndertowMessages].sessionWithIdAlreadyExists(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].sessionWithIdAlreadyExists(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.channels.ReadTimeoutException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutNanoseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 620
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 620
    functionName: '[io.undertow.UndertowMessages].blockingReadTimedOut(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.ReadTimeoutException
    signature: '[io.undertow.UndertowMessages].blockingReadTimedOut(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.channels.WriteTimeoutException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutNanoseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: '[io.undertow.UndertowMessages].blockingWriteTimedOut(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.WriteTimeoutException
    signature: '[io.undertow.UndertowMessages].blockingWriteTimedOut(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.channels.ReadTimeoutException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutMilliseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: '[io.undertow.UndertowMessages].readTimedOut(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.ReadTimeoutException
    signature: '[io.undertow.UndertowMessages].readTimedOut(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: '[io.undertow.UndertowMessages].failedToReplaceHashOutputStream(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages].failedToReplaceHashOutputStream(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    functionName: '[io.undertow.UndertowMessages].failedToReplaceHashOutputStreamOnWrite(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].failedToReplaceHashOutputStreamOnWrite(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - ioe
    argTypes:
    - String
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: '[io.undertow.UndertowMessages].failedToInitializePathManager(String,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages].failedToInitializePathManager(String,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 638
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 638
    functionName: '[io.undertow.UndertowMessages].invalidACLAddress(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidACLAddress(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: '[io.undertow.UndertowMessages].pathNotADirectory(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].pathNotADirectory(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: '[io.undertow.UndertowMessages].pathElementIsRegularFile(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].pathElementIsRegularFile(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - hostNameValue
    - t
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: '[io.undertow.UndertowMessages].invalidSniHostname(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].invalidSniHostname(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: '[io.undertow.UndertowMessages].failedToAllocateResource()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].failedToAllocateResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - protocolString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: '[io.undertow.UndertowMessages].protocolTooLargeForBuffer(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].protocolTooLargeForBuffer(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - buf
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 656
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 656
    functionName: '[io.undertow.UndertowMessages].bufferUnderflow(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].bufferUnderflow(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 659
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 659
    functionName: '[io.undertow.UndertowMessages].exchangeBlockingOrBlocking(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages].exchangeBlockingOrBlocking(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - q
    - e
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: '[io.undertow.UndertowMessages].failedToEncodeQueryString(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].failedToEncodeQueryString(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: '[io.undertow.UndertowMessages].wildCardsOnlyAtEndOfTemplate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].wildCardsOnlyAtEndOfTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - char
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - character
    - segment
    - position
    argTypes:
    - char
    - String
    - int
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: '[io.undertow.UndertowMessages].illegalCharacterInPathSegment(char,String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].illegalCharacterInPathSegment(char,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    functionName: '[io.undertow.UndertowMessages].defaultTargetUpdatedAfterTemplatesAdded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].defaultTargetUpdatedAfterTemplatesAdded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 674
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 674
    functionName: '[io.undertow.UndertowMessages].duplicateUrlPathTemplate(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].duplicateUrlPathTemplate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 677
    functionName: '[io.undertow.UndertowMessages].defaultTargetFactoryMustBeSetBeforeBuild()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].defaultTargetFactoryMustBeSetBeforeBuild()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: '[io.undertow.UndertowMessages].failedToLogAccessOnClose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages].failedToLogAccessOnClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - noParams
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 683
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 683
    functionName: '[io.undertow.UndertowMessages].tooManyPathParameters(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.UndertowMessages].tooManyPathParameters(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 698
    functionName: '[io.undertow.UndertowMessages].securedAjpListenerWithoutSecret()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages].securedAjpListenerWithoutSecret()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.UndertowMessages
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.UndertowMessages].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.UndertowMessages
    signature: '[io.undertow.UndertowMessages].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - defaultHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: '[io.undertow.Handlers].path(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.Handlers].path(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.Handlers:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[io.undertow.Handlers].path()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 14
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.Handlers].path()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].<init>()'
      Src: io.undertow.Handlers:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.Handlers].pathTemplate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler
    signature: '[io.undertow.Handlers].pathTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].<init>(boolean)'
      Src: io.undertow.Handlers:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - rewriteQueryParams
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[io.undertow.Handlers].routing(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.Handlers].routing(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].<init>()'
      Src: io.undertow.Handlers:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.Handlers].routing()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.RoutingHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.Handlers].routing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].<init>(boolean)'
      Src: io.undertow.Handlers:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - rewriteQueryParams
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: '[io.undertow.Handlers].pathTemplate(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateHandler].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler
    signature: '[io.undertow.Handlers].pathTemplate(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
      Src: io.undertow.Handlers:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.NameVirtualHostHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.Handlers].virtualHost()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.NameVirtualHostHandler
    signature: '[io.undertow.Handlers].virtualHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
      Src: io.undertow.Handlers:154,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(io.undertow.Handlers,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.NameVirtualHostHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - hostHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: '[io.undertow.Handlers].virtualHost(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(io.undertow.Handlers,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.NameVirtualHostHandler
    signature: '[io.undertow.Handlers].virtualHost(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].virtualHost(io.undertow.server.HttpHandler,io.undertow.Handlers)'
      Src: io.undertow.Handlers:170,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.NameVirtualHostHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - defaultHandler
    - hostHandler
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: '[io.undertow.Handlers].virtualHost(io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].virtualHost(io.undertow.server.HttpHandler,io.undertow.Handlers)'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.NameVirtualHostHandler
    signature: '[io.undertow.Handlers].virtualHost(io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.Handlers:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketConnectionCallback
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - sessionHandler
    argTypes:
    - io.undertow.websockets.WebSocketConnectionCallback
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: '[io.undertow.Handlers].websocket(io.undertow.websockets.WebSocketConnectionCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.Handlers].websocket(io.undertow.websockets.WebSocketConnectionCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - sessionHandler
    - next
    argTypes:
    - io.undertow.websockets.WebSocketConnectionCallback
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: '[io.undertow.Handlers].websocket(io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.Handlers].websocket(io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
      Src: io.undertow.Handlers:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: '[io.undertow.Handlers].serverSentEvents(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventHandler
    signature: '[io.undertow.Handlers].serverSentEvents(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>()'
      Src: io.undertow.Handlers:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '[io.undertow.Handlers].serverSentEvents()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventHandler
    signature: '[io.undertow.Handlers].serverSentEvents()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceManager)'
      Src: io.undertow.Handlers:216,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.Handlers:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - resourceManager
    argTypes:
    - io.undertow.server.handlers.resource.ResourceManager
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: '[io.undertow.Handlers].resource(io.undertow.server.handlers.resource.ResourceManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceManager)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.Handlers].resource(io.undertow.server.handlers.resource.ResourceManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RedirectHandler].<init>(String)'
      Src: io.undertow.Handlers:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RedirectHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - location
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: '[io.undertow.Handlers].redirect(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.RedirectHandler].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RedirectHandler
    signature: '[io.undertow.Handlers].redirect(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HttpTraceHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpTraceHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: '[io.undertow.Handlers].trace(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HttpTraceHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpTraceHandler
    signature: '[io.undertow.Handlers].trace(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.DateHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DateHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: '[io.undertow.Handlers].date(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.DateHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.DateHandler
    signature: '[io.undertow.Handlers].date(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicateHandler].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PredicateHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - predicate
    - trueHandler
    - falseHandler
    argTypes:
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: '[io.undertow.Handlers].predicate(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PredicateHandler].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PredicateHandler
    signature: '[io.undertow.Handlers].predicate(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PredicateContextHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: '[io.undertow.Handlers].predicateContext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PredicateContextHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.Handlers].predicateContext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:280,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.Handlers)'
      Src: io.undertow.Handlers:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.server.handlers.builder.PredicatedHandler>
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - handlers
    - next
    argTypes:
    - java.util.List<io.undertow.server.handlers.builder.PredicatedHandler>
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: '[io.undertow.Handlers].predicates(java.util.List<io.undertow.server.handlers.builder.PredicatedHandler>,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.Handlers)'
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler
    signature: '[io.undertow.Handlers].predicates(java.util.List<io.undertow.server.handlers.builder.PredicatedHandler>,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.Handlers:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetHeaderHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - next
    - headerName
    - headerValue
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: '[io.undertow.Handlers].header(io.undertow.server.HttpHandler,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetHeaderHandler
    signature: '[io.undertow.Handlers].header(io.undertow.server.HttpHandler,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.Handlers:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetHeaderHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - next
    - headerName
    - headerValue
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: '[io.undertow.Handlers].header(io.undertow.server.HttpHandler,String,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetHeaderHandler
    signature: '[io.undertow.Handlers].header(io.undertow.server.HttpHandler,String,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:321,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.Handlers:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - next
    - defaultAllow
    argTypes:
    - io.undertow.server.HttpHandler
    - boolean
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: '[io.undertow.Handlers].ipAccessControl(io.undertow.server.HttpHandler,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler
    signature: '[io.undertow.Handlers].ipAccessControl(io.undertow.server.HttpHandler,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.Handlers:332,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.Handlers:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - next
    - defaultAllow
    - attribute
    argTypes:
    - io.undertow.server.HttpHandler
    - boolean
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: '[io.undertow.Handlers].acl(io.undertow.server.HttpHandler,boolean,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.Handlers].acl(io.undertow.server.HttpHandler,boolean,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,int)'
      Src: io.undertow.Handlers:344,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.Handlers:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - next
    - defaultAllow
    - attribute
    - denyResponseCode
    argTypes:
    - io.undertow.server.HttpHandler
    - boolean
    - io.undertow.attribute.ExchangeAttribute
    - int
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: '[io.undertow.Handlers].acl(io.undertow.server.HttpHandler,boolean,io.undertow.attribute.ExchangeAttribute,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,int)'
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.Handlers].acl(io.undertow.server.HttpHandler,boolean,io.undertow.attribute.ExchangeAttribute,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HttpContinueReadHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueReadHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: '[io.undertow.Handlers].httpContinueRead(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HttpContinueReadHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueReadHandler
    signature: '[io.undertow.Handlers].httpContinueRead(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
      Src: io.undertow.Handlers:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueAcceptingHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - next
    - accept
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: '[io.undertow.Handlers].httpContinueAccepting(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueAcceptingHandler
    signature: '[io.undertow.Handlers].httpContinueAccepting(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueAcceptingHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: '[io.undertow.Handlers].httpContinueAccepting(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueAcceptingHandler
    signature: '[io.undertow.Handlers].httpContinueAccepting(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
      Src: io.undertow.Handlers:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.URLDecodingHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - next
    - charset
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '[io.undertow.Handlers].urlDecoding(io.undertow.server.HttpHandler,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.URLDecodingHandler
    signature: '[io.undertow.Handlers].urlDecoding(io.undertow.server.HttpHandler,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String,ClassLoader)'
      Src: io.undertow.Handlers:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - next
    - attribute
    - value
    - classLoader
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: '[io.undertow.Handlers].setAttribute(io.undertow.server.HttpHandler,String,String,ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String,ClassLoader)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler
    signature: '[io.undertow.Handlers].setAttribute(io.undertow.server.HttpHandler,String,String,ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,ClassLoader)'
      Src: io.undertow.Handlers:423,1
    - Dst: '[io.undertow.Handlers].setAttribute(io.undertow.server.HttpHandler,String,String,ClassLoader)'
      Src: io.undertow.Handlers:423,1
    - Dst: '[io.undertow.Handlers].predicate(io.undertow.predicate.Predicate,io.undertow.server.handlers.SetAttributeHandler,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:423,1
    - Dst: '[io.undertow.Handlers].predicateContext(io.undertow.server.handlers.PredicateHandler)'
      Src: io.undertow.Handlers:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - ClassLoader
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - condition
    - target
    - classLoader
    - next
    argTypes:
    - String
    - String
    - ClassLoader
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: '[io.undertow.Handlers].rewrite(String,String,ClassLoader,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicateParser].parse(String,ClassLoader)'
    - '[io.undertow.Handlers].setAttribute(io.undertow.server.HttpHandler,String,String,ClassLoader)'
    - '[io.undertow.Handlers].predicate(io.undertow.predicate.Predicate,io.undertow.server.handlers.SetAttributeHandler,io.undertow.server.HttpHandler)'
    - '[io.undertow.Handlers].predicateContext(io.undertow.server.handlers.PredicateHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.Handlers].rewrite(String,String,ClassLoader,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
      Src: io.undertow.Handlers:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - charset
    - next
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: '[io.undertow.Handlers].urlDecodingHandler(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.Handlers].urlDecodingHandler(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.GracefulShutdownHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: '[io.undertow.Handlers].gracefulShutdown(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.GracefulShutdownHandler
    signature: '[io.undertow.Handlers].gracefulShutdown(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ProxyPeerAddressHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: '[io.undertow.Handlers].proxyPeerAddress(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ProxyPeerAddressHandler
    signature: '[io.undertow.Handlers].proxyPeerAddress(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.JvmRouteHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.Handlers:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.JvmRouteHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - sessionCookieName
    - jvmRoute
    - next
    argTypes:
    - String
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: '[io.undertow.Handlers].jvmRoute(String,String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.JvmRouteHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    linkageType: ''
    returnType: io.undertow.server.JvmRouteHandler
    signature: '[io.undertow.Handlers].jvmRoute(String,String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimitingHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - maxRequest
    - queueSize
    - next
    argTypes:
    - int
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: '[io.undertow.Handlers].requestLimitingHandler(int,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimitingHandler
    signature: '[io.undertow.Handlers].requestLimitingHandler(int,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(io.undertow.server.handlers.RequestLimit,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.RequestLimit
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimitingHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - requestLimit
    - next
    argTypes:
    - io.undertow.server.handlers.RequestLimit
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: '[io.undertow.Handlers].requestLimitingHandler(io.undertow.server.handlers.RequestLimit,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RequestLimitingHandler].<init>(io.undertow.server.handlers.RequestLimit,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimitingHandler
    signature: '[io.undertow.Handlers].requestLimitingHandler(io.undertow.server.handlers.RequestLimit,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.Handlers:503,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
      Src: io.undertow.Handlers:503,1
    - Dst: '[io.undertow.Handlers].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:503,1
    - Dst: '[io.undertow.Handlers].setMaxRequestTime(int)'
      Src: io.undertow.Handlers:503,1
    - Dst: '[io.undertow.Handlers].build()'
      Src: io.undertow.Handlers:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - proxyClient
    - maxRequestTime
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyClient
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: '[io.undertow.Handlers].proxyHandler(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
    - '[io.undertow.Handlers].build()'
    - '[io.undertow.Handlers].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    - '[io.undertow.Handlers].setMaxRequestTime(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.Handlers].proxyHandler(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.Handlers:513,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
      Src: io.undertow.Handlers:513,1
    - Dst: '[io.undertow.Handlers].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:513,1
    - Dst: '[io.undertow.Handlers].build()'
      Src: io.undertow.Handlers:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - proxyClient
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyClient
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: '[io.undertow.Handlers].proxyHandler(io.undertow.server.handlers.proxy.ProxyClient,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.Handlers].build()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.Handlers].proxyHandler(io.undertow.server.handlers.proxy.ProxyClient,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.Handlers:523,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
      Src: io.undertow.Handlers:523,1
    - Dst: '[io.undertow.Handlers].build()'
      Src: io.undertow.Handlers:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyClient
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - proxyClient
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyClient
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: '[io.undertow.Handlers].proxyHandler(io.undertow.server.handlers.proxy.ProxyClient)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].build()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.Handlers].proxyHandler(io.undertow.server.handlers.proxy.ProxyClient)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.DisableCacheHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: '[io.undertow.Handlers].disableCache(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.DisableCacheHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.Handlers].disableCache(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: '[io.undertow.Handlers].requestDump(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.Handlers].requestDump(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ExceptionHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ExceptionHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 552
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 552
    functionName: '[io.undertow.Handlers].exceptionHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ExceptionHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ExceptionHandler
    signature: '[io.undertow.Handlers].exceptionHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResponseRateLimitingHandler].<init>(io.undertow.server.HttpHandler,int,long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.Handlers:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResponseRateLimitingHandler
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - next
    - bytes
    - time
    - timeUnit
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: '[io.undertow.Handlers].responseRateLimitingHandler(io.undertow.server.HttpHandler,int,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResponseRateLimitingHandler].<init>(io.undertow.server.HttpHandler,int,long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseRateLimitingHandler
    signature: '[io.undertow.Handlers].responseRateLimitingHandler(io.undertow.server.HttpHandler,int,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - maxEntries
    - maxAge
    - next
    argTypes:
    - int
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: '[io.undertow.Handlers].learningPushHandler(int,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler
    signature: '[io.undertow.Handlers].learningPushHandler(int,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,int,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - maxPathEntries
    - maxPathAge
    - maxPushEntries
    - maxPushAge
    - next
    argTypes:
    - int
    - int
    - int
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: '[io.undertow.Handlers].learningPushHandler(int,int,int,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,int,int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler
    signature: '[io.undertow.Handlers].learningPushHandler(int,int,int,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetErrorHandler].<init>(io.undertow.server.HttpHandler,int)'
      Src: io.undertow.Handlers:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetErrorHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - responseCode
    - next
    argTypes:
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 603
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 603
    functionName: '[io.undertow.Handlers].setErrorHandler(int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.SetErrorHandler].<init>(io.undertow.server.HttpHandler,int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetErrorHandler
    signature: '[io.undertow.Handlers].setErrorHandler(int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].<init>(int,io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - maxEntries
    - next
    argTypes:
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: '[io.undertow.Handlers].learningPushHandler(int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LearningPushHandler].<init>(int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler
    signature: '[io.undertow.Handlers].learningPushHandler(int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.Handlers:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HostHeaderHandler
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: '[io.undertow.Handlers].hostHeaderHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.HostHeaderHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.HostHeaderHandler
    signature: '[io.undertow.Handlers].hostHeaderHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.Handlers
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 629
    functionName: '[io.undertow.Handlers].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.Handlers
    signature: '[io.undertow.Handlers].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerCannotBeNull()'
      Src: io.undertow.Handlers:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/Handlers.java
    functionUses: 17
    functionsReached:
    - '[io.undertow.Handlers].handlerCannotBeNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:40,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:49,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:59,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:74,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:83,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:90,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:95,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:105,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:120,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:130,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:149,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:161,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:174,1
    - Dst: '[java.nio.charset.StandardCharsets.UTF_8].name()'
      Src: io.undertow.UndertowOptions:179,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:186,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:199,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:212,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:222,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:236,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:245,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:252,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:263,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:275,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:290,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:317,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:322,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:328,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:333,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:341,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:350,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:358,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:368,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:374,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:388,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:400,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:405,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:410,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:419,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:433,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:444,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:452,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:459,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:467,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:474,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:487,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:494,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:506,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:513,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:529,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:536,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:549,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:556,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:562,1
    - Dst: '[org.xnio.Option].simple(String)'
      Src: io.undertow.UndertowOptions:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Long>
      - org.xnio.Option<Long>
      - long
      - long
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - int
      - int
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Integer>
      - Boolean
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Boolean>
      - boolean
      - org.xnio.Option<Boolean>
      - String
      - org.xnio.Option<String>
      - boolean
      - org.xnio.Option<Boolean>
      - boolean
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Boolean>
      - boolean
      - org.xnio.Option<Boolean>
      - boolean
      - org.xnio.Option<Boolean>
      - boolean
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Boolean>
      - Boolean
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - org.xnio.Option<Boolean>
      - int
      - org.xnio.Option<Integer>
      - int
      - org.xnio.Option<Integer>
      - boolean
      - org.xnio.Option<Boolean>
      - org.xnio.Option<String>
      - boolean
      - org.xnio.Option<Boolean>
      - org.xnio.Option<Integer>
      - org.xnio.Option<String>
      - int
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - org.xnio.Option<String>
      - org.xnio.Option<Boolean>
      - int
      - int
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - long
      - org.xnio.Option<Long>
      - org.xnio.Option<Integer>
      - org.xnio.Option<Integer>
      - org.xnio.Option<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.UndertowOptions
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: '[io.undertow.UndertowOptions].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowOptions.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Option].simple(String)'
    - '[java.nio.charset.StandardCharsets.UTF_8].name()'
    linkageType: ''
    returnType: io.undertow.UndertowOptions
    signature: '[io.undertow.UndertowOptions].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.UndertowLogger].exceptionProcessingRequest(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].exceptionProcessingRequest(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[io.undertow.UndertowLogger].ioExceptionReadingFromChannel(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].ioExceptionReadingFromChannel(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.UndertowLogger].cannotRemoveUploadedFile(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].cannotRemoveUploadedFile(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.SocketAddress
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - java.net.SocketAddress
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.UndertowLogger].requestHeaderWasTooLarge(java.net.SocketAddress,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].requestHeaderWasTooLarge(java.net.SocketAddress,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.UndertowLogger].requestWasNotFullyConsumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].requestWasNotFullyConsumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - tokenName
    - tokenValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[io.undertow.UndertowLogger].invalidTokenReceived(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].invalidTokenReceived(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tokenName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.UndertowLogger].missingAuthorizationToken(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].missingAuthorizationToken(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - userName
    - mechanism
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.UndertowLogger].authenticationFailed(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].authenticationFailed(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '[io.undertow.UndertowLogger].ignoringAjpRequestWithPrefixCode(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].ignoringAjpRequestWithPrefixCode(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[io.undertow.UndertowLogger].ioException(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].ioException(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: '[io.undertow.UndertowLogger].failedToParseRequest(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToParseRequest(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[io.undertow.UndertowLogger].errorRotatingAccessLog(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].errorRotatingAccessLog(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.UndertowLogger].errorWritingAccessLog(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].errorWritingAccessLog(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '[io.undertow.UndertowLogger].unknownVariable(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].unknownVariable(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ServerConnection.CloseListener
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - l
    - e
    argTypes:
    - ServerConnection.CloseListener
    - Throwable
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.UndertowLogger].exceptionInvokingCloseListener(ServerConnection.CloseListener,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].exceptionInvokingCloseListener(ServerConnection.CloseListener,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '[io.undertow.UndertowLogger].errorWritingJDBCLog(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].errorWritingJDBCLog(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - e
    - location
    argTypes:
    - Exception
    - String
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: '[io.undertow.UndertowLogger].exceptionGeneratingErrorPage(Exception,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].exceptionGeneratingErrorPage(Exception,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - t
    - requestURI
    argTypes:
    - Throwable
    - String
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[io.undertow.UndertowLogger].exceptionHandlingRequest(Throwable,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].exceptionHandlingRequest(Throwable,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.UndertowLogger].couldNotRegisterChangeListener(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].couldNotRegisterChangeListener(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requestURI
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: '[io.undertow.UndertowLogger].timingOutRequest(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].timingOutRequest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - requestURI
    - e
    argTypes:
    - String
    - Exception
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: '[io.undertow.UndertowLogger].proxyRequestFailed(String,Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].proxyRequestFailed(String,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - requestURI
    - uri
    argTypes:
    - String
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: '[io.undertow.UndertowLogger].proxyFailedToConnectToBackend(String,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].proxyFailedToConnectToBackend(String,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: '[io.undertow.UndertowLogger].listenerNotProgressing()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].listenerNotProgressing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: '[io.undertow.UndertowLogger].remoteEndpointFailedToSendInitialSettings(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].remoteEndpointFailedToSendInitialSettings(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.SocketAddress
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - remoteAddress
    argTypes:
    - java.net.SocketAddress
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '[io.undertow.UndertowLogger].parseRequestTimedOut(java.net.SocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].parseRequestTimedOut(java.net.SocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.SocketAddress
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.SocketAddress
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '[io.undertow.UndertowLogger].noALPNFallback(java.net.SocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].noALPNFallback(java.net.SocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - original
    - current
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.UndertowLogger].stickySessionCookieLengthTruncated(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].stickySessionCookieLengthTruncated(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 9
    argNames:
    - id
    - name
    - stickySession
    - stickySessionCookie
    - stickySessionPath
    - stickySessionRemove
    - stickySessionForce
    - waitWorker
    - maxattempts
    argTypes:
    - int
    - String
    - boolean
    - String
    - String
    - boolean
    - boolean
    - int
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: '[io.undertow.UndertowLogger].balancerCreated(int,String,boolean,String,String,boolean,boolean,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].balancerCreated(int,String,boolean,String,String,boolean,boolean,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - address
    - frequency
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: '[io.undertow.UndertowLogger].proxyAdvertisementsStarted(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].proxyAdvertisementsStarted(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - payload
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: '[io.undertow.UndertowLogger].proxyAdvertiseMessagePayload(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].proxyAdvertiseMessagePayload(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      - java.net.InetSocketAddress
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - e
    - address
    argTypes:
    - Exception
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: '[io.undertow.UndertowLogger].proxyAdvertiseCannotSendMessage(Exception,java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].proxyAdvertiseCannotSendMessage(Exception,java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: '[io.undertow.UndertowLogger].mcmpHandlerCreated()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].mcmpHandlerCreated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - type
    - errString
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: '[io.undertow.UndertowLogger].mcmpProcessingError(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].mcmpProcessingError(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: '[io.undertow.UndertowLogger].removingNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].removingNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - contextPath
    - jvmRoute
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: '[io.undertow.UndertowLogger].registeringContext(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].registeringContext(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - java.util.List<String>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - contextPath
    - jvmRoute
    - aliases
    argTypes:
    - String
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: '[io.undertow.UndertowLogger].registeringContext(String,String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].registeringContext(String,String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - contextPath
    - jvmRoute
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: '[io.undertow.UndertowLogger].unregisteringContext(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].unregisteringContext(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: '[io.undertow.UndertowLogger].nodeIsInError(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].nodeIsInError(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - String
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 13
    argNames:
    - connectionURI
    - balancer
    - domain
    - jvmRoute
    - flushPackets
    - flushwait
    - ping
    - ttl
    - timeout
    - maxConnections
    - cacheConnections
    - requestQueueSize
    - queueNewRequests
    argTypes:
    - java.net.URI
    - String
    - String
    - String
    - boolean
    - int
    - int
    - long
    - int
    - int
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: '[io.undertow.UndertowLogger].nodeConfigCreated(java.net.URI,String,String,String,boolean,int,int,long,int,int,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].nodeConfigCreated(java.net.URI,String,String,String,boolean,int,int,long,int,int,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: '[io.undertow.UndertowLogger].failedToProcessManagementReq(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToProcessManagementReq(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: '[io.undertow.UndertowLogger].failedToSendPingResponse(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToSendPingResponse(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - e
    - node
    - jvmRoute
    argTypes:
    - Exception
    - String
    - String
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: '[io.undertow.UndertowLogger].failedToSendPingResponseDBG(Exception,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToSendPingResponseDBG(Exception,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - connectionURI
    argTypes:
    - String
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: '[io.undertow.UndertowLogger].registeringNode(String,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].registeringNode(String,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: '[io.undertow.UndertowLogger].mcmpKeyValue(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].mcmpKeyValue(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: '[io.undertow.UndertowLogger].httpClientPingTask(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].httpClientPingTask(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - loadValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: '[io.undertow.UndertowLogger].receivedNodeLoad(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].receivedNodeLoad(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - int
      - io.undertow.util.HeaderMap
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - destination
    - status
    - headers
    - response
    argTypes:
    - java.net.InetSocketAddress
    - int
    - io.undertow.util.HeaderMap
    - String
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: '[io.undertow.UndertowLogger].mcmpSendingResponse(java.net.InetSocketAddress,int,io.undertow.util.HeaderMap,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].mcmpSendingResponse(java.net.InetSocketAddress,int,io.undertow.util.HeaderMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - group
    - s
    - localizedMessage
    argTypes:
    - java.net.InetAddress
    - String
    - String
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: '[io.undertow.UndertowLogger].potentialCrossTalking(java.net.InetAddress,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].potentialCrossTalking(java.net.InetAddress,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: '[io.undertow.UndertowLogger].oldStylePredicateSyntax(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].oldStylePredicateSyntax(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxRestarts
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: '[io.undertow.UndertowLogger].maxRestartsExceeded(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowLogger].maxRestartsExceeded(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: '[io.undertow.UndertowLogger].extendedAccessLogPatternParseError(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].extendedAccessLogPatternParseError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: '[io.undertow.UndertowLogger].extendedAccessLogUnknownToken(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].extendedAccessLogUnknownToken(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: '[io.undertow.UndertowLogger].extendedAccessLogMissingClosing()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].extendedAccessLogMissingClosing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - chars
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: '[io.undertow.UndertowLogger].extendedAccessLogCannotDecode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].extendedAccessLogCannotDecode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: '[io.undertow.UndertowLogger].extendedAccessLogCannotDecodeXParamValue(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].extendedAccessLogCannotDecodeXParamValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: '[io.undertow.UndertowLogger].extendedAccessLogBadXParam()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].extendedAccessLogBadXParam()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: '[io.undertow.UndertowLogger].extendedAccessLogEmptyPattern()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].extendedAccessLogEmptyPattern()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: '[io.undertow.UndertowLogger].failedToWriteJdbcAccessLog(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToWriteJdbcAccessLog(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: '[io.undertow.UndertowLogger].failedToWritePreCachedFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToWritePreCachedFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - t
    - exchange
    argTypes:
    - Throwable
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: '[io.undertow.UndertowLogger].undertowRequestFailed(Throwable,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].undertowRequestFailed(Throwable,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      - long
      - java.util.Date
      - String
      - int
      - int
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - threadName
    - threadId
    - active
    - start
    - requestUri
    - threshold
    - stuckCount
    - stackTrace
    argTypes:
    - String
    - long
    - long
    - java.util.Date
    - String
    - int
    - int
    - Throwable
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: '[io.undertow.UndertowLogger].stuckThreadDetected(String,long,long,java.util.Date,String,int,int,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].stuckThreadDetected(String,long,long,java.util.Date,String,int,int,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      - long
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - threadName
    - threadId
    - active
    - stuckCount
    argTypes:
    - String
    - long
    - long
    - int
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: '[io.undertow.UndertowLogger].stuckThreadCompleted(String,long,long,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].stuckThreadCompleted(String,long,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ServerSentEventConnection.EventCallback
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - e
    argTypes:
    - ServerSentEventConnection.EventCallback
    - Exception
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: '[io.undertow.UndertowLogger].failedToInvokeFailedCallback(ServerSentEventConnection.EventCallback,Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToInvokeFailedCallback(ServerSentEventConnection.EventCallback,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - providedHost
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: '[io.undertow.UndertowLogger].unableToResolveModClusterManagementHost(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowLogger].unableToResolveModClusterManagementHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SslConduit
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslConduit
    argTypes:
    - io.undertow.protocols.ssl.SslConduit
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: '[io.undertow.UndertowLogger].sslReadLoopDetected(io.undertow.protocols.ssl.SslConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].sslReadLoopDetected(io.undertow.protocols.ssl.SslConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SslConduit
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslConduit
    argTypes:
    - io.undertow.protocols.ssl.SslConduit
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: '[io.undertow.UndertowLogger].sslBufferOverflow(io.undertow.protocols.ssl.SslConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].sslBufferOverflow(io.undertow.protocols.ssl.SslConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ssl.SslConnection
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - org.xnio.ssl.SslConnection
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: '[io.undertow.UndertowLogger].alpnConnectionFailed(org.xnio.ssl.SslConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].alpnConnectionFailed(org.xnio.ssl.SslConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: '[io.undertow.UndertowLogger].resumedAndDispatched()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].resumedAndDispatched()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: '[io.undertow.UndertowLogger].cannotProxyStartedRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].cannotProxyStartedRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - providedAddress
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: '[io.undertow.UndertowLogger].cannotUseWildcardAddressAsModClusterManagementHost(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowLogger].cannotUseWildcardAddressAsModClusterManagementHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: '[io.undertow.UndertowLogger].unexpectedEndOfCompressedInput()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowLogger].unexpectedEndOfCompressedInput()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - totalToWrite
    - responseContentLength
    argTypes:
    - long
    - long
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: '[io.undertow.UndertowLogger].dataLargerThanContentLength(long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowLogger].dataLargerThanContentLength(long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ServerConnection
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - connection
    - exchange
    argTypes:
    - io.undertow.server.ServerConnection
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: '[io.undertow.UndertowLogger].responseWasNotTerminated(io.undertow.server.ServerConnection,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].responseWasNotTerminated(io.undertow.server.ServerConnection,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: '[io.undertow.UndertowLogger].failedToAcceptSSLRequest(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToAcceptSSLRequest(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: '[io.undertow.UndertowLogger].closeAsyncFailed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].closeAsyncFailed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: '[io.undertow.UndertowLogger].nullParameter(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowLogger].nullParameter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: '[io.undertow.UndertowLogger].handleUnexpectedFailure(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].handleUnexpectedFailure(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: '[io.undertow.UndertowLogger].directBufferDeallocatorInitializationFailed(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].directBufferDeallocatorInitializationFailed(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: '[io.undertow.UndertowLogger].directBufferDeallocationFailed(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].directBufferDeallocationFailed(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.ReadTimeoutException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rte
    argTypes:
    - org.xnio.channels.ReadTimeoutException
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: '[io.undertow.UndertowLogger].blockingReadTimedOut(org.xnio.channels.ReadTimeoutException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].blockingReadTimedOut(org.xnio.channels.ReadTimeoutException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.WriteTimeoutException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rte
    argTypes:
    - org.xnio.channels.WriteTimeoutException
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: '[io.undertow.UndertowLogger].blockingWriteTimedOut(org.xnio.channels.WriteTimeoutException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].blockingWriteTimedOut(org.xnio.channels.WriteTimeoutException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.RejectedExecutionException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ree
    argTypes:
    - java.util.concurrent.RejectedExecutionException
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: '[io.undertow.UndertowLogger].sslEngineDelegatedTaskRejected(java.util.concurrent.RejectedExecutionException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].sslEngineDelegatedTaskRejected(java.util.concurrent.RejectedExecutionException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - header
    - exchange
    - e
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    - Exception
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: '[io.undertow.UndertowLogger].authenticationFailedFor(String,io.undertow.server.HttpServerExchange,Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].authenticationFailedFor(String,io.undertow.server.HttpServerExchange,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.security.GeneralSecurityException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.security.GeneralSecurityException
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: '[io.undertow.UndertowLogger].failedToObtainSubject(io.undertow.server.HttpServerExchange,java.security.GeneralSecurityException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToObtainSubject(io.undertow.server.HttpServerExchange,java.security.GeneralSecurityException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    - Throwable
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: '[io.undertow.UndertowLogger].failedToNegotiateAtGSSAPI(io.undertow.server.HttpServerExchange,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToNegotiateAtGSSAPI(io.undertow.server.HttpServerExchange,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: '[io.undertow.UndertowLogger].failedToCreateSSOForSession(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToCreateSSOForSession(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - f
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: '[io.undertow.UndertowLogger].failedToListPathsForFile(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToListPathsForFile(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 467
    functionName: '[io.undertow.UndertowLogger].noSourceToListResourcesFrom()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].noSourceToListResourcesFrom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutMiliseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: '[io.undertow.UndertowLogger].noFrameflushInTimeout(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].noFrameflushInTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ttl
    - defaultTtl
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: '[io.undertow.UndertowLogger].wrongCacheTTLValue(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].wrongCacheTTLValue(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - ttl
    - defaultTtl
    - e
    argTypes:
    - int
    - int
    - Exception
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: '[io.undertow.UndertowLogger].failedToRegisterChangeListener(int,int,Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToRegisterChangeListener(int,int,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - int
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - key
    - cacheIndicatedSize
    - written
    argTypes:
    - Object
    - int
    - long
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: '[io.undertow.UndertowLogger].cacheEntryMismatchContent(Object,int,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].cacheEntryMismatchContent(Object,int,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - long
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - key
    - indicatedSize
    - written
    argTypes:
    - Object
    - long
    - long
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: '[io.undertow.UndertowLogger].contentEntryMismatch(Object,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].contentEntryMismatch(Object,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: '[io.undertow.UndertowLogger].failedToSetWSTimeout(Exception)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].failedToSetWSTimeout(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: '[io.undertow.UndertowLogger].configurationNotSupported(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].configurationNotSupported(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: '[io.undertow.UndertowLogger].accessLogWorkerFailureOnTransition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].accessLogWorkerFailureOnTransition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: '[io.undertow.UndertowLogger].accessLogWorkerFailureOnReschedule()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].accessLogWorkerFailureOnReschedule()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: '[io.undertow.UndertowLogger].accessLogWorkerNoTermination()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].accessLogWorkerNoTermination()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - InterruptedException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ie
    argTypes:
    - InterruptedException
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: '[io.undertow.UndertowLogger].closeInterrupted(InterruptedException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger].closeInterrupted(InterruptedException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.UndertowLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.UndertowLogger].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/UndertowLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.UndertowLogger
    signature: '[io.undertow.UndertowLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sender
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.Sender
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/IoCallback.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - sender
    - exception
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.Sender
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/IoCallback.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.IoCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.IoCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/IoCallback.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.IoCallback
    signature: '[io.undertow.io.IoCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.Receiver.ErrorCallback].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.BlockingReceiverImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - inputStream
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.io.BlockingReceiverImpl].<init>(io.undertow.server.HttpServerExchange,java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.Receiver.ErrorCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.io.BlockingReceiverImpl
    signature: '[io.undertow.io.BlockingReceiverImpl].<init>(io.undertow.server.HttpServerExchange,java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxBufferSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.io.BlockingReceiverImpl].setMaxBufferSize(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].setMaxBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - ErrorCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - FullStringCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,io.undertow.io.BlockingReceiverImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - FullStringCallback
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,io.undertow.io.BlockingReceiverImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - ErrorCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - PartialStringCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,io.undertow.io.BlockingReceiverImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - PartialStringCallback
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,io.undertow.io.BlockingReceiverImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].requestBodyAlreadyRead()'
      Src: io.undertow.io.BlockingReceiverImpl:93,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.BlockingReceiverImpl:97,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.io.BlockingReceiverImpl:99,1
    - Dst: '[FullStringCallback].handle(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.io.BlockingReceiverImpl:100,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:103,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:103,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:105,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:105,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.io.BlockingReceiverImpl:110,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:112,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.BlockingReceiverImpl:112,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>(int)'
      Src: io.undertow.io.BlockingReceiverImpl:115,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:118,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:122,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.BlockingReceiverImpl:122,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.BlockingReceiverImpl:127,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.BlockingReceiverImpl:127,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.io.BlockingReceiverImpl:127,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.BlockingReceiverImpl:127,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:129,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].array()'
      Src: io.undertow.io.BlockingReceiverImpl:129,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:129,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
      Src: io.undertow.io.BlockingReceiverImpl:129,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:129,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].remaining()'
      Src: io.undertow.io.BlockingReceiverImpl:129,1
    - Dst: '[java.io.InputStream].read(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:129,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:130,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].array()'
      Src: io.undertow.io.BlockingReceiverImpl:130,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:130,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
      Src: io.undertow.io.BlockingReceiverImpl:130,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:130,1
    - Dst: '[java.nio.charset.Charset].name()'
      Src: io.undertow.io.BlockingReceiverImpl:132,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:132,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:133,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:134,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:134,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].length()'
      Src: io.undertow.io.BlockingReceiverImpl:135,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:135,1
    - Dst: '[FullStringCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:137,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].failedToAllocateResource()'
      Src: io.undertow.io.BlockingReceiverImpl:139,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)
      Src: io.undertow.io.BlockingReceiverImpl:142,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - ErrorCallback
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - callback
    - errorCallback
    - charset
    argTypes:
    - FullStringCallback
    - ErrorCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 145
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 145
    functionName: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.charset.Charset].name()'
    - Long.parseLong(String)
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[java.io.ByteArrayOutputStream].<init>(int)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
    - '[FullStringCallback].handle(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.io.BlockingReceiverImpl].array()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.io.InputStream].read(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - pooled.getBuffer()
    - '[FullStringCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.io.BlockingReceiverImpl].length()'
    - '[java.io.ByteArrayOutputStream].toString(io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.io.BlockingReceiverImpl].remaining()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.BlockingReceiverImpl].argumentCannotBeNull(String)'
    - '[RequestToLargeException].<init>()'
    - '[io.undertow.io.BlockingReceiverImpl].requestBodyAlreadyRead()'
    - '[io.undertow.io.BlockingReceiverImpl].failedToAllocateResource()'
    - error.error(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
      Src: io.undertow.io.BlockingReceiverImpl:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - charset
    argTypes:
    - FullStringCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 6
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receiveFullString(FullStringCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].requestBodyAlreadyRead()'
      Src: io.undertow.io.BlockingReceiverImpl:155,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.BlockingReceiverImpl:159,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.io.BlockingReceiverImpl:161,1
    - Dst: '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,String,boolean)'
      Src: io.undertow.io.BlockingReceiverImpl:162,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:165,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:165,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:167,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:167,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.io.BlockingReceiverImpl:171,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:173,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.BlockingReceiverImpl:173,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:181,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.BlockingReceiverImpl:181,1
    - Dst: '[java.nio.charset.Charset].newDecoder()'
      Src: io.undertow.io.BlockingReceiverImpl:185,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.BlockingReceiverImpl:187,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.BlockingReceiverImpl:187,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.io.BlockingReceiverImpl:187,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.BlockingReceiverImpl:187,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:189,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].array()'
      Src: io.undertow.io.BlockingReceiverImpl:189,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:189,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
      Src: io.undertow.io.BlockingReceiverImpl:189,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:189,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].remaining()'
      Src: io.undertow.io.BlockingReceiverImpl:189,1
    - Dst: '[java.io.InputStream].read(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:189,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:190,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].limit(io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:190,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:191,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].decode(io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:191,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].toString()'
      Src: io.undertow.io.BlockingReceiverImpl:192,1
    - Dst: '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl,boolean)'
      Src: io.undertow.io.BlockingReceiverImpl:192,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:193,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].clear()'
      Src: io.undertow.io.BlockingReceiverImpl:193,1
    - Dst: '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,String,boolean)'
      Src: io.undertow.io.BlockingReceiverImpl:195,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].failedToAllocateResource()'
      Src: io.undertow.io.BlockingReceiverImpl:197,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)
      Src: io.undertow.io.BlockingReceiverImpl:200,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - ErrorCallback
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - callback
    - errorCallback
    - charset
    argTypes:
    - PartialStringCallback
    - ErrorCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 203
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 203
    functionName: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl,boolean)'
    - error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
    - '[io.undertow.io.BlockingReceiverImpl].clear()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.charset.Charset].newDecoder()'
    - '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,String,boolean)'
    - Long.parseLong(String)
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.io.BlockingReceiverImpl].decode(io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[io.undertow.io.BlockingReceiverImpl].array()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.io.InputStream].read(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.io.BlockingReceiverImpl].limit(io.undertow.io.BlockingReceiverImpl)'
    - pooled.getBuffer()
    - '[io.undertow.io.BlockingReceiverImpl].toString()'
    - '[io.undertow.io.BlockingReceiverImpl].remaining()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.BlockingReceiverImpl].argumentCannotBeNull(String)'
    - '[RequestToLargeException].<init>()'
    - '[io.undertow.io.BlockingReceiverImpl].requestBodyAlreadyRead()'
    - '[io.undertow.io.BlockingReceiverImpl].failedToAllocateResource()'
    - error.error(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
      Src: io.undertow.io.BlockingReceiverImpl:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - charset
    argTypes:
    - PartialStringCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receivePartialString(PartialStringCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].requestBodyAlreadyRead()'
      Src: io.undertow.io.BlockingReceiverImpl:213,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.BlockingReceiverImpl:217,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.io.BlockingReceiverImpl:219,1
    - Dst: '[FullBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[])'
      Src: io.undertow.io.BlockingReceiverImpl:220,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:223,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:223,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:225,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:225,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.io.BlockingReceiverImpl:230,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:232,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.BlockingReceiverImpl:232,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>(int)'
      Src: io.undertow.io.BlockingReceiverImpl:235,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:238,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:242,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.BlockingReceiverImpl:242,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.BlockingReceiverImpl:247,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.BlockingReceiverImpl:247,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.io.BlockingReceiverImpl:247,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.BlockingReceiverImpl:247,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:249,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].array()'
      Src: io.undertow.io.BlockingReceiverImpl:249,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:249,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
      Src: io.undertow.io.BlockingReceiverImpl:249,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:249,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].remaining()'
      Src: io.undertow.io.BlockingReceiverImpl:249,1
    - Dst: '[java.io.InputStream].read(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:249,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:250,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].array()'
      Src: io.undertow.io.BlockingReceiverImpl:250,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:250,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
      Src: io.undertow.io.BlockingReceiverImpl:250,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:250,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.io.BlockingReceiverImpl:252,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:253,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:254,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:254,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:255,1
    - Dst: '[FullBytesCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:257,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].failedToAllocateResource()'
      Src: io.undertow.io.BlockingReceiverImpl:259,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)
      Src: io.undertow.io.BlockingReceiverImpl:262,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    JavaMethodInfo:
      argumentGenericTypes:
      - FullBytesCallback
      - ErrorCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - FullBytesCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 265
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 265
    functionName: '[io.undertow.io.BlockingReceiverImpl].receiveFullBytes(FullBytesCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - Long.parseLong(String)
    - '[FullBytesCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[java.io.ByteArrayOutputStream].<init>(int)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[FullBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[])'
    - '[io.undertow.io.BlockingReceiverImpl].array()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.io.InputStream].read(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - pooled.getBuffer()
    - '[io.undertow.io.BlockingReceiverImpl].remaining()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.BlockingReceiverImpl].argumentCannotBeNull(String)'
    - '[RequestToLargeException].<init>()'
    - '[io.undertow.io.BlockingReceiverImpl].requestBodyAlreadyRead()'
    - '[io.undertow.io.BlockingReceiverImpl].failedToAllocateResource()'
    - error.error(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receiveFullBytes(FullBytesCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].receiveFullBytes(FullBytesCallback,ErrorCallback)'
      Src: io.undertow.io.BlockingReceiverImpl:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FullBytesCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - FullBytesCallback
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 6
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: '[io.undertow.io.BlockingReceiverImpl].receiveFullBytes(FullBytesCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingReceiverImpl].receiveFullBytes(FullBytesCallback,ErrorCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receiveFullBytes(FullBytesCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].requestBodyAlreadyRead()'
      Src: io.undertow.io.BlockingReceiverImpl:275,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.BlockingReceiverImpl:279,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.io.BlockingReceiverImpl:281,1
    - Dst: '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
      Src: io.undertow.io.BlockingReceiverImpl:282,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:285,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:285,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.BlockingReceiverImpl:287,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingReceiverImpl:287,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.io.BlockingReceiverImpl:291,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:293,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.BlockingReceiverImpl:293,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.BlockingReceiverImpl:301,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.BlockingReceiverImpl:301,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.BlockingReceiverImpl:306,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.BlockingReceiverImpl:306,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.io.BlockingReceiverImpl:306,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.BlockingReceiverImpl:306,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:308,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].array()'
      Src: io.undertow.io.BlockingReceiverImpl:308,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:308,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
      Src: io.undertow.io.BlockingReceiverImpl:308,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:308,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].remaining()'
      Src: io.undertow.io.BlockingReceiverImpl:308,1
    - Dst: '[java.io.InputStream].read(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
      Src: io.undertow.io.BlockingReceiverImpl:308,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:310,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].array()'
      Src: io.undertow.io.BlockingReceiverImpl:310,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingReceiverImpl:310,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
      Src: io.undertow.io.BlockingReceiverImpl:310,1
    - Dst: System.arraycopy(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,int,io.undertow.io.BlockingReceiverImpl)
      Src: io.undertow.io.BlockingReceiverImpl:310,1
    - Dst: '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl,boolean)'
      Src: io.undertow.io.BlockingReceiverImpl:311,1
    - Dst: '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
      Src: io.undertow.io.BlockingReceiverImpl:313,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].failedToAllocateResource()'
      Src: io.undertow.io.BlockingReceiverImpl:315,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)
      Src: io.undertow.io.BlockingReceiverImpl:318,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialBytesCallback
      - ErrorCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - PartialBytesCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 320
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 320
    functionName: '[io.undertow.io.BlockingReceiverImpl].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.io.BlockingReceiverImpl].arrayOffset()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl,boolean)'
    - '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
    - System.arraycopy(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,int,io.undertow.io.BlockingReceiverImpl)
    - Long.parseLong(String)
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[io.undertow.io.BlockingReceiverImpl].array()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.io.InputStream].read(io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl,io.undertow.io.BlockingReceiverImpl)'
    - pooled.getBuffer()
    - '[io.undertow.io.BlockingReceiverImpl].remaining()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.BlockingReceiverImpl].argumentCannotBeNull(String)'
    - '[RequestToLargeException].<init>()'
    - '[io.undertow.io.BlockingReceiverImpl].requestBodyAlreadyRead()'
    - '[io.undertow.io.BlockingReceiverImpl].failedToAllocateResource()'
    - error.error(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingReceiverImpl)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingReceiverImpl].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
      Src: io.undertow.io.BlockingReceiverImpl:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialBytesCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - PartialBytesCallback
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 6
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: '[io.undertow.io.BlockingReceiverImpl].receivePartialBytes(PartialBytesCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingReceiverImpl].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].receivePartialBytes(PartialBytesCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: '[io.undertow.io.BlockingReceiverImpl].pause()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].pause()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - java.io.InputStream
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: '[io.undertow.io.BlockingReceiverImpl].resume()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingReceiverImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingReceiverImpl].resume()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.io.IoCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[io.undertow.io.Sender].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.io.IoCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '[io.undertow.io.Sender].send(ByteBuffer[],io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].send(ByteBuffer[],io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '[io.undertow.io.Sender].send(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].send(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '[io.undertow.io.Sender].send(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].send(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.io.IoCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - callback
    argTypes:
    - String
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '[io.undertow.io.Sender].send(String,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].send(String,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      - io.undertow.io.IoCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - charset
    - callback
    argTypes:
    - String
    - java.nio.charset.Charset
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '[io.undertow.io.Sender].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '[io.undertow.io.Sender].send(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].send(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - charset
    argTypes:
    - String
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '[io.undertow.io.Sender].send(String,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].send(String,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - callback
    argTypes:
    - java.nio.channels.FileChannel
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: '[io.undertow.io.Sender].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.IoCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '[io.undertow.io.Sender].close(io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].close(io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '[io.undertow.io.Sender].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Sender].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Sender
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.Sender].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Sender.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Sender
    signature: '[io.undertow.io.Sender].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.io.UndertowOutputStream:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.UndertowOutputStream
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.io.UndertowOutputStream].<init>(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    linkageType: ''
    returnType: io.undertow.io.UndertowOutputStream
    signature: '[io.undertow.io.UndertowOutputStream].<init>(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowOutputStream:82,1
    - Dst: '[io.undertow.io.UndertowOutputStream].cannotResetBuffer()'
      Src: io.undertow.io.UndertowOutputStream:83,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.io.UndertowOutputStream:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: '[io.undertow.io.UndertowOutputStream].resetBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].cannotResetBuffer()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].resetBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: java.io.OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.io.UndertowOutputStream].getBytesWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.io.UndertowOutputStream].getBytesWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].write(int,int)'
      Src: io.undertow.io.UndertowOutputStream:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: '[io.undertow.io.UndertowOutputStream].write(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].write(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].write(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].write(byte[],int,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: '[io.undertow.io.UndertowOutputStream].write(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].write(byte[],int,io.undertow.io.UndertowOutputStream)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].write(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.io.UndertowOutputStream:116,1
    - Dst: '[io.undertow.io.UndertowOutputStream].blockingIoFromIOThread()'
      Src: io.undertow.io.UndertowOutputStream:117,1
    - Dst: '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowOutputStream:119,1
    - Dst: '[io.undertow.io.UndertowOutputStream].streamIsClosed()'
      Src: io.undertow.io.UndertowOutputStream:120,1
    - Dst: '[io.undertow.io.UndertowOutputStream].buffer()'
      Src: io.undertow.io.UndertowOutputStream:123,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowOutputStream:124,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowOutputStream:125,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.UndertowOutputStream:134,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.UndertowOutputStream:136,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.UndertowOutputStream:136,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowOutputStream:142,1
    - Dst: '[java.nio.ByteBuffer].put(byte[],io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:143,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.UndertowOutputStream:144,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.UndertowOutputStream:148,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.UndertowOutputStream:150,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.UndertowOutputStream:151,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowOutputStream:153,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowOutputStream:154,1
    - Dst: '[java.nio.ByteBuffer].put(byte[],io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:155,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.UndertowOutputStream:156,1
    - Dst: '[java.nio.ByteBuffer].put(byte[],io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:159,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.UndertowOutputStream:161,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,io.undertow.io.UndertowOutputStream,int,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:165,1
    - Dst: cb.clear()
      Src: io.undertow.io.UndertowOutputStream:171,1
    - Dst: cb.remaining()
      Src: io.undertow.io.UndertowOutputStream:174,1
    - Dst: cb.remaining()
      Src: io.undertow.io.UndertowOutputStream:175,1
    - Dst: cb.put(byte[],io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)
      Src: io.undertow.io.UndertowOutputStream:176,1
    - Dst: cb.flip()
      Src: io.undertow.io.UndertowOutputStream:177,1
    - Dst: cb.put(byte[],io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)
      Src: io.undertow.io.UndertowOutputStream:180,1
    - Dst: cb.flip()
      Src: io.undertow.io.UndertowOutputStream:182,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,io.undertow.io.UndertowOutputStream,int,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:186,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.io.UndertowOutputStream:188,1
    - Dst: p.close()
      Src: io.undertow.io.UndertowOutputStream:195,1
    - Dst: '[java.nio.ByteBuffer].put(byte[],int,int)'
      Src: io.undertow.io.UndertowOutputStream:199,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowOutputStream:200,1
    - Dst: '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
      Src: io.undertow.io.UndertowOutputStream:201,1
    - Dst: '[java.nio.ByteBuffer].put(byte[],int,int)'
      Src: io.undertow.io.UndertowOutputStream:205,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowOutputStream:206,1
    - Dst: '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
      Src: io.undertow.io.UndertowOutputStream:207,1
    - Dst: '[io.undertow.io.UndertowOutputStream].updateWritten(int)'
      Src: io.undertow.io.UndertowOutputStream:210,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 211
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 211
    functionName: '[io.undertow.io.UndertowOutputStream].write(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
    - '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,io.undertow.io.UndertowOutputStream,int,io.undertow.io.UndertowOutputStream)'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - cb.put(byte[],io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].put(byte[],io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)'
    - cb.flip()
    - '[java.nio.ByteBuffer].put(byte[],int,int)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.io.UndertowOutputStream].blockingIoFromIOThread()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.UndertowOutputStream].streamIsClosed()'
    - '[io.undertow.io.UndertowOutputStream].buffer()'
    - '[java.nio.ByteBuffer].remaining()'
    - p.close()
    - '[io.undertow.io.UndertowOutputStream].updateWritten(int)'
    - cb.remaining()
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - cb.clear()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowOutputStream:215,1
    - Dst: '[io.undertow.io.UndertowOutputStream].streamIsClosed()'
      Src: io.undertow.io.UndertowOutputStream:216,1
    - Dst: buf.remaining()
      Src: io.undertow.io.UndertowOutputStream:220,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.UndertowOutputStream:230,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,ByteBuffer[],int,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:232,1
    - Dst: '[io.undertow.io.UndertowOutputStream].buffer()'
      Src: io.undertow.io.UndertowOutputStream:235,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowOutputStream:236,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,ByteBuffer[],int,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:237,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.UndertowOutputStream:240,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.io.UndertowOutputStream:242,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,ByteBuffer[],int,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:243,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.UndertowOutputStream:246,1
    - Dst: System.arraycopy(ByteBuffer[],int,io.undertow.io.UndertowOutputStream,int,io.undertow.io.UndertowOutputStream)
      Src: io.undertow.io.UndertowOutputStream:248,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,io.undertow.io.UndertowOutputStream,int,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:249,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.io.UndertowOutputStream:250,1
    - Dst: '[io.undertow.io.UndertowOutputStream].updateWritten(io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:255,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - buffers
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 256
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 256
    functionName: '[io.undertow.io.UndertowOutputStream].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,ByteBuffer[],int,io.undertow.io.UndertowOutputStream)'
    - buf.remaining()
    - '[io.undertow.io.UndertowOutputStream].streamIsClosed()'
    - '[io.undertow.io.UndertowOutputStream].updateWritten(io.undertow.io.UndertowOutputStream)'
    - '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
    - '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,ByteBuffer[],int,io.undertow.io.UndertowOutputStream)'
    - '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,io.undertow.io.UndertowOutputStream,int,io.undertow.io.UndertowOutputStream)'
    - '[io.undertow.io.UndertowOutputStream].buffer()'
    - '[java.nio.ByteBuffer].remaining()'
    - System.arraycopy(ByteBuffer[],int,io.undertow.io.UndertowOutputStream,int,io.undertow.io.UndertowOutputStream)
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].write()'
      Src: io.undertow.io.UndertowOutputStream:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: '[io.undertow.io.UndertowOutputStream].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].write()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].flush()'
      Src: io.undertow.io.UndertowOutputStream:266,1
    - Dst: '[io.undertow.io.UndertowOutputStream].close()'
      Src: io.undertow.io.UndertowOutputStream:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - len
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 6
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: '[io.undertow.io.UndertowOutputStream].updateWritten(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].flush()'
    - '[io.undertow.io.UndertowOutputStream].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].updateWritten(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowOutputStream:275,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.io.UndertowOutputStream:276,1
    - Dst: '[io.undertow.io.UndertowOutputStream].streamIsClosed()'
      Src: io.undertow.io.UndertowOutputStream:278,1
    - Dst: '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
      Src: io.undertow.io.UndertowOutputStream:280,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.UndertowOutputStream:289,1
    - Dst: '[org.xnio.channels.Channels].flushBlocking(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.io.UndertowOutputStream:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: '[io.undertow.io.UndertowOutputStream].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
    - '[io.undertow.io.UndertowOutputStream].streamIsClosed()'
    - '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
    - '[org.xnio.channels.Channels].flushBlocking(org.xnio.channels.StreamSinkChannel)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.UndertowOutputStream:296,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.UndertowOutputStream:298,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.io.UndertowOutputStream:300,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.io.UndertowOutputStream:301,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.io.UndertowOutputStream:301,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].awaitWritable()'
      Src: io.undertow.io.UndertowOutputStream:303,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.io.UndertowOutputStream:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - writeFinal
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 4
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
    - '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[org.xnio.channels.StreamSinkChannel].awaitWritable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].position()'
      Src: io.undertow.io.UndertowOutputStream:312,1
    - Dst: '[java.nio.channels.FileChannel].size()'
      Src: io.undertow.io.UndertowOutputStream:313,1
    - Dst: '[java.nio.channels.FileChannel].position()'
      Src: io.undertow.io.UndertowOutputStream:313,1
    - Dst: '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowOutputStream:314,1
    - Dst: '[io.undertow.io.UndertowOutputStream].streamIsClosed()'
      Src: io.undertow.io.UndertowOutputStream:315,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.io.UndertowOutputStream:317,1
    - Dst: '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
      Src: io.undertow.io.UndertowOutputStream:318,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.UndertowOutputStream:321,1
    - Dst: '[org.xnio.channels.Channels].transferBlocking(org.xnio.channels.StreamSinkChannel,java.nio.channels.FileChannel,io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:323,1
    - Dst: '[io.undertow.io.UndertowOutputStream].updateWritten(io.undertow.io.UndertowOutputStream)'
      Src: io.undertow.io.UndertowOutputStream:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: '[io.undertow.io.UndertowOutputStream].transferFrom(java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
    - '[io.undertow.io.UndertowOutputStream].streamIsClosed()'
    - '[io.undertow.io.UndertowOutputStream].updateWritten(io.undertow.io.UndertowOutputStream)'
    - '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
    - '[org.xnio.channels.Channels].transferBlocking(org.xnio.channels.StreamSinkChannel,java.nio.channels.FileChannel,io.undertow.io.UndertowOutputStream,io.undertow.io.UndertowOutputStream)'
    - '[java.nio.channels.FileChannel].size()'
    - '[java.nio.channels.FileChannel].position()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].transferFrom(java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowOutputStream:331,1
    - Dst: '[io.undertow.io.UndertowOutputStream].anyAreClear(int,int)'
      Src: io.undertow.io.UndertowOutputStream:334,1
    - Dst: '[io.undertow.io.UndertowOutputStream].isHeadRequestWithContentLength(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.io.UndertowOutputStream:336,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.UndertowOutputStream:338,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.io.UndertowOutputStream:338,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.UndertowOutputStream:340,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.io.UndertowOutputStream:340,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.io.UndertowOutputStream:340,1
    - Dst: '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
      Src: io.undertow.io.UndertowOutputStream:344,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.UndertowOutputStream:347,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.io.UndertowOutputStream:353,1
    - Dst: '[org.xnio.channels.Channels].flushBlocking(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.io.UndertowOutputStream:354,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.UndertowOutputStream:357,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 363
    functionName: '[io.undertow.io.UndertowOutputStream].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[io.undertow.io.UndertowOutputStream].writeBufferBlocking(boolean)'
    - '[io.undertow.io.UndertowOutputStream].anyAreSet(int,int)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.io.UndertowOutputStream].anyAreClear(int,int)'
    - '[org.xnio.channels.Channels].flushBlocking(org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.io.UndertowOutputStream].isHeadRequestWithContentLength(io.undertow.server.HttpServerExchange)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowOutputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.io.UndertowOutputStream:367,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.io.UndertowOutputStream:367,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.UndertowOutputStream:368,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.UndertowOutputStream:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: '[io.undertow.io.UndertowOutputStream].isHeadRequestWithContentLength(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.io.UndertowOutputStream].isHeadRequestWithContentLength(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.UndertowOutputStream:376,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.UndertowOutputStream:376,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.UndertowOutputStream:376,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.UndertowOutputStream:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.channels.StreamSinkChannel
      - int
      - long
      - long
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.BufferWritableOutputStream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: java.io.OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: '[io.undertow.io.UndertowOutputStream].buffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowOutputStream.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.io.UndertowOutputStream].buffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.AsyncSenderImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[io.undertow.io.AsyncSenderImpl].<init>(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.AsyncSenderImpl
    signature: '[io.undertow.io.AsyncSenderImpl].<init>(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:137,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.AsyncSenderImpl:139,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncSenderImpl:141,1
    - Dst: '[io.undertow.server.ServerConnection].isOpen()'
      Src: io.undertow.io.AsyncSenderImpl:141,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:142,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.nio.channels.ClosedChannelException)'
      Src: io.undertow.io.AsyncSenderImpl:142,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseComplete()'
      Src: io.undertow.io.AsyncSenderImpl:145,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].responseComplete()'
      Src: io.undertow.io.AsyncSenderImpl:146,1
    - Dst: '[java.io.IOException].<init>(io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:146,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
      Src: io.undertow.io.AsyncSenderImpl:146,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].dataAlreadyQueued()'
      Src: io.undertow.io.AsyncSenderImpl:149,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.io.AsyncSenderImpl:151,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.AsyncSenderImpl:152,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.AsyncSenderImpl:153,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].dataLargerThanContentLength(io.undertow.io.AsyncSenderImpl,long)'
      Src: io.undertow.io.AsyncSenderImpl:153,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:153,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.AsyncSenderImpl:159,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncSenderImpl:159,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.AsyncSenderImpl:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.AsyncSenderImpl:163,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].responseChannelAlreadyProvided()'
      Src: io.undertow.io.AsyncSenderImpl:165,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:169,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.AsyncSenderImpl:175,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.io.AsyncSenderImpl:176,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.io.AsyncSenderImpl:179,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].initWriteListener()'
      Src: io.undertow.io.AsyncSenderImpl:185,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.io.AsyncSenderImpl:187,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].set(org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>)'
      Src: io.undertow.io.AsyncSenderImpl:187,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.io.AsyncSenderImpl:188,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.io.AsyncSenderImpl:191,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnComplete()'
      Src: io.undertow.io.AsyncSenderImpl:192,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:196,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 198
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 198
    functionName: '[io.undertow.io.AsyncSenderImpl].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.io.AsyncSenderImpl].dataAlreadyQueued()'
    - '[io.undertow.server.HttpServerExchange].isResponseComplete()'
    - '[io.undertow.server.ServerConnection].isOpen()'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
    - '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.io.AsyncSenderImpl].initWriteListener()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.AsyncSenderImpl)'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnComplete()'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    - '[io.undertow.io.AsyncSenderImpl].responseChannelAlreadyProvided()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.io.AsyncSenderImpl].set(org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.AsyncSenderImpl].argumentCannotBeNull(String)'
    - '[io.undertow.io.AsyncSenderImpl].dataLargerThanContentLength(io.undertow.io.AsyncSenderImpl,long)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.io.AsyncSenderImpl].responseComplete()'
    - '[java.io.IOException].<init>(io.undertow.io.AsyncSenderImpl)'
    - Thread.currentThread()
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.nio.channels.ClosedChannelException)'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:202,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.AsyncSenderImpl:204,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncSenderImpl:207,1
    - Dst: '[io.undertow.server.ServerConnection].isOpen()'
      Src: io.undertow.io.AsyncSenderImpl:207,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:208,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.nio.channels.ClosedChannelException)'
      Src: io.undertow.io.AsyncSenderImpl:208,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseComplete()'
      Src: io.undertow.io.AsyncSenderImpl:211,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].responseComplete()'
      Src: io.undertow.io.AsyncSenderImpl:212,1
    - Dst: '[java.io.IOException].<init>(io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:212,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
      Src: io.undertow.io.AsyncSenderImpl:212,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].dataAlreadyQueued()'
      Src: io.undertow.io.AsyncSenderImpl:215,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:218,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[])'
      Src: io.undertow.io.AsyncSenderImpl:223,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.io.AsyncSenderImpl:224,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].dataLargerThanContentLength(io.undertow.io.AsyncSenderImpl,long)'
      Src: io.undertow.io.AsyncSenderImpl:226,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:226,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.AsyncSenderImpl:233,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncSenderImpl:233,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:234,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.AsyncSenderImpl:237,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].responseChannelAlreadyProvided()'
      Src: io.undertow.io.AsyncSenderImpl:239,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer[])'
      Src: io.undertow.io.AsyncSenderImpl:248,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].initWriteListener()'
      Src: io.undertow.io.AsyncSenderImpl:255,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.io.AsyncSenderImpl:257,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].set(org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>)'
      Src: io.undertow.io.AsyncSenderImpl:257,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.io.AsyncSenderImpl:258,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnComplete()'
      Src: io.undertow.io.AsyncSenderImpl:262,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:265,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 267
      start: 200
    functionDepth: 6
    functionLinenumber: 200
    functionLinenumberEnd: 267
    functionName: '[io.undertow.io.AsyncSenderImpl].send(ByteBuffer[],io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.io.AsyncSenderImpl].dataAlreadyQueued()'
    - '[io.undertow.server.HttpServerExchange].isResponseComplete()'
    - '[io.undertow.server.ServerConnection].isOpen()'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.io.AsyncSenderImpl].initWriteListener()'
    - '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.AsyncSenderImpl)'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnComplete()'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    - '[io.undertow.io.AsyncSenderImpl].responseChannelAlreadyProvided()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.io.AsyncSenderImpl].set(org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[org.xnio.Buffers].remaining(ByteBuffer[])'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.AsyncSenderImpl].argumentCannotBeNull(String)'
    - '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer[])'
    - '[io.undertow.io.AsyncSenderImpl].dataLargerThanContentLength(io.undertow.io.AsyncSenderImpl,long)'
    - '[io.undertow.io.AsyncSenderImpl].responseComplete()'
    - '[java.io.IOException].<init>(io.undertow.io.AsyncSenderImpl)'
    - Thread.currentThread()
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.nio.channels.ClosedChannelException)'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].send(ByteBuffer[],io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:272,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.AsyncSenderImpl:274,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncSenderImpl:277,1
    - Dst: '[io.undertow.server.ServerConnection].isOpen()'
      Src: io.undertow.io.AsyncSenderImpl:277,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:278,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.nio.channels.ClosedChannelException)'
      Src: io.undertow.io.AsyncSenderImpl:278,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseComplete()'
      Src: io.undertow.io.AsyncSenderImpl:281,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].responseComplete()'
      Src: io.undertow.io.AsyncSenderImpl:282,1
    - Dst: '[java.io.IOException].<init>(io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:282,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
      Src: io.undertow.io.AsyncSenderImpl:282,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].dataAlreadyQueued()'
      Src: io.undertow.io.AsyncSenderImpl:285,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:290,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:294,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.io.AsyncSenderImpl:296,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.io.AsyncSenderImpl.TransferTask)'
      Src: io.undertow.io.AsyncSenderImpl:297,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].run()'
      Src: io.undertow.io.AsyncSenderImpl:301,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - source
    - callback
    argTypes:
    - java.nio.channels.FileChannel
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 302
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 302
    functionName: '[io.undertow.io.AsyncSenderImpl].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.io.AsyncSenderImpl.TransferTask)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.io.AsyncSenderImpl].dataAlreadyQueued()'
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].run()'
    - '[io.undertow.io.AsyncSenderImpl].responseComplete()'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - '[io.undertow.server.HttpServerExchange].isResponseComplete()'
    - '[java.io.IOException].<init>(io.undertow.io.AsyncSenderImpl)'
    - Thread.currentThread()
    - '[io.undertow.server.ServerConnection].isOpen()'
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].<init>()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.AsyncSenderImpl].argumentCannotBeNull(String)'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.nio.channels.ClosedChannelException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncSenderImpl].send(java.nio.ByteBuffer,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: '[io.undertow.io.AsyncSenderImpl].send(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl].send(java.nio.ByteBuffer,io.undertow.io.AsyncSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].send(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncSenderImpl].send(ByteBuffer[],io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: '[io.undertow.io.AsyncSenderImpl].send(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl].send(ByteBuffer[],io.undertow.io.AsyncSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].send(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncSenderImpl].send(String,io.undertow.io.AsyncSenderImpl,io.undertow.io.IoCallback)'
      Src: io.undertow.io.AsyncSenderImpl:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - callback
    argTypes:
    - String
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: '[io.undertow.io.AsyncSenderImpl].send(String,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl].send(String,io.undertow.io.AsyncSenderImpl,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].send(String,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:321,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncSenderImpl:322,1
    - Dst: '[io.undertow.server.ServerConnection].isOpen()'
      Src: io.undertow.io.AsyncSenderImpl:322,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:323,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.nio.channels.ClosedChannelException)'
      Src: io.undertow.io.AsyncSenderImpl:323,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseComplete()'
      Src: io.undertow.io.AsyncSenderImpl:326,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].responseComplete()'
      Src: io.undertow.io.AsyncSenderImpl:327,1
    - Dst: '[java.io.IOException].<init>(io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:327,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
      Src: io.undertow.io.AsyncSenderImpl:327,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.io.AsyncSenderImpl:329,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:329,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].remaining()'
      Src: io.undertow.io.AsyncSenderImpl:330,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.io.AsyncSenderImpl:331,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].hasRemaining()'
      Src: io.undertow.io.AsyncSenderImpl:335,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncSenderImpl:336,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.AsyncSenderImpl:336,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.AsyncSenderImpl:336,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].remaining()'
      Src: io.undertow.io.AsyncSenderImpl:338,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncSenderImpl:338,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.AsyncSenderImpl:338,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncSenderImpl:338,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.AsyncSenderImpl:338,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncSenderImpl:343,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncSenderImpl:344,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:344,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncSenderImpl:345,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.AsyncSenderImpl:345,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].send(io.undertow.io.AsyncSenderImpl,io.undertow.io.IoCallback)'
      Src: io.undertow.io.AsyncSenderImpl:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - charset
    - callback
    argTypes:
    - String
    - java.nio.charset.Charset
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 350
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 350
    functionName: '[io.undertow.io.AsyncSenderImpl].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.io.AsyncSenderImpl].send(io.undertow.io.AsyncSenderImpl,io.undertow.io.IoCallback)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.io.AsyncSenderImpl)'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.server.HttpServerExchange].isResponseComplete()'
    - '[io.undertow.server.ServerConnection].isOpen()'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.io.AsyncSenderImpl].hasRemaining()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.io.AsyncSenderImpl].remaining()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,io.undertow.io.AsyncSenderImpl)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.io.AsyncSenderImpl].responseComplete()'
    - '[java.io.IOException].<init>(io.undertow.io.AsyncSenderImpl)'
    - Thread.currentThread()
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.nio.channels.ClosedChannelException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncSenderImpl].send(String,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: '[io.undertow.io.AsyncSenderImpl].send(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl].send(String,io.undertow.io.AsyncSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].send(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncSenderImpl].send(String,java.nio.charset.Charset,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - charset
    argTypes:
    - String
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '[io.undertow.io.AsyncSenderImpl].send(String,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl].send(String,java.nio.charset.Charset,io.undertow.io.AsyncSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].send(String,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.io.AsyncSenderImpl:367,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.AsyncSenderImpl:367,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncSenderImpl:367,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseContentLength(int)'
      Src: io.undertow.io.AsyncSenderImpl:368,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.io.AsyncSenderImpl:370,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].responseChannelAlreadyProvided()'
      Src: io.undertow.io.AsyncSenderImpl:372,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.io.AsyncSenderImpl:375,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.io.AsyncSenderImpl:376,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.io.AsyncSenderImpl:377,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:378,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:385,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.io.AsyncSenderImpl:377,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].set(io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:377,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.io.AsyncSenderImpl:398,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.io.AsyncSenderImpl:401,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:406,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 409
      start: 362
    functionDepth: 6
    functionLinenumber: 362
    functionLinenumberEnd: 409
    functionName: '[io.undertow.io.AsyncSenderImpl].close(io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].setResponseContentLength(int)'
    - '[io.undertow.io.AsyncSenderImpl].set(io.undertow.io.AsyncSenderImpl)'
    - '[io.undertow.io.AsyncSenderImpl].responseChannelAlreadyProvided()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].close(io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncSenderImpl].close(null)'
      Src: io.undertow.io.AsyncSenderImpl:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: '[io.undertow.io.AsyncSenderImpl].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl].close(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteBuffer[]].close()'
      Src: io.undertow.io.AsyncSenderImpl:424,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:433,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.io.AsyncSenderImpl:435,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.AsyncSenderImpl:439,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[])'
      Src: io.undertow.io.AsyncSenderImpl:445,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer[])'
      Src: io.undertow.io.AsyncSenderImpl:451,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].initWriteListener()'
      Src: io.undertow.io.AsyncSenderImpl:455,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.io.AsyncSenderImpl:457,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].set(org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>)'
      Src: io.undertow.io.AsyncSenderImpl:457,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.io.AsyncSenderImpl:458,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
      Src: io.undertow.io.AsyncSenderImpl:464,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:468,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].run(boolean)'
      Src: io.undertow.io.AsyncSenderImpl:470,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 478
    functionName: '[io.undertow.io.AsyncSenderImpl].invokeOnComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer[])'
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].run(boolean)'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.io.AsyncSenderImpl].set(org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>)'
    - '[io.undertow.io.AsyncSenderImpl].initWriteListener()'
    - '[org.xnio.Buffers].remaining(ByteBuffer[])'
    - Thread.currentThread()
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].<init>()'
    - '[ByteBuffer[]].close()'
    - '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,io.undertow.io.AsyncSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].invokeOnComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteBuffer[]].close()'
      Src: io.undertow.io.AsyncSenderImpl:485,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,java.io.IOException)'
      Src: io.undertow.io.AsyncSenderImpl:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.IoCallback
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - e
    argTypes:
    - io.undertow.io.IoCallback
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 490
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 490
    functionName: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 4
    functionsReached:
    - '[ByteBuffer[]].close()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].invokeOnException(io.undertow.io.IoCallback,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.io.AsyncSenderImpl:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - PooledByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      - ByteBuffer[]
      - Thread
      - Thread
      - org.xnio.ChannelListener<org.xnio.channels.StreamSinkChannel>
      - TransferTask
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 514
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 514
    functionName: '[io.undertow.io.AsyncSenderImpl].initWriteListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 3
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl].initWriteListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: source.position()
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:77,1
    - Dst: source.size()
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:78,1
    - Dst: exchange.getResponseContentLength()
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:83,1
    - Dst: exchange.getResponseHeaders()
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:83,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:83,1
    - Dst: exchange.setResponseContentLength(io.undertow.io.AsyncSenderImpl.TransferTask)
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:84,1
    - Dst: exchange.getResponseChannel()
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:87,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].responseChannelAlreadyProvided()'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:89,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].transferFrom(io.undertow.io.AsyncSenderImpl.TransferTask,io.undertow.io.AsyncSenderImpl.TransferTask,io.undertow.io.AsyncSenderImpl.TransferTask)'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:94,1
    - Dst: source.position(io.undertow.io.AsyncSenderImpl.TransferTask)
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:97,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].getWriteSetter()'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:98,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].set()'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:98,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].resumeWrites()'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:99,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].invokeOnComplete()'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:105,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].invokeOnException(io.undertow.io.AsyncSenderImpl.TransferTask,io.undertow.io.AsyncSenderImpl.TransferTask)'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:108,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - complete
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 112
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 112
    functionName: '[io.undertow.io.AsyncSenderImpl.TransferTask].run(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].getWriteSetter()'
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].contains(io.undertow.util.HttpString)'
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].resumeWrites()'
    - source.position(io.undertow.io.AsyncSenderImpl.TransferTask)
    - exchange.getResponseHeaders()
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].transferFrom(io.undertow.io.AsyncSenderImpl.TransferTask,io.undertow.io.AsyncSenderImpl.TransferTask,io.undertow.io.AsyncSenderImpl.TransferTask)'
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].invokeOnException(io.undertow.io.AsyncSenderImpl.TransferTask,io.undertow.io.AsyncSenderImpl.TransferTask)'
    - source.position()
    - exchange.getResponseChannel()
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].responseChannelAlreadyProvided()'
    - exchange.setResponseContentLength(io.undertow.io.AsyncSenderImpl.TransferTask)
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].invokeOnComplete()'
    - source.size()
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].set()'
    - exchange.getResponseContentLength()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.io.AsyncSenderImpl.TransferTask].run(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:116,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:117,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].set(null)'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:117,1
    - Dst: exchange.dispatch()
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: '[io.undertow.io.AsyncSenderImpl.TransferTask].handleEvent(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].set(null)'
    - exchange.dispatch()
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl.TransferTask].handleEvent(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].run(boolean)'
      Src: io.undertow.io.AsyncSenderImpl.TransferTask:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.io.AsyncSenderImpl.TransferTask].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].run(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncSenderImpl.TransferTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.AsyncSenderImpl.TransferTask
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.AsyncSenderImpl.TransferTask].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncSenderImpl.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.AsyncSenderImpl.TransferTask
    signature: '[io.undertow.io.AsyncSenderImpl.TransferTask].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffers
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.io.BufferWritableOutputStream].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BufferWritableOutputStream.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BufferWritableOutputStream].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[io.undertow.io.BufferWritableOutputStream].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BufferWritableOutputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BufferWritableOutputStream].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: '[io.undertow.io.BufferWritableOutputStream].transferFrom(java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BufferWritableOutputStream.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BufferWritableOutputStream].transferFrom(java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.BufferWritableOutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.BufferWritableOutputStream].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BufferWritableOutputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.BufferWritableOutputStream
    signature: '[io.undertow.io.BufferWritableOutputStream].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.Receiver.ErrorCallback].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:47,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.io.AsyncReceiverImpl:67,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].requestChannelAlreadyProvided()'
      Src: io.undertow.io.AsyncReceiverImpl:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.AsyncReceiverImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: '[io.undertow.io.AsyncReceiverImpl].<init>(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].requestChannelAlreadyProvided()'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[io.undertow.io.Receiver.ErrorCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.io.AsyncReceiverImpl
    signature: '[io.undertow.io.AsyncReceiverImpl].<init>(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxBufferSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.io.AsyncReceiverImpl].setMaxBufferSize(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].setMaxBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - ErrorCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - FullStringCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,io.undertow.io.AsyncReceiverImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - FullStringCallback
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,io.undertow.io.AsyncReceiverImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - ErrorCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - PartialStringCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,io.undertow.io.AsyncReceiverImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - PartialStringCallback
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,io.undertow.io.AsyncReceiverImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].requestBodyAlreadyRead()'
      Src: io.undertow.io.AsyncReceiverImpl:101,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.AsyncReceiverImpl:105,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.io.AsyncReceiverImpl:107,1
    - Dst: '[FullStringCallback].handle(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.io.AsyncReceiverImpl:108,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:111,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:111,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:113,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:113,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.io.AsyncReceiverImpl:118,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:120,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:120,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>(int)'
      Src: io.undertow.io.AsyncReceiverImpl:123,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:126,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:130,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:130,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncReceiverImpl:134,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.AsyncReceiverImpl:134,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.AsyncReceiverImpl:134,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncReceiverImpl:135,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.io.AsyncReceiverImpl:140,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.io.AsyncReceiverImpl:141,1
    - Dst: '[java.nio.charset.Charset].name()'
      Src: io.undertow.io.AsyncReceiverImpl:144,1
    - Dst: '[java.io.ByteArrayOutputStream].toString(io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:144,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:145,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:146,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:146,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].length()'
      Src: io.undertow.io.AsyncReceiverImpl:147,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:147,1
    - Dst: '[FullStringCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:149,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.io.AsyncReceiverImpl:152,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:152,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].set(org.xnio.ChannelListener)'
      Src: io.undertow.io.AsyncReceiverImpl:152,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.io.AsyncReceiverImpl:213,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.AsyncReceiverImpl:216,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.io.AsyncReceiverImpl:217,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.io.AsyncReceiverImpl:218,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:218,1
    - Dst: '[java.io.ByteArrayOutputStream].size()'
      Src: io.undertow.io.AsyncReceiverImpl:220,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:221,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:221,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)
      Src: io.undertow.io.AsyncReceiverImpl:226,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.AsyncReceiverImpl:231,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 106
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - ErrorCallback
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - callback
    - errorCallback
    - charset
    argTypes:
    - FullStringCallback
    - ErrorCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 234
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 234
    functionName: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.io.AsyncReceiverImpl].argumentCannotBeNull(String)'
    - error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.charset.Charset].name()'
    - '[java.io.ByteArrayOutputStream].toString(io.undertow.io.AsyncReceiverImpl)'
    - Long.parseLong(String)
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[FullStringCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.io.ByteArrayOutputStream].<init>(int)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[FullStringCallback].handle(io.undertow.server.HttpServerExchange,String)'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.io.AsyncReceiverImpl)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.io.AsyncReceiverImpl].set(org.xnio.ChannelListener)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.io.AsyncReceiverImpl)'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - error.error(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)
    - '[RequestToLargeException].<init>()'
    - '[io.undertow.io.AsyncReceiverImpl].requestBodyAlreadyRead()'
    - '[io.undertow.io.AsyncReceiverImpl].length()'
    - '[java.io.ByteArrayOutputStream].size()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
      Src: io.undertow.io.AsyncReceiverImpl:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - charset
    argTypes:
    - FullStringCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receiveFullString(FullStringCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].requestBodyAlreadyRead()'
      Src: io.undertow.io.AsyncReceiverImpl:244,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.AsyncReceiverImpl:248,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.io.AsyncReceiverImpl:250,1
    - Dst: '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,String,boolean)'
      Src: io.undertow.io.AsyncReceiverImpl:251,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:254,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:254,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:256,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:256,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.io.AsyncReceiverImpl:260,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:262,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:262,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:270,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:270,1
    - Dst: '[java.nio.charset.Charset].newDecoder()'
      Src: io.undertow.io.AsyncReceiverImpl:274,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncReceiverImpl:275,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.AsyncReceiverImpl:275,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.AsyncReceiverImpl:275,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncReceiverImpl:276,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.io.AsyncReceiverImpl:277,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:277,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].set(org.xnio.ChannelListener)'
      Src: io.undertow.io.AsyncReceiverImpl:277,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.io.AsyncReceiverImpl:339,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.io.AsyncReceiverImpl:340,1
    - Dst: '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,String,boolean)'
      Src: io.undertow.io.AsyncReceiverImpl:343,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.io.AsyncReceiverImpl:346,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.AsyncReceiverImpl:349,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].decode(java.nio.ByteBuffer)'
      Src: io.undertow.io.AsyncReceiverImpl:350,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].toString()'
      Src: io.undertow.io.AsyncReceiverImpl:351,1
    - Dst: '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl,boolean)'
      Src: io.undertow.io.AsyncReceiverImpl:351,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)
      Src: io.undertow.io.AsyncReceiverImpl:357,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.AsyncReceiverImpl:362,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 76
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - ErrorCallback
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - callback
    - errorCallback
    - charset
    argTypes:
    - PartialStringCallback
    - ErrorCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 365
      start: 241
    functionDepth: 5
    functionLinenumber: 241
    functionLinenumberEnd: 365
    functionName: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.io.AsyncReceiverImpl].argumentCannotBeNull(String)'
    - error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.charset.Charset].newDecoder()'
    - '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,String,boolean)'
    - Long.parseLong(String)
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[PartialStringCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl,boolean)'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.io.AsyncReceiverImpl].set(org.xnio.ChannelListener)'
    - '[io.undertow.io.AsyncReceiverImpl].toString()'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - error.error(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)
    - '[RequestToLargeException].<init>()'
    - '[io.undertow.io.AsyncReceiverImpl].requestBodyAlreadyRead()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.io.AsyncReceiverImpl].decode(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
      Src: io.undertow.io.AsyncReceiverImpl:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - charset
    argTypes:
    - PartialStringCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 6
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receivePartialString(PartialStringCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].requestBodyAlreadyRead()'
      Src: io.undertow.io.AsyncReceiverImpl:376,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.AsyncReceiverImpl:380,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.io.AsyncReceiverImpl:382,1
    - Dst: '[FullBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[])'
      Src: io.undertow.io.AsyncReceiverImpl:383,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:386,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:386,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.io.AsyncReceiverImpl:390,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:392,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:392,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>(int)'
      Src: io.undertow.io.AsyncReceiverImpl:395,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:398,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:402,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:402,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncReceiverImpl:406,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.AsyncReceiverImpl:406,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.AsyncReceiverImpl:406,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncReceiverImpl:407,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.io.AsyncReceiverImpl:412,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.io.AsyncReceiverImpl:413,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.io.AsyncReceiverImpl:416,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:417,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:418,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:418,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:419,1
    - Dst: '[FullBytesCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:421,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.io.AsyncReceiverImpl:424,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:424,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].set(org.xnio.ChannelListener)'
      Src: io.undertow.io.AsyncReceiverImpl:424,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.io.AsyncReceiverImpl:484,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.AsyncReceiverImpl:487,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.io.AsyncReceiverImpl:488,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.io.AsyncReceiverImpl:489,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:489,1
    - Dst: '[java.io.ByteArrayOutputStream].size()'
      Src: io.undertow.io.AsyncReceiverImpl:491,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:492,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:492,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)
      Src: io.undertow.io.AsyncReceiverImpl:497,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.AsyncReceiverImpl:502,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 99
    JavaMethodInfo:
      argumentGenericTypes:
      - FullBytesCallback
      - ErrorCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - FullBytesCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 504
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 504
    functionName: '[io.undertow.io.AsyncReceiverImpl].receiveFullBytes(FullBytesCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.io.AsyncReceiverImpl].argumentCannotBeNull(String)'
    - error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[FullBytesCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)'
    - Long.parseLong(String)
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.io.ByteArrayOutputStream].<init>(int)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[FullBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[])'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.io.AsyncReceiverImpl)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.io.AsyncReceiverImpl].set(org.xnio.ChannelListener)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.io.AsyncReceiverImpl)'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - error.error(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)
    - '[RequestToLargeException].<init>()'
    - '[io.undertow.io.AsyncReceiverImpl].requestBodyAlreadyRead()'
    - '[java.io.ByteArrayOutputStream].size()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receiveFullBytes(FullBytesCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].receiveFullBytes(FullBytesCallback,ErrorCallback)'
      Src: io.undertow.io.AsyncReceiverImpl:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - FullBytesCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - FullBytesCallback
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 6
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: '[io.undertow.io.AsyncReceiverImpl].receiveFullBytes(FullBytesCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].receiveFullBytes(FullBytesCallback,ErrorCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receiveFullBytes(FullBytesCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].requestBodyAlreadyRead()'
      Src: io.undertow.io.AsyncReceiverImpl:514,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].argumentCannotBeNull(String)'
      Src: io.undertow.io.AsyncReceiverImpl:518,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.io.AsyncReceiverImpl:520,1
    - Dst: '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
      Src: io.undertow.io.AsyncReceiverImpl:521,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:524,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:524,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.io.AsyncReceiverImpl:526,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.io.AsyncReceiverImpl:526,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.io.AsyncReceiverImpl:530,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:532,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:532,1
    - Dst: '[RequestToLargeException].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:540,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
      Src: io.undertow.io.AsyncReceiverImpl:540,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.AsyncReceiverImpl:544,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.AsyncReceiverImpl:544,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.AsyncReceiverImpl:544,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.AsyncReceiverImpl:545,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.io.AsyncReceiverImpl:546,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.io.AsyncReceiverImpl:546,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].set(org.xnio.ChannelListener)'
      Src: io.undertow.io.AsyncReceiverImpl:546,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.io.AsyncReceiverImpl:608,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.io.AsyncReceiverImpl:609,1
    - Dst: '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
      Src: io.undertow.io.AsyncReceiverImpl:612,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.io.AsyncReceiverImpl:616,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.AsyncReceiverImpl:619,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.AsyncReceiverImpl:620,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.io.AsyncReceiverImpl)'
      Src: io.undertow.io.AsyncReceiverImpl:621,1
    - Dst: '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl,boolean)'
      Src: io.undertow.io.AsyncReceiverImpl:622,1
    - Dst: error.error(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)
      Src: io.undertow.io.AsyncReceiverImpl:628,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.AsyncReceiverImpl:633,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 76
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialBytesCallback
      - ErrorCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - PartialBytesCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 635
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 635
    functionName: '[io.undertow.io.AsyncReceiverImpl].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.io.AsyncReceiverImpl].argumentCannotBeNull(String)'
    - error.error(io.undertow.server.HttpServerExchange,RequestToLargeException)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
    - Long.parseLong(String)
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].get(io.undertow.io.AsyncReceiverImpl)'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl,boolean)'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.io.AsyncReceiverImpl].set(org.xnio.ChannelListener)'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - error.error(io.undertow.server.HttpServerExchange,io.undertow.io.AsyncReceiverImpl)
    - '[RequestToLargeException].<init>()'
    - '[io.undertow.io.AsyncReceiverImpl].requestBodyAlreadyRead()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.AsyncReceiverImpl].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
      Src: io.undertow.io.AsyncReceiverImpl:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialBytesCallback
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - PartialBytesCallback
    constantsTouched: []
    func_position:
      end: 640
      start: 637
    functionDepth: 6
    functionLinenumber: 637
    functionLinenumberEnd: 640
    functionName: '[io.undertow.io.AsyncReceiverImpl].receivePartialBytes(PartialBytesCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.AsyncReceiverImpl].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].receivePartialBytes(PartialBytesCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.io.AsyncReceiverImpl:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: '[io.undertow.io.AsyncReceiverImpl].pause()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].pause()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].wakeupReads()'
      Src: io.undertow.io.AsyncReceiverImpl:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ErrorCallback
      - byte[]
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSourceChannel
      - int
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Receiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: '[io.undertow.io.AsyncReceiverImpl].resume()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/AsyncReceiverImpl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].wakeupReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.AsyncReceiverImpl].resume()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.IoCallback].<init>()'
      Src: io.undertow.io.DefaultIoCallback:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.IoCallback
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.io.DefaultIoCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.io.DefaultIoCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/DefaultIoCallback.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.IoCallback].<init>()'
    linkageType: ''
    returnType: io.undertow.io.DefaultIoCallback
    signature: '[io.undertow.io.DefaultIoCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.Sender].close(io.undertow.io.IoCallback)'
      Src: io.undertow.io.DefaultIoCallback:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.IoCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sender
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.Sender
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.io.DefaultIoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/DefaultIoCallback.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].close(io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.DefaultIoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.DefaultIoCallback].ioException(java.io.IOException)'
      Src: io.undertow.io.DefaultIoCallback:59,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.io.DefaultIoCallback:61,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.DefaultIoCallback:63,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.io.DefaultIoCallback:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.IoCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - sender
    - exception
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.Sender
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: '[io.undertow.io.DefaultIoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/DefaultIoCallback.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.io.DefaultIoCallback].ioException(java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.DefaultIoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.BlockingSenderImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - outputStream
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.io.BlockingSenderImpl].<init>(io.undertow.server.HttpServerExchange,java.io.OutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.BlockingSenderImpl
    signature: '[io.undertow.io.BlockingSenderImpl].<init>(io.undertow.server.HttpServerExchange,java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:59,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:60,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].queue(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:61,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.io.BlockingSenderImpl:64,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.BlockingSenderImpl:65,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.BlockingSenderImpl:66,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].dataLargerThanContentLength(io.undertow.io.BlockingSenderImpl,long)'
      Src: io.undertow.io.BlockingSenderImpl:66,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.io.BlockingSenderImpl:69,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.BlockingSenderImpl:70,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingSenderImpl:70,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.BlockingSenderImpl:71,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:71,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].writeBuffer(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:75,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: '[io.undertow.io.BlockingSenderImpl].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].queue(io.undertow.io.IoCallback)'
    - '[io.undertow.io.BlockingSenderImpl].dataLargerThanContentLength(io.undertow.io.BlockingSenderImpl,long)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
    - Thread.currentThread()
    - '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    - '[io.undertow.io.BlockingSenderImpl].writeBuffer(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:83,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:84,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].queue(ByteBuffer[],io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:85,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.io.BlockingSenderImpl:88,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[])'
      Src: io.undertow.io.BlockingSenderImpl:89,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[])'
      Src: io.undertow.io.BlockingSenderImpl:90,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].dataLargerThanContentLength(io.undertow.io.BlockingSenderImpl,long)'
      Src: io.undertow.io.BlockingSenderImpl:90,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:90,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.io.BlockingSenderImpl:93,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.BlockingSenderImpl:94,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingSenderImpl:94,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[])'
      Src: io.undertow.io.BlockingSenderImpl:95,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:95,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].writeBuffer(ByteBuffer[],io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:99,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: '[io.undertow.io.BlockingSenderImpl].send(ByteBuffer[],io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].queue(ByteBuffer[],io.undertow.io.IoCallback)'
    - '[io.undertow.io.BlockingSenderImpl].dataLargerThanContentLength(io.undertow.io.BlockingSenderImpl,long)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
    - '[org.xnio.Buffers].remaining(ByteBuffer[])'
    - Thread.currentThread()
    - '[io.undertow.io.BlockingSenderImpl].writeBuffer(ByteBuffer[],io.undertow.io.IoCallback)'
    - '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].send(ByteBuffer[],io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingSenderImpl].send(java.nio.ByteBuffer,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.io.BlockingSenderImpl].send(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].send(java.nio.ByteBuffer,io.undertow.io.BlockingSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].send(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingSenderImpl].send(ByteBuffer[],io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.io.BlockingSenderImpl].send(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].send(ByteBuffer[],io.undertow.io.BlockingSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].send(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:117,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:118,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:119,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].queue(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:120,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.io.BlockingSenderImpl:123,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].dataLargerThanContentLength(io.undertow.io.BlockingSenderImpl,long)'
      Src: io.undertow.io.BlockingSenderImpl:125,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:125,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.io.BlockingSenderImpl:128,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.BlockingSenderImpl:129,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingSenderImpl:129,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:130,1
    - Dst: '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:135,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:136,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - callback
    argTypes:
    - String
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 140
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 140
    functionName: '[io.undertow.io.BlockingSenderImpl].send(String,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.io.BlockingSenderImpl)'
    - '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.io.BlockingSenderImpl].queue(io.undertow.io.IoCallback)'
    - '[io.undertow.io.BlockingSenderImpl].dataLargerThanContentLength(io.undertow.io.BlockingSenderImpl,long)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
    - Thread.currentThread()
    - '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].send(String,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.io.BlockingSenderImpl:144,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:145,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:146,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].queue(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:147,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.io.BlockingSenderImpl:150,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].dataLargerThanContentLength(io.undertow.io.BlockingSenderImpl,long)'
      Src: io.undertow.io.BlockingSenderImpl:152,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:152,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.io.BlockingSenderImpl:155,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.io.BlockingSenderImpl:156,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.io.BlockingSenderImpl:156,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:157,1
    - Dst: '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:162,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:163,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - charset
    - callback
    argTypes:
    - String
    - java.nio.charset.Charset
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 6
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: '[io.undertow.io.BlockingSenderImpl].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.io.BlockingSenderImpl].queue(io.undertow.io.IoCallback)'
    - '[io.undertow.io.BlockingSenderImpl].dataLargerThanContentLength(io.undertow.io.BlockingSenderImpl,long)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
    - Thread.currentThread()
    - '[io.undertow.server.HttpServerExchange].setResponseContentLength(io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingSenderImpl].send(String,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.io.BlockingSenderImpl].send(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].send(String,io.undertow.io.BlockingSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].send(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingSenderImpl].send(String,java.nio.charset.Charset,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - charset
    argTypes:
    - String
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: '[io.undertow.io.BlockingSenderImpl].send(String,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].send(String,java.nio.charset.Charset,io.undertow.io.BlockingSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].send(String,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:181,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:182,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].queue(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:183,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].performTransfer(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:186,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - source
    - callback
    argTypes:
    - java.nio.channels.FileChannel
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: '[io.undertow.io.BlockingSenderImpl].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].queue(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    - '[io.undertow.io.BlockingSenderImpl].performTransfer(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    - '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
    - Thread.currentThread()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BufferWritableOutputStream].transferFrom(java.nio.channels.FileChannel)'
      Src: io.undertow.io.BlockingSenderImpl:193,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:195,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.BlockingSenderImpl:198,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.BlockingSenderImpl:198,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.io.BlockingSenderImpl:198,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.BlockingSenderImpl:198,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingSenderImpl:200,1
    - Dst: '[java.nio.channels.FileChannel].position()'
      Src: io.undertow.io.BlockingSenderImpl:201,1
    - Dst: '[java.nio.channels.FileChannel].size()'
      Src: io.undertow.io.BlockingSenderImpl:202,1
    - Dst: '[java.nio.channels.FileChannel].read(io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:204,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].array()'
      Src: io.undertow.io.BlockingSenderImpl:209,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].arrayOffset()'
      Src: io.undertow.io.BlockingSenderImpl:209,1
    - Dst: '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:209,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].clear()'
      Src: io.undertow.io.BlockingSenderImpl:210,1
    - Dst: '[java.io.EOFException].<init>(String)'
      Src: io.undertow.io.BlockingSenderImpl:214,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].failedToAllocateResource()'
      Src: io.undertow.io.BlockingSenderImpl:217,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - source
    - callback
    argTypes:
    - java.nio.channels.FileChannel
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 223
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 223
    functionName: '[io.undertow.io.BlockingSenderImpl].performTransfer(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].array()'
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[java.io.EOFException].<init>(String)'
    - '[java.nio.channels.FileChannel].read(io.undertow.io.BlockingSenderImpl)'
    - '[java.nio.channels.FileChannel].size()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.nio.channels.FileChannel].position()'
    - '[io.undertow.io.BlockingSenderImpl].clear()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
    - pooled.getBuffer()
    - '[io.undertow.io.BlockingSenderImpl].arrayOffset()'
    - '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)'
    - '[io.undertow.io.BlockingSenderImpl].failedToAllocateResource()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.io.BufferWritableOutputStream].transferFrom(java.nio.channels.FileChannel)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].performTransfer(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].close()'
      Src: io.undertow.io.BlockingSenderImpl:228,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:229,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: '[io.undertow.io.BlockingSenderImpl].close(io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
    - '[java.io.OutputStream].close()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].close(io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(java.io.OutputStream)'
      Src: io.undertow.io.BlockingSenderImpl:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: '[io.undertow.io.BlockingSenderImpl].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(java.io.OutputStream)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingSenderImpl].writeBuffer(io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: '[io.undertow.io.BlockingSenderImpl].writeBuffer(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].writeBuffer(io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.io.BlockingSenderImpl].writeBuffer(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BufferWritableOutputStream].write(ByteBuffer[])'
      Src: io.undertow.io.BlockingSenderImpl:248,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:251,1
    - Dst: buffer.hasArray()
      Src: io.undertow.io.BlockingSenderImpl:256,1
    - Dst: buffer.array()
      Src: io.undertow.io.BlockingSenderImpl:258,1
    - Dst: buffer.arrayOffset()
      Src: io.undertow.io.BlockingSenderImpl:258,1
    - Dst: buffer.remaining()
      Src: io.undertow.io.BlockingSenderImpl:258,1
    - Dst: '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:258,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:260,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.BlockingSenderImpl:264,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.BlockingSenderImpl:264,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.io.BlockingSenderImpl:264,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.BlockingSenderImpl:264,1
    - Dst: buffer.hasRemaining()
      Src: io.undertow.io.BlockingSenderImpl:266,1
    - Dst: buffer.remaining()
      Src: io.undertow.io.BlockingSenderImpl:267,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingSenderImpl:267,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].remaining()'
      Src: io.undertow.io.BlockingSenderImpl:267,1
    - Dst: Math.min(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)
      Src: io.undertow.io.BlockingSenderImpl:267,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingSenderImpl:268,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].array()'
      Src: io.undertow.io.BlockingSenderImpl:268,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingSenderImpl:268,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].arrayOffset()'
      Src: io.undertow.io.BlockingSenderImpl:268,1
    - Dst: buffer.get(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)
      Src: io.undertow.io.BlockingSenderImpl:268,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingSenderImpl:270,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].array()'
      Src: io.undertow.io.BlockingSenderImpl:270,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.io.BlockingSenderImpl:270,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].arrayOffset()'
      Src: io.undertow.io.BlockingSenderImpl:270,1
    - Dst: '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:270,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:272,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].failedToAllocateResource()'
      Src: io.undertow.io.BlockingSenderImpl:277,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
      Src: io.undertow.io.BlockingSenderImpl:280,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffers
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 286
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 286
    functionName: '[io.undertow.io.BlockingSenderImpl].writeBuffer(ByteBuffer[],io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.BlockingSenderImpl)'
    - '[java.io.OutputStream].write(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)'
    - buffer.arrayOffset()
    - buffer.hasArray()
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.io.BlockingSenderImpl].remaining()'
    - buffer.array()
    - buffer.hasRemaining()
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - pooled.getBuffer()
    - Math.min(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)
    - '[io.undertow.io.BlockingSenderImpl].arrayOffset()'
    - '[io.undertow.io.BlockingSenderImpl].failedToAllocateResource()'
    - buffer.remaining()
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - buffer.get(io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl,io.undertow.io.BlockingSenderImpl)
    - '[io.undertow.io.BlockingSenderImpl].array()'
    - '[io.undertow.io.BufferWritableOutputStream].write(ByteBuffer[])'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.io.BlockingSenderImpl].writeBuffer(ByteBuffer[],io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:291,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.io.BlockingSenderImpl:293,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:297,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].writeBuffer(io.undertow.io.BlockingSenderImpl,io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:310,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].performTransfer(io.undertow.io.BlockingSenderImpl,io.undertow.io.IoCallback)'
      Src: io.undertow.io.BlockingSenderImpl:313,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:316,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.io.BlockingSenderImpl:318,1
    - Dst: Thread.currentThread()
      Src: io.undertow.io.BlockingSenderImpl:322,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 326
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 326
    functionName: '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].writeBuffer(io.undertow.io.BlockingSenderImpl,io.undertow.io.IoCallback)'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange)'
    - Thread.currentThread()
    - '[io.undertow.io.BlockingSenderImpl].performTransfer(io.undertow.io.BlockingSenderImpl,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].invokeOnComplete(io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingSenderImpl].dataAlreadyQueued()'
      Src: io.undertow.io.BlockingSenderImpl:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - byteBuffers
    - ioCallback
    argTypes:
    - ByteBuffer[]
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: '[io.undertow.io.BlockingSenderImpl].queue(ByteBuffer[],io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].dataAlreadyQueued()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].queue(ByteBuffer[],io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.BlockingSenderImpl].dataAlreadyQueued()'
      Src: io.undertow.io.BlockingSenderImpl:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - java.io.OutputStream
      - Thread
      - Thread
      - ByteBuffer[]
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - source
    - ioCallback
    argTypes:
    - java.nio.channels.FileChannel
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: '[io.undertow.io.BlockingSenderImpl].queue(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/BlockingSenderImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.BlockingSenderImpl].dataAlreadyQueued()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.BlockingSenderImpl].queue(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxBufferSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.io.Receiver].setMaxBufferSize(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].setMaxBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - ErrorCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - FullStringCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '[io.undertow.io.Receiver].receiveFullString(FullStringCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receiveFullString(FullStringCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - FullStringCallback
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '[io.undertow.io.Receiver].receiveFullString(FullStringCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receiveFullString(FullStringCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - ErrorCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - PartialStringCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '[io.undertow.io.Receiver].receivePartialString(PartialStringCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receivePartialString(PartialStringCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - PartialStringCallback
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '[io.undertow.io.Receiver].receivePartialString(PartialStringCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receivePartialString(PartialStringCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - ErrorCallback
      - java.nio.charset.Charset
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - callback
    - errorCallback
    - charset
    argTypes:
    - FullStringCallback
    - ErrorCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '[io.undertow.io.Receiver].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receiveFullString(FullStringCallback,ErrorCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - FullStringCallback
      - java.nio.charset.Charset
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - charset
    argTypes:
    - FullStringCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '[io.undertow.io.Receiver].receiveFullString(FullStringCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receiveFullString(FullStringCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - ErrorCallback
      - java.nio.charset.Charset
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - callback
    - errorCallback
    - charset
    argTypes:
    - PartialStringCallback
    - ErrorCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: '[io.undertow.io.Receiver].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receivePartialString(PartialStringCallback,ErrorCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialStringCallback
      - java.nio.charset.Charset
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - charset
    argTypes:
    - PartialStringCallback
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: '[io.undertow.io.Receiver].receivePartialString(PartialStringCallback,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receivePartialString(PartialStringCallback,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - FullBytesCallback
      - ErrorCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - FullBytesCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: '[io.undertow.io.Receiver].receiveFullBytes(FullBytesCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receiveFullBytes(FullBytesCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - FullBytesCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - FullBytesCallback
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '[io.undertow.io.Receiver].receiveFullBytes(FullBytesCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receiveFullBytes(FullBytesCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialBytesCallback
      - ErrorCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - errorCallback
    argTypes:
    - PartialBytesCallback
    - ErrorCallback
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: '[io.undertow.io.Receiver].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receivePartialBytes(PartialBytesCallback,ErrorCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - PartialBytesCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - PartialBytesCallback
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: '[io.undertow.io.Receiver].receivePartialBytes(PartialBytesCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].receivePartialBytes(PartialBytesCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: '[io.undertow.io.Receiver].pause()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].pause()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: '[io.undertow.io.Receiver].resume()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver].resume()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.Receiver].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Receiver
    signature: '[io.undertow.io.Receiver].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '[io.undertow.io.Receiver.ErrorCallback].error(io.undertow.server.HttpServerExchange,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver.ErrorCallback].error(io.undertow.server.HttpServerExchange,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver.ErrorCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.Receiver.ErrorCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Receiver.ErrorCallback
    signature: '[io.undertow.io.Receiver.ErrorCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - message
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: '[io.undertow.io.Receiver.FullStringCallback].handle(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver.FullStringCallback].handle(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver.FullStringCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.Receiver.FullStringCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Receiver.FullStringCallback
    signature: '[io.undertow.io.Receiver.FullStringCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - message
    argTypes:
    - io.undertow.server.HttpServerExchange
    - byte[]
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '[io.undertow.io.Receiver.FullBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver.FullBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver.FullBytesCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.Receiver.FullBytesCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Receiver.FullBytesCallback
    signature: '[io.undertow.io.Receiver.FullBytesCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - message
    - last
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: '[io.undertow.io.Receiver.PartialStringCallback].handle(io.undertow.server.HttpServerExchange,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver.PartialStringCallback].handle(io.undertow.server.HttpServerExchange,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver.PartialStringCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.Receiver.PartialStringCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Receiver.PartialStringCallback
    signature: '[io.undertow.io.Receiver.PartialStringCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - byte[]
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - message
    - last
    argTypes:
    - io.undertow.server.HttpServerExchange
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: '[io.undertow.io.Receiver.PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.Receiver.PartialBytesCallback].handle(io.undertow.server.HttpServerExchange,byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver.PartialBytesCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.Receiver.PartialBytesCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Receiver.PartialBytesCallback
    signature: '[io.undertow.io.Receiver.PartialBytesCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver.RequestToLargeException
      static: false
      superClass: IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.io.Receiver.RequestToLargeException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/Receiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Receiver.RequestToLargeException
    signature: '[io.undertow.io.Receiver.RequestToLargeException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestChannelAvailable()'
      Src: io.undertow.io.UndertowInputStream:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.io.UndertowInputStream:67,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.io.UndertowInputStream:69,1
    - Dst: '[org.xnio.channels.EmptyStreamSourceChannel].<init>(org.xnio.XnioIoThread)'
      Src: io.undertow.io.UndertowInputStream:69,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.io.UndertowInputStream:71,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.io.UndertowInputStream:71,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getOption(io.undertow.io.UndertowInputStream)'
      Src: io.undertow.io.UndertowInputStream:74,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getOption(io.undertow.io.UndertowInputStream)'
      Src: io.undertow.io.UndertowInputStream:75,1
    - Dst: '[io.undertow.UndertowLogger.REQUEST_IO_LOGGER].ioException(io.undertow.io.UndertowInputStream)'
      Src: io.undertow.io.UndertowInputStream:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.UndertowInputStream
      static: false
      superClass: java.io.InputStream
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: '[io.undertow.io.UndertowInputStream].<init>(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowInputStream.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.EmptyStreamSourceChannel].<init>(org.xnio.XnioIoThread)'
    - '[org.xnio.channels.StreamSourceChannel].getOption(io.undertow.io.UndertowInputStream)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[io.undertow.server.HttpServerExchange].isRequestChannelAvailable()'
    - '[io.undertow.UndertowLogger.REQUEST_IO_LOGGER].ioException(io.undertow.io.UndertowInputStream)'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: io.undertow.io.UndertowInputStream
    signature: '[io.undertow.io.UndertowInputStream].<init>(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowInputStream].read(io.undertow.io.UndertowInputStream)'
      Src: io.undertow.io.UndertowInputStream:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: '[io.undertow.io.UndertowInputStream].read()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowInputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowInputStream].read(io.undertow.io.UndertowInputStream)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.io.UndertowInputStream].read()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowInputStream].read(byte[],int,io.undertow.io.UndertowInputStream)'
      Src: io.undertow.io.UndertowInputStream:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.InputStream
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.io.UndertowInputStream].read(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowInputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowInputStream].read(byte[],int,io.undertow.io.UndertowInputStream)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.io.UndertowInputStream].read(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.io.UndertowInputStream:109,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getIoThread()'
      Src: io.undertow.io.UndertowInputStream:109,1
    - Dst: '[io.undertow.io.UndertowInputStream].blockingIoFromIOThread()'
      Src: io.undertow.io.UndertowInputStream:110,1
    - Dst: '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowInputStream:112,1
    - Dst: '[io.undertow.io.UndertowInputStream].streamIsClosed()'
      Src: io.undertow.io.UndertowInputStream:113,1
    - Dst: '[io.undertow.io.UndertowInputStream].readIntoBuffer()'
      Src: io.undertow.io.UndertowInputStream:115,1
    - Dst: '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowInputStream:116,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.UndertowInputStream:122,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowInputStream:123,1
    - Dst: Math.min(io.undertow.io.UndertowInputStream,int)
      Src: io.undertow.io.UndertowInputStream:123,1
    - Dst: '[java.nio.ByteBuffer].get(byte[],int,io.undertow.io.UndertowInputStream)'
      Src: io.undertow.io.UndertowInputStream:124,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.io.UndertowInputStream:125,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.UndertowInputStream:126,1
    - Dst: '[io.undertow.server.Connectors].updateRequestBytesRead(io.undertow.server.HttpServerExchange,io.undertow.io.UndertowInputStream)'
      Src: io.undertow.io.UndertowInputStream:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.InputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 131
    functionName: '[io.undertow.io.UndertowInputStream].read(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowInputStream.java
    functionUses: 0
    functionsReached:
    - Math.min(io.undertow.io.UndertowInputStream,int)
    - '[java.nio.ByteBuffer].get(byte[],int,io.undertow.io.UndertowInputStream)'
    - '[io.undertow.io.UndertowInputStream].streamIsClosed()'
    - '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
    - '[io.undertow.io.UndertowInputStream].blockingIoFromIOThread()'
    - '[io.undertow.io.UndertowInputStream].readIntoBuffer()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.Connectors].updateRequestBytesRead(io.undertow.server.HttpServerExchange,io.undertow.io.UndertowInputStream)'
    - Thread.currentThread()
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[org.xnio.channels.StreamSourceChannel].getIoThread()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.io.UndertowInputStream].read(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowInputStream:134,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.UndertowInputStream:135,1
    - Dst: '[org.xnio.channels.Channels].readBlocking(org.xnio.channels.StreamSourceChannel,java.nio.ByteBuffer,int,io.undertow.io.UndertowInputStream)'
      Src: io.undertow.io.UndertowInputStream:137,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.UndertowInputStream:138,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.UndertowInputStream:138,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.UndertowInputStream:141,1
    - Dst: io.undertow.UndertowMessages.MESSAGES.readTimedOut(int)
      Src: io.undertow.io.UndertowInputStream:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: '[io.undertow.io.UndertowInputStream].readIntoBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowInputStream.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
    - '[org.xnio.channels.Channels].readBlocking(org.xnio.channels.StreamSourceChannel,java.nio.ByteBuffer,int,io.undertow.io.UndertowInputStream)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - io.undertow.UndertowMessages.MESSAGES.readTimedOut(int)
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowInputStream].readIntoBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowInputStream:150,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.io.UndertowInputStream:151,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.UndertowInputStream:152,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.io.UndertowInputStream:152,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.UndertowInputStream:154,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.UndertowInputStream:158,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.io.UndertowInputStream:158,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.UndertowInputStream:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: '[io.undertow.io.UndertowInputStream].readIntoBufferNonBlocking()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowInputStream.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowInputStream].readIntoBufferNonBlocking()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowInputStream:169,1
    - Dst: '[io.undertow.io.UndertowInputStream].streamIsClosed()'
      Src: io.undertow.io.UndertowInputStream:170,1
    - Dst: '[io.undertow.io.UndertowInputStream].readIntoBufferNonBlocking()'
      Src: io.undertow.io.UndertowInputStream:172,1
    - Dst: '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowInputStream:173,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.io.UndertowInputStream:179,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.io.UndertowInputStream:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: '[io.undertow.io.UndertowInputStream].available()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowInputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowInputStream].readIntoBufferNonBlocking()'
    - '[io.undertow.io.UndertowInputStream].streamIsClosed()'
    - '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.io.UndertowInputStream].available()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
      Src: io.undertow.io.UndertowInputStream:184,1
    - Dst: '[io.undertow.io.UndertowInputStream].allAreClear(int,int)'
      Src: io.undertow.io.UndertowInputStream:189,1
    - Dst: '[io.undertow.io.UndertowInputStream].readIntoBuffer()'
      Src: io.undertow.io.UndertowInputStream:190,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.UndertowInputStream:192,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.io.UndertowInputStream:198,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].shutdownReads()'
      Src: io.undertow.io.UndertowInputStream:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: '[io.undertow.io.UndertowInputStream].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/io/UndertowInputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.UndertowInputStream].anyAreSet(int,int)'
    - '[io.undertow.io.UndertowInputStream].readIntoBuffer()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.io.UndertowInputStream].allAreClear(int,int)'
    - '[org.xnio.channels.StreamSourceChannel].shutdownReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.io.UndertowInputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.connector.ByteBufferPool].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/ByteBufferPool.java
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.connector.ByteBufferPool].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/ByteBufferPool.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.connector.ByteBufferPool].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/ByteBufferPool.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.connector.ByteBufferPool].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/ByteBufferPool.java
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[io.undertow.connector.ByteBufferPool].isDirect()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/ByteBufferPool.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.connector.ByteBufferPool].isDirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.connector.ByteBufferPool].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/ByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.connector.ByteBufferPool].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/PooledByteBuffer.java
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '[io.undertow.connector.PooledByteBuffer].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/PooledByteBuffer.java
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.connector.PooledByteBuffer].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.connector.PooledByteBuffer].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/PooledByteBuffer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.connector.PooledByteBuffer].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.connector.PooledByteBuffer].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/connector/PooledByteBuffer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.connector.PooledByteBuffer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[io.undertow.security.impl.SingleSignOn].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.SingleSignOn].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.security.impl.SingleSignOn].getAccount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.impl.SingleSignOn].getAccount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[io.undertow.security.impl.SingleSignOn].getMechanismName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.SingleSignOn].getMechanismName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '[io.undertow.security.impl.SingleSignOn].contains(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SingleSignOn].contains(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '[io.undertow.security.impl.SingleSignOn].add(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOn].add(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '[io.undertow.security.impl.SingleSignOn].remove(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOn].remove(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionManager
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - manager
    argTypes:
    - io.undertow.server.session.SessionManager
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '[io.undertow.security.impl.SingleSignOn].getSession(io.undertow.server.session.SessionManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.security.impl.SingleSignOn].getSession(io.undertow.server.session.SessionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: '[io.undertow.security.impl.SingleSignOn].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOn].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOn
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.impl.SingleSignOn].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOn.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOn
    signature: '[io.undertow.security.impl.SingleSignOn].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:59,1
    - Dst: '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:78,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:79,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.BasicAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - realmName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String)'
    linkageType: ''
    returnType: io.undertow.security.impl.BasicAuthenticationMechanism
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:59,1
    - Dst: '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:78,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:79,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.BasicAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - realmName
    - mechanismName
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
    linkageType: ''
    returnType: io.undertow.security.impl.BasicAuthenticationMechanism
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:59,1
    - Dst: '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:78,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:79,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean,null)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.BasicAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - realmName
    - mechanismName
    - silent
    argTypes:
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean,null)'
    linkageType: ''
    returnType: io.undertow.security.impl.BasicAuthenticationMechanism
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:59,1
    - Dst: '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:78,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:79,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:107,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean,io.undertow.security.idm.IdentityManager,io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.BasicAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - realmName
    - mechanismName
    - silent
    - identityManager
    argTypes:
    - String
    - String
    - boolean
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[java.util.Collections].emptyMap()'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean,io.undertow.security.idm.IdentityManager,io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.impl.BasicAuthenticationMechanism)'
    linkageType: ''
    returnType: io.undertow.security.impl.BasicAuthenticationMechanism
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:59,1
    - Dst: '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:78,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:79,1
    - Dst: '[java.util.LinkedHashMap].<init>(java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:116,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.LinkedHashMap)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.BasicAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - realmName
    - mechanismName
    - silent
    - identityManager
    - charset
    - userAgentCharsets
    argTypes:
    - String
    - String
    - boolean
    - io.undertow.security.idm.IdentityManager
    - java.nio.charset.Charset
    - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean,io.undertow.security.idm.IdentityManager,java.nio.charset.Charset,java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableMap(java.util.LinkedHashMap)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[String].toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[java.util.LinkedHashMap].<init>(java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>)'
    linkageType: ''
    returnType: io.undertow.security.impl.BasicAuthenticationMechanism
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(String,String,boolean,io.undertow.security.idm.IdentityManager,java.nio.charset.Charset,java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:130,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:130,1
    - Dst: current.toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:133,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].startsWith(String)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:133,1
    - Dst: current.substring(int)
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:135,1
    - Dst: '[io.undertow.util.FlexBase64].decode(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:138,1
    - Dst: '[java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>].isEmpty()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:141,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:142,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:142,1
    - Dst: '[java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>].entrySet()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:144,1
    - Dst: entry.getKey()
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:145,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].matcher(String)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:145,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].find()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:145,1
    - Dst: entry.getValue()
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:146,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:153,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:153,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:153,1
    - Dst: '[String].<init>(io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:153,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].debugf(String,io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:154,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].debugf(io.undertow.security.impl.BasicAuthenticationMechanism,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:156,1
    - Dst: '[String].indexOf(String)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:159,1
    - Dst: '[String].substring(int,io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:160,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:161,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].toCharArray()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:161,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:163,1
    - Dst: '[io.undertow.security.idm.PasswordCredential].<init>(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:164,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.idm.PasswordCredential)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:167,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:169,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].authenticationFailed(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:172,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationFailed(io.undertow.security.impl.BasicAuthenticationMechanism,String)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:172,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].clear(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:177,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 190
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 190
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].clear(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.UndertowMessages.MESSAGES].authenticationFailed(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - current.toLowerCase(io.undertow.security.impl.BasicAuthenticationMechanism)
    - entry.getValue()
    - '[String].substring(int)'
    - '[java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>].entrySet()'
    - '[java.nio.ByteBuffer].array()'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.idm.PasswordCredential)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.nio.ByteBuffer].arrayOffset()'
    - current.substring(int)
    - '[String].indexOf(String)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].toCharArray()'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
    - entry.getKey()
    - '[String].<init>(io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[java.nio.ByteBuffer].limit()'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].debugf(String,io.undertow.security.impl.BasicAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    - '[String].substring(int,io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].startsWith(String)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].matcher(String)'
    - '[io.undertow.security.idm.PasswordCredential].<init>(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].find()'
    - '[io.undertow.security.api.SecurityContext].authenticationFailed(io.undertow.security.impl.BasicAuthenticationMechanism,String)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].debugf(io.undertow.security.impl.BasicAuthenticationMechanism,String,io.undertow.server.HttpServerExchange)'
    - '[java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>].isEmpty()'
    - '[io.undertow.util.FlexBase64].decode(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.security.impl.BasicAuthenticationMechanism)'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:197,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:197,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:202,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.BasicAuthenticationMechanism,String)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:202,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].debugf(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:203,1
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,io.undertow.security.impl.BasicAuthenticationMechanism)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].debugf(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,io.undertow.security.impl.BasicAuthenticationMechanism)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.BasicAuthenticationMechanism,String)'
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      - java.nio.charset.Charset
      - java.util.Map<java.util.regex.Pattern,java.nio.charset.Charset>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - array
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism].clear(char[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism].clear(char[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.BasicAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identityManager
    argTypes:
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.BasicAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.BasicAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.BasicAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:222,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:223,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:224,1
    - Dst: '[java.nio.charset.Charset].forName(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:225,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:226,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:227,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].split(String)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:229,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].userAgentCharsetMustHaveEvenNumberOfItems(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:231,1
    - Dst: '[java.util.regex.Pattern].compile()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:234,1
    - Dst: '[java.nio.charset.Charset].forName()'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:235,1
    - Dst: '[java.util.HashMap].put(io.undertow.security.impl.BasicAuthenticationMechanism.Factory,io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:236,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].equals(String)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:240,1
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(io.undertow.security.impl.BasicAuthenticationMechanism.Factory,String,io.undertow.security.impl.BasicAuthenticationMechanism.Factory,io.undertow.security.idm.IdentityManager,io.undertow.security.impl.BasicAuthenticationMechanism.Factory,java.util.HashMap)'
      Src: io.undertow.security.impl.BasicAuthenticationMechanism.Factory:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/BasicAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].split(String)'
    - '[java.util.Map<String,String>].get(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
    - '[java.util.HashMap].<init>()'
    - '[java.nio.charset.Charset].forName(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism].<init>(io.undertow.security.impl.BasicAuthenticationMechanism.Factory,String,io.undertow.security.impl.BasicAuthenticationMechanism.Factory,io.undertow.security.idm.IdentityManager,io.undertow.security.impl.BasicAuthenticationMechanism.Factory,java.util.HashMap)'
    - '[java.util.regex.Pattern].compile()'
    - '[java.nio.charset.Charset].forName()'
    - '[java.util.HashMap].put(io.undertow.security.impl.BasicAuthenticationMechanism.Factory,io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].userAgentCharsetMustHaveEvenNumberOfItems(io.undertow.security.impl.BasicAuthenticationMechanism.Factory)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].equals(String)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SingleSignOn
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - account
    - mechanism
    argTypes:
    - io.undertow.security.idm.Account
    - String
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '[io.undertow.security.impl.SingleSignOnManager].createSingleSignOn(io.undertow.security.idm.Account,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOn
    signature: '[io.undertow.security.impl.SingleSignOnManager].createSingleSignOn(io.undertow.security.idm.Account,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SingleSignOn
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssoId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '[io.undertow.security.impl.SingleSignOnManager].findSingleSignOn(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOn
    signature: '[io.undertow.security.impl.SingleSignOnManager].findSingleSignOn(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.impl.SingleSignOn
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sso
    argTypes:
    - io.undertow.security.impl.SingleSignOn
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '[io.undertow.security.impl.SingleSignOnManager].removeSingleSignOn(io.undertow.security.impl.SingleSignOn)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnManager].removeSingleSignOn(io.undertow.security.impl.SingleSignOn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.impl.SingleSignOnManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnManager
    signature: '[io.undertow.security.impl.SingleSignOnManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SecurityContextFactoryImpl].<init>()'
      Src: io.undertow.security.impl.SecurityContextFactoryImpl:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.SecurityContextFactory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContextFactory
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SecurityContextFactoryImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.security.impl.SecurityContextFactoryImpl].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextFactoryImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.SecurityContextFactoryImpl].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.SecurityContextFactoryImpl
    signature: '[io.undertow.security.impl.SecurityContextFactoryImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].createSecurityContextImpl(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.SecurityContextFactoryImpl:46,1
    - Dst: '[io.undertow.security.impl.SecurityContextFactoryImpl].setProgramaticMechName(String)'
      Src: io.undertow.security.impl.SecurityContextFactoryImpl:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.SecurityContextFactory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContextFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.SecurityContext
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - exchange
    - mode
    - identityManager
    - programmaticMechName
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.AuthenticationMode
    - io.undertow.security.idm.IdentityManager
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: '[io.undertow.security.impl.SecurityContextFactoryImpl].createSecurityContext(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextFactoryImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SecurityContextFactoryImpl].setProgramaticMechName(String)'
    - '[io.undertow.websockets.jsr.SecurityActions].createSecurityContextImpl(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager)'
    linkageType: ''
    returnType: io.undertow.security.api.SecurityContext
    signature: '[io.undertow.security.impl.SecurityContextFactoryImpl].createSecurityContext(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<io.undertow.util.HttpString>
      - java.util.List<String>
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - java.util.List<io.undertow.util.HttpString>
      - java.util.List<String>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.GenericHeaderAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityHeaders
    - sessionCookieNames
    - identityManager
    argTypes:
    - String
    - java.util.List<io.undertow.util.HttpString>
    - java.util.List<String>
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].<init>(String,java.util.List<io.undertow.util.HttpString>,java.util.List<String>,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GenericHeaderAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.GenericHeaderAuthenticationMechanism
    signature: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].<init>(String,java.util.List<io.undertow.util.HttpString>,java.util.List<String>,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].getPrincipal(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:70,1
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].getSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:74,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:78,1
    - Dst: '[io.undertow.security.idm.PasswordCredential].<init>(io.undertow.security.impl.GenericHeaderAuthenticationMechanism)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:78,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(String,io.undertow.security.idm.PasswordCredential)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:78,1
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].authenticationFailed(String)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:80,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationFailed(io.undertow.security.impl.GenericHeaderAuthenticationMechanism,String)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:80,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - java.util.List<io.undertow.util.HttpString>
      - java.util.List<String>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GenericHeaderAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.idm.PasswordCredential].<init>(io.undertow.security.impl.GenericHeaderAuthenticationMechanism)'
    - '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].authenticationFailed(String)'
    - '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].getPrincipal(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
    - '[io.undertow.security.idm.IdentityManager].verify(String,io.undertow.security.idm.PasswordCredential)'
    - '[io.undertow.security.api.SecurityContext].authenticationFailed(io.undertow.security.impl.GenericHeaderAuthenticationMechanism,String)'
    - '[String].toCharArray()'
    - '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].getSession(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:89,1
    - Dst: cookie.getName()
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:90,1
    - Dst: header.equals(io.undertow.security.impl.GenericHeaderAuthenticationMechanism)
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:90,1
    - Dst: cookie.getValue()
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - java.util.List<io.undertow.util.HttpString>
      - java.util.List<String>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].getSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GenericHeaderAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - cookie.getValue()
    - header.equals(io.undertow.security.impl.GenericHeaderAuthenticationMechanism)
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - cookie.getName()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].getSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:100,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.security.impl.GenericHeaderAuthenticationMechanism)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - java.util.List<io.undertow.util.HttpString>
      - java.util.List<String>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].getPrincipal(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GenericHeaderAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.security.impl.GenericHeaderAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].getPrincipal(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - String
      - String
      - java.util.List<io.undertow.util.HttpString>
      - java.util.List<String>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GenericHeaderAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identityManager
    argTypes:
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GenericHeaderAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GenericHeaderAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:126,1
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].authenticationPropertyNotSet(String,io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:128,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:130,1
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].authenticationPropertyNotSet(String,io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:132,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:134,1
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].split(String)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:135,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:136,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.HttpString)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:136,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:138,1
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].split(String)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:139,1
    - Dst: '[java.util.ArrayList].add(io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:140,1
    - Dst: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].<init>(String,java.util.ArrayList,java.util.ArrayList,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GenericHeaderAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
    - '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].split(String)'
    - '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism].<init>(String,java.util.ArrayList,java.util.ArrayList,io.undertow.security.idm.IdentityManager)'
    - '[java.util.Map<String,String>].get(io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
    - '[java.util.ArrayList].add(io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(io.undertow.util.HttpString)'
    - '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].authenticationPropertyNotSet(String,io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.security.impl.GenericHeaderAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,io.undertow.security.impl.SingleSignOn>].get(String)'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.session.SecureRandomSessionIdGenerator
      - java.util.Map<String,io.undertow.security.impl.SingleSignOn>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.impl.SingleSignOnManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOn
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssoId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager].findSingleSignOn(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.security.impl.SingleSignOn>].get(String)'
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOn
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager].findSingleSignOn(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:52,1
    - Dst: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].<init>(String,io.undertow.security.idm.Account,String)'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:53,1
    - Dst: '[java.util.Map<String,io.undertow.security.impl.SingleSignOn>].put(String,io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry)'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:54,1
    - Dst: '[org.jboss.logging.Logger].isTraceEnabled()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:55,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:56,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:56,1
    - Dst: '[io.undertow.security.idm.Account].getRoles()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:56,1
    - Dst: '[java.util.Set<String>].toString()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:56,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,io.undertow.security.impl.InMemorySingleSignOnManager,io.undertow.security.impl.InMemorySingleSignOnManager)'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.session.SecureRandomSessionIdGenerator
      - java.util.Map<String,io.undertow.security.impl.SingleSignOn>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.impl.SingleSignOnManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOn
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - account
    - mechanism
    argTypes:
    - io.undertow.security.idm.Account
    - String
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager].createSingleSignOn(io.undertow.security.idm.Account,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.idm.Account].getRoles()'
    - '[java.util.Set<String>].toString()'
    - '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].<init>(String,io.undertow.security.idm.Account,String)'
    - '[java.security.Principal].getName()'
    - '[org.jboss.logging.Logger].isTraceEnabled()'
    - '[org.jboss.logging.Logger].tracef(String,String,io.undertow.security.impl.InMemorySingleSignOnManager,io.undertow.security.impl.InMemorySingleSignOnManager)'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - '[java.util.Map<String,io.undertow.security.impl.SingleSignOn>].put(String,io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry)'
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOn
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager].createSingleSignOn(io.undertow.security.idm.Account,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].isTraceEnabled()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:63,1
    - Dst: '[io.undertow.security.impl.SingleSignOn].getId()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:64,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String)'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:64,1
    - Dst: '[io.undertow.security.impl.SingleSignOn].getId()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:66,1
    - Dst: '[java.util.Map<String,io.undertow.security.impl.SingleSignOn>].remove(String)'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.impl.SingleSignOn
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.session.SecureRandomSessionIdGenerator
      - java.util.Map<String,io.undertow.security.impl.SingleSignOn>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.impl.SingleSignOnManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sso
    argTypes:
    - io.undertow.security.impl.SingleSignOn
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager].removeSingleSignOn(io.undertow.security.impl.SingleSignOn)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.security.impl.SingleSignOn>].remove(String)'
    - '[org.jboss.logging.Logger].isTraceEnabled()'
    - '[io.undertow.security.impl.SingleSignOn].getId()'
    - '[org.jboss.logging.Logger].tracef(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager].removeSingleSignOn(io.undertow.security.impl.SingleSignOn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:39,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:41,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.session.SecureRandomSessionIdGenerator
      - java.util.Map<String,io.undertow.security.impl.SingleSignOn>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.impl.SingleSignOnManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.InMemorySingleSignOnManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
    - '[org.jboss.logging.Logger].getLogger()'
    linkageType: ''
    returnType: io.undertow.security.impl.InMemorySingleSignOnManager
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.Account
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - id
    - account
    - mechanismName
    argTypes:
    - String
    - io.undertow.security.idm.Account
    - String
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].<init>(String,io.undertow.security.idm.Account,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].<init>(String,io.undertow.security.idm.Account,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].getAccount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].getAccount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].getMechanismName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].getMechanismName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.sessions.values()
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:98,1
    - Dst: '[java.util.Collections].unmodifiableCollection(io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry)'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:98,1
    - Dst: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].iterator()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<io.undertow.server.session.Session>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].unmodifiableCollection(io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry)'
    - this.sessions.values()
    - '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].iterator()'
    linkageType: ''
    returnType: java.util.Iterator<io.undertow.server.session.Session>
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].getSessionManager()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:103,1
    - Dst: this.sessions.containsKey(io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry)
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].contains(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.Session].getSessionManager()'
    - this.sessions.containsKey(io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].contains(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.sessions.get(io.undertow.server.session.SessionManager)
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionManager
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - manager
    argTypes:
    - io.undertow.server.session.SessionManager
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].getSession(io.undertow.server.session.SessionManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached:
    - this.sessions.get(io.undertow.server.session.SessionManager)
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].getSession(io.undertow.server.session.SessionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].getSessionManager()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:113,1
    - Dst: this.sessions.put(io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry,io.undertow.server.session.Session)
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].add(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached:
    - this.sessions.put(io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry,io.undertow.server.session.Session)
    - '[io.undertow.server.session.Session].getSessionManager()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].add(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].getSessionManager()'
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:118,1
    - Dst: this.sessions.remove(io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry)
      Src: io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].remove(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.Session].getSessionManager()'
    - this.sessions.remove(io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].remove(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Account
      - String
      - Map<SessionManager, Session>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SingleSignOn
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/InMemorySingleSignOnManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.InMemorySingleSignOnManager.SimpleSingleSignOnEntry].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].<init>(null)'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.CachedAuthenticatedSessionMechanism
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/CachedAuthenticatedSessionMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].<init>(null)'
    linkageType: ''
    returnType: io.undertow.security.impl.CachedAuthenticatedSessionMechanism
    signature: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.CachedAuthenticatedSessionMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identityManager
    argTypes:
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].<init>(io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/CachedAuthenticatedSessionMechanism.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.CachedAuthenticatedSessionMechanism
    signature: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].<init>(io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/CachedAuthenticatedSessionMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.CachedAuthenticatedSessionMechanism)'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:52,1
    - Dst: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].runCached(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext,io.undertow.security.impl.CachedAuthenticatedSessionMechanism)'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/CachedAuthenticatedSessionMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].runCached(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext,io.undertow.security.impl.CachedAuthenticatedSessionMechanism)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.CachedAuthenticatedSessionMechanism)'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.AuthenticatedSessionManager].lookupSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:61,1
    - Dst: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:63,1
    - Dst: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].getAccount()'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:63,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.CachedAuthenticatedSessionMechanism)'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:63,1
    - Dst: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].getMechanism()'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:65,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,io.undertow.security.impl.CachedAuthenticatedSessionMechanism,boolean)'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:65,1
    - Dst: '[io.undertow.security.api.AuthenticatedSessionManager].clearSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.CachedAuthenticatedSessionMechanism:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      - io.undertow.security.api.AuthenticatedSessionManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - securityContext
    - sessionManager
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    - io.undertow.security.api.AuthenticatedSessionManager
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].runCached(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext,io.undertow.security.api.AuthenticatedSessionManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/CachedAuthenticatedSessionMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].getAccount()'
    - '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].getMechanism()'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,io.undertow.security.impl.CachedAuthenticatedSessionMechanism,boolean)'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.CachedAuthenticatedSessionMechanism)'
    - '[io.undertow.security.api.AuthenticatedSessionManager].clearSession(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.api.AuthenticatedSessionManager].lookupSession(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].runCached(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext,io.undertow.security.api.AuthenticatedSessionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/CachedAuthenticatedSessionMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.CachedAuthenticatedSessionMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:45,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:52,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ExternalAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - identityManager
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.security.impl.ExternalAuthenticationMechanism
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:45,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:52,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:53,1
    - Dst: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String,null)'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ExternalAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String,null)'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.security.impl.ExternalAuthenticationMechanism
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:45,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:52,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:53,1
    - Dst: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String)'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ExternalAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String)'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.security.impl.ExternalAuthenticationMechanism
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:74,1
    - Dst: '[io.undertow.security.impl.ExternalAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:78,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.ExternalAuthenticationMechanism,io.undertow.security.idm.ExternalCredential)'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:82,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,boolean)'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,boolean)'
    - '[io.undertow.security.impl.ExternalAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.ExternalAuthenticationMechanism,io.undertow.security.idm.ExternalCredential)'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ExternalAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identityManager
    argTypes:
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.ExternalAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ExternalAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism.Factory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.ExternalAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism.Factory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.ExternalAuthenticationMechanism.Factory:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.security.impl.ExternalAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ExternalAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.ExternalAuthenticationMechanism].<init>(String,io.undertow.security.idm.IdentityManager)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.security.impl.ExternalAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:56,1
    - Dst: SingleSignOnAuthenticationMechanism.class.getName()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:58,1
    - Dst: '[java.util.WeakHashMap].<init>()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:61,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.WeakHashMap)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:61,1
    - Dst: '[java.util.Collections].synchronizedSet(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:61,1
    - Dst: '[SessionInvalidationListener].<init>()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:68,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].<init>()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:69,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].<init>(io.undertow.security.impl.SingleSignOnManager,null)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.impl.SingleSignOnManager
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - storage
    argTypes:
    - io.undertow.security.impl.SingleSignOnManager
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].<init>(io.undertow.security.impl.SingleSignOnManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - SingleSignOnAuthenticationMechanism.class.getName()
    - '[java.util.WeakHashMap].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.WeakHashMap)'
    - '[java.util.Collections].synchronizedSet(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
    - '[org.jboss.logging.Logger].getLogger()'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].<init>(io.undertow.security.impl.SingleSignOnManager,null)'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].<init>()'
    - '[SessionInvalidationListener].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].<init>(io.undertow.security.impl.SingleSignOnManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:56,1
    - Dst: SingleSignOnAuthenticationMechanism.class.getName()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:58,1
    - Dst: '[java.util.WeakHashMap].<init>()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:61,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.WeakHashMap)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:61,1
    - Dst: '[java.util.Collections].synchronizedSet(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:61,1
    - Dst: '[SessionInvalidationListener].<init>()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:68,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].<init>()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - storage
    - identityManager
    argTypes:
    - io.undertow.security.impl.SingleSignOnManager
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].<init>(io.undertow.security.impl.SingleSignOnManager,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - SingleSignOnAuthenticationMechanism.class.getName()
    - '[java.util.WeakHashMap].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.WeakHashMap)'
    - '[java.util.Collections].synchronizedSet(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
    - '[org.jboss.logging.Logger].getLogger()'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].<init>()'
    - '[SessionInvalidationListener].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].<init>(io.undertow.security.impl.SingleSignOnManager,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:90,1
    - Dst: c.getName()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:91,1
    - Dst: '[String].equals(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:91,1
    - Dst: cookie.getValue()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:96,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:97,1
    - Dst: '[io.undertow.security.impl.SingleSignOnManager].findSingleSignOn(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:98,1
    - Dst: '[org.jboss.logging.Logger].isTraceEnabled()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:100,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:101,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:103,1
    - Dst: sso.getAccount()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:103,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:103,1
    - Dst: '[org.jboss.logging.Logger].isTraceEnabled()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:105,1
    - Dst: '[org.jboss.logging.Logger].tracef(String)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:106,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:111,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].registerSessionIfRequired(io.undertow.security.impl.SingleSignOnAuthenticationMechanism,io.undertow.server.session.Session)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:112,1
    - Dst: sso.getMechanismName()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:113,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,io.undertow.security.impl.SingleSignOnAuthenticationMechanism,boolean)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:113,1
    - Dst: '[io.undertow.security.api.NotificationReceiver].<init>()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:114,1
    - Dst: '[io.undertow.security.api.SecurityContext].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:114,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:122,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:122,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:122,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].clearSsoCookie(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:128,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(ResponseListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 132
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 132
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].tracef(String,io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
    - c.getName()
    - '[io.undertow.security.impl.SingleSignOnManager].findSingleSignOn(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - sso.getAccount()
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,io.undertow.security.impl.SingleSignOnAuthenticationMechanism,boolean)'
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - '[java.security.Principal].getName()'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].registerSessionIfRequired(io.undertow.security.impl.SingleSignOnAuthenticationMechanism,io.undertow.server.session.Session)'
    - '[io.undertow.security.api.SecurityContext].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(ResponseListener)'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getSession(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    - sso.getMechanismName()
    - cookie.getValue()
    - '[org.jboss.logging.Logger].tracef(String)'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].clearSsoCookie(io.undertow.server.HttpServerExchange)'
    - '[String].equals(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
    - '[org.jboss.logging.Logger].isTraceEnabled()'
    - '[io.undertow.security.api.NotificationReceiver].<init>()'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SingleSignOn].contains(io.undertow.server.session.Session)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:135,1
    - Dst: '[org.jboss.logging.Logger].isTraceEnabled()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:136,1
    - Dst: '[io.undertow.server.session.Session].getId()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:137,1
    - Dst: '[io.undertow.security.impl.SingleSignOn].getId()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:137,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,io.undertow.security.impl.SingleSignOnAuthenticationMechanism,String)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:137,1
    - Dst: '[io.undertow.security.impl.SingleSignOn].add(io.undertow.server.session.Session)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:139,1
    - Dst: '[io.undertow.server.session.Session].getAttribute(String)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:141,1
    - Dst: '[org.jboss.logging.Logger].isTraceEnabled()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:142,1
    - Dst: '[io.undertow.security.impl.SingleSignOn].getId()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:143,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:143,1
    - Dst: '[io.undertow.security.impl.SingleSignOn].getId()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:145,1
    - Dst: '[io.undertow.server.session.Session].setAttribute(String,String)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:145,1
    - Dst: '[io.undertow.server.session.Session].getSessionManager()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:147,1
    - Dst: '[java.util.Set<io.undertow.server.session.SessionManager>].add(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:148,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].registerSessionListener(SessionInvalidationListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.impl.SingleSignOn
      - io.undertow.server.session.Session
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - sso
    - session
    argTypes:
    - io.undertow.security.impl.SingleSignOn
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].registerSessionIfRequired(io.undertow.security.impl.SingleSignOn,io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.Session].getId()'
    - '[org.jboss.logging.Logger].tracef(String,io.undertow.security.impl.SingleSignOnAuthenticationMechanism,String)'
    - '[io.undertow.server.session.Session].getAttribute(String)'
    - '[io.undertow.security.impl.SingleSignOn].add(io.undertow.server.session.Session)'
    - '[io.undertow.security.impl.SingleSignOn].contains(io.undertow.server.session.Session)'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].registerSessionListener(SessionInvalidationListener)'
    - '[org.jboss.logging.Logger].isTraceEnabled()'
    - '[io.undertow.server.session.Session].getSessionManager()'
    - '[java.util.Set<io.undertow.server.session.SessionManager>].add(io.undertow.security.impl.SingleSignOnAuthenticationMechanism)'
    - '[io.undertow.security.impl.SingleSignOn].getId()'
    - '[org.jboss.logging.Logger].tracef(String,String)'
    - '[io.undertow.server.session.Session].setAttribute(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].registerSessionIfRequired(io.undertow.security.impl.SingleSignOn,io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:154,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setMaxAge(int)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:154,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setHttpOnly(boolean)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:154,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setSecure(boolean)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:154,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setDomain(String)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:154,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:154,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].clearSsoCookie(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setHttpOnly(boolean)'
    - '[io.undertow.server.handlers.CookieImpl].setSecure(boolean)'
    - '[io.undertow.server.handlers.CookieImpl].setPath(String)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String)'
    - '[io.undertow.server.handlers.CookieImpl].setMaxAge(int)'
    - '[io.undertow.server.handlers.CookieImpl].setDomain(String)'
    - '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].clearSsoCookie(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Sessions].getOrCreateSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.Sessions].getOrCreateSession(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getCookieName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getCookieName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookieName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setCookieName(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setCookieName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].isHttpOnly()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].isHttpOnly()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - httpOnly
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setHttpOnly(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setHttpOnly(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].isSecure()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secure
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setSecure(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setSecure(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getDomain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - domain
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setDomain(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - String
      - java.util.Set<io.undertow.server.session.SessionManager>
      - String
      - boolean
      - boolean
      - String
      - String
      - SessionInvalidationListener
      - ResponseListener
      - io.undertow.security.impl.SingleSignOnManager
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism].setPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:170,1
    - Dst: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:171,1
    - Dst: '[io.undertow.security.api.SecurityContext].getMechanismName()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:173,1
    - Dst: singleSignOnManager.createSingleSignOn(io.undertow.security.idm.Account,String)
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:173,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].getSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:174,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].registerSessionIfRequired(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener,io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:176,1
    - Dst: sso.getId()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:177,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener,io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:177,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setHttpOnly(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:177,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setSecure(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:177,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setDomain(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:177,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:177,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:177,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].failedToCreateSSOForSession(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:179,1
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - factory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].failedToCreateSSOForSession(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener,io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
    - sso.getId()
    - '[io.undertow.server.handlers.CookieImpl].setSecure(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].registerSessionIfRequired(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener,io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
    - '[io.undertow.security.api.SecurityContext].getMechanismName()'
    - '[io.undertow.server.handlers.CookieImpl].setPath(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
    - '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
    - '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
    - singleSignOnManager.createSingleSignOn(io.undertow.security.idm.Account,String)
    - '[io.undertow.server.handlers.CookieImpl].setDomain(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].getSession(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.CookieImpl].setHttpOnly(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener)'
    - '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.ResponseListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - exchange
    argTypes:
    - io.undertow.server.session.Session
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].sessionCreated(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].sessionCreated(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].getAttribute(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:196,1
    - Dst: log.isTraceEnabled()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:198,1
    - Dst: '[io.undertow.server.session.Session].getId()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:199,1
    - Dst: log.tracef(String,io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener,io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:199,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:201,1
    - Dst: singleSignOnManager.findSingleSignOn(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:202,1
    - Dst: sso.remove(io.undertow.server.session.Session)
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:204,1
    - Dst: sso.remove(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:207,1
    - Dst: '[java.util.LinkedList].add(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:208,1
    - Dst: sso.iterator()
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:212,1
    - Dst: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].hasNext()'
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:212,1
    - Dst: singleSignOnManager.removeSingleSignOn(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:213,1
    - Dst: sessionToRemove.invalidate(null)
      Src: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - io.undertow.server.HttpServerExchange
      - SessionDestroyedReason
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - exchange
    - reason
    argTypes:
    - io.undertow.server.session.Session
    - io.undertow.server.HttpServerExchange
    - SessionDestroyedReason
    constantsTouched: []
    func_position:
      end: 223
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 223
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].sessionDestroyed(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange,SessionDestroyedReason)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[java.util.LinkedList].add(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)'
    - '[io.undertow.server.session.Session].getAttribute(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)'
    - '[java.util.LinkedList].<init>()'
    - log.tracef(String,io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener,io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)
    - '[io.undertow.server.session.Session].getId()'
    - singleSignOnManager.removeSingleSignOn(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)
    - '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].hasNext()'
    - sso.iterator()
    - singleSignOnManager.findSingleSignOn(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)
    - sso.remove(io.undertow.server.session.Session)
    - sso.remove(io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener)
    - sessionToRemove.invalidate(null)
    - log.isTraceEnabled()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].sessionDestroyed(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange,SessionDestroyedReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - name
    - value
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].attributeAdded(io.undertow.server.session.Session,String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].attributeAdded(io.undertow.server.session.Session,String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      - Object
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - session
    - name
    - newValue
    - oldValue
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    - Object
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].attributeUpdated(io.undertow.server.session.Session,String,Object,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].attributeUpdated(io.undertow.server.session.Session,String,Object,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - name
    - oldValue
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].attributeRemoved(io.undertow.server.session.Session,String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].attributeRemoved(io.undertow.server.session.Session,String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - oldSessionId
    argTypes:
    - io.undertow.server.session.Session
    - String
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].sessionIdChanged(io.undertow.server.session.Session,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].sessionIdChanged(io.undertow.server.session.Session,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - SessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SingleSignOnAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener
    signature: '[io.undertow.security.impl.SingleSignOnAuthenticationMechanism.SessionInvalidationListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.AbstractSecurityContext
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].<init>(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.AbstractSecurityContext
    signature: '[io.undertow.security.impl.AbstractSecurityContext].<init>(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].setAuthenticationRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.AbstractSecurityContext].setAuthenticationRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].isAuthenticationRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.AbstractSecurityContext].isAuthenticationRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].isAuthenticated()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.AbstractSecurityContext].isAuthenticated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].getAuthenticatedAccount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.impl.AbstractSecurityContext].getAuthenticatedAccount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].getMechanismName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.AbstractSecurityContext].getMechanismName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean,boolean)'
      Src: io.undertow.security.impl.AbstractSecurityContext:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - account
    - mechanism
    - cachingRequired
    argTypes:
    - io.undertow.security.idm.Account
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.AbstractSecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.security.impl.AbstractSecurityContext:87,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.security.impl.AbstractSecurityContext:87,1
    - Dst: '[io.undertow.security.idm.Account].getRoles()'
      Src: io.undertow.security.impl.AbstractSecurityContext:87,1
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].debugf(String,io.undertow.security.impl.AbstractSecurityContext,java.util.Set<String>)'
      Src: io.undertow.security.impl.AbstractSecurityContext:87,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.security.impl.AbstractSecurityContext:89,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.security.impl.AbstractSecurityContext:89,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].userAuthenticated(io.undertow.security.impl.AbstractSecurityContext)'
      Src: io.undertow.security.impl.AbstractSecurityContext:89,1
    - Dst: '[io.undertow.security.api.SecurityNotification].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.impl.AbstractSecurityContext,io.undertow.security.idm.Account,String,boolean,io.undertow.security.impl.AbstractSecurityContext,boolean)'
      Src: io.undertow.security.impl.AbstractSecurityContext:88,1
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].sendNoticiation(io.undertow.security.api.SecurityNotification)'
      Src: io.undertow.security.impl.AbstractSecurityContext:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      - String
      - boolean
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - account
    - mechanism
    - programatic
    - cachingRequired
    argTypes:
    - io.undertow.security.idm.Account
    - String
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.idm.Account].getRoles()'
    - '[io.undertow.security.api.SecurityNotification].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.impl.AbstractSecurityContext,io.undertow.security.idm.Account,String,boolean,io.undertow.security.impl.AbstractSecurityContext,boolean)'
    - '[io.undertow.UndertowMessages.MESSAGES].userAuthenticated(io.undertow.security.impl.AbstractSecurityContext)'
    - '[java.security.Principal].getName()'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - '[io.undertow.security.impl.AbstractSecurityContext].sendNoticiation(io.undertow.security.api.SecurityNotification)'
    - '[io.undertow.security.impl.AbstractSecurityContext].debugf(String,io.undertow.security.impl.AbstractSecurityContext,java.util.Set<String>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.AbstractSecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].debugf(String,String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.AbstractSecurityContext:94,1
    - Dst: '[io.undertow.security.api.SecurityNotification].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.impl.AbstractSecurityContext,null,String,boolean,String,boolean)'
      Src: io.undertow.security.impl.AbstractSecurityContext:95,1
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].sendNoticiation(io.undertow.security.api.SecurityNotification)'
      Src: io.undertow.security.impl.AbstractSecurityContext:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - mechanism
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].authenticationFailed(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext].debugf(String,String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.AbstractSecurityContext].sendNoticiation(io.undertow.security.api.SecurityNotification)'
    - '[io.undertow.security.api.SecurityNotification].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.impl.AbstractSecurityContext,null,String,boolean,String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.AbstractSecurityContext].authenticationFailed(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.security.api.NotificationReceiver)'
      Src: io.undertow.security.impl.AbstractSecurityContext:101,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.security.api.NotificationReceiver)'
      Src: io.undertow.security.impl.AbstractSecurityContext:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.NotificationReceiver
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - receiver
    argTypes:
    - io.undertow.security.api.NotificationReceiver
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.security.api.NotificationReceiver)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.AbstractSecurityContext].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.NotificationReceiver].equals(io.undertow.security.impl.AbstractSecurityContext)'
      Src: io.undertow.security.impl.AbstractSecurityContext:114,1
    - Dst: '[io.undertow.security.api.NotificationReceiver].equals(io.undertow.security.impl.AbstractSecurityContext)'
      Src: io.undertow.security.impl.AbstractSecurityContext:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.NotificationReceiver
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - receiver
    argTypes:
    - io.undertow.security.api.NotificationReceiver
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].removeNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.api.NotificationReceiver].equals(io.undertow.security.impl.AbstractSecurityContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.AbstractSecurityContext].removeNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cur.item.handleNotification(io.undertow.security.api.SecurityNotification)
      Src: io.undertow.security.impl.AbstractSecurityContext:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityNotification
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - notification
    argTypes:
    - io.undertow.security.api.SecurityNotification
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].sendNoticiation(io.undertow.security.api.SecurityNotification)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 3
    functionsReached:
    - cur.item.handleNotification(io.undertow.security.api.SecurityNotification)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.AbstractSecurityContext].sendNoticiation(io.undertow.security.api.SecurityNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].isAuthenticated()'
      Src: io.undertow.security.impl.AbstractSecurityContext:138,1
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].debugf(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.AbstractSecurityContext:141,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.security.impl.AbstractSecurityContext:143,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.security.impl.AbstractSecurityContext:143,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].userLoggedOut(io.undertow.security.impl.AbstractSecurityContext)'
      Src: io.undertow.security.impl.AbstractSecurityContext:143,1
    - Dst: '[io.undertow.security.api.SecurityNotification].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.impl.AbstractSecurityContext,io.undertow.security.idm.Account,String,boolean,io.undertow.security.impl.AbstractSecurityContext,boolean)'
      Src: io.undertow.security.impl.AbstractSecurityContext:142,1
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].sendNoticiation(io.undertow.security.api.SecurityNotification)'
      Src: io.undertow.security.impl.AbstractSecurityContext:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.NotificationReceiver>
      - io.undertow.security.idm.Account
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SecurityContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: '[io.undertow.security.impl.AbstractSecurityContext].logout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityNotification].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.impl.AbstractSecurityContext,io.undertow.security.idm.Account,String,boolean,io.undertow.security.impl.AbstractSecurityContext,boolean)'
    - '[io.undertow.security.impl.AbstractSecurityContext].debugf(String,io.undertow.server.HttpServerExchange)'
    - '[java.security.Principal].getName()'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - '[io.undertow.UndertowMessages.MESSAGES].userLoggedOut(io.undertow.security.impl.AbstractSecurityContext)'
    - '[io.undertow.security.impl.AbstractSecurityContext].sendNoticiation(io.undertow.security.api.SecurityNotification)'
    - '[io.undertow.security.impl.AbstractSecurityContext].isAuthenticated()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.AbstractSecurityContext].logout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Node<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.AbstractSecurityContext.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - item
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: '[io.undertow.security.impl.AbstractSecurityContext.Node].<init>(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/AbstractSecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.AbstractSecurityContext.Node
    signature: '[io.undertow.security.impl.AbstractSecurityContext.Node].<init>(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ExclusivityChecker].<init>()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:67,1
    - Dst: '[io.undertow.util.Headers.NEGOTIATE].toString()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - String
      - String
      - Oid[]
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      - Oid[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.GSSAPIAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - subjectFactory
    - identityManager
    argTypes:
    - io.undertow.security.api.GSSAPIServerSubjectFactory
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].<init>(io.undertow.security.api.GSSAPIServerSubjectFactory,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ExclusivityChecker].<init>()'
    - '[io.undertow.util.Headers.NEGOTIATE].toString()'
    linkageType: ''
    returnType: io.undertow.security.impl.GSSAPIAuthenticationMechanism
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].<init>(io.undertow.security.api.GSSAPIServerSubjectFactory,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ExclusivityChecker].<init>()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:67,1
    - Dst: '[io.undertow.util.Headers.NEGOTIATE].toString()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:84,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].<init>(io.undertow.security.api.GSSAPIServerSubjectFactory,Oid[])'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - String
      - String
      - Oid[]
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      - Oid[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.GSSAPIAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - subjectFactory
    argTypes:
    - io.undertow.security.api.GSSAPIServerSubjectFactory
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].<init>(io.undertow.security.api.GSSAPIServerSubjectFactory)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ExclusivityChecker].<init>()'
    - '[io.undertow.util.Headers.NEGOTIATE].toString()'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].<init>(io.undertow.security.api.GSSAPIServerSubjectFactory,Oid[])'
    linkageType: ''
    returnType: io.undertow.security.impl.GSSAPIAuthenticationMechanism
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].<init>(io.undertow.security.api.GSSAPIServerSubjectFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - String
      - String
      - Oid[]
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      - Oid[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:126,1
    - Dst: '[io.undertow.server.ServerConnection].getAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:127,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].debugf(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:130,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:131,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].isEstablished()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:132,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:133,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getGssContext()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:134,1
    - Dst: '[io.undertow.security.idm.GSSContextCredential].<init>(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:134,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.GSSContextCredential)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:134,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:136,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:137,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:137,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].debugf(String,io.undertow.security.impl.GSSAPIAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:137,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].debugf(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:140,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:146,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:146,1
    - Dst: current.startsWith(String)
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:149,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:150,1
    - Dst: current.substring(io.undertow.security.impl.GSSAPIAuthenticationMechanism)
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:150,1
    - Dst: '[io.undertow.util.FlexBase64].decode(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:152,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].runGSSAPI(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer,io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:153,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - String
      - String
      - Oid[]
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      - Oid[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 166
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 166
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].isEstablished()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.GSSContextCredential)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
    - '[java.security.Principal].getName()'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].debugf(String,io.undertow.security.impl.GSSAPIAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
    - '[String].length()'
    - '[io.undertow.security.idm.GSSContextCredential].<init>(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    - '[io.undertow.server.ServerConnection].getAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.util.FlexBase64].decode(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getGssContext()'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].runGSSAPI(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer,io.undertow.security.api.SecurityContext)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - current.substring(io.undertow.security.impl.GSSAPIAuthenticationMechanism)
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].debugf(String,io.undertow.server.HttpServerExchange)'
    - current.startsWith(String)
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:169,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].useResponseToken()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:174,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism,null)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:175,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.security.impl.GSSAPIAuthenticationMechanism,boolean)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:177,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getHostName(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:182,1
    - Dst: '[io.undertow.security.api.GSSAPIServerSubjectFactory].getSubjectForHost(String)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:182,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:191,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.GSSAPIAuthenticationMechanism,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:191,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].debugf(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:193,1
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - String
      - String
      - Oid[]
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      - Oid[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 195
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 195
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getHostName(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism,null)'
    - '[io.undertow.security.api.GSSAPIServerSubjectFactory].getSubjectForHost(String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.security.impl.GSSAPIAuthenticationMechanism,boolean)'
    - '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].debugf(String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].useResponseToken()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.GSSAPIAuthenticationMechanism,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getHostName(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:201,1
    - Dst: '[io.undertow.security.api.GSSAPIServerSubjectFactory].getSubjectForHost(String)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:201,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].<init>(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer,io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:203,1
    - Dst: '[javax.security.auth.Subject].doAs(javax.security.auth.Subject,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:203,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].failedToObtainSubject(io.undertow.server.HttpServerExchange,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:205,1
    - Dst: e.getCause()
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:208,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].failedToNegotiateAtGSSAPI(io.undertow.server.HttpServerExchange,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - String
      - String
      - Oid[]
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      - Oid[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - challenge
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.nio.ByteBuffer
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].runGSSAPI(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getHostName(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.api.GSSAPIServerSubjectFactory].getSubjectForHost(String)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].failedToObtainSubject(io.undertow.server.HttpServerExchange,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[javax.security.auth.Subject].doAs(javax.security.auth.Subject,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].failedToNegotiateAtGSSAPI(io.undertow.server.HttpServerExchange,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].<init>(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer,io.undertow.security.api.SecurityContext)'
    - e.getCause()
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].runGSSAPI(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:214,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:214,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:216,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:216,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:217,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:217,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].contains(String)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:218,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].indexOf(String)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:219,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].substring(int,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - String
      - String
      - Oid[]
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.security.api.GSSAPIServerSubjectFactory
      - Oid[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getHostName(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].indexOf(String)'
    - '[String].indexOf(char)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[String].contains(String)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].contains(String)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].substring(int,io.undertow.security.impl.GSSAPIAuthenticationMechanism)'
    - '[String].substring(int,int)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism].getHostName(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ByteBuffer
      - SecurityContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - challenge
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.nio.ByteBuffer
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].<init>(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].<init>(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:242,1
    - Dst: '[NegotiationContext].<init>()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:244,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,NegotiationContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:245,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:247,1
    - Dst: '[io.undertow.server.ServerConnection].putAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,NegotiationContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:247,1
    - Dst: '[NegotiationContext].getGssContext()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:250,1
    - Dst: '[org.ietf.jgss.GSSManager].getInstance()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:252,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].createCredential(null,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:254,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].createContext(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:256,1
    - Dst: '[NegotiationContext].setGssContext(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:258,1
    - Dst: '[ByteBuffer].array()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:261,1
    - Dst: '[ByteBuffer].arrayOffset()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:261,1
    - Dst: '[ByteBuffer].limit()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:261,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].acceptSecContext(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:261,1
    - Dst: '[NegotiationContext].setResponseToken(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:262,1
    - Dst: '[NegotiationContext].isEstablished()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:264,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:268,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,boolean)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:269,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:268,1
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:271,1
    - Dst: '[NegotiationContext].getGssContext()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:272,1
    - Dst: '[io.undertow.security.idm.GSSContextCredential].<init>(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:272,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.GSSContextCredential)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:272,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,boolean)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ByteBuffer
      - SecurityContext
      classPublic: false
      concrete: true
      exceptions:
      - org.ietf.jgss.GSSException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 283
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[ByteBuffer].array()'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.GSSContextCredential)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].createCredential(null,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,boolean)'
    - '[NegotiationContext].isEstablished()'
    - '[NegotiationContext].getGssContext()'
    - '[ByteBuffer].limit()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[io.undertow.server.ServerConnection].putAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,NegotiationContext)'
    - '[io.undertow.security.idm.GSSContextCredential].<init>(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].createContext(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[org.ietf.jgss.GSSManager].getInstance()'
    - '[NegotiationContext].<init>()'
    - '[NegotiationContext].setResponseToken(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[NegotiationContext].setGssContext(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,NegotiationContext)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].acceptSecContext(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext)'
    - '[ByteBuffer].arrayOffset()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext,boolean)'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.AcceptSecurityContext].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<NegotiationContext>
      - GSSContext
      - byte[]
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.ietf.jgss.GSSContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].getGssContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.ietf.jgss.GSSContext
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].getGssContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.ietf.jgss.GSSContext
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<NegotiationContext>
      - GSSContext
      - byte[]
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - gssContext
    argTypes:
    - org.ietf.jgss.GSSContext
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].setGssContext(org.ietf.jgss.GSSContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].setGssContext(org.ietf.jgss.GSSContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<NegotiationContext>
      - GSSContext
      - byte[]
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].useResponseToken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].useResponseToken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<NegotiationContext>
      - GSSContext
      - byte[]
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseToken
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].setResponseToken(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].setResponseToken(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[GSSContext].isEstablished()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<NegotiationContext>
      - GSSContext
      - byte[]
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].isEstablished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[GSSContext].isEstablished()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].isEstablished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].isEstablished()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext:320,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext:321,1
    - Dst: '[GSSContext].getSrcName()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext:326,1
    - Dst: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].toString()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext:326,1
    - Dst: '[javax.security.auth.kerberos.KerberosPrincipal].<init>(io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext:326,1
    - Dst: '[IllegalStateException].<init>(String,io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext)'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<NegotiationContext>
      - GSSContext
      - byte[]
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].getPrincipal()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>(String)'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].isEstablished()'
    - '[javax.security.auth.kerberos.KerberosPrincipal].<init>(io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext)'
    - '[GSSContext].getSrcName()'
    - '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].toString()'
    - '[IllegalStateException].<init>(String,io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext)'
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].getPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<NegotiationContext>
      - GSSContext
      - byte[]
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/GSSAPIAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext
    signature: '[io.undertow.security.impl.GSSAPIAuthenticationMechanism.NegotiationContext].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:51,1
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(boolean)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ClientCertAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(boolean)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.ClientCertAuthenticationMechanism
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:51,1
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ClientCertAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - forceRenegotiation
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.ClientCertAuthenticationMechanism
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:51,1
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ClientCertAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mechanismName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.ClientCertAuthenticationMechanism
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:51,1
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean,null)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ClientCertAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - mechanismName
    - forceRenegotiation
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean,null)'
    linkageType: ''
    returnType: io.undertow.security.impl.ClientCertAuthenticationMechanism
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ClientCertAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mechanismName
    - forceRenegotiation
    - identityManager
    argTypes:
    - String
    - boolean
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.ClientCertAuthenticationMechanism
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,boolean,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:91,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:91,1
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].getPeerCertificates(io.undertow.server.HttpServerExchange,io.undertow.server.SSLSessionInfo,io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:94,1
    - Dst: '[io.undertow.security.idm.X509CertificateCredential].<init>(java.security.cert.X509Certificate)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:96,1
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:98,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.X509CertificateCredential)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:99,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.X509CertificateCredential)'
    - '[io.undertow.security.idm.X509CertificateCredential].<init>(java.security.cert.X509Certificate)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].getPeerCertificates(io.undertow.server.HttpServerExchange,io.undertow.server.SSLSessionInfo,io.undertow.security.api.SecurityContext)'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:122,1
    - Dst: '[io.undertow.security.api.SecurityContext].isAuthenticationRequired()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:125,1
    - Dst: '[io.undertow.server.SSLSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,io.undertow.security.impl.ClientCertAuthenticationMechanism)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:127,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:128,1
    - Dst: '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.SSLSessionInfo
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Certificate[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - sslSession
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.SSLSessionInfo
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 138
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].getPeerCertificates(io.undertow.server.HttpServerExchange,io.undertow.server.SSLSessionInfo,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
    - '[io.undertow.security.api.SecurityContext].isAuthenticationRequired()'
    - '[io.undertow.server.SSLSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,io.undertow.security.impl.ClientCertAuthenticationMechanism)'
    - '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
    linkageType: ''
    returnType: Certificate[]
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].getPeerCertificates(io.undertow.server.HttpServerExchange,io.undertow.server.SSLSessionInfo,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identityManager
    argTypes:
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory:154,1
    - Dst: '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: '[io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/ClientCertAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,String>].get(io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory)'
    - '[io.undertow.security.impl.ClientCertAuthenticationMechanism].<init>(String,io.undertow.security.idm.IdentityManager)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.security.impl.ClientCertAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormAuthenticationMechanism.class.getName()
      Src: io.undertow.security.impl.FormAuthenticationMechanism:48,1
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].builder()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:66,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:66,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.security.impl.FormAuthenticationMechanism,String,String,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.FormAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - loginPage
    - errorPage
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 3
    functionsReached:
    - FormAuthenticationMechanism.class.getName()
    - '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.security.impl.FormAuthenticationMechanism,String,String,String)'
    - '[io.undertow.server.handlers.form.FormParserFactory].builder()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
    linkageType: ''
    returnType: io.undertow.security.impl.FormAuthenticationMechanism
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormAuthenticationMechanism.class.getName()
      Src: io.undertow.security.impl.FormAuthenticationMechanism:48,1
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].builder()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:70,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:70,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.security.impl.FormAuthenticationMechanism,String,String,String,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.FormAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - name
    - loginPage
    - errorPage
    - postLocation
    argTypes:
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(String,String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - FormAuthenticationMechanism.class.getName()
    - '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.security.impl.FormAuthenticationMechanism,String,String,String,String)'
    - '[io.undertow.server.handlers.form.FormParserFactory].builder()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
    linkageType: ''
    returnType: io.undertow.security.impl.FormAuthenticationMechanism
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormAuthenticationMechanism.class.getName()
      Src: io.undertow.security.impl.FormAuthenticationMechanism:48,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.form.FormParserFactory
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.FormAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - formParserFactory
    - name
    - loginPage
    - errorPage
    argTypes:
    - io.undertow.server.handlers.form.FormParserFactory
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - FormAuthenticationMechanism.class.getName()
    - '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String)'
    linkageType: ''
    returnType: io.undertow.security.impl.FormAuthenticationMechanism
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormAuthenticationMechanism.class.getName()
      Src: io.undertow.security.impl.FormAuthenticationMechanism:48,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.form.FormParserFactory
      - String
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.FormAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - formParserFactory
    - name
    - loginPage
    - errorPage
    - identityManager
    argTypes:
    - io.undertow.server.handlers.form.FormParserFactory
    - String
    - String
    - String
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 3
    functionsReached:
    - FormAuthenticationMechanism.class.getName()
    - '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String,io.undertow.security.idm.IdentityManager)'
    linkageType: ''
    returnType: io.undertow.security.impl.FormAuthenticationMechanism
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormAuthenticationMechanism.class.getName()
      Src: io.undertow.security.impl.FormAuthenticationMechanism:48,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String,null)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.form.FormParserFactory
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.FormAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - formParserFactory
    - name
    - loginPage
    - errorPage
    - postLocation
    argTypes:
    - io.undertow.server.handlers.form.FormParserFactory
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 2
    functionsReached:
    - FormAuthenticationMechanism.class.getName()
    - '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String,null)'
    linkageType: ''
    returnType: io.undertow.security.impl.FormAuthenticationMechanism
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FormAuthenticationMechanism.class.getName()
      Src: io.undertow.security.impl.FormAuthenticationMechanism:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.form.FormParserFactory
      - String
      - String
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.FormAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - formParserFactory
    - name
    - loginPage
    - errorPage
    - postLocation
    - identityManager
    argTypes:
    - io.undertow.server.handlers.form.FormParserFactory
    - String
    - String
    - String
    - String
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - FormAuthenticationMechanism.class.getName()
    linkageType: ''
    returnType: io.undertow.security.impl.FormAuthenticationMechanism
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String,String,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:102,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:102,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:102,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:102,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].runFormAuth(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 7
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.FormAuthenticationMechanism].runFormAuth(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[String].endsWith(String)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].createParser(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:110,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].debug(String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:112,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParser].parseBlocking()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:120,1
    - Dst: '[io.undertow.server.handlers.form.FormData].getFirst(String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:121,1
    - Dst: '[io.undertow.server.handlers.form.FormData].getFirst(String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:122,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].debugf(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:124,1
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValue].getValue()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:127,1
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValue].getValue()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:128,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].toCharArray()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:130,1
    - Dst: '[io.undertow.security.idm.PasswordCredential].<init>(io.undertow.security.impl.FormAuthenticationMechanism)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:130,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:132,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.FormAuthenticationMechanism,io.undertow.security.idm.PasswordCredential)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:133,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:135,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:136,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:136,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].debugf(String,io.undertow.security.impl.FormAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:136,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].authenticationFailed(io.undertow.security.impl.FormAuthenticationMechanism)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:139,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationFailed(io.undertow.security.impl.FormAuthenticationMechanism,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:139,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].handleRedirectBack(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:146,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:147,1
    - Dst: original.addSuppressed(io.undertow.security.impl.FormAuthenticationMechanism)
      Src: io.undertow.security.impl.FormAuthenticationMechanism:152,1
    - Dst: '[java.io.UncheckedIOException].<init>(io.undertow.security.impl.FormAuthenticationMechanism)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:159,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 170
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 170
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].runFormAuth(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].authenticationFailed(io.undertow.security.impl.FormAuthenticationMechanism,String)'
    - '[io.undertow.server.handlers.form.FormParserFactory].createParser(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].debug(String)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.handlers.form.FormData].getFirst(String)'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
    - '[java.security.Principal].getName()'
    - '[io.undertow.security.idm.PasswordCredential].<init>(io.undertow.security.impl.FormAuthenticationMechanism)'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.FormAuthenticationMechanism,io.undertow.security.idm.PasswordCredential)'
    - '[io.undertow.server.handlers.form.FormDataParser].parseBlocking()'
    - original.addSuppressed(io.undertow.security.impl.FormAuthenticationMechanism)
    - '[io.undertow.security.impl.FormAuthenticationMechanism].toCharArray()'
    - '[io.undertow.server.handlers.form.FormData.FormValue].getValue()'
    - '[java.io.UncheckedIOException].<init>(io.undertow.security.impl.FormAuthenticationMechanism)'
    - '[io.undertow.UndertowMessages.MESSAGES].authenticationFailed(io.undertow.security.impl.FormAuthenticationMechanism)'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].handleRedirectBack(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].debugf(String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].debugf(String,io.undertow.security.impl.FormAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].runFormAuth(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:173,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].restoreOriginalSessionTimeout(io.undertow.server.session.Session)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:175,1
    - Dst: '[io.undertow.server.session.Session].removeAttribute(String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:176,1
    - Dst: '[io.undertow.server.DefaultResponseListener].<init>()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:178,1
    - Dst: '[io.undertow.server.HttpServerExchange].addDefaultResponseListener(io.undertow.server.DefaultResponseListener)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].handleRedirectBack(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.FormAuthenticationMechanism].restoreOriginalSessionTimeout(io.undertow.server.session.Session)'
    - '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].addDefaultResponseListener(io.undertow.server.DefaultResponseListener)'
    - '[io.undertow.server.DefaultResponseListener].<init>()'
    - '[io.undertow.server.session.Session].removeAttribute(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].handleRedirectBack(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:193,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].restoreOriginalSessionTimeout(io.undertow.server.session.Session)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].restoreOriginalSessionTimeout(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.FormAuthenticationMechanism].restoreOriginalSessionTimeout(io.undertow.server.session.Session)'
    - '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].restoreOriginalSessionTimeout(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.Session].removeAttribute(String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:199,1
    - Dst: '[io.undertow.server.session.Session].setMaxInactiveInterval(io.undertow.security.impl.FormAuthenticationMechanism)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - io.undertow.server.session.Session
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].restoreOriginalSessionTimeout(io.undertow.server.session.Session)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.session.Session].setMaxInactiveInterval(io.undertow.security.impl.FormAuthenticationMechanism)'
    - '[io.undertow.server.session.Session].removeAttribute(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].restoreOriginalSessionTimeout(io.undertow.server.session.Session)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:210,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:210,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:211,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:211,1
    - Dst: '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String,boolean)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:211,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:211,1
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,int)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:212,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:214,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:214,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:214,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:214,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].debugf(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:215,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].servePage(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:217,1
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,Integer)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:218,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].debugf(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:220,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].storeInitialLocation(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:223,1
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].servePage(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:226,1
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,Integer)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 7
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.FormAuthenticationMechanism].servePage(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,Integer)'
    - '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String,boolean)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[String].endsWith(String)'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].debugf(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,int)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[String].isEmpty()'
    - '[io.undertow.security.impl.FormAuthenticationMechanism].storeInitialLocation(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:232,1
    - Dst: '[io.undertow.util.Sessions].getOrCreateSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:235,1
    - Dst: '[io.undertow.server.session.Session].getMaxInactiveInterval()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:239,1
    - Dst: '[io.undertow.server.session.Session].getMaxInactiveInterval()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:241,1
    - Dst: '[io.undertow.server.session.Session].setAttribute(String,int)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:241,1
    - Dst: '[io.undertow.server.session.Session].setMaxInactiveInterval(int)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:242,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:245,1
    - Dst: '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:245,1
    - Dst: '[io.undertow.server.session.Session].setAttribute(String,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 8
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].storeInitialLocation(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.session.Session].setAttribute(String,int)'
    - '[io.undertow.server.session.Session].getMaxInactiveInterval()'
    - '[io.undertow.util.Sessions].getOrCreateSession(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.session.Session].setMaxInactiveInterval(int)'
    - '[io.undertow.server.session.Session].setAttribute(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].storeInitialLocation(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.FormAuthenticationMechanism].sendRedirect(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - location
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 7
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].servePage(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.FormAuthenticationMechanism].sendRedirect(io.undertow.server.HttpServerExchange,String)'
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].servePage(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:256,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostAndPort()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:256,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:257,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.security.impl.FormAuthenticationMechanism)'
      Src: io.undertow.security.impl.FormAuthenticationMechanism:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.security.idm.IdentityManager
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - location
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 6
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: '[io.undertow.security.impl.FormAuthenticationMechanism].sendRedirect(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/FormAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.security.impl.FormAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].getHostAndPort()'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.FormAuthenticationMechanism].sendRedirect(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:65,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:69,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager,String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - io.undertow.security.api.NonceManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - supportedAlgorithms
    - supportedQops
    - realmName
    - domain
    - nonceManager
    argTypes:
    - java.util.List<io.undertow.security.idm.DigestAlgorithm>
    - java.util.List<DigestQop>
    - String
    - String
    - io.undertow.security.api.NonceManager
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager,String)'
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:65,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:69,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager,String,null)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - io.undertow.security.api.NonceManager
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - supportedAlgorithms
    - supportedQops
    - realmName
    - domain
    - nonceManager
    - mechanismName
    argTypes:
    - java.util.List<io.undertow.security.idm.DigestAlgorithm>
    - java.util.List<DigestQop>
    - String
    - String
    - io.undertow.security.api.NonceManager
    - String
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager,String,null)'
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:65,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:69,1
    - Dst: '[java.util.List<DigestQop>].isEmpty()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:125,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:126,1
    - Dst: '[java.util.List<DigestQop>].iterator()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:127,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].next()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:128,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getToken()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:128,1
    - Dst: '[StringBuilder].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:128,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].hasNext()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:129,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:130,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].next()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:130,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getToken()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:130,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:130,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - io.undertow.security.api.NonceManager
      - String
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - supportedAlgorithms
    - supportedQops
    - realmName
    - domain
    - nonceManager
    - mechanismName
    - identityManager
    argTypes:
    - java.util.List<io.undertow.security.idm.DigestAlgorithm>
    - java.util.List<DigestQop>
    - String
    - String
    - io.undertow.security.api.NonceManager
    - String
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager,String,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getToken()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].hasNext()'
    - '[java.util.List<DigestQop>].isEmpty()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].next()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[StringBuilder].toString()'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[java.util.List<DigestQop>].iterator()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(java.util.List<io.undertow.security.idm.DigestAlgorithm>,java.util.List<DigestQop>,String,String,io.undertow.security.api.NonceManager,String,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:65,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:69,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(String,String,String,null)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - realmName
    - domain
    - mechanismName
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(String,String,String,null)'
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:65,1
    - Dst: '[String].length()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:69,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:143,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:143,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:143,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism,String,String,io.undertow.security.impl.SimpleNonceManager,String,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - realmName
    - domain
    - mechanismName
    - identityManager
    argTypes:
    - String
    - String
    - String
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(String,String,String,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism,String,String,io.undertow.security.impl.SimpleNonceManager,String,io.undertow.security.idm.IdentityManager)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[String].length()'
    - '[java.util.Collections].singletonList(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.SimpleNonceManager].<init>()'
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(String,String,String,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:153,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:153,1
    - Dst: current.startsWith(String)
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:156,1
    - Dst: current.substring(int)
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:157,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:160,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].parseHeader(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:161,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:162,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:162,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setMethod(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:162,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setParsedHeader(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:163,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:165,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].debugf(String,io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:167,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].handleDigestHeader(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:169,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].authenticationFailedFor(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 183
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 183
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].<init>()'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].parseHeader(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setParsedHeader(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].handleDigestHeader(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].authenticationFailedFor(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange,io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].debugf(String,io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setMethod(String)'
    - current.substring(int)
    - current.startsWith(String)
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:186,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:187,1
    - Dst: '[java.util.EnumSet].copyOf(java.util.Set<DigestAuthorizationToken>)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:189,1
    - Dst: '[java.util.List<io.undertow.security.idm.DigestAlgorithm>].contains(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:190,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].add(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:192,1
    - Dst: '[java.util.List<DigestQop>].isEmpty()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:194,1
    - Dst: '[java.util.List<DigestQop>].contains(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:194,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].add(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:196,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].containsKey(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:201,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:202,1
    - Dst: DigestQop.forName(io.undertow.security.impl.DigestAuthenticationMechanism)
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:202,1
    - Dst: '[java.util.List<DigestQop>].contains(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:203,1
    - Dst: DigestAuthorizationToken.MESSAGE_QOP.getName()
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:205,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:206,1
    - Dst: '[io.undertow.UndertowLogger.REQUEST_LOGGER].invalidTokenReceived(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:205,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].setQop(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:210,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].add(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:211,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].add(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:212,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].keySet()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:216,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].removeAll(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:216,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].size()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:217,1
    - Dst: currentToken.getName()
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:221,1
    - Dst: '[io.undertow.UndertowLogger.REQUEST_LOGGER].missingAuthorizationToken(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:221,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:228,1
    - Dst: '[String].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:228,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:229,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:230,1
    - Dst: '[io.undertow.UndertowLogger.REQUEST_LOGGER].invalidTokenReceived(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:229,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].containsKey(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:235,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:236,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:237,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:238,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:238,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:239,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:241,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURL()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:246,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:247,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:247,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:248,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:250,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:252,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:253,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].containsKey(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:261,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:262,1
    - Dst: '[String].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:262,1
    - Dst: DigestAuthorizationToken.OPAQUE.getName()
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:263,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:264,1
    - Dst: '[io.undertow.UndertowLogger.REQUEST_LOGGER].invalidTokenReceived(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:263,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].containsKey(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:270,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:271,1
    - Dst: '[io.undertow.security.idm.DigestAlgorithm].forName(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:271,1
    - Dst: '[java.util.List<io.undertow.security.idm.DigestAlgorithm>].contains(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:272,1
    - Dst: DigestAuthorizationToken.ALGORITHM.getName()
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:274,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:275,1
    - Dst: '[io.undertow.UndertowLogger.REQUEST_LOGGER].invalidTokenReceived(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:274,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].setAlgorithm(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:286,1
    - Dst: '[io.undertow.UndertowLogger.REQUEST_LOGGER].exceptionProcessingRequest(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:291,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:295,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:296,1
    - Dst: algorithm.isSession()
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:299,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:306,1
    - Dst: '[DigestCredentialImpl].<init>(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:308,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.DigestAuthenticationMechanism,DigestCredentialImpl)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:309,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].authenticationFailed(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:315,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationFailed(io.undertow.security.impl.DigestAuthenticationMechanism,String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:315,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].validateNonceUse(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:320,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].markStale()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:325,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].sendAuthenticationInfoHeader(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:333,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:334,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 99
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 340
      start: 185
    functionDepth: 7
    functionLinenumber: 185
    functionLinenumberEnd: 340
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].handleDigestHeader(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[IllegalStateException].<init>(String)'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - currentToken.getName()
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].validateNonceUse(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.impl.DigestAuthenticationMechanism,DigestCredentialImpl)'
    - '[io.undertow.server.HttpServerExchange].getRequestURL()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - DigestAuthorizationToken.ALGORITHM.getName()
    - '[io.undertow.UndertowLogger.REQUEST_LOGGER].exceptionProcessingRequest(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - DigestQop.forName(io.undertow.security.impl.DigestAuthenticationMechanism)
    - DigestAuthorizationToken.OPAQUE.getName()
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[java.util.List<DigestQop>].isEmpty()'
    - '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
    - '[java.util.List<DigestQop>].contains(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].removeAll(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getParsedHeader()'
    - algorithm.isSession()
    - '[io.undertow.UndertowLogger.REQUEST_LOGGER].missingAuthorizationToken(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[String].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[String].isEmpty()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].containsKey(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].size()'
    - DigestAuthorizationToken.REALM.getName()
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].setAlgorithm(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.UndertowLogger.REQUEST_LOGGER].invalidTokenReceived(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].setQop(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getIdentityManager(io.undertow.security.api.SecurityContext)'
    - '[java.util.List<io.undertow.security.idm.DigestAlgorithm>].contains(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.idm.DigestAlgorithm].forName(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].markStale()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.api.SecurityContext].authenticationFailed(io.undertow.security.impl.DigestAuthenticationMechanism,String)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].sendAuthenticationInfoHeader(io.undertow.server.HttpServerExchange)'
    - '[DigestCredentialImpl].<init>(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.UndertowMessages.MESSAGES].authenticationFailed(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].add(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[java.util.EnumSet].copyOf(java.util.Set<DigestAuthorizationToken>)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - DigestAuthorizationToken.MESSAGE_QOP.getName()
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].keySet()'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].handleDigestHeader(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getQop()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:344,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:346,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:347,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2Auth(DigestContext,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:347,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2AuthInt()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:349,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].createRFC2069RequestDigest(byte[],byte[],DigestContext)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:354,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].createRFC2617RequestDigest(byte[],byte[],DigestContext)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:356,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:359,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:359,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:359,1
    - Dst: '[java.security.MessageDigest].isEqual(byte[],io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - DigestContext
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - context
    - ha1
    argTypes:
    - DigestContext
    - byte[]
    constantsTouched: []
    func_position:
      end: 362
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 362
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].validateRequest(DigestContext,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[java.security.MessageDigest].isEqual(byte[],io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2Auth(DigestContext,io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].createRFC2069RequestDigest(byte[],byte[],DigestContext)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2AuthInt()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getQop()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].createRFC2617RequestDigest(byte[],byte[],DigestContext)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].validateRequest(DigestContext,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<DigestAuthorizationToken,String>].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:365,1
    - Dst: '[java.util.Map<DigestAuthorizationToken,String>].containsKey(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:367,1
    - Dst: '[java.util.Map<DigestAuthorizationToken,String>].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:368,1
    - Dst: Integer.parseInt(io.undertow.security.impl.DigestAuthenticationMechanism,int)
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:370,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setNonce(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:373,1
    - Dst: '[io.undertow.security.api.NonceManager].validateNonce(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - DigestContext
      - java.util.Map<DigestAuthorizationToken,String>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - context
    - parsedHeader
    - exchange
    argTypes:
    - DigestContext
    - java.util.Map<DigestAuthorizationToken,String>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].validateNonceUse(DigestContext,java.util.Map<DigestAuthorizationToken,String>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<DigestAuthorizationToken,String>].containsKey(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[java.util.Map<DigestAuthorizationToken,String>].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setNonce(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - Integer.parseInt(io.undertow.security.impl.DigestAuthenticationMechanism,int)
    - '[io.undertow.security.api.NonceManager].validateNonce(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].validateNonceUse(DigestContext,java.util.Map<DigestAuthorizationToken,String>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getMethod()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:379,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:379,1
    - Dst: '[java.util.Map<DigestAuthorizationToken,String>].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:380,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:380,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:382,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:384,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:385,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:386,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].digest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:388,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:388,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].reset()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - DigestContext
      - java.util.Map<DigestAuthorizationToken,String>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - context
    - parsedHeader
    argTypes:
    - DigestContext
    - java.util.Map<DigestAuthorizationToken,String>
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2Auth(DigestContext,java.util.Map<DigestAuthorizationToken,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].digest()'
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getMethod()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].reset()'
    - '[java.util.Map<DigestAuthorizationToken,String>].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2Auth(DigestContext,java.util.Map<DigestAuthorizationToken,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2AuthInt()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 2
    functionsReached:
    - '[IllegalStateException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2AuthInt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:400,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:401,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:403,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:403,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte[])'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:406,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:407,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:408,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:409,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte[])'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:410,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].digest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:412,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:412,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].reset()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - DigestContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - ha1
    - ha2
    - context
    argTypes:
    - byte[]
    - byte[]
    - DigestContext
    constantsTouched: []
    func_position:
      end: 416
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 416
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].createRFC2069RequestDigest(byte[],byte[],DigestContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].digest()'
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].reset()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte[])'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].createRFC2069RequestDigest(byte[],byte[],DigestContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:419,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:420,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:422,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:422,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:423,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:423,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:424,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:424,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:425,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:425,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte[])'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:428,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:429,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:430,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:431,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:432,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:433,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:434,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:435,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:436,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:437,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte[])'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:438,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].digest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:440,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:440,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].reset()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - DigestContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - ha1
    - ha2
    - context
    argTypes:
    - byte[]
    - byte[]
    - DigestContext
    constantsTouched: []
    func_position:
      end: 444
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 444
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].createRFC2617RequestDigest(byte[],byte[],DigestContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].digest()'
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].reset()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte[])'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].createRFC2617RequestDigest(byte[],byte[],DigestContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:448,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].isStale()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:449,1
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:451,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:452,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:452,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:452,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:452,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:452,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:453,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:453,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:453,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:453,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:453,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:455,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:455,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:455,1
    - Dst: '[io.undertow.security.api.NonceManager].nextNonce(null,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:455,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:455,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:455,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:458,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:458,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:458,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:460,1
    - Dst: '[java.util.List<io.undertow.security.idm.DigestAlgorithm>].size()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:462,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:464,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:464,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:464,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:464,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:467,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:467,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:467,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:467,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:467,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:467,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:470,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:471,1
    - Dst: '[java.util.List<io.undertow.security.idm.DigestAlgorithm>].isEmpty()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:472,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:473,1
    - Dst: current.getToken()
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:476,1
    - Dst: String.format(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:476,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:476,1
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 481
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 481
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.api.NonceManager].nextNonce(null,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].isStale()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[java.util.List<io.undertow.security.idm.DigestAlgorithm>].size()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
    - '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(String)'
    - current.getToken()
    - '[StringBuilder].append(String)'
    - String.format(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)
    - '[java.util.List<io.undertow.security.idm.DigestAlgorithm>].isEmpty()'
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:484,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getQop()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:485,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getNonce()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:486,1
    - Dst: '[io.undertow.security.api.NonceManager].nextNonce(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:487,1
    - Dst: '[String].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:488,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:489,1
    - Dst: '[StringBuilder].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:490,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:490,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:490,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:490,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:492,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:493,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:493,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:493,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:493,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getToken()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:493,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:493,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:493,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getHa1()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:494,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2Auth(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:498,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2AuthInt()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:500,1
    - Dst: '[String].<init>(byte[],io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:502,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:503,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:503,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:503,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:503,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:503,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:503,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:504,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:504,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:504,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:504,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:504,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:504,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:504,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:505,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:505,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:505,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:505,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:505,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:505,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:508,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:509,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:509,1
    - Dst: '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 513
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 513
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].sendAuthenticationInfoHeader(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getHa1()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2AuthInt()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getNonce()'
    - '[io.undertow.util.HttpString].toString()'
    - '[StringBuilder].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getQop()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].append(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getParsedHeader()'
    - '[String].equals(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getToken()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].append(String)'
    - '[StringBuilder].<init>()'
    - '[String].<init>(byte[],io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2Auth(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.api.NonceManager].nextNonce(io.undertow.security.impl.DigestAuthenticationMechanism,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].sendAuthenticationInfoHeader(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:516,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:516,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:516,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:518,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:520,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:521,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].digest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:523,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:523,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].reset()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - DigestContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanismFactory
      - String
      - String
      - int
      - String
      - byte
      - String
      - io.undertow.security.idm.IdentityManager
      - java.util.Set<DigestAuthorizationToken>
      - java.util.List<io.undertow.security.idm.DigestAlgorithm>
      - java.util.List<DigestQop>
      - String
      - String
      - String
      - io.undertow.security.api.NonceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanism
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - context
    argTypes:
    - DigestContext
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2Auth(DigestContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].digest()'
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].reset()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].get(io.undertow.security.impl.DigestAuthenticationMechanism)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].update(byte)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism].createHA2Auth(DigestContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getMethod()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 548
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 548
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setMethod(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setMethod(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 552
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].isStale()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].isStale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].markStale()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].markStale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getNonce()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setNonce(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setNonce(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: DigestQop
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getQop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DigestQop
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getQop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - DigestQop
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - qop
    argTypes:
    - DigestQop
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setQop(DigestQop)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setQop(DigestQop)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getHa1()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getHa1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ha1
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setHa1(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setHa1(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.DigestAlgorithm
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getAlgorithm()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.DigestAlgorithm
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getAlgorithm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.idm.DigestAlgorithm].getMessageDigest()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.DigestAlgorithm
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions:
      - java.security.NoSuchAlgorithmException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - io.undertow.security.idm.DigestAlgorithm
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setAlgorithm(io.undertow.security.idm.DigestAlgorithm)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.idm.DigestAlgorithm].getMessageDigest()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setAlgorithm(io.undertow.security.idm.DigestAlgorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.MessageDigest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.security.MessageDigest
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getDigest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<DigestAuthorizationToken,String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<DigestAuthorizationToken,String>
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<DigestAuthorizationToken,String>
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - parsedHeader
    argTypes:
    - java.util.Map<DigestAuthorizationToken,String>
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setParsedHeader(java.util.Map<DigestAuthorizationToken,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setParsedHeader(java.util.Map<DigestAuthorizationToken,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<DigestContext>
      - String
      - String
      - DigestQop
      - byte[]
      - DigestAlgorithm
      - MessageDigest
      - boolean
      - Map<DigestAuthorizationToken, String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - DigestContext
      classConcrete: true
      classEnum: false
      classFields:
      - DigestContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - DigestCredential
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - digestContext
    argTypes:
    - DigestContext
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].<init>(DigestContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].<init>(DigestContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getAlgorithm()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DigestContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - DigestCredential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.DigestAlgorithm
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getAlgorithm()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getAlgorithm()'
    linkageType: ''
    returnType: io.undertow.security.idm.DigestAlgorithm
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getAlgorithm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setHa1(byte[])'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:620,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].validateRequest(DigestContext,byte[])'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - DigestContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - DigestCredential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ha1
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].verifyHA1(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].validateRequest(DigestContext,byte[])'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].setHa1(byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].verifyHA1(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DigestContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - DigestCredential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getRealm()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getRealm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getAlgorithm()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:632,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].isSession()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:632,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].noSessionData()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:633,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:636,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].get(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:636,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:636,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:637,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].get(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:637,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:637,1
    - Dst: System.arraycopy(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl,int,io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl,int,io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:640,1
    - Dst: System.arraycopy(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl,int,io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl,int,io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DigestContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - DigestCredential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 645
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getSessionData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].get(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)'
    - '[io.undertow.UndertowMessages.MESSAGES].noSessionData()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getAlgorithm()'
    - System.arraycopy(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl,int,io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl,int,io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getBytes(io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl)'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].isSession()'
    - '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestContext].getParsedHeader()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.DigestCredentialImpl].getSessionData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - identityManager
    argTypes:
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.Factory].<init>(io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.DigestAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 654
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.Factory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.DigestAuthenticationMechanism.Factory
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.Factory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.DigestAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.Factory:658,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.security.impl.DigestAuthenticationMechanism.Factory)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.Factory:658,1
    - Dst: '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(io.undertow.security.impl.DigestAuthenticationMechanism.Factory,io.undertow.security.impl.DigestAuthenticationMechanism.Factory,String,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.DigestAuthenticationMechanism.Factory:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: '[io.undertow.security.impl.DigestAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/DigestAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.DigestAuthenticationMechanism].<init>(io.undertow.security.impl.DigestAuthenticationMechanism.Factory,io.undertow.security.impl.DigestAuthenticationMechanism.Factory,String,io.undertow.security.idm.IdentityManager)'
    - '[java.util.Map<String,String>].get(io.undertow.security.impl.DigestAuthenticationMechanism.Factory)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.security.impl.DigestAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.security.impl.SecurityActions:29,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.SecurityActions:30,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<io.undertow.security.impl.SecurityContextImpl>)
      Src: io.undertow.security.impl.SecurityActions:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SecurityContextImpl
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - authenticationMode
    - identityManager
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.AuthenticationMode
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: '[io.undertow.security.impl.SecurityActions].createSecurityContextImpl(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityActions.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.security.impl.SecurityContextImpl].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager)'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<io.undertow.security.impl.SecurityContextImpl>)
    linkageType: ''
    returnType: io.undertow.security.impl.SecurityContextImpl
    signature: '[io.undertow.security.impl.SecurityActions].createSecurityContextImpl(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SecurityActions
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.impl.SecurityActions].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityActions.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SecurityActions
    signature: '[io.undertow.security.impl.SecurityActions].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[RuntimePermission].<init>(String)'
      Src: io.undertow.security.impl.SecurityContextImpl:51,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.impl.SecurityContextImpl,io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.security.impl.SecurityContextImpl:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SecurityContextImpl
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 2
    argNames:
    - exchange
    - identityManager
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.security.impl.SecurityContextImpl].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SecurityContextImpl].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.impl.SecurityContextImpl,io.undertow.security.idm.IdentityManager)'
    - '[RuntimePermission].<init>(String)'
    linkageType: ''
    returnType: io.undertow.security.impl.SecurityContextImpl
    signature: '[io.undertow.security.impl.SecurityContextImpl].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[RuntimePermission].<init>(String)'
      Src: io.undertow.security.impl.SecurityContextImpl:51,1
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].<init>(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.impl.SecurityContextImpl:71,1
    - Dst: System.getSecurityManager()
      Src: io.undertow.security.impl.SecurityContextImpl:74,1
    - Dst: System.getSecurityManager()
      Src: io.undertow.security.impl.SecurityContextImpl:75,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].checkPermission(RuntimePermission)'
      Src: io.undertow.security.impl.SecurityContextImpl:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SecurityContextImpl
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 3
    argNames:
    - exchange
    - authenticationMode
    - identityManager
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.AuthenticationMode
    - io.undertow.security.idm.IdentityManager
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: '[io.undertow.security.impl.SecurityContextImpl].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 1
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.security.impl.AbstractSecurityContext].<init>(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.impl.SecurityContextImpl].checkPermission(RuntimePermission)'
    - '[RuntimePermission].<init>(String)'
    linkageType: ''
    returnType: io.undertow.security.impl.SecurityContextImpl
    signature: '[io.undertow.security.impl.SecurityContextImpl].<init>(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exchange.getRequestPath()
      Src: io.undertow.security.impl.SecurityContextImpl:90,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].isAuthenticationRequired()'
      Src: io.undertow.security.impl.SecurityContextImpl:90,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].debugf(String,io.undertow.security.impl.SecurityContextImpl,io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:90,1
    - Dst: exchange.isResponseStarted()
      Src: io.undertow.security.impl.SecurityContextImpl:91,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].authTransition()'
      Src: io.undertow.security.impl.SecurityContextImpl:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: '[io.undertow.security.impl.SecurityContextImpl].authenticate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached:
    - exchange.isResponseStarted()
    - '[io.undertow.security.impl.SecurityContextImpl].isAuthenticationRequired()'
    - '[io.undertow.security.impl.SecurityContextImpl].debugf(String,io.undertow.security.impl.SecurityContextImpl,io.undertow.security.impl.SecurityContextImpl)'
    - exchange.getRequestPath()
    - '[io.undertow.security.impl.SecurityContextImpl].authTransition()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SecurityContextImpl].authenticate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].authTransitionRequired()'
      Src: io.undertow.security.impl.SecurityContextImpl:100,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].attemptAuthentication()'
      Src: io.undertow.security.impl.SecurityContextImpl:103,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].sendChallenges()'
      Src: io.undertow.security.impl.SecurityContextImpl:106,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.security.impl.SecurityContextImpl:109,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].authTransition()'
      Src: io.undertow.security.impl.SecurityContextImpl:111,1
    - Dst: exchange.getRequestPath()
      Src: io.undertow.security.impl.SecurityContextImpl:114,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].debugf(String,AuthenticationState,io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:114,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 126
    functionName: '[io.undertow.security.impl.SecurityContextImpl].authTransition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 2
    functionsReached:
    - '[IllegalStateException].<init>(String)'
    - '[io.undertow.security.impl.SecurityContextImpl].attemptAuthentication()'
    - '[io.undertow.security.impl.SecurityContextImpl].authTransitionRequired()'
    - '[io.undertow.security.impl.SecurityContextImpl].sendChallenges()'
    - '[io.undertow.security.impl.SecurityContextImpl].debugf(String,AuthenticationState,io.undertow.security.impl.SecurityContextImpl)'
    - exchange.getRequestPath()
    - '[io.undertow.security.impl.SecurityContextImpl].authTransition()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SecurityContextImpl].authTransition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>,io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:129,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].transition()'
      Src: io.undertow.security.impl.SecurityContextImpl:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AuthenticationState
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[io.undertow.security.impl.SecurityContextImpl].attemptAuthentication()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>,io.undertow.security.impl.SecurityContextImpl)'
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].transition()'
    linkageType: ''
    returnType: AuthenticationState
    signature: '[io.undertow.security.impl.SecurityContextImpl].attemptAuthentication()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].debugf(String,io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:133,1
    - Dst: '[ChallengeSender].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>,io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:134,1
    - Dst: '[ChallengeSender].transition()'
      Src: io.undertow.security.impl.SecurityContextImpl:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AuthenticationState
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '[io.undertow.security.impl.SecurityContextImpl].sendChallenges()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 1
    functionsReached:
    - '[ChallengeSender].transition()'
    - '[io.undertow.security.impl.SecurityContextImpl].debugf(String,io.undertow.security.impl.SecurityContextImpl)'
    - '[ChallengeSender].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>,io.undertow.security.impl.SecurityContextImpl)'
    linkageType: ''
    returnType: AuthenticationState
    signature: '[io.undertow.security.impl.SecurityContextImpl].sendChallenges()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].isAuthenticationRequired()'
      Src: io.undertow.security.impl.SecurityContextImpl:142,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].isAuthenticationRequired()'
      Src: io.undertow.security.impl.SecurityContextImpl:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: '[io.undertow.security.impl.SecurityContextImpl].authTransitionRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.SecurityContextImpl].isAuthenticationRequired()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SecurityContextImpl].authTransitionRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 1
    argNames:
    - programaticMechName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[io.undertow.security.impl.SecurityContextImpl].setProgramaticMechName(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SecurityContextImpl].setProgramaticMechName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.security.api.AuthenticationMechanism)'
      Src: io.undertow.security.impl.SecurityContextImpl:167,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.security.api.AuthenticationMechanism)'
      Src: io.undertow.security.impl.SecurityContextImpl:173,1
    - Dst: '[io.undertow.security.api.NotificationReceiver].<init>()'
      Src: io.undertow.security.impl.SecurityContextImpl:176,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
      Src: io.undertow.security.impl.SecurityContextImpl:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMechanism
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.security.api.AuthenticationMechanism
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: '[io.undertow.security.impl.SecurityContextImpl].addAuthenticationMechanism(io.undertow.security.api.AuthenticationMechanism)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.security.api.AuthenticationMechanism)'
    - '[io.undertow.security.impl.SecurityContextImpl].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
    - '[io.undertow.security.api.NotificationReceiver].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SecurityContextImpl].addAuthenticationMechanism(io.undertow.security.api.AuthenticationMechanism)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.security.impl.SecurityContextImpl:190,1
    - Dst: '[java.util.LinkedList].add(io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:193,1
    - Dst: '[java.util.Collections].unmodifiableList(java.util.LinkedList)'
      Src: io.undertow.security.impl.SecurityContextImpl:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: '[io.undertow.security.impl.SecurityContextImpl].getAuthenticationMechanisms()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.LinkedList].add(io.undertow.security.impl.SecurityContextImpl)'
    - '[java.util.LinkedList].<init>()'
    - '[java.util.Collections].unmodifiableList(java.util.LinkedList)'
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.security.impl.SecurityContextImpl].getAuthenticationMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: '[io.undertow.security.impl.SecurityContextImpl].getIdentityManager()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.impl.SecurityContextImpl].getIdentityManager()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].debugf(String,String,io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:209,1
    - Dst: System.getSecurityManager()
      Src: io.undertow.security.impl.SecurityContextImpl:212,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.security.impl.SecurityContextImpl:213,1
    - Dst: '[io.undertow.security.idm.PasswordCredential].<init>(io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:213,1
    - Dst: '[io.undertow.security.idm.IdentityManager].verify(String,io.undertow.security.idm.PasswordCredential)'
      Src: io.undertow.security.impl.SecurityContextImpl:213,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<io.undertow.security.idm.Account>)
      Src: io.undertow.security.impl.SecurityContextImpl:215,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].authenticationComplete(io.undertow.security.impl.SecurityContextImpl,String,boolean)'
      Src: io.undertow.security.impl.SecurityContextImpl:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 227
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 227
    functionName: '[io.undertow.security.impl.SecurityContextImpl].login(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SecurityContextImpl].authenticationComplete(io.undertow.security.impl.SecurityContextImpl,String,boolean)'
    - '[io.undertow.security.idm.IdentityManager].verify(String,io.undertow.security.idm.PasswordCredential)'
    - '[io.undertow.security.idm.PasswordCredential].<init>(io.undertow.security.impl.SecurityContextImpl)'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<io.undertow.security.idm.Account>)
    - '[String].toCharArray()'
    - System.getSecurityManager()
    - '[io.undertow.security.impl.SecurityContextImpl].debugf(String,String,io.undertow.security.impl.SecurityContextImpl)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SecurityContextImpl].login(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].getAuthenticatedAccount()'
      Src: io.undertow.security.impl.SecurityContextImpl:231,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].getPrincipal()'
      Src: io.undertow.security.impl.SecurityContextImpl:233,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].getName()'
      Src: io.undertow.security.impl.SecurityContextImpl:233,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].debugf(String,io.undertow.security.impl.SecurityContextImpl,io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:233,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl].debugf(String,io.undertow.security.impl.SecurityContextImpl)'
      Src: io.undertow.security.impl.SecurityContextImpl:235,1
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext].logout()'
      Src: io.undertow.security.impl.SecurityContextImpl:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RuntimePermission
      - AuthenticationState
      - io.undertow.security.api.AuthenticationMode
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.security.idm.IdentityManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismContext
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.security.impl.AbstractSecurityContext
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: '[io.undertow.security.impl.SecurityContextImpl].logout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SecurityContextImpl].getName()'
    - '[io.undertow.security.impl.SecurityContextImpl].debugf(String,io.undertow.security.impl.SecurityContextImpl,io.undertow.security.impl.SecurityContextImpl)'
    - '[io.undertow.security.impl.SecurityContextImpl].debugf(String,io.undertow.security.impl.SecurityContextImpl)'
    - '[io.undertow.security.impl.SecurityContextImpl].getPrincipal()'
    - '[io.undertow.security.impl.SecurityContextImpl].getAuthenticatedAccount()'
    - '[io.undertow.security.impl.AbstractSecurityContext].logout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SecurityContextImpl].logout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - Node<AuthenticationMechanism>
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SecurityContextImpl.AuthAttempter
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - currentMethod
    - exchange
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SecurityContextImpl.AuthAttempter
    signature: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mechanism.authenticate(HttpServerExchange,io.undertow.security.impl.SecurityContextImpl.AuthAttempter)
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:256,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].isDebugEnabled()'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:257,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:258,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].debugf(String,io.undertow.security.impl.SecurityContextImpl.AuthAttempter,io.undertow.security.impl.SecurityContextImpl.AuthAttempter,String)'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:258,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].isTraceEnabled()'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:259,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].tracef(String,HttpServerExchange)'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:260,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].authMechanismOutcomeNull()'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:265,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].setAuthenticationRequired()'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:275,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].transition()'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:279,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.security.impl.SecurityContextImpl.AuthAttempter:281,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node<AuthenticationMechanism>
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AuthenticationState
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 288
    functionName: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].transition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].isDebugEnabled()'
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].tracef(String,HttpServerExchange)'
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].setAuthenticationRequired()'
    - '[IllegalStateException].<init>()'
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].transition()'
    - mechanism.authenticate(HttpServerExchange,io.undertow.security.impl.SecurityContextImpl.AuthAttempter)
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].authMechanismOutcomeNull()'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].isTraceEnabled()'
    - '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].debugf(String,io.undertow.security.impl.SecurityContextImpl.AuthAttempter,io.undertow.security.impl.SecurityContextImpl.AuthAttempter,String)'
    linkageType: ''
    returnType: AuthenticationState
    signature: '[io.undertow.security.impl.SecurityContextImpl.AuthAttempter].transition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - Node<AuthenticationMechanism>
      - HttpServerExchange
      - Integer
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SecurityContextImpl.ChallengeSender
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - currentMethod
    - exchange
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SecurityContextImpl.ChallengeSender
    signature: '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node<io.undertow.security.api.AuthenticationMechanism>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mechanism.sendChallenge(HttpServerExchange,io.undertow.security.impl.SecurityContextImpl.ChallengeSender)
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:312,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].sendChallengeReturnedNull(io.undertow.security.impl.SecurityContextImpl.ChallengeSender)'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:314,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].isChallengeSent()'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:316,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].getDesiredResponseCode()'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:318,1
    - Dst: '[Integer].equals(int)'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:319,1
    - Dst: '[Integer].equals(int)'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:321,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:322,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(Integer)'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:323,1
    - Dst: '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].transition()'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:330,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:333,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:338,1
    - Dst: '[Integer].equals(int)'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:340,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(Integer)'
      Src: io.undertow.security.impl.SecurityContextImpl.ChallengeSender:341,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node<AuthenticationMechanism>
      - HttpServerExchange
      - Integer
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AuthenticationState
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 347
    functionName: '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].transition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 1
    functionsReached:
    - '[Integer].equals(int)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(Integer)'
    - '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].isChallengeSent()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].transition()'
    - '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].sendChallengeReturnedNull(io.undertow.security.impl.SecurityContextImpl.ChallengeSender)'
    - '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].getDesiredResponseCode()'
    - mechanism.sendChallenge(HttpServerExchange,io.undertow.security.impl.SecurityContextImpl.ChallengeSender)
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    linkageType: ''
    returnType: AuthenticationState
    signature: '[io.undertow.security.impl.SecurityContextImpl.ChallengeSender].transition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Node<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SecurityContextImpl.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - item
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: '[io.undertow.security.impl.SecurityContextImpl.Node].<init>(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SecurityContextImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SecurityContextImpl.Node
    signature: '[io.undertow.security.impl.SecurityContextImpl.Node].<init>(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.security.impl.SimpleNonceManager:74,1
    - Dst: '[java.util.Collections].synchronizedSet(java.util.HashSet)'
      Src: io.undertow.security.impl.SimpleNonceManager:74,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.security.impl.SimpleNonceManager:80,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.HashMap)'
      Src: io.undertow.security.impl.SimpleNonceManager:80,1
    - Dst: '[java.util.WeakHashMap].<init>()'
      Src: io.undertow.security.impl.SimpleNonceManager:93,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.WeakHashMap)'
      Src: io.undertow.security.impl.SimpleNonceManager:93,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: io.undertow.security.impl.SimpleNonceManager:113,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].<init>(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[io.undertow.security.impl.SimpleNonceManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 3
    functionsReached:
    - '[java.util.Collections].synchronizedSet(java.util.HashSet)'
    - '[java.util.HashMap].<init>()'
    - '[java.util.WeakHashMap].<init>()'
    - '[java.security.SecureRandom].<init>()'
    - '[java.util.Collections].synchronizedMap(java.util.HashMap)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.Collections].synchronizedMap(java.util.WeakHashMap)'
    - '[io.undertow.security.impl.SimpleNonceManager].<init>(String)'
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager
    signature: '[io.undertow.security.impl.SimpleNonceManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.security.impl.SimpleNonceManager:74,1
    - Dst: '[java.util.Collections].synchronizedSet(java.util.HashSet)'
      Src: io.undertow.security.impl.SimpleNonceManager:74,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.security.impl.SimpleNonceManager:80,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.HashMap)'
      Src: io.undertow.security.impl.SimpleNonceManager:80,1
    - Dst: '[java.util.WeakHashMap].<init>()'
      Src: io.undertow.security.impl.SimpleNonceManager:93,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.WeakHashMap)'
      Src: io.undertow.security.impl.SimpleNonceManager:93,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: io.undertow.security.impl.SimpleNonceManager:113,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].getDigest(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:131,1
    - Dst: '[java.security.MessageDigest].getDigestLength()'
      Src: io.undertow.security.impl.SimpleNonceManager:134,1
    - Dst: '[java.util.Random].nextBytes(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:138,1
    - Dst: '[java.security.MessageDigest].digest(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:139,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.security.impl.SimpleNonceManager,boolean)'
      Src: io.undertow.security.impl.SimpleNonceManager:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hashAlg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: '[io.undertow.security.impl.SimpleNonceManager].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].synchronizedSet(java.util.HashSet)'
    - '[java.util.HashMap].<init>()'
    - '[java.util.WeakHashMap].<init>()'
    - '[java.security.MessageDigest].getDigestLength()'
    - '[java.security.SecureRandom].<init>()'
    - '[java.util.Collections].synchronizedMap(java.util.HashMap)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.Collections].synchronizedMap(java.util.WeakHashMap)'
    - '[io.undertow.security.impl.SimpleNonceManager].getDigest(String)'
    - '[java.util.Random].nextBytes(io.undertow.security.impl.SimpleNonceManager)'
    - '[java.security.MessageDigest].digest(io.undertow.security.impl.SimpleNonceManager)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.security.impl.SimpleNonceManager,boolean)'
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager
    signature: '[io.undertow.security.impl.SimpleNonceManager].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:144,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].hashAlgorithmNotFound(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.MessageDigest
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hashAlg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: '[io.undertow.security.impl.SimpleNonceManager].getDigest(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 2
    functionsReached:
    - '[java.security.MessageDigest].getInstance(String)'
    - '[io.undertow.UndertowMessages.MESSAGES].hashAlgorithmNotFound(String)'
    linkageType: ''
    returnType: java.security.MessageDigest
    signature: '[io.undertow.security.impl.SimpleNonceManager].getDigest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].createNewNonceString()'
      Src: io.undertow.security.impl.SimpleNonceManager:156,1
    - Dst: '[java.util.Set<String>].contains(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:159,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].createNewNonceString()'
      Src: io.undertow.security.impl.SimpleNonceManager:161,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].<init>(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:167,1
    - Dst: '[java.util.Map<NonceHolder,String>].containsKey(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
      Src: io.undertow.security.impl.SimpleNonceManager:168,1
    - Dst: '[java.util.Map<NonceHolder,String>].get(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
      Src: io.undertow.security.impl.SimpleNonceManager:169,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].<init>(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:171,1
    - Dst: '[java.util.Map<String,Nonce>].get(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:175,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].createNewNonceString()'
      Src: io.undertow.security.impl.SimpleNonceManager:179,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.security.impl.SimpleNonceManager:181,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].createNewNonce(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
      Src: io.undertow.security.impl.SimpleNonceManager:186,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].remove()'
      Src: io.undertow.security.impl.SimpleNonceManager:189,1
    - Dst: '[java.util.Map<NonceHolder,String>].put(io.undertow.security.impl.SimpleNonceManager.NonceHolder,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:195,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].getSessionKey()'
      Src: io.undertow.security.impl.SimpleNonceManager:197,1
    - Dst: '[Nonce].setSessionKey(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:197,1
    - Dst: '[java.util.Map<String,Nonce>].remove(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:200,1
    - Dst: '[java.util.Map<String,Nonce>].put(io.undertow.security.impl.SimpleNonceManager,Nonce)'
      Src: io.undertow.security.impl.SimpleNonceManager:204,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,KnownNonceCleaner,io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - lastNonce
    - exchange
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 216
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 216
    functionName: '[io.undertow.security.impl.SimpleNonceManager].nextNonce(String,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Nonce>].remove(io.undertow.security.impl.SimpleNonceManager)'
    - '[Nonce].setSessionKey(io.undertow.security.impl.SimpleNonceManager)'
    - '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].<init>(String)'
    - '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,KnownNonceCleaner,io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
    - '[java.util.Map<NonceHolder,String>].put(io.undertow.security.impl.SimpleNonceManager.NonceHolder,io.undertow.security.impl.SimpleNonceManager)'
    - '[io.undertow.security.impl.SimpleNonceManager].getSessionKey()'
    - '[io.undertow.security.impl.SimpleNonceManager].createNewNonce(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
    - '[java.util.Map<String,Nonce>].put(io.undertow.security.impl.SimpleNonceManager,Nonce)'
    - '[java.util.Set<String>].contains(String)'
    - '[io.undertow.security.impl.SimpleNonceManager].createNewNonceString()'
    - System.currentTimeMillis()
    - '[java.util.Map<NonceHolder,String>].containsKey(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
    - '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].<init>(io.undertow.security.impl.SimpleNonceManager)'
    - '[java.util.Map<String,Nonce>].get(io.undertow.security.impl.SimpleNonceManager)'
    - '[io.undertow.security.impl.SimpleNonceManager].remove()'
    - '[java.util.Map<NonceHolder,String>].get(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.SimpleNonceManager].nextNonce(String,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].createNewNonce(null)'
      Src: io.undertow.security.impl.SimpleNonceManager:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '[io.undertow.security.impl.SimpleNonceManager].createNewNonceString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager].createNewNonce(null)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.SimpleNonceManager].createNewNonceString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ThreadLocalRandom].current()'
      Src: io.undertow.security.impl.SimpleNonceManager:226,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].nextBytes(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:226,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.security.impl.SimpleNonceManager:227,1
    - Dst: Long.toString(io.undertow.security.impl.SimpleNonceManager)
      Src: io.undertow.security.impl.SimpleNonceManager:228,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].getBytes(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:228,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].createNonce(io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:230,1
    - Dst: '[Nonce].<init>(String,io.undertow.security.impl.SimpleNonceManager,NonceHolder)'
      Src: io.undertow.security.impl.SimpleNonceManager:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - NonceHolder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Nonce
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - previousNonce
    argTypes:
    - NonceHolder
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: '[io.undertow.security.impl.SimpleNonceManager].createNewNonce(NonceHolder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager].createNonce(io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
    - '[Nonce].<init>(String,io.undertow.security.impl.SimpleNonceManager,NonceHolder)'
    - '[io.undertow.security.impl.SimpleNonceManager].nextBytes(io.undertow.security.impl.SimpleNonceManager)'
    - '[java.util.concurrent.ThreadLocalRandom].current()'
    - System.currentTimeMillis()
    - '[io.undertow.security.impl.SimpleNonceManager].getBytes(io.undertow.security.impl.SimpleNonceManager)'
    - Long.toString(io.undertow.security.impl.SimpleNonceManager)
    linkageType: ''
    returnType: Nonce
    signature: '[io.undertow.security.impl.SimpleNonceManager].createNewNonce(NonceHolder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<String>].contains(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:242,1
    - Dst: '[java.util.Map<String,Nonce>].containsKey(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:247,1
    - Dst: '[Nonce].<init>(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:251,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.security.impl.SimpleNonceManager:251,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].validateNonceWithCount(Nonce,int,org.xnio.XnioIoThread)'
      Src: io.undertow.security.impl.SimpleNonceManager:251,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].<init>(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:253,1
    - Dst: '[java.util.Map<NonceHolder,String>].containsKey(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
      Src: io.undertow.security.impl.SimpleNonceManager:253,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].verifyUnknownNonce(String,int)'
      Src: io.undertow.security.impl.SimpleNonceManager:260,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.security.impl.SimpleNonceManager:265,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.security.impl.SimpleNonceManager:275,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].addInvalidNonce(Nonce,org.xnio.XnioIoThread)'
      Src: io.undertow.security.impl.SimpleNonceManager:275,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.security.impl.SimpleNonceManager:277,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].validateNonceWithCount(Nonce,int,org.xnio.XnioIoThread)'
      Src: io.undertow.security.impl.SimpleNonceManager:277,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - nonce
    - nonceCount
    - exchange
    argTypes:
    - String
    - int
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 279
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 279
    functionName: '[io.undertow.security.impl.SimpleNonceManager].validateNonce(String,int,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].<init>(String)'
    - '[io.undertow.security.impl.SimpleNonceManager].validateNonceWithCount(Nonce,int,org.xnio.XnioIoThread)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[io.undertow.security.impl.SimpleNonceManager].verifyUnknownNonce(String,int)'
    - '[java.util.Map<String,Nonce>].containsKey(String)'
    - '[java.util.Set<String>].contains(String)'
    - '[io.undertow.security.impl.SimpleNonceManager].addInvalidNonce(Nonce,org.xnio.XnioIoThread)'
    - System.currentTimeMillis()
    - '[java.util.Map<NonceHolder,String>].containsKey(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
    - '[Nonce].<init>(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SimpleNonceManager].validateNonce(String,int,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Nonce>].get(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:286,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.security.impl.SimpleNonceManager:287,1
    - Dst: '[java.util.Map<String,Nonce>].put(io.undertow.security.impl.SimpleNonceManager,Nonce)'
      Src: io.undertow.security.impl.SimpleNonceManager:298,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,KnownNonceCleaner,io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:300,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].getMaxNonceCount()'
      Src: io.undertow.security.impl.SimpleNonceManager:313,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].setMaxNonceCount(int)'
      Src: io.undertow.security.impl.SimpleNonceManager:314,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - Nonce
      - int
      - org.xnio.XnioIoThread
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - nonce
    - nonceCount
    - executor
    argTypes:
    - Nonce
    - int
    - org.xnio.XnioIoThread
    constantsTouched: []
    func_position:
      end: 323
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 323
    functionName: '[io.undertow.security.impl.SimpleNonceManager].validateNonceWithCount(Nonce,int,org.xnio.XnioIoThread)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,KnownNonceCleaner,io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
    - '[java.util.Map<String,Nonce>].put(io.undertow.security.impl.SimpleNonceManager,Nonce)'
    - '[io.undertow.security.impl.SimpleNonceManager].setMaxNonceCount(int)'
    - '[io.undertow.security.impl.SimpleNonceManager].getMaxNonceCount()'
    - System.currentTimeMillis()
    - '[java.util.Map<String,Nonce>].get(io.undertow.security.impl.SimpleNonceManager)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SimpleNonceManager].validateNonceWithCount(Nonce,int,org.xnio.XnioIoThread)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.security.impl.SimpleNonceManager:326,1
    - Dst: '[java.util.Set<String>].add(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:331,1
    - Dst: '[org.xnio.XnioExecutor].executeAfter(InvalidNonceCleaner,io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Nonce
      - org.xnio.XnioExecutor
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - nonce
    - executor
    argTypes:
    - Nonce
    - org.xnio.XnioExecutor
    constantsTouched: []
    func_position:
      end: 342
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 342
    functionName: '[io.undertow.security.impl.SimpleNonceManager].addInvalidNonce(Nonce,org.xnio.XnioExecutor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<String>].add(io.undertow.security.impl.SimpleNonceManager)'
    - '[org.xnio.XnioExecutor].executeAfter(InvalidNonceCleaner,io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SimpleNonceManager].addInvalidNonce(Nonce,org.xnio.XnioExecutor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64].decode(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:364,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.security.impl.SimpleNonceManager:365,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.security.impl.SimpleNonceManager:366,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.security.impl.SimpleNonceManager:367,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].invalidBase64Token(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:369,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].invalidNonceReceived()'
      Src: io.undertow.security.impl.SimpleNonceManager:377,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].invalidNonceReceived()'
      Src: io.undertow.security.impl.SimpleNonceManager:379,1
    - Dst: System.arraycopy(io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager,int,int)
      Src: io.undertow.security.impl.SimpleNonceManager:383,1
    - Dst: System.arraycopy(io.undertow.security.impl.SimpleNonceManager,int,io.undertow.security.impl.SimpleNonceManager,int,io.undertow.security.impl.SimpleNonceManager)
      Src: io.undertow.security.impl.SimpleNonceManager:385,1
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].createNonce(io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:387,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:389,1
    - Dst: '[String].<init>(io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:391,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.security.impl.SimpleNonceManager:391,1
    - Dst: '[Nonce].<init>(String,io.undertow.security.impl.SimpleNonceManager,int)'
      Src: io.undertow.security.impl.SimpleNonceManager:393,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Nonce
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - nonce
    - nonceCount
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 399
    functionName: '[io.undertow.security.impl.SimpleNonceManager].verifyUnknownNonce(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(io.undertow.security.impl.SimpleNonceManager,int,io.undertow.security.impl.SimpleNonceManager,int,io.undertow.security.impl.SimpleNonceManager)
    - '[io.undertow.security.impl.SimpleNonceManager].createNonce(io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
    - System.arraycopy(io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager,int,int)
    - '[String].equals(String)'
    - '[Nonce].<init>(String,io.undertow.security.impl.SimpleNonceManager,int)'
    - Long.parseLong(String)
    - '[java.nio.ByteBuffer].array()'
    - '[String].<init>(io.undertow.security.impl.SimpleNonceManager,io.undertow.security.impl.SimpleNonceManager)'
    - '[java.nio.ByteBuffer].arrayOffset()'
    - '[io.undertow.UndertowMessages.MESSAGES].invalidBase64Token(io.undertow.security.impl.SimpleNonceManager)'
    - '[io.undertow.util.FlexBase64].decode(String)'
    - '[io.undertow.UndertowMessages.MESSAGES].invalidNonceReceived()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: Nonce
    signature: '[io.undertow.security.impl.SimpleNonceManager].verifyUnknownNonce(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].generateHash(byte[],byte[])'
      Src: io.undertow.security.impl.SimpleNonceManager:402,1
    - Dst: System.arraycopy(byte[],int,io.undertow.security.impl.SimpleNonceManager,int,int)
      Src: io.undertow.security.impl.SimpleNonceManager:404,1
    - Dst: System.arraycopy(byte[],int,io.undertow.security.impl.SimpleNonceManager,int,io.undertow.security.impl.SimpleNonceManager)
      Src: io.undertow.security.impl.SimpleNonceManager:406,1
    - Dst: System.arraycopy(byte[],int,io.undertow.security.impl.SimpleNonceManager,int,io.undertow.security.impl.SimpleNonceManager)
      Src: io.undertow.security.impl.SimpleNonceManager:407,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.security.impl.SimpleNonceManager,boolean)'
      Src: io.undertow.security.impl.SimpleNonceManager:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - prefix
    - timeStamp
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: '[io.undertow.security.impl.SimpleNonceManager].createNonce(byte[],byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager].generateHash(byte[],byte[])'
    - System.arraycopy(byte[],int,io.undertow.security.impl.SimpleNonceManager,int,int)
    - System.arraycopy(byte[],int,io.undertow.security.impl.SimpleNonceManager,int,io.undertow.security.impl.SimpleNonceManager)
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.security.impl.SimpleNonceManager,boolean)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.impl.SimpleNonceManager].createNonce(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager].getDigest(String)'
      Src: io.undertow.security.impl.SimpleNonceManager:413,1
    - Dst: '[java.security.MessageDigest].update(byte[])'
      Src: io.undertow.security.impl.SimpleNonceManager:415,1
    - Dst: '[java.security.MessageDigest].update(byte[])'
      Src: io.undertow.security.impl.SimpleNonceManager:416,1
    - Dst: '[String].getBytes(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:418,1
    - Dst: '[java.security.MessageDigest].digest(io.undertow.security.impl.SimpleNonceManager)'
      Src: io.undertow.security.impl.SimpleNonceManager:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - prefix
    - timeStamp
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: '[io.undertow.security.impl.SimpleNonceManager].generateHash(byte[],byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 1
    functionsReached:
    - '[java.security.MessageDigest].update(byte[])'
    - '[String].getBytes(io.undertow.security.impl.SimpleNonceManager)'
    - '[io.undertow.security.impl.SimpleNonceManager].getDigest(String)'
    - '[java.security.MessageDigest].digest(io.undertow.security.impl.SimpleNonceManager)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.SimpleNonceManager].generateHash(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - nonce
    - hash
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: '[io.undertow.security.impl.SimpleNonceManager].associateHash(String,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SimpleNonceManager].associateHash(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.Set<String>
      - java.util.Map<String,Nonce>
      - java.util.Map<NonceHolder,String>
      - String
      - String
      - int
      - long
      - long
      - java.util.Random
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.SessionNonceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: '[io.undertow.security.impl.SimpleNonceManager].lookupHash(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.SimpleNonceManager].lookupHash(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].checkNotNullParamWithNullPointerException(String,String)'
      Src: io.undertow.security.impl.SimpleNonceManager.NonceHolder:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager.NonceHolder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].checkNotNullParamWithNullPointerException(String,String)'
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager.NonceHolder
    signature: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].hashCode()'
      Src: io.undertow.security.impl.SimpleNonceManager.NonceHolder:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[String].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
      Src: io.undertow.security.impl.SimpleNonceManager.NonceHolder:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.security.impl.SimpleNonceManager.NonceHolder)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.impl.SimpleNonceManager.NonceHolder].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String)'
      Src: io.undertow.security.impl.SimpleNonceManager.Nonce:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - int
      - NonceHolder
      - byte[]
      - Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager.Nonce
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String)'
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager.Nonce
    signature: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,int,null)'
      Src: io.undertow.security.impl.SimpleNonceManager.Nonce:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - int
      - NonceHolder
      - byte[]
      - Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager.Nonce
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - nonce
    - timeStamp
    - initialNC
    argTypes:
    - String
    - long
    - int
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,int,null)'
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager.Nonce
    signature: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,NonceHolder)'
      Src: io.undertow.security.impl.SimpleNonceManager.Nonce:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      - NonceHolder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - int
      - NonceHolder
      - byte[]
      - Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager.Nonce
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - nonce
    - timeStamp
    - previousNonce
    argTypes:
    - String
    - long
    - NonceHolder
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,NonceHolder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,NonceHolder)'
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager.Nonce
    signature: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,NonceHolder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      - int
      - NonceHolder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - int
      - NonceHolder
      - byte[]
      - Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager.Nonce
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - nonce
    - timeStamp
    - initialNC
    - previousNonce
    argTypes:
    - String
    - long
    - int
    - NonceHolder
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,int,NonceHolder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager.Nonce
    signature: '[io.undertow.security.impl.SimpleNonceManager.Nonce].<init>(String,long,int,NonceHolder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - int
      - NonceHolder
      - byte[]
      - Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: '[io.undertow.security.impl.SimpleNonceManager.Nonce].getSessionKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.impl.SimpleNonceManager.Nonce].getSessionKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - int
      - NonceHolder
      - byte[]
      - Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionKey
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 496
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 496
    functionName: '[io.undertow.security.impl.SimpleNonceManager.Nonce].setSessionKey(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SimpleNonceManager.Nonce].setSessionKey(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - int
      - NonceHolder
      - byte[]
      - Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: '[io.undertow.security.impl.SimpleNonceManager.Nonce].getMaxNonceCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.security.impl.SimpleNonceManager.Nonce].getMaxNonceCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - int
      - NonceHolder
      - byte[]
      - Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxNonceCount
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: '[io.undertow.security.impl.SimpleNonceManager.Nonce].setMaxNonceCount(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SimpleNonceManager.Nonce].setMaxNonceCount(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner].checkNotNullParamWithNullPointerException(String,String)'
      Src: io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: '[io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner].checkNotNullParamWithNullPointerException(String,String)'
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner
    signature: '[io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: invalidNonces.remove(String)
      Src: io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '[io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - invalidNonces.remove(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SimpleNonceManager.InvalidNonceCleaner].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner].checkNotNullParamWithNullPointerException(String,String)'
      Src: io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionName: '[io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner].checkNotNullParamWithNullPointerException(String,String)'
    linkageType: ''
    returnType: io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner
    signature: '[io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: knownNonces.remove(String)
      Src: io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: '[io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/impl/SimpleNonceManager.java
    functionUses: 0
    functionsReached:
    - knownNonces.remove(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.impl.SimpleNonceManager.KnownNonceCleaner].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.security.handlers.SecurityInitialHandler:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - String
      - io.undertow.security.api.SecurityContextFactory
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - String
      - io.undertow.security.api.SecurityContextFactory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.SecurityInitialHandler
      static: false
      superClass: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler
    argCount: 5
    argNames:
    - authenticationMode
    - identityManager
    - programaticMechName
    - contextFactory
    - next
    argTypes:
    - io.undertow.security.api.AuthenticationMode
    - io.undertow.security.idm.IdentityManager
    - String
    - io.undertow.security.api.SecurityContextFactory
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String,io.undertow.security.api.SecurityContextFactory,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SecurityInitialHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.security.handlers.SecurityInitialHandler
    signature: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String,io.undertow.security.api.SecurityContextFactory,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String,io.undertow.security.api.SecurityContextFactory,io.undertow.server.HttpHandler)'
      Src: io.undertow.security.handlers.SecurityInitialHandler:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - String
      - io.undertow.security.api.SecurityContextFactory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.SecurityInitialHandler
      static: false
      superClass: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler
    argCount: 4
    argNames:
    - authenticationMode
    - identityManager
    - programaticMechName
    - next
    argTypes:
    - io.undertow.security.api.AuthenticationMode
    - io.undertow.security.idm.IdentityManager
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SecurityInitialHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String,io.undertow.security.api.SecurityContextFactory,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.security.handlers.SecurityInitialHandler
    signature: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,null,io.undertow.security.api.SecurityContextFactory,io.undertow.server.HttpHandler)'
      Src: io.undertow.security.handlers.SecurityInitialHandler:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - String
      - io.undertow.security.api.SecurityContextFactory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.SecurityInitialHandler
      static: false
      superClass: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler
    argCount: 3
    argNames:
    - authenticationMode
    - identityManager
    - next
    argTypes:
    - io.undertow.security.api.AuthenticationMode
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SecurityInitialHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,null,io.undertow.security.api.SecurityContextFactory,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.security.handlers.SecurityInitialHandler
    signature: '[io.undertow.security.handlers.SecurityInitialHandler].<init>(io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityContextFactory].createSecurityContext(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String)'
      Src: io.undertow.security.handlers.SecurityInitialHandler:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - String
      - io.undertow.security.api.SecurityContextFactory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.SecurityContext
      static: false
      superClass: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.security.handlers.SecurityInitialHandler].createSecurityContext(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SecurityInitialHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.api.SecurityContextFactory].createSecurityContext(io.undertow.server.HttpServerExchange,io.undertow.security.api.AuthenticationMode,io.undertow.security.idm.IdentityManager,String)'
    linkageType: ''
    returnType: io.undertow.security.api.SecurityContext
    signature: '[io.undertow.security.handlers.SecurityInitialHandler].createSecurityContext(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.security.api.AuthenticationMechanism>].toArray()'
      Src: io.undertow.security.handlers.AuthenticationMechanismsHandler:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.util.List<io.undertow.security.api.AuthenticationMechanism>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - AuthenticationMechanism[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.AuthenticationMechanismsHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - authenticationMechanisms
    argTypes:
    - io.undertow.server.HttpHandler
    - java.util.List<io.undertow.security.api.AuthenticationMechanism>
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(io.undertow.server.HttpHandler,java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationMechanismsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.security.api.AuthenticationMechanism>].toArray()'
    linkageType: ''
    returnType: io.undertow.security.handlers.AuthenticationMechanismsHandler
    signature: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(io.undertow.server.HttpHandler,java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.security.api.AuthenticationMechanism>].toArray()'
      Src: io.undertow.security.handlers.AuthenticationMechanismsHandler:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.security.api.AuthenticationMechanism>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - AuthenticationMechanism[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.AuthenticationMechanismsHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - authenticationHandlers
    argTypes:
    - java.util.List<io.undertow.security.api.AuthenticationMechanism>
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationMechanismsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.security.api.AuthenticationMechanism>].toArray()'
    linkageType: ''
    returnType: io.undertow.security.handlers.AuthenticationMechanismsHandler
    signature: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].<init>(java.util.List<io.undertow.security.api.AuthenticationMechanism>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.security.handlers.AuthenticationMechanismsHandler:53,1
    - Dst: amc.addAuthenticationMechanism()
      Src: io.undertow.security.handlers.AuthenticationMechanismsHandler:57,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AuthenticationMechanismsHandler:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - AuthenticationMechanism[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationMechanismsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - amc.addAuthenticationMechanism()
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - AuthenticationMechanism[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationMechanismsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.security.handlers.AuthenticationMechanismsHandler:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - AuthenticationMechanism[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.AuthenticationMechanismsHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationMechanismsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.security.handlers.AuthenticationMechanismsHandler
    signature: '[io.undertow.security.handlers.AuthenticationMechanismsHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.handlers.AbstractConfidentialityHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.SinglePortConfidentialityHandler
      static: false
      superClass: io.undertow.security.handlers.AbstractConfidentialityHandler
    argCount: 2
    argNames:
    - next
    - redirectPort
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].<init>(io.undertow.server.HttpHandler,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SinglePortConfidentialityHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.handlers.AbstractConfidentialityHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.security.handlers.SinglePortConfidentialityHandler
    signature: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].<init>(io.undertow.server.HttpHandler,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange,int)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.URI
      static: false
      superClass: io.undertow.security.handlers.AbstractConfidentialityHandler
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SinglePortConfidentialityHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.handlers.SinglePortConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange,int)'
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:48,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:49,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostName()'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:50,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:50,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:50,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:52,1
    - Dst: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].append(int)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:52,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:54,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:55,1
    - Dst: '[String].length()'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:57,1
    - Dst: '[String].charAt(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:58,1
    - Dst: '[String].substring(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:61,1
    - Dst: '[StringBuilder].append(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:67,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:68,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:69,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:70,1
    - Dst: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].append(String)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:70,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:72,1
    - Dst: '[java.net.URI].<init>(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
      Src: io.undertow.security.handlers.SinglePortConfidentialityHandler:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.URI
      static: false
      superClass: io.undertow.security.handlers.AbstractConfidentialityHandler
    argCount: 2
    argNames:
    - exchange
    - port
    argTypes:
    - io.undertow.server.HttpServerExchange
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 47
    functionDepth: 6
    functionLinenumber: 47
    functionLinenumberEnd: 73
    functionName: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SinglePortConfidentialityHandler.java
    functionUses: 2
    functionsReached:
    - '[StringBuilder].append(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
    - '[String].charAt(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
    - '[io.undertow.security.handlers.SinglePortConfidentialityHandler].append(int)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.HttpServerExchange].getHostName()'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[String].length()'
    - '[String].substring(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
    - '[java.net.URI].<init>(io.undertow.security.handlers.SinglePortConfidentialityHandler)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[String].isEmpty()'
    - '[io.undertow.security.handlers.SinglePortConfidentialityHandler].append(String)'
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.security.handlers.SinglePortConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CachedAuthenticatedSessionHandler.class.getName()
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:43,1
    - Dst: CachedAuthenticatedSessionHandler.class.getName()
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:45,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].<init>()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:47,1
    - Dst: '[ServletAuthenticatedSessionManager].<init>()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.security.api.NotificationReceiver
      - io.undertow.security.api.AuthenticatedSessionManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.CachedAuthenticatedSessionHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/CachedAuthenticatedSessionHandler.java
    functionUses: 0
    functionsReached:
    - CachedAuthenticatedSessionHandler.class.getName()
    - '[ServletAuthenticatedSessionManager].<init>()'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].<init>()'
    linkageType: ''
    returnType: io.undertow.security.handlers.CachedAuthenticatedSessionHandler
    signature: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:59,1
    - Dst: '[io.undertow.security.api.SecurityContext].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:60,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:61,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:62,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:64,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].getSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:67,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler,io.undertow.security.api.AuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:71,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.security.api.NotificationReceiver
      - io.undertow.security.api.AuthenticatedSessionManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/CachedAuthenticatedSessionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler,io.undertow.security.api.AuthenticatedSessionManager)'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].getSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler)'
    - '[io.undertow.security.api.SecurityContext].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityNotification].isProgramatic()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:147,1
    - Dst: '[io.undertow.security.api.SecurityNotification].isCachingRequired()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityNotification
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.security.api.NotificationReceiver
      - io.undertow.security.api.AuthenticatedSessionManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - notification
    argTypes:
    - io.undertow.security.api.SecurityNotification
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].isCacheable(io.undertow.security.api.SecurityNotification)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/CachedAuthenticatedSessionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.api.SecurityNotification].isProgramatic()'
    - '[io.undertow.security.api.SecurityNotification].isCachingRequired()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler].isCacheable(io.undertow.security.api.SecurityNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.SecurityNotification].getEventType()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:81,1
    - Dst: '[io.undertow.security.api.SecurityNotification].getExchange()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:82,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:84,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].getSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:88,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].isCacheable(io.undertow.security.api.SecurityNotification)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:91,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].createSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:93,1
    - Dst: '[io.undertow.security.api.SecurityNotification].getAccount()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:100,1
    - Dst: '[io.undertow.security.api.SecurityNotification].getMechanism()'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:100,1
    - Dst: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].<init>(io.undertow.security.idm.Account,String)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:100,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].setAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver,io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:99,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].removeAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:105,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].removeAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver:106,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityNotification
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - NotificationReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - notification
    argTypes:
    - io.undertow.security.api.SecurityNotification
    constantsTouched: []
    func_position:
      end: 110
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 110
    functionName: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].handleNotification(io.undertow.security.api.SecurityNotification)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/CachedAuthenticatedSessionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.api.SecurityNotification].getAccount()'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].removeAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].createSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
    - '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].<init>(io.undertow.security.idm.Account,String)'
    - '[io.undertow.security.api.SecurityNotification].getMechanism()'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].getSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver)'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].setAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver,io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession)'
    - '[io.undertow.security.api.SecurityNotification].getExchange()'
    - '[io.undertow.security.api.SecurityNotification].getEventType()'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].isCacheable(io.undertow.security.api.SecurityNotification)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].handleNotification(io.undertow.security.api.SecurityNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - NotificationReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/CachedAuthenticatedSessionHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver
    signature: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.SecurityNotificationReceiver].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager:119,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager:120,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].getSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager:124,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].getAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticatedSessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].lookupSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/CachedAuthenticatedSessionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].getSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].getAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession
    signature: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].lookupSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager:133,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager:134,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].getSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager:138,1
    - Dst: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].removeAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
      Src: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticatedSessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].clearSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/CachedAuthenticatedSessionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].removeAttribute(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
    - '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].getSession(io.undertow.server.HttpServerExchange,io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].clearSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticatedSessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/CachedAuthenticatedSessionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager
    signature: '[io.undertow.security.handlers.CachedAuthenticatedSessionHandler.ServletAuthenticatedSessionManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.AuthenticationCallHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.security.handlers.AuthenticationCallHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationCallHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.handlers.AuthenticationCallHandler
    signature: '[io.undertow.security.handlers.AuthenticationCallHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.security.handlers.AuthenticationCallHandler:45,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch()'
      Src: io.undertow.security.handlers.AuthenticationCallHandler:46,1
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.security.handlers.AuthenticationCallHandler:49,1
    - Dst: '[io.undertow.security.api.SecurityContext].authenticate()'
      Src: io.undertow.security.handlers.AuthenticationCallHandler:50,1
    - Dst: '[io.undertow.server.HttpServerExchange].isComplete()'
      Src: io.undertow.security.handlers.AuthenticationCallHandler:51,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AuthenticationCallHandler:52,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.security.handlers.AuthenticationCallHandler:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: '[io.undertow.security.handlers.AuthenticationCallHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationCallHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - '[io.undertow.security.api.SecurityContext].authenticate()'
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.server.HttpServerExchange].isComplete()'
    - '[io.undertow.server.HttpServerExchange].dispatch()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.AuthenticationCallHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collection<io.undertow.security.api.NotificationReceiver>].toArray()'
      Src: io.undertow.security.handlers.NotificationReceiverHandler:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.util.Collection<io.undertow.security.api.NotificationReceiver>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - NotificationReceiver[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.NotificationReceiverHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - receivers
    argTypes:
    - io.undertow.server.HttpHandler
    - java.util.Collection<io.undertow.security.api.NotificationReceiver>
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.security.handlers.NotificationReceiverHandler].<init>(io.undertow.server.HttpHandler,java.util.Collection<io.undertow.security.api.NotificationReceiver>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/NotificationReceiverHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collection<io.undertow.security.api.NotificationReceiver>].toArray()'
    linkageType: ''
    returnType: io.undertow.security.handlers.NotificationReceiverHandler
    signature: '[io.undertow.security.handlers.NotificationReceiverHandler].<init>(io.undertow.server.HttpHandler,java.util.Collection<io.undertow.security.api.NotificationReceiver>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.security.handlers.NotificationReceiverHandler:45,1
    - Dst: '[io.undertow.security.api.SecurityContext].registerNotificationReceiver()'
      Src: io.undertow.security.handlers.NotificationReceiverHandler:47,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.NotificationReceiverHandler:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - NotificationReceiver[]
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: '[io.undertow.security.handlers.NotificationReceiverHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/NotificationReceiverHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.security.api.SecurityContext].registerNotificationReceiver()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.NotificationReceiverHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.AuthenticationConstraintHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.security.handlers.AuthenticationConstraintHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationConstraintHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.handlers.AuthenticationConstraintHandler
    signature: '[io.undertow.security.handlers.AuthenticationConstraintHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.handlers.AuthenticationConstraintHandler].isAuthenticationRequired(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AuthenticationConstraintHandler:47,1
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.security.handlers.AuthenticationConstraintHandler:48,1
    - Dst: '[io.undertow.security.handlers.AuthenticationConstraintHandler].debugf(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AuthenticationConstraintHandler:49,1
    - Dst: '[io.undertow.security.api.SecurityContext].setAuthenticationRequired()'
      Src: io.undertow.security.handlers.AuthenticationConstraintHandler:50,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AuthenticationConstraintHandler:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: '[io.undertow.security.handlers.AuthenticationConstraintHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationConstraintHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.handlers.AuthenticationConstraintHandler].isAuthenticationRequired(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.handlers.AuthenticationConstraintHandler].debugf(String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.api.SecurityContext].setAuthenticationRequired()'
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.AuthenticationConstraintHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.security.handlers.AuthenticationConstraintHandler].isAuthenticationRequired(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AuthenticationConstraintHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.handlers.AuthenticationConstraintHandler].isAuthenticationRequired(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.security.handlers.SecurityActions:28,1
    - Dst: '[io.undertow.server.HttpServerExchange].setSecurityContext(io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.handlers.SecurityActions:29,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
      Src: io.undertow.security.handlers.SecurityActions:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: '[io.undertow.security.handlers.SecurityActions].setSecurityContext(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SecurityActions.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.server.HttpServerExchange].setSecurityContext(io.undertow.security.api.SecurityContext)'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.SecurityActions].setSecurityContext(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.handlers.SecurityActions
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.handlers.SecurityActions].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/SecurityActions.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.handlers.SecurityActions
    signature: '[io.undertow.security.handlers.SecurityActions].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.handlers.AbstractConfidentialityHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.security.handlers.AbstractConfidentialityHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AbstractConfidentialityHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.handlers.AbstractConfidentialityHandler
    signature: '[io.undertow.security.handlers.AbstractConfidentialityHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.handlers.AbstractConfidentialityHandler].isConfidential(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:45,1
    - Dst: '[io.undertow.security.handlers.AbstractConfidentialityHandler].confidentialityRequired(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:45,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:46,1
    - Dst: '[io.undertow.security.handlers.AbstractConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:49,1
    - Dst: '[io.undertow.security.handlers.AbstractConfidentialityHandler].debugf(String,io.undertow.server.HttpServerExchange,java.net.URI)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:50,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:52,1
    - Dst: '[java.net.URI].toString()'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:52,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.security.handlers.AbstractConfidentialityHandler)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:52,1
    - Dst: '[io.undertow.security.handlers.AbstractConfidentialityHandler].exceptionProcessingRequest(io.undertow.security.handlers.AbstractConfidentialityHandler)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:54,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:55,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: '[io.undertow.security.handlers.AbstractConfidentialityHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AbstractConfidentialityHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.handlers.AbstractConfidentialityHandler].exceptionProcessingRequest(io.undertow.security.handlers.AbstractConfidentialityHandler)'
    - '[io.undertow.security.handlers.AbstractConfidentialityHandler].confidentialityRequired(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.security.handlers.AbstractConfidentialityHandler)'
    - '[io.undertow.security.handlers.AbstractConfidentialityHandler].debugf(String,io.undertow.server.HttpServerExchange,java.net.URI)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[java.net.URI].toString()'
    - '[io.undertow.security.handlers.AbstractConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.security.handlers.AbstractConfidentialityHandler].isConfidential(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.AbstractConfidentialityHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:70,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.security.handlers.AbstractConfidentialityHandler:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: '[io.undertow.security.handlers.AbstractConfidentialityHandler].isConfidential(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AbstractConfidentialityHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.handlers.AbstractConfidentialityHandler].isConfidential(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[io.undertow.security.handlers.AbstractConfidentialityHandler].confidentialityRequired(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AbstractConfidentialityHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.handlers.AbstractConfidentialityHandler].confidentialityRequired(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: false
      exceptions:
      - java.net.URISyntaxException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '[io.undertow.security.handlers.AbstractConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AbstractConfidentialityHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.security.handlers.AbstractConfidentialityHandler].getRedirectURI(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AbstractSecurityContextAssociationHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler
    signature: '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].createSecurityContext(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler:42,1
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].setSecurityContext(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
      Src: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler:42,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.security.handlers.AbstractSecurityContextAssociationHandler:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AbstractSecurityContextAssociationHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].createSecurityContext(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.websockets.jsr.SecurityActions].setSecurityContext(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.SecurityContext
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].createSecurityContext(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/handlers/AbstractSecurityContextAssociationHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.SecurityContext
    signature: '[io.undertow.security.handlers.AbstractSecurityContextAssociationHandler].createSecurityContext(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - mechanismName
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.security.api.AuthenticationMechanismFactory].create(String,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanismFactory.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.security.api.AuthenticationMechanismFactory].create(String,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.AuthenticationMechanismFactory].create(String,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
      Src: io.undertow.security.api.AuthenticationMechanismFactory:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.security.api.AuthenticationMechanismFactory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanismFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.api.AuthenticationMechanismFactory].create(String,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.security.api.AuthenticationMechanismFactory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanismFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.AuthenticationMechanismFactory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanismFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanismFactory
    signature: '[io.undertow.security.api.AuthenticationMechanismFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.security.GeneralSecurityException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.security.auth.Subject
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hostName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '[io.undertow.security.api.GSSAPIServerSubjectFactory].getSubjectForHost(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/GSSAPIServerSubjectFactory.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: javax.security.auth.Subject
    signature: '[io.undertow.security.api.GSSAPIServerSubjectFactory].getSubjectForHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.GSSAPIServerSubjectFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.GSSAPIServerSubjectFactory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/GSSAPIServerSubjectFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.GSSAPIServerSubjectFactory
    signature: '[io.undertow.security.api.GSSAPIServerSubjectFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AuthenticatedSession
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.security.api.AuthenticatedSessionManager].lookupSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticatedSessionManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: AuthenticatedSession
    signature: '[io.undertow.security.api.AuthenticatedSessionManager].lookupSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.security.api.AuthenticatedSessionManager].clearSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticatedSessionManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.AuthenticatedSessionManager].clearSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticatedSessionManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.AuthenticatedSessionManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticatedSessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticatedSessionManager
    signature: '[io.undertow.security.api.AuthenticatedSessionManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Account
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - account
    - mechanism
    argTypes:
    - io.undertow.security.idm.Account
    - String
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].<init>(io.undertow.security.idm.Account,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticatedSessionManager.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession
    signature: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].<init>(io.undertow.security.idm.Account,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Account
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].getAccount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticatedSessionManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].getAccount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Account
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].getMechanism()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticatedSessionManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.api.AuthenticatedSessionManager.AuthenticatedSession].getMechanism()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - lastNonce
    - exchange
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[io.undertow.security.api.NonceManager].nextNonce(String,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/NonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.api.NonceManager].nextNonce(String,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - nonce
    - nonceCount
    - exchange
    argTypes:
    - String
    - int
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '[io.undertow.security.api.NonceManager].validateNonce(String,int,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/NonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.api.NonceManager].validateNonce(String,int,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.NonceManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.NonceManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/NonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.NonceManager
    signature: '[io.undertow.security.api.NonceManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '[io.undertow.security.api.SecurityContext].authenticate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.api.SecurityContext].authenticate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '[io.undertow.security.api.SecurityContext].login(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.api.SecurityContext].login(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '[io.undertow.security.api.SecurityContext].logout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.SecurityContext].logout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '[io.undertow.security.api.SecurityContext].setAuthenticationRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.SecurityContext].setAuthenticationRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '[io.undertow.security.api.SecurityContext].isAuthenticationRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.api.SecurityContext].isAuthenticationRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMechanism
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - io.undertow.security.api.AuthenticationMechanism
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: '[io.undertow.security.api.SecurityContext].addAuthenticationMechanism(io.undertow.security.api.AuthenticationMechanism)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.SecurityContext].addAuthenticationMechanism(io.undertow.security.api.AuthenticationMechanism)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: '[io.undertow.security.api.SecurityContext].getAuthenticationMechanisms()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.security.api.AuthenticationMechanism>
    signature: '[io.undertow.security.api.SecurityContext].getAuthenticationMechanisms()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '[io.undertow.security.api.SecurityContext].isAuthenticated()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.api.SecurityContext].isAuthenticated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: '[io.undertow.security.api.SecurityContext].getMechanismName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.api.SecurityContext].getMechanismName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.api.SecurityContext].getIdentityManager()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - account
    - mechanismName
    - cachingRequired
    argTypes:
    - io.undertow.security.idm.Account
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.SecurityContext].authenticationComplete(io.undertow.security.idm.Account,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - mechanismName
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: '[io.undertow.security.api.SecurityContext].authenticationFailed(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.SecurityContext].authenticationFailed(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.NotificationReceiver
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - receiver
    argTypes:
    - io.undertow.security.api.NotificationReceiver
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: '[io.undertow.security.api.SecurityContext].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.SecurityContext].registerNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.NotificationReceiver
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - receiver
    argTypes:
    - io.undertow.security.api.NotificationReceiver
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: '[io.undertow.security.api.SecurityContext].removeNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.SecurityContext].removeNotificationReceiver(io.undertow.security.api.NotificationReceiver)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.SecurityContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.SecurityContext].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.SecurityContext
    signature: '[io.undertow.security.api.SecurityContext].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMechanism
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - io.undertow.security.api.AuthenticationMechanism
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: '[io.undertow.security.api.AuthenticationMechanismContext].addAuthenticationMechanism(io.undertow.security.api.AuthenticationMechanism)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanismContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.AuthenticationMechanismContext].addAuthenticationMechanism(io.undertow.security.api.AuthenticationMechanism)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanismContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.AuthenticationMechanismContext].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanismContext.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanismContext
    signature: '[io.undertow.security.api.AuthenticationMechanismContext].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - nonce
    - hash
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '[io.undertow.security.api.SessionNonceManager].associateHash(String,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SessionNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.SessionNonceManager].associateHash(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[io.undertow.security.api.SessionNonceManager].lookupHash(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SessionNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.api.SessionNonceManager].lookupHash(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.SessionNonceManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.SessionNonceManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SessionNonceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.SessionNonceManager
    signature: '[io.undertow.security.api.SessionNonceManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: '[io.undertow.security.api.AuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.security.api.AuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '[io.undertow.security.api.AuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChallengeResult
    signature: '[io.undertow.security.api.AuthenticationMechanism].sendChallenge(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.AuthenticationMechanism].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.security.api.AuthenticationMechanism].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean)'
      Src: io.undertow.security.api.AuthenticationMechanism.ChallengeResult:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - ChallengeResult
      - boolean
      - Integer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism.ChallengeResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - challengeSent
    - statusCode
    argTypes:
    - boolean
    - Integer
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism.ChallengeResult
    signature: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean)'
      Src: io.undertow.security.api.AuthenticationMechanism.ChallengeResult:115,1
    - Dst: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,null)'
      Src: io.undertow.security.api.AuthenticationMechanism.ChallengeResult:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ChallengeResult
      - boolean
      - Integer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism.ChallengeResult
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - challengeSent
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanism.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean,null)'
    - '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism.ChallengeResult
    signature: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChallengeResult
      - boolean
      - Integer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].getDesiredResponseCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].getDesiredResponseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChallengeResult
      - boolean
      - Integer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].isChallengeSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/AuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.api.AuthenticationMechanism.ChallengeResult].isChallengeSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - AuthenticationMode
      - io.undertow.security.idm.IdentityManager
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.api.SecurityContext
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - exchange
    - mode
    - identityManager
    - programmaticMechName
    argTypes:
    - io.undertow.server.HttpServerExchange
    - AuthenticationMode
    - io.undertow.security.idm.IdentityManager
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: '[io.undertow.security.api.SecurityContextFactory].createSecurityContext(io.undertow.server.HttpServerExchange,AuthenticationMode,io.undertow.security.idm.IdentityManager,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContextFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.SecurityContext
    signature: '[io.undertow.security.api.SecurityContextFactory].createSecurityContext(io.undertow.server.HttpServerExchange,AuthenticationMode,io.undertow.security.idm.IdentityManager,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.SecurityContextFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.SecurityContextFactory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityContextFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.SecurityContextFactory
    signature: '[io.undertow.security.api.SecurityContextFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.SecurityNotification
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - exchange
    - eventType
    - account
    - mechanism
    - programatic
    - message
    - cachingRequired
    argTypes:
    - io.undertow.server.HttpServerExchange
    - EventType
    - io.undertow.security.idm.Account
    - String
    - boolean
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: '[io.undertow.security.api.SecurityNotification].<init>(io.undertow.server.HttpServerExchange,EventType,io.undertow.security.idm.Account,String,boolean,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityNotification.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.SecurityNotification
    signature: '[io.undertow.security.api.SecurityNotification].<init>(io.undertow.server.HttpServerExchange,EventType,io.undertow.security.idm.Account,String,boolean,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.security.api.SecurityNotification].getExchange()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityNotification.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.security.api.SecurityNotification].getExchange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: EventType
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.security.api.SecurityNotification].getEventType()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityNotification.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: EventType
    signature: '[io.undertow.security.api.SecurityNotification].getEventType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.security.api.SecurityNotification].getAccount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityNotification.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.api.SecurityNotification].getAccount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.security.api.SecurityNotification].getMechanism()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityNotification.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.api.SecurityNotification].getMechanism()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.security.api.SecurityNotification].isProgramatic()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityNotification.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.api.SecurityNotification].isProgramatic()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.security.api.SecurityNotification].getMessage()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityNotification.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.api.SecurityNotification].getMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - EventType
      - io.undertow.security.idm.Account
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.security.api.SecurityNotification].isCachingRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/SecurityNotification.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.api.SecurityNotification].isCachingRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityNotification
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - notification
    argTypes:
    - io.undertow.security.api.SecurityNotification
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[io.undertow.security.api.NotificationReceiver].handleNotification(io.undertow.security.api.SecurityNotification)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/NotificationReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.security.api.NotificationReceiver].handleNotification(io.undertow.security.api.SecurityNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.NotificationReceiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.api.NotificationReceiver].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/api/NotificationReceiver.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.NotificationReceiver
    signature: '[io.undertow.security.api.NotificationReceiver].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: DigestAlgorithm
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.security.idm.DigestCredential].getAlgorithm()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/DigestCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DigestAlgorithm
    signature: '[io.undertow.security.idm.DigestCredential].getAlgorithm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ha1
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[io.undertow.security.idm.DigestCredential].verifyHA1(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/DigestCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.security.idm.DigestCredential].verifyHA1(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '[io.undertow.security.idm.DigestCredential].getRealm()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/DigestCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.security.idm.DigestCredential].getRealm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '[io.undertow.security.idm.DigestCredential].getSessionData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/DigestCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.security.idm.DigestCredential].getSessionData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.DigestCredential
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.idm.DigestCredential].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/DigestCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.DigestCredential
    signature: '[io.undertow.security.idm.DigestCredential].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '[io.undertow.security.idm.Account].getPrincipal()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/Account.java
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.security.idm.Account].getPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[io.undertow.security.idm.Account].getRoles()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/Account.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.security.idm.Account].getRoles()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.idm.Account].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/Account.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.idm.Account].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Credential
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.idm.Credential].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/Credential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Credential
    signature: '[io.undertow.security.idm.Credential].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.idm.ExternalCredential].<init>()'
      Src: io.undertow.security.idm.ExternalCredential:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.idm.ExternalCredential
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.security.idm.Credential
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.ExternalCredential
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.security.idm.ExternalCredential].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/ExternalCredential.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.idm.ExternalCredential].<init>()'
    linkageType: ''
    returnType: io.undertow.security.idm.ExternalCredential
    signature: '[io.undertow.security.idm.ExternalCredential].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - account
    argTypes:
    - io.undertow.security.idm.Account
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.Account)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/IdentityManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.Account)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.Credential
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - id
    - credential
    argTypes:
    - String
    - io.undertow.security.idm.Credential
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '[io.undertow.security.idm.IdentityManager].verify(String,io.undertow.security.idm.Credential)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/IdentityManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.idm.IdentityManager].verify(String,io.undertow.security.idm.Credential)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Credential
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - credential
    argTypes:
    - io.undertow.security.idm.Credential
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.Credential)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/IdentityManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.security.idm.IdentityManager].verify(io.undertow.security.idm.Credential)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.IdentityManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.security.idm.IdentityManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/IdentityManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.IdentityManager
    signature: '[io.undertow.security.idm.IdentityManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.Credential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.PasswordCredential
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - password
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: '[io.undertow.security.idm.PasswordCredential].<init>(char[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/PasswordCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.PasswordCredential
    signature: '[io.undertow.security.idm.PasswordCredential].<init>(char[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.Credential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: char[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.security.idm.PasswordCredential].getPassword()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/PasswordCredential.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char[]
    signature: '[io.undertow.security.idm.PasswordCredential].getPassword()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.security.cert.X509Certificate
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.cert.X509Certificate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.Credential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.X509CertificateCredential
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - certificate
    argTypes:
    - java.security.cert.X509Certificate
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.security.idm.X509CertificateCredential].<init>(java.security.cert.X509Certificate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/X509CertificateCredential.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.X509CertificateCredential
    signature: '[io.undertow.security.idm.X509CertificateCredential].<init>(java.security.cert.X509Certificate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.cert.X509Certificate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.Credential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.cert.X509Certificate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.security.idm.X509CertificateCredential].getCertificate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/X509CertificateCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.security.cert.X509Certificate
    signature: '[io.undertow.security.idm.X509CertificateCredential].getCertificate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.ietf.jgss.GSSContext
      classConcrete: true
      classEnum: false
      classFields:
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.Credential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.GSSContextCredential
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - gssContext
    argTypes:
    - org.ietf.jgss.GSSContext
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.security.idm.GSSContextCredential].<init>(org.ietf.jgss.GSSContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/GSSContextCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.GSSContextCredential
    signature: '[io.undertow.security.idm.GSSContextCredential].<init>(org.ietf.jgss.GSSContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.ietf.jgss.GSSContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.Credential
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.ietf.jgss.GSSContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.security.idm.GSSContextCredential].getGssContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/security/idm/GSSContextCredential.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.ietf.jgss.GSSContext
    signature: '[io.undertow.security.idm.GSSContextCredential].getGssContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: '[io.undertow.attribute.ExchangeAttributeWrapper].wrap(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeWrapper.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributeWrapper].wrap(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttributeWrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ExchangeAttributeWrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeWrapper.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttributeWrapper
    signature: '[io.undertow.attribute.ExchangeAttributeWrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.SecureProtocolAttribute:35,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.attribute.SecureProtocolAttribute:35,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSecureProtocol()'
      Src: io.undertow.attribute.SecureProtocolAttribute:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SecureProtocolAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.SecureProtocolAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.SSLSessionInfo].getSecureProtocol()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SecureProtocolAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.SecureProtocolAttribute:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SecureProtocolAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.attribute.SecureProtocolAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.SecureProtocolAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SecureProtocolAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.SecureProtocolAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SecureProtocolAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute].<init>()'
      Src: io.undertow.attribute.SecureProtocolAttribute:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SecureProtocolAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SecureProtocolAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SecureProtocolAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureProtocolAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.SecureProtocolAttribute
    signature: '[io.undertow.attribute.SecureProtocolAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.attribute.SecureProtocolAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SecureProtocolAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.attribute.SecureProtocolAttribute.Builder:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.SecureProtocolAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.SecureProtocolAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SecureProtocolAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureProtocolAttribute.java
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.SecureProtocolAttribute.Builder
    signature: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.attribute.ResponseTimeAttribute:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Long>
      - String
      - String
      - String
      - String
      - String
      - java.util.concurrent.TimeUnit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResponseTimeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeUnit
    argTypes:
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.attribute.ResponseTimeAttribute].<init>(java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseTimeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.attribute.ResponseTimeAttribute
    signature: '[io.undertow.attribute.ResponseTimeAttribute].<init>(java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
      Src: io.undertow.attribute.ResponseTimeAttribute:49,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Long>)'
      Src: io.undertow.attribute.ResponseTimeAttribute:54,1
    - Dst: System.nanoTime()
      Src: io.undertow.attribute.ResponseTimeAttribute:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseComplete()'
      Src: io.undertow.attribute.ResponseTimeAttribute:59,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Long>,io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:61,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.attribute.ResponseTimeAttribute:65,1
    - Dst: TimeUnit.MILLISECONDS.convert(io.undertow.attribute.ResponseTimeAttribute,io.undertow.attribute.ResponseTimeAttribute)
      Src: io.undertow.attribute.ResponseTimeAttribute:66,1
    - Dst: Long.toString(int)
      Src: io.undertow.attribute.ResponseTimeAttribute:67,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:67,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.attribute.ResponseTimeAttribute:68,1
    - Dst: Long.toString(int)
      Src: io.undertow.attribute.ResponseTimeAttribute:70,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:70,1
    - Dst: Long.toString(int)
      Src: io.undertow.attribute.ResponseTimeAttribute:72,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:72,1
    - Dst: Long.toString(int)
      Src: io.undertow.attribute.ResponseTimeAttribute:73,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:73,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.ResponseTimeAttribute:74,1
    - Dst: '[java.util.concurrent.TimeUnit].convert(io.undertow.attribute.ResponseTimeAttribute,io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:76,1
    - Dst: String.valueOf(io.undertow.attribute.ResponseTimeAttribute)
      Src: io.undertow.attribute.ResponseTimeAttribute:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Long>
      - String
      - String
      - String
      - String
      - String
      - java.util.concurrent.TimeUnit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 78
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 78
    functionName: '[io.undertow.attribute.ResponseTimeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseTimeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Long>)'
    - System.nanoTime()
    - '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Long>,io.undertow.attribute.ResponseTimeAttribute)'
    - '[StringBuilder].append(char)'
    - '[java.util.concurrent.TimeUnit].convert(io.undertow.attribute.ResponseTimeAttribute,io.undertow.attribute.ResponseTimeAttribute)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.attribute.ResponseTimeAttribute)'
    - '[StringBuilder].toString()'
    - Long.toString(int)
    - '[io.undertow.server.HttpServerExchange].isResponseComplete()'
    - TimeUnit.MILLISECONDS.convert(io.undertow.attribute.ResponseTimeAttribute,io.undertow.attribute.ResponseTimeAttribute)
    - String.valueOf(io.undertow.attribute.ResponseTimeAttribute)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseTimeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.ResponseTimeAttribute:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Long>
      - String
      - String
      - String
      - String
      - String
      - java.util.concurrent.TimeUnit
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[io.undertow.attribute.ResponseTimeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseTimeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ResponseTimeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.TimeUnit].equals(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:87,1
    - Dst: '[java.util.concurrent.TimeUnit].equals(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:90,1
    - Dst: '[java.util.concurrent.TimeUnit].equals(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:93,1
    - Dst: '[java.util.concurrent.TimeUnit].equals(io.undertow.attribute.ResponseTimeAttribute)'
      Src: io.undertow.attribute.ResponseTimeAttribute:96,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Long>
      - String
      - String
      - String
      - String
      - String
      - java.util.concurrent.TimeUnit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: '[io.undertow.attribute.ResponseTimeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseTimeAttribute.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.TimeUnit].equals(io.undertow.attribute.ResponseTimeAttribute)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseTimeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[io.undertow.attribute.ResponseTimeAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseTimeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseTimeAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:111,1
    - Dst: '[String].equals(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:111,1
    - Dst: '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:112,1
    - Dst: '[String].equals(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:114,1
    - Dst: '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:115,1
    - Dst: '[String].equals(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:117,1
    - Dst: '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:118,1
    - Dst: '[String].equals(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:120,1
    - Dst: '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.attribute.ResponseTimeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseTimeAttribute.Builder:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: '[io.undertow.attribute.ResponseTimeAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseTimeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.attribute.ResponseTimeAttribute.Builder)'
    - '[String].equals(io.undertow.attribute.ResponseTimeAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ResponseTimeAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '[io.undertow.attribute.ResponseTimeAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseTimeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.ResponseTimeAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResponseTimeAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ResponseTimeAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseTimeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ResponseTimeAttribute.Builder
    signature: '[io.undertow.attribute.ResponseTimeAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RequestPathAttribute].<init>()'
      Src: io.undertow.attribute.RequestPathAttribute:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RequestPathAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.attribute.RequestPathAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestPathAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RequestPathAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RequestPathAttribute
    signature: '[io.undertow.attribute.RequestPathAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.attribute.RequestPathAttribute:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.attribute.RequestPathAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestPathAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestPathAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.attribute.RequestPathAttribute:44,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
      Src: io.undertow.attribute.RequestPathAttribute:45,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.attribute.RequestPathAttribute:47,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
      Src: io.undertow.attribute.RequestPathAttribute:48,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
      Src: io.undertow.attribute.RequestPathAttribute:49,1
    - Dst: '[String].substring(int,io.undertow.attribute.RequestPathAttribute)'
      Src: io.undertow.attribute.RequestPathAttribute:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.attribute.RequestPathAttribute)'
      Src: io.undertow.attribute.RequestPathAttribute:52,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.attribute.RequestPathAttribute)'
      Src: io.undertow.attribute.RequestPathAttribute:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
      Src: io.undertow.attribute.RequestPathAttribute:54,1
    - Dst: '[String].substring(io.undertow.attribute.RequestPathAttribute)'
      Src: io.undertow.attribute.RequestPathAttribute:56,1
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.attribute.RequestPathAttribute)'
      Src: io.undertow.attribute.RequestPathAttribute:57,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.attribute.RequestPathAttribute:58,1
    - Dst: '[io.undertow.attribute.RequestPathAttribute].substring(int)'
      Src: io.undertow.attribute.RequestPathAttribute:58,1
    - Dst: '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.attribute.RequestPathAttribute:58,1
    - Dst: '[io.undertow.util.QueryParameterUtils].parseQueryString(io.undertow.attribute.RequestPathAttribute,String)'
      Src: io.undertow.attribute.RequestPathAttribute:58,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].putAll(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.attribute.RequestPathAttribute:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: '[io.undertow.attribute.RequestPathAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestPathAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].substring(int,io.undertow.attribute.RequestPathAttribute)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.attribute.RequestPathAttribute)'
    - '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.attribute.RequestPathAttribute)'
    - '[String].indexOf(char)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.attribute.RequestPathAttribute)'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
    - '[io.undertow.util.QueryParameterUtils].parseQueryString(io.undertow.attribute.RequestPathAttribute,String)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
    - '[String].substring(io.undertow.attribute.RequestPathAttribute)'
    - '[io.undertow.attribute.RequestPathAttribute].substring(int)'
    - '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].putAll(java.util.Map<String,java.util.Deque<String>>)'
    - '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RequestPathAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.attribute.RequestPathAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestPathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestPathAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.RequestPathAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestPathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestPathAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RequestPathAttribute.Builder)'
      Src: io.undertow.attribute.RequestPathAttribute.Builder:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.attribute.RequestPathAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestPathAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RequestPathAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RequestPathAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.attribute.RequestPathAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestPathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RequestPathAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestPathAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RequestPathAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestPathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestPathAttribute.Builder
    signature: '[io.undertow.attribute.RequestPathAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.SslClientCertAttribute:40,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.attribute.SslClientCertAttribute:40,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
      Src: io.undertow.attribute.SslClientCertAttribute:46,1
    - Dst: '[io.undertow.util.Certificates].toPem()'
      Src: io.undertow.attribute.SslClientCertAttribute:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslClientCertAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: '[io.undertow.attribute.SslClientCertAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslClientCertAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[io.undertow.util.Certificates].toPem()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslClientCertAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.SslClientCertAttribute:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslClientCertAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.attribute.SslClientCertAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslClientCertAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.SslClientCertAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslClientCertAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.SslClientCertAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslClientCertAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslClientCertAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SslClientCertAttribute].<init>()'
      Src: io.undertow.attribute.SslClientCertAttribute:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslClientCertAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SslClientCertAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SslClientCertAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslClientCertAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SslClientCertAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.SslClientCertAttribute
    signature: '[io.undertow.attribute.SslClientCertAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.SslClientCertAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslClientCertAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslClientCertAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.attribute.SslClientCertAttribute.Builder:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: '[io.undertow.attribute.SslClientCertAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslClientCertAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.SslClientCertAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.attribute.SslClientCertAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslClientCertAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.SslClientCertAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SslClientCertAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SslClientCertAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslClientCertAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.SslClientCertAttribute.Builder
    signature: '[io.undertow.attribute.SslClientCertAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[io.undertow.attribute.ExchangeAttributeBuilder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ExchangeAttributeBuilder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[io.undertow.attribute.ExchangeAttributeBuilder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributeBuilder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[io.undertow.attribute.ExchangeAttributeBuilder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.ExchangeAttributeBuilder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttributeBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ExchangeAttributeBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttributeBuilder
    signature: '[io.undertow.attribute.ExchangeAttributeBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RemoteIPAttribute].<init>()'
      Src: io.undertow.attribute.RemoteIPAttribute:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RemoteIPAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.attribute.RemoteIPAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteIPAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RemoteIPAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RemoteIPAttribute
    signature: '[io.undertow.attribute.RemoteIPAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.attribute.RemoteIPAttribute:44,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.attribute.RemoteIPAttribute:45,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.RemoteIPAttribute:49,1
    - Dst: '[io.undertow.server.ServerConnection].getPeerAddress()'
      Src: io.undertow.attribute.RemoteIPAttribute:49,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.attribute.RemoteIPAttribute:49,1
    - Dst: '[io.undertow.attribute.RemoteIPAttribute].getHostAddress()'
      Src: io.undertow.attribute.RemoteIPAttribute:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: '[io.undertow.attribute.RemoteIPAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.attribute.RemoteIPAttribute].getHostAddress()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getPeerAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteIPAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.RemoteIPAttribute:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.attribute.RemoteIPAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RemoteIPAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.attribute.RemoteIPAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteIPAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.RemoteIPAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteIPAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RemoteIPAttribute.Builder)'
      Src: io.undertow.attribute.RemoteIPAttribute.Builder:76,1
    - Dst: '[String].equals(io.undertow.attribute.RemoteIPAttribute.Builder)'
      Src: io.undertow.attribute.RemoteIPAttribute.Builder:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: '[io.undertow.attribute.RemoteIPAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RemoteIPAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RemoteIPAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.attribute.RemoteIPAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RemoteIPAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RemoteIPAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RemoteIPAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RemoteIPAttribute.Builder
    signature: '[io.undertow.attribute.RemoteIPAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.DateTimeAttribute].<init>()'
      Src: io.undertow.attribute.DateTimeAttribute:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.DateTimeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.DateTimeAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.attribute.DateTimeAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.DateTimeAttribute
    signature: '[io.undertow.attribute.DateTimeAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.DateTimeAttribute].<init>()'
      Src: io.undertow.attribute.DateTimeAttribute:39,1
    - Dst: '[io.undertow.attribute.DateTimeAttribute].<init>(String,null)'
      Src: io.undertow.attribute.DateTimeAttribute:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.DateTimeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dateFormat
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.attribute.DateTimeAttribute].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.DateTimeAttribute].<init>()'
    - '[io.undertow.attribute.DateTimeAttribute].<init>(String,null)'
    linkageType: ''
    returnType: io.undertow.attribute.DateTimeAttribute
    signature: '[io.undertow.attribute.DateTimeAttribute].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.DateTimeAttribute].<init>()'
      Src: io.undertow.attribute.DateTimeAttribute:39,1
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.attribute.DateTimeAttribute:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.DateTimeAttribute
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dateFormat
    - timezone
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: '[io.undertow.attribute.DateTimeAttribute].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.DateTimeAttribute].<init>()'
    - '[ThreadLocal].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.DateTimeAttribute
    signature: '[io.undertow.attribute.DateTimeAttribute].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.attribute.DateTimeAttribute:69,1
    - Dst: '[io.undertow.util.DateUtils].toCommonLogFormat(java.util.Date)'
      Src: io.undertow.attribute.DateTimeAttribute:69,1
    - Dst: '[ThreadLocal<java.text.SimpleDateFormat>].get()'
      Src: io.undertow.attribute.DateTimeAttribute:71,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.attribute.DateTimeAttribute:72,1
    - Dst: '[io.undertow.attribute.DateTimeAttribute].format(java.util.Date)'
      Src: io.undertow.attribute.DateTimeAttribute:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: '[io.undertow.attribute.DateTimeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal<java.text.SimpleDateFormat>].get()'
    - '[io.undertow.util.DateUtils].toCommonLogFormat(java.util.Date)'
    - '[java.util.Date].<init>()'
    - '[io.undertow.attribute.DateTimeAttribute].format(java.util.Date)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.DateTimeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.DateTimeAttribute:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.attribute.DateTimeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.DateTimeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: '[io.undertow.attribute.DateTimeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.DateTimeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.attribute.DateTimeAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.DateTimeAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.DateTimeAttribute.Builder)'
      Src: io.undertow.attribute.DateTimeAttribute.Builder:97,1
    - Dst: '[String].equals(io.undertow.attribute.DateTimeAttribute.Builder)'
      Src: io.undertow.attribute.DateTimeAttribute.Builder:97,1
    - Dst: '[String].startsWith(io.undertow.attribute.DateTimeAttribute.Builder)'
      Src: io.undertow.attribute.DateTimeAttribute.Builder:100,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.DateTimeAttribute.Builder:100,1
    - Dst: CUSTOM_TIME.length()
      Src: io.undertow.attribute.DateTimeAttribute.Builder:101,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.DateTimeAttribute.Builder:101,1
    - Dst: '[String].substring(io.undertow.attribute.DateTimeAttribute.Builder,int)'
      Src: io.undertow.attribute.DateTimeAttribute.Builder:101,1
    - Dst: '[io.undertow.attribute.DateTimeAttribute].<init>(io.undertow.attribute.DateTimeAttribute.Builder)'
      Src: io.undertow.attribute.DateTimeAttribute.Builder:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: '[io.undertow.attribute.DateTimeAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 0
    functionsReached:
    - CUSTOM_TIME.length()
    - '[String].substring(io.undertow.attribute.DateTimeAttribute.Builder,int)'
    - '[String].startsWith(io.undertow.attribute.DateTimeAttribute.Builder)'
    - '[String].length()'
    - '[String].endsWith(String)'
    - '[String].equals(io.undertow.attribute.DateTimeAttribute.Builder)'
    - '[io.undertow.attribute.DateTimeAttribute].<init>(io.undertow.attribute.DateTimeAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.DateTimeAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.attribute.DateTimeAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.DateTimeAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.DateTimeAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.DateTimeAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/DateTimeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.DateTimeAttribute.Builder
    signature: '[io.undertow.attribute.DateTimeAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.HostAndPortAttribute].<init>()'
      Src: io.undertow.attribute.HostAndPortAttribute:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.HostAndPortAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.attribute.HostAndPortAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/HostAndPortAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.HostAndPortAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.HostAndPortAttribute
    signature: '[io.undertow.attribute.HostAndPortAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getHostAndPort()'
      Src: io.undertow.attribute.HostAndPortAttribute:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.attribute.HostAndPortAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/HostAndPortAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getHostAndPort()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.HostAndPortAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.HostAndPortAttribute:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.attribute.HostAndPortAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/HostAndPortAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.HostAndPortAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.attribute.HostAndPortAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/HostAndPortAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.HostAndPortAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.attribute.HostAndPortAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/HostAndPortAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.HostAndPortAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.HostAndPortAttribute.Builder)'
      Src: io.undertow.attribute.HostAndPortAttribute.Builder:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.HostAndPortAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/HostAndPortAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.HostAndPortAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.HostAndPortAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.attribute.HostAndPortAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/HostAndPortAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.HostAndPortAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.HostAndPortAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.HostAndPortAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/HostAndPortAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.HostAndPortAttribute.Builder
    signature: '[io.undertow.attribute.HostAndPortAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ThreadNameAttribute].<init>()'
      Src: io.undertow.attribute.ThreadNameAttribute:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ThreadNameAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.ThreadNameAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ThreadNameAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.ThreadNameAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.ThreadNameAttribute
    signature: '[io.undertow.attribute.ThreadNameAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.attribute.ThreadNameAttribute:41,1
    - Dst: '[io.undertow.attribute.ThreadNameAttribute].getName()'
      Src: io.undertow.attribute.ThreadNameAttribute:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.attribute.ThreadNameAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ThreadNameAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ThreadNameAttribute].getName()'
    - Thread.currentThread()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ThreadNameAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.ThreadNameAttribute:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.ThreadNameAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ThreadNameAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ThreadNameAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.ThreadNameAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ThreadNameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ThreadNameAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.ThreadNameAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ThreadNameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ThreadNameAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.ThreadNameAttribute.Builder)'
      Src: io.undertow.attribute.ThreadNameAttribute.Builder:63,1
    - Dst: '[String].equals(io.undertow.attribute.ThreadNameAttribute.Builder)'
      Src: io.undertow.attribute.ThreadNameAttribute.Builder:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.ThreadNameAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ThreadNameAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.ThreadNameAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ThreadNameAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.ThreadNameAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ThreadNameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.ThreadNameAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ThreadNameAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ThreadNameAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ThreadNameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ThreadNameAttribute.Builder
    signature: '[io.undertow.attribute.ThreadNameAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ConstantExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ConstantExchangeAttribute.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ConstantExchangeAttribute
    signature: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.ConstantExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ConstantExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ConstantExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.ConstantExchangeAttribute:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.attribute.ConstantExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ConstantExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ConstantExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.attribute.ConstantExchangeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ConstantExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ConstantExchangeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ReadOnlyAttributeException
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: '[io.undertow.attribute.ReadOnlyAttributeException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ReadOnlyAttributeException.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ReadOnlyAttributeException
    signature: '[io.undertow.attribute.ReadOnlyAttributeException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].couldNotSetAttribute(String,String)'
      Src: io.undertow.attribute.ReadOnlyAttributeException:34,1
    - Dst: '[Exception].<init>(io.undertow.attribute.ReadOnlyAttributeException)'
      Src: io.undertow.attribute.ReadOnlyAttributeException:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ReadOnlyAttributeException
      static: false
      superClass: Exception
    argCount: 2
    argNames:
    - attributeName
    - newValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ReadOnlyAttributeException.java
    functionUses: 35
    functionsReached:
    - '[Exception].<init>(io.undertow.attribute.ReadOnlyAttributeException)'
    - '[io.undertow.attribute.ReadOnlyAttributeException].couldNotSetAttribute(String,String)'
    linkageType: ''
    returnType: io.undertow.attribute.ReadOnlyAttributeException
    signature: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.BytesReadAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dashIfZero
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.BytesReadAttribute].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesReadAttribute.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.BytesReadAttribute
    signature: '[io.undertow.attribute.BytesReadAttribute].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestBytesRead()'
      Src: io.undertow.attribute.BytesReadAttribute:44,1
    - Dst: Long.toString(long)
      Src: io.undertow.attribute.BytesReadAttribute:45,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestBytesRead()'
      Src: io.undertow.attribute.BytesReadAttribute:47,1
    - Dst: Long.toString(long)
      Src: io.undertow.attribute.BytesReadAttribute:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: '[io.undertow.attribute.BytesReadAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesReadAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestBytesRead()'
    - Long.toString(long)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.BytesReadAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.BytesReadAttribute:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.attribute.BytesReadAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesReadAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.BytesReadAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.BytesReadAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesReadAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.BytesReadAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.BytesReadAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesReadAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.BytesReadAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.BytesReadAttribute.Builder)'
      Src: io.undertow.attribute.BytesReadAttribute.Builder:70,1
    - Dst: '[io.undertow.attribute.BytesReadAttribute].<init>(boolean)'
      Src: io.undertow.attribute.BytesReadAttribute.Builder:71,1
    - Dst: '[String].equals(io.undertow.attribute.BytesReadAttribute.Builder)'
      Src: io.undertow.attribute.BytesReadAttribute.Builder:73,1
    - Dst: '[String].equals(io.undertow.attribute.BytesReadAttribute.Builder)'
      Src: io.undertow.attribute.BytesReadAttribute.Builder:73,1
    - Dst: '[io.undertow.attribute.BytesReadAttribute].<init>(boolean)'
      Src: io.undertow.attribute.BytesReadAttribute.Builder:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: '[io.undertow.attribute.BytesReadAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesReadAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.BytesReadAttribute.Builder)'
    - '[io.undertow.attribute.BytesReadAttribute].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.BytesReadAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.attribute.BytesReadAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesReadAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.BytesReadAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.BytesReadAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.BytesReadAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesReadAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.BytesReadAttribute.Builder
    signature: '[io.undertow.attribute.BytesReadAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.QueryParameterAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.QueryParameterAttribute].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryParameterAttribute.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.QueryParameterAttribute
    signature: '[io.undertow.attribute.QueryParameterAttribute].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.attribute.QueryParameterAttribute:43,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.attribute.QueryParameterAttribute:43,1
    - Dst: '[io.undertow.attribute.QueryParameterAttribute].isEmpty()'
      Src: io.undertow.attribute.QueryParameterAttribute:46,1
    - Dst: '[io.undertow.attribute.QueryParameterAttribute].size()'
      Src: io.undertow.attribute.QueryParameterAttribute:48,1
    - Dst: '[io.undertow.attribute.QueryParameterAttribute].getFirst()'
      Src: io.undertow.attribute.QueryParameterAttribute:49,1
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.attribute.QueryParameterAttribute:51,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.QueryParameterAttribute)'
      Src: io.undertow.attribute.QueryParameterAttribute:54,1
    - Dst: '[io.undertow.attribute.QueryParameterAttribute].size()'
      Src: io.undertow.attribute.QueryParameterAttribute:55,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.QueryParameterAttribute:56,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.QueryParameterAttribute:59,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.QueryParameterAttribute:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.QueryParameterAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryParameterAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QueryParameterAttribute].isEmpty()'
    - '[StringBuilder].append(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[StringBuilder].toString()'
    - '[io.undertow.attribute.QueryParameterAttribute].size()'
    - '[StringBuilder].<init>(String)'
    - '[io.undertow.attribute.QueryParameterAttribute].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[StringBuilder].append(io.undertow.attribute.QueryParameterAttribute)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.QueryParameterAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.attribute.QueryParameterAttribute:66,1
    - Dst: '[java.util.ArrayDeque].add(String)'
      Src: io.undertow.attribute.QueryParameterAttribute:67,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.attribute.QueryParameterAttribute:68,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].put(String,java.util.ArrayDeque)'
      Src: io.undertow.attribute.QueryParameterAttribute:68,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.attribute.QueryParameterAttribute:69,1
    - Dst: '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.attribute.QueryParameterAttribute:69,1
    - Dst: '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>,String)'
      Src: io.undertow.attribute.QueryParameterAttribute:69,1
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(String)'
      Src: io.undertow.attribute.QueryParameterAttribute:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: '[io.undertow.attribute.QueryParameterAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryParameterAttribute.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayDeque].add(String)'
    - '[java.util.ArrayDeque].<init>()'
    - '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>,String)'
    - '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setQueryString(String)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].put(String,java.util.ArrayDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.QueryParameterAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.attribute.QueryParameterAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryParameterAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.QueryParameterAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.attribute.QueryParameterAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryParameterAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.QueryParameterAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.QueryParameterAttribute.Builder:86,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.QueryParameterAttribute.Builder:86,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.QueryParameterAttribute.Builder:87,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.attribute.QueryParameterAttribute.Builder:87,1
    - Dst: '[io.undertow.attribute.QueryParameterAttribute].<init>(io.undertow.attribute.QueryParameterAttribute.Builder)'
      Src: io.undertow.attribute.QueryParameterAttribute.Builder:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: '[io.undertow.attribute.QueryParameterAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryParameterAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QueryParameterAttribute].<init>(io.undertow.attribute.QueryParameterAttribute.Builder)'
    - '[String].length()'
    - '[String].endsWith(String)'
    - '[String].substring(int,int)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.QueryParameterAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.attribute.QueryParameterAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryParameterAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.QueryParameterAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.QueryParameterAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.QueryParameterAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryParameterAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.QueryParameterAttribute.Builder
    signature: '[io.undertow.attribute.QueryParameterAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.attribute.QuotingExchangeAttribute:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttributeWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.QuotingExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchangeAttribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QuotingExchangeAttribute.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.QuotingExchangeAttribute
    signature: '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.attribute.QuotingExchangeAttribute:42,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.attribute.QuotingExchangeAttribute:44,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.attribute.QuotingExchangeAttribute:44,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.QuotingExchangeAttribute:49,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.attribute.QuotingExchangeAttribute:49,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.attribute.QuotingExchangeAttribute:50,1
    - Dst: '[String].replaceAll(String,String)'
      Src: io.undertow.attribute.QuotingExchangeAttribute:52,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute].append(io.undertow.attribute.QuotingExchangeAttribute)'
      Src: io.undertow.attribute.QuotingExchangeAttribute:50,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute].append(char)'
      Src: io.undertow.attribute.QuotingExchangeAttribute:50,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.QuotingExchangeAttribute:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttributeWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: '[io.undertow.attribute.QuotingExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QuotingExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[String].replaceAll(String,String)'
    - '[String].equals(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute].append(char)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    - '[String].isEmpty()'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.attribute.QuotingExchangeAttribute].append(io.undertow.attribute.QuotingExchangeAttribute)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.QuotingExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>()'
      Src: io.undertow.attribute.QuotingExchangeAttribute:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttributeWrapper
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.attribute.QuotingExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QuotingExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.QuotingExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.attribute.QuotingExchangeAttribute:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttributeWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.QuotingExchangeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QuotingExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.QuotingExchangeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.QuotingExchangeAttribute.Wrapper:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].wrap(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QuotingExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].wrap(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.QuotingExchangeAttribute.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QuotingExchangeAttribute.java
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.QuotingExchangeAttribute.Wrapper
    signature: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttribute.java
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[io.undertow.attribute.ExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttribute.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ExchangeAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttribute.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.NullAttribute].<init>()'
      Src: io.undertow.attribute.NullAttribute:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.NullAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.NullAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.NullAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/NullAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.NullAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.NullAttribute
    signature: '[io.undertow.attribute.NullAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.NullAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.attribute.NullAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/NullAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.NullAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.NullAttribute:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.NullAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.NullAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/NullAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.NullAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.NullAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.NullAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/NullAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.NullAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.NullAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/NullAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.NullAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.NullAttribute.Builder)'
      Src: io.undertow.attribute.NullAttribute.Builder:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.NullAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/NullAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.NullAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.NullAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.NullAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/NullAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.NullAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.NullAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.NullAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/NullAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.NullAttribute.Builder
    signature: '[io.undertow.attribute.NullAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RequestSchemeAttribute].<init>()'
      Src: io.undertow.attribute.RequestSchemeAttribute:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RequestSchemeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.attribute.RequestSchemeAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestSchemeAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RequestSchemeAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RequestSchemeAttribute
    signature: '[io.undertow.attribute.RequestSchemeAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.attribute.RequestSchemeAttribute:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.attribute.RequestSchemeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestSchemeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestSchemeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.attribute.RequestSchemeAttribute:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.attribute.RequestSchemeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestSchemeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RequestSchemeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.attribute.RequestSchemeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestSchemeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestSchemeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.attribute.RequestSchemeAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestSchemeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestSchemeAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RequestSchemeAttribute.Builder)'
      Src: io.undertow.attribute.RequestSchemeAttribute.Builder:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.RequestSchemeAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestSchemeAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RequestSchemeAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RequestSchemeAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.attribute.RequestSchemeAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestSchemeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RequestSchemeAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestSchemeAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RequestSchemeAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestSchemeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestSchemeAttribute.Builder
    signature: '[io.undertow.attribute.RequestSchemeAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RequestMethodAttribute].<init>()'
      Src: io.undertow.attribute.RequestMethodAttribute:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RequestMethodAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.RequestMethodAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestMethodAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RequestMethodAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RequestMethodAttribute
    signature: '[io.undertow.attribute.RequestMethodAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.attribute.RequestMethodAttribute:41,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.attribute.RequestMethodAttribute:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.attribute.RequestMethodAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestMethodAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestMethodAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.RequestMethodAttribute:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.RequestMethodAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestMethodAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RequestMethodAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.RequestMethodAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestMethodAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestMethodAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.RequestMethodAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestMethodAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestMethodAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RequestMethodAttribute.Builder)'
      Src: io.undertow.attribute.RequestMethodAttribute.Builder:63,1
    - Dst: '[String].equals(io.undertow.attribute.RequestMethodAttribute.Builder)'
      Src: io.undertow.attribute.RequestMethodAttribute.Builder:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.RequestMethodAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestMethodAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RequestMethodAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RequestMethodAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.RequestMethodAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestMethodAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RequestMethodAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestMethodAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RequestMethodAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestMethodAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestMethodAttribute.Builder
    signature: '[io.undertow.attribute.RequestMethodAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.SslSessionIdAttribute:34,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.attribute.SslSessionIdAttribute:34,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSessionId()'
      Src: io.undertow.attribute.SslSessionIdAttribute:35,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSessionId()'
      Src: io.undertow.attribute.SslSessionIdAttribute:38,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexString(byte[])'
      Src: io.undertow.attribute.SslSessionIdAttribute:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslSessionIdAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.SslSessionIdAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslSessionIdAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[io.undertow.server.SSLSessionInfo].getSessionId()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.util.HexConverter].convertToHexString(byte[])'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslSessionIdAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.SslSessionIdAttribute:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslSessionIdAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.attribute.SslSessionIdAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslSessionIdAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.SslSessionIdAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslSessionIdAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.attribute.SslSessionIdAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslSessionIdAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslSessionIdAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SslSessionIdAttribute].<init>()'
      Src: io.undertow.attribute.SslSessionIdAttribute:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslSessionIdAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SslSessionIdAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SslSessionIdAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslSessionIdAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SslSessionIdAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.SslSessionIdAttribute
    signature: '[io.undertow.attribute.SslSessionIdAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.attribute.SslSessionIdAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslSessionIdAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslSessionIdAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.attribute.SslSessionIdAttribute.Builder:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: '[io.undertow.attribute.SslSessionIdAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslSessionIdAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.SslSessionIdAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.attribute.SslSessionIdAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslSessionIdAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.SslSessionIdAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SslSessionIdAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SslSessionIdAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslSessionIdAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.SslSessionIdAttribute.Builder
    signature: '[io.undertow.attribute.SslSessionIdAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ResolvedPathAttribute].<init>()'
      Src: io.undertow.attribute.ResolvedPathAttribute:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ResolvedPathAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.attribute.ResolvedPathAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResolvedPathAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.ResolvedPathAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.ResolvedPathAttribute
    signature: '[io.undertow.attribute.ResolvedPathAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.attribute.ResolvedPathAttribute:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.ResolvedPathAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResolvedPathAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResolvedPath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResolvedPathAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
      Src: io.undertow.attribute.ResolvedPathAttribute:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.attribute.ResolvedPathAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResolvedPathAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ResolvedPathAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.attribute.ResolvedPathAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResolvedPathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResolvedPathAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.attribute.ResolvedPathAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResolvedPathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResolvedPathAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.ResolvedPathAttribute.Builder)'
      Src: io.undertow.attribute.ResolvedPathAttribute.Builder:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.attribute.ResolvedPathAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResolvedPathAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.ResolvedPathAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ResolvedPathAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.ResolvedPathAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResolvedPathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.ResolvedPathAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResolvedPathAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ResolvedPathAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResolvedPathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ResolvedPathAttribute.Builder
    signature: '[io.undertow.attribute.ResolvedPathAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].<init>()'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RemoteObfuscatedIPAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteObfuscatedIPAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RemoteObfuscatedIPAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RemoteObfuscatedIPAttribute
    signature: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute:45,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute:46,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute:50,1
    - Dst: '[io.undertow.server.ServerConnection].getPeerAddress()'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute:50,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute:50,1
    - Dst: '[io.undertow.util.NetworkUtils].toObfuscatedString(io.undertow.attribute.RemoteObfuscatedIPAttribute)'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteObfuscatedIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.util.NetworkUtils].toObfuscatedString(io.undertow.attribute.RemoteObfuscatedIPAttribute)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getPeerAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteObfuscatedIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteObfuscatedIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteObfuscatedIPAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteObfuscatedIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder)'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder:77,1
    - Dst: '[String].equals(io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder)'
      Src: io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: '[io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteObfuscatedIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteObfuscatedIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteObfuscatedIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder
    signature: '[io.undertow.attribute.RemoteObfuscatedIPAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.SslCipherAttribute:33,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.attribute.SslCipherAttribute:33,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getCipherSuite()'
      Src: io.undertow.attribute.SslCipherAttribute:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslCipherAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.SslCipherAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslCipherAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.SSLSessionInfo].getCipherSuite()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslCipherAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.SslCipherAttribute:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslCipherAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.attribute.SslCipherAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslCipherAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.SslCipherAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslCipherAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.attribute.SslCipherAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslCipherAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslCipherAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SslCipherAttribute].<init>()'
      Src: io.undertow.attribute.SslCipherAttribute:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.SslCipherAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SslCipherAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SslCipherAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslCipherAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SslCipherAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.SslCipherAttribute
    signature: '[io.undertow.attribute.SslCipherAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.attribute.SslCipherAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslCipherAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SslCipherAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.attribute.SslCipherAttribute.Builder:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: '[io.undertow.attribute.SslCipherAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslCipherAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.SslCipherAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.attribute.SslCipherAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslCipherAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.SslCipherAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SslCipherAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SslCipherAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SslCipherAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.SslCipherAttribute.Builder
    signature: '[io.undertow.attribute.SslCipherAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RelativePathAttribute].<init>()'
      Src: io.undertow.attribute.RelativePathAttribute:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RelativePathAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.RelativePathAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RelativePathAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RelativePathAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RelativePathAttribute
    signature: '[io.undertow.attribute.RelativePathAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.attribute.RelativePathAttribute:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.attribute.RelativePathAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RelativePathAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RelativePathAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.attribute.RelativePathAttribute:47,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.attribute.RelativePathAttribute:49,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.attribute.RelativePathAttribute:50,1
    - Dst: requestURI.contains(String)
      Src: io.undertow.attribute.RelativePathAttribute:51,1
    - Dst: requestURI.replaceAll(String,String)
      Src: io.undertow.attribute.RelativePathAttribute:56,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:56,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:60,1
    - Dst: '[String].substring(int,io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:63,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.attribute.RelativePathAttribute:64,1
    - Dst: requestURI.contains(String)
      Src: io.undertow.attribute.RelativePathAttribute:65,1
    - Dst: requestURI.replaceAll(String,String)
      Src: io.undertow.attribute.RelativePathAttribute:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:68,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:70,1
    - Dst: '[String].substring(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:72,1
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.attribute.RelativePathAttribute)'
      Src: io.undertow.attribute.RelativePathAttribute:73,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.attribute.RelativePathAttribute:74,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].clear()'
      Src: io.undertow.attribute.RelativePathAttribute:74,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.attribute.RelativePathAttribute:75,1
    - Dst: '[io.undertow.attribute.RelativePathAttribute].substring(int)'
      Src: io.undertow.attribute.RelativePathAttribute:75,1
    - Dst: '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.attribute.RelativePathAttribute:75,1
    - Dst: '[io.undertow.util.QueryParameterUtils].parseQueryString(io.undertow.attribute.RelativePathAttribute,String)'
      Src: io.undertow.attribute.RelativePathAttribute:75,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].putAll(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.attribute.RelativePathAttribute:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: '[io.undertow.attribute.RelativePathAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RelativePathAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.attribute.RelativePathAttribute)'
    - '[String].indexOf(char)'
    - '[io.undertow.attribute.RelativePathAttribute].substring(int)'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.attribute.RelativePathAttribute)'
    - '[String].substring(int,io.undertow.attribute.RelativePathAttribute)'
    - '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.attribute.RelativePathAttribute)'
    - '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
    - requestURI.replaceAll(String,String)
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.util.QueryParameterUtils].parseQueryString(io.undertow.attribute.RelativePathAttribute,String)'
    - requestURI.contains(String)
    - '[java.util.Map<String,java.util.Deque<String>>].clear()'
    - '[String].substring(io.undertow.attribute.RelativePathAttribute)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.attribute.RelativePathAttribute)'
    - '[java.util.Map<String,java.util.Deque<String>>].putAll(java.util.Map<String,java.util.Deque<String>>)'
    - '[io.undertow.server.HttpServerExchange].getResolvedPath()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RelativePathAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.attribute.RelativePathAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RelativePathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RelativePathAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.attribute.RelativePathAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RelativePathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RelativePathAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RelativePathAttribute.Builder)'
      Src: io.undertow.attribute.RelativePathAttribute.Builder:93,1
    - Dst: '[String].equals(io.undertow.attribute.RelativePathAttribute.Builder)'
      Src: io.undertow.attribute.RelativePathAttribute.Builder:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.attribute.RelativePathAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RelativePathAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RelativePathAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RelativePathAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.attribute.RelativePathAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RelativePathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RelativePathAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RelativePathAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RelativePathAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RelativePathAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RelativePathAttribute.Builder
    signature: '[io.undertow.attribute.RelativePathAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.CookieAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookieName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.CookieAttribute].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CookieAttribute.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.CookieAttribute
    signature: '[io.undertow.attribute.CookieAttribute].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.attribute.CookieAttribute:41,1
    - Dst: cookie.getName()
      Src: io.undertow.attribute.CookieAttribute:42,1
    - Dst: '[String].equals(io.undertow.attribute.CookieAttribute)'
      Src: io.undertow.attribute.CookieAttribute:42,1
    - Dst: cookie.getValue()
      Src: io.undertow.attribute.CookieAttribute:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.CookieAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CookieAttribute.java
    functionUses: 0
    functionsReached:
    - cookie.getValue()
    - '[String].equals(io.undertow.attribute.CookieAttribute)'
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - cookie.getName()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.CookieAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.attribute.CookieAttribute:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.attribute.CookieAttribute:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.CookieAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CookieAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.CookieAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.attribute.CookieAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.CookieAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.attribute.CookieAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.CookieAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.CookieAttribute.Builder:68,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.CookieAttribute.Builder:68,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.CookieAttribute.Builder:69,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.attribute.CookieAttribute.Builder:69,1
    - Dst: '[io.undertow.attribute.CookieAttribute].<init>(io.undertow.attribute.CookieAttribute.Builder)'
      Src: io.undertow.attribute.CookieAttribute.Builder:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.CookieAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CookieAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[String].endsWith(String)'
    - '[String].substring(int,int)'
    - '[io.undertow.attribute.CookieAttribute].<init>(io.undertow.attribute.CookieAttribute.Builder)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.CookieAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.attribute.CookieAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.CookieAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.CookieAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.CookieAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.CookieAttribute.Builder
    signature: '[io.undertow.attribute.CookieAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestCookieAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookieName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.RequestCookieAttribute].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestCookieAttribute.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestCookieAttribute
    signature: '[io.undertow.attribute.RequestCookieAttribute].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.attribute.RequestCookieAttribute:41,1
    - Dst: cookie.getName()
      Src: io.undertow.attribute.RequestCookieAttribute:42,1
    - Dst: '[String].equals(io.undertow.attribute.RequestCookieAttribute)'
      Src: io.undertow.attribute.RequestCookieAttribute:42,1
    - Dst: cookie.getValue()
      Src: io.undertow.attribute.RequestCookieAttribute:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.RequestCookieAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestCookieAttribute.java
    functionUses: 0
    functionsReached:
    - cookie.getValue()
    - '[String].equals(io.undertow.attribute.RequestCookieAttribute)'
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - cookie.getName()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestCookieAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.attribute.RequestCookieAttribute:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestCookie(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.attribute.RequestCookieAttribute:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.RequestCookieAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestCookieAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setRequestCookie(io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RequestCookieAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.attribute.RequestCookieAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestCookieAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.attribute.RequestCookieAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestCookieAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(io.undertow.attribute.RequestCookieAttribute.Builder)'
      Src: io.undertow.attribute.RequestCookieAttribute.Builder:68,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.RequestCookieAttribute.Builder:68,1
    - Dst: TOKEN_PREFIX.length()
      Src: io.undertow.attribute.RequestCookieAttribute.Builder:69,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.RequestCookieAttribute.Builder:69,1
    - Dst: '[String].substring(io.undertow.attribute.RequestCookieAttribute.Builder,int)'
      Src: io.undertow.attribute.RequestCookieAttribute.Builder:69,1
    - Dst: '[io.undertow.attribute.RequestCookieAttribute].<init>(io.undertow.attribute.RequestCookieAttribute.Builder)'
      Src: io.undertow.attribute.RequestCookieAttribute.Builder:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.RequestCookieAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestCookieAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].startsWith(io.undertow.attribute.RequestCookieAttribute.Builder)'
    - '[io.undertow.attribute.RequestCookieAttribute].<init>(io.undertow.attribute.RequestCookieAttribute.Builder)'
    - '[String].length()'
    - '[String].endsWith(String)'
    - TOKEN_PREFIX.length()
    - '[String].substring(io.undertow.attribute.RequestCookieAttribute.Builder,int)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RequestCookieAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.attribute.RequestCookieAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RequestCookieAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestCookieAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RequestCookieAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestCookieAttribute.Builder
    signature: '[io.undertow.attribute.RequestCookieAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RequestLineAttribute].<init>()'
      Src: io.undertow.attribute.RequestLineAttribute:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RequestLineAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.RequestLineAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestLineAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RequestLineAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RequestLineAttribute
    signature: '[io.undertow.attribute.RequestLineAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.attribute.RequestLineAttribute:41,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.attribute.RequestLineAttribute:42,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.attribute.RequestLineAttribute:42,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.RequestLineAttribute:41,1
    - Dst: '[io.undertow.attribute.RequestLineAttribute].append(char)'
      Src: io.undertow.attribute.RequestLineAttribute:41,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.attribute.RequestLineAttribute:44,1
    - Dst: '[io.undertow.attribute.RequestLineAttribute].append(String)'
      Src: io.undertow.attribute.RequestLineAttribute:41,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.attribute.RequestLineAttribute:45,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.attribute.RequestLineAttribute:45,1
    - Dst: '[io.undertow.attribute.RequestLineAttribute].append(char)'
      Src: io.undertow.attribute.RequestLineAttribute:46,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.attribute.RequestLineAttribute:47,1
    - Dst: '[io.undertow.attribute.RequestLineAttribute].append(String)'
      Src: io.undertow.attribute.RequestLineAttribute:47,1
    - Dst: '[io.undertow.attribute.RequestLineAttribute].append(char)'
      Src: io.undertow.attribute.RequestLineAttribute:49,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.attribute.RequestLineAttribute:50,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.attribute.RequestLineAttribute:50,1
    - Dst: '[io.undertow.attribute.RequestLineAttribute].append(String)'
      Src: io.undertow.attribute.RequestLineAttribute:49,1
    - Dst: '[io.undertow.attribute.RequestLineAttribute].toString()'
      Src: io.undertow.attribute.RequestLineAttribute:49,1
    - Dst: '[io.undertow.attribute.RequestLineAttribute].toString()'
      Src: io.undertow.attribute.RequestLineAttribute:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.RequestLineAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestLineAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.attribute.RequestLineAttribute].toString()'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[io.undertow.attribute.RequestLineAttribute].append(String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.attribute.RequestLineAttribute].append(char)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[StringBuilder].append(String)'
    - '[String].isEmpty()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestLineAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.RequestLineAttribute:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.attribute.RequestLineAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestLineAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RequestLineAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.RequestLineAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestLineAttribute.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestLineAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.attribute.RequestLineAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestLineAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestLineAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RequestLineAttribute.Builder)'
      Src: io.undertow.attribute.RequestLineAttribute.Builder:73,1
    - Dst: '[String].equals(io.undertow.attribute.RequestLineAttribute.Builder)'
      Src: io.undertow.attribute.RequestLineAttribute.Builder:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: '[io.undertow.attribute.RequestLineAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestLineAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RequestLineAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RequestLineAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.attribute.RequestLineAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestLineAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RequestLineAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestLineAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RequestLineAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestLineAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestLineAttribute.Builder
    signature: '[io.undertow.attribute.RequestLineAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RemoteHostAttribute].<init>()'
      Src: io.undertow.attribute.RemoteHostAttribute:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RemoteHostAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.RemoteHostAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteHostAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RemoteHostAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RemoteHostAttribute
    signature: '[io.undertow.attribute.RemoteHostAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.attribute.RemoteHostAttribute:43,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.attribute.RemoteHostAttribute:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[io.undertow.attribute.RemoteHostAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteHostAttribute.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetSocketAddress].getHostString()'
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteHostAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.RemoteHostAttribute:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.attribute.RemoteHostAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteHostAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RemoteHostAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.attribute.RemoteHostAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteHostAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteHostAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.RemoteHostAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteHostAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteHostAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RemoteHostAttribute.Builder)'
      Src: io.undertow.attribute.RemoteHostAttribute.Builder:66,1
    - Dst: '[String].equals(io.undertow.attribute.RemoteHostAttribute.Builder)'
      Src: io.undertow.attribute.RemoteHostAttribute.Builder:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: '[io.undertow.attribute.RemoteHostAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteHostAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RemoteHostAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RemoteHostAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.attribute.RemoteHostAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteHostAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RemoteHostAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RemoteHostAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RemoteHostAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteHostAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RemoteHostAttribute.Builder
    signature: '[io.undertow.attribute.RemoteHostAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.TransportProtocolAttribute].<init>()'
      Src: io.undertow.attribute.TransportProtocolAttribute:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.TransportProtocolAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.TransportProtocolAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/TransportProtocolAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.TransportProtocolAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.TransportProtocolAttribute
    signature: '[io.undertow.attribute.TransportProtocolAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.TransportProtocolAttribute:42,1
    - Dst: '[io.undertow.server.ServerConnection].getTransportProtocol()'
      Src: io.undertow.attribute.TransportProtocolAttribute:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.attribute.TransportProtocolAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/TransportProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getTransportProtocol()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.TransportProtocolAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.TransportProtocolAttribute:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.attribute.TransportProtocolAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/TransportProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.TransportProtocolAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.attribute.TransportProtocolAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/TransportProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.TransportProtocolAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.attribute.TransportProtocolAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/TransportProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.TransportProtocolAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.TransportProtocolAttribute.Builder)'
      Src: io.undertow.attribute.TransportProtocolAttribute.Builder:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: '[io.undertow.attribute.TransportProtocolAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/TransportProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.TransportProtocolAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.TransportProtocolAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.TransportProtocolAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/TransportProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.TransportProtocolAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.TransportProtocolAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.TransportProtocolAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/TransportProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.TransportProtocolAttribute.Builder
    signature: '[io.undertow.attribute.TransportProtocolAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.LocalPortAttribute].<init>()'
      Src: io.undertow.attribute.LocalPortAttribute:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.LocalPortAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.LocalPortAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalPortAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.LocalPortAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.LocalPortAttribute
    signature: '[io.undertow.attribute.LocalPortAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.LocalPortAttribute:43,1
    - Dst: '[io.undertow.server.ServerConnection].getLocalAddress()'
      Src: io.undertow.attribute.LocalPortAttribute:43,1
    - Dst: localAddress.getPort()
      Src: io.undertow.attribute.LocalPortAttribute:44,1
    - Dst: Integer.toString(io.undertow.attribute.LocalPortAttribute)
      Src: io.undertow.attribute.LocalPortAttribute:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[io.undertow.attribute.LocalPortAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalPortAttribute.java
    functionUses: 0
    functionsReached:
    - Integer.toString(io.undertow.attribute.LocalPortAttribute)
    - localAddress.getPort()
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getLocalAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalPortAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.LocalPortAttribute:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.attribute.LocalPortAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalPortAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.LocalPortAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.attribute.LocalPortAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalPortAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalPortAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.LocalPortAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalPortAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalPortAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.LocalPortAttribute.Builder)'
      Src: io.undertow.attribute.LocalPortAttribute.Builder:66,1
    - Dst: '[String].equals(io.undertow.attribute.LocalPortAttribute.Builder)'
      Src: io.undertow.attribute.LocalPortAttribute.Builder:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: '[io.undertow.attribute.LocalPortAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalPortAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.LocalPortAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.LocalPortAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.attribute.LocalPortAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalPortAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.LocalPortAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.LocalPortAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.LocalPortAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalPortAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.LocalPortAttribute.Builder
    signature: '[io.undertow.attribute.LocalPortAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.PredicateContextAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.attribute.PredicateContextAttribute].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PredicateContextAttribute.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.PredicateContextAttribute
    signature: '[io.undertow.attribute.PredicateContextAttribute].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.attribute.PredicateContextAttribute)'
      Src: io.undertow.attribute.PredicateContextAttribute:39,1
    - Dst: '[io.undertow.attribute.PredicateContextAttribute].get(String)'
      Src: io.undertow.attribute.PredicateContextAttribute:41,1
    - Dst: '[io.undertow.attribute.PredicateContextAttribute].toString()'
      Src: io.undertow.attribute.PredicateContextAttribute:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: '[io.undertow.attribute.PredicateContextAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PredicateContextAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.PredicateContextAttribute].toString()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.attribute.PredicateContextAttribute)'
    - '[io.undertow.attribute.PredicateContextAttribute].get(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.PredicateContextAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.attribute.PredicateContextAttribute)'
      Src: io.undertow.attribute.PredicateContextAttribute:49,1
    - Dst: '[io.undertow.attribute.PredicateContextAttribute].put(String,String)'
      Src: io.undertow.attribute.PredicateContextAttribute:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: '[io.undertow.attribute.PredicateContextAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PredicateContextAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.PredicateContextAttribute].put(String,String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.attribute.PredicateContextAttribute)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.PredicateContextAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.attribute.PredicateContextAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PredicateContextAttribute.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.PredicateContextAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.attribute.PredicateContextAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PredicateContextAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.PredicateContextAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:69,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:69,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:69,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:70,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:70,1
    - Dst: '[io.undertow.attribute.PredicateContextAttribute].<init>(io.undertow.attribute.PredicateContextAttribute.Builder)'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:70,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:71,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:72,1
    - Dst: '[String].substring(int,io.undertow.attribute.PredicateContextAttribute.Builder)'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:72,1
    - Dst: '[io.undertow.attribute.PredicateContextAttribute].<init>(io.undertow.attribute.PredicateContextAttribute.Builder)'
      Src: io.undertow.attribute.PredicateContextAttribute.Builder:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: '[io.undertow.attribute.PredicateContextAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PredicateContextAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].substring(int,io.undertow.attribute.PredicateContextAttribute.Builder)'
    - '[String].length()'
    - '[String].endsWith(String)'
    - '[io.undertow.attribute.PredicateContextAttribute].<init>(io.undertow.attribute.PredicateContextAttribute.Builder)'
    - '[String].substring(int,int)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.PredicateContextAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.attribute.PredicateContextAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PredicateContextAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.PredicateContextAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.PredicateContextAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.PredicateContextAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PredicateContextAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.PredicateContextAttribute.Builder
    signature: '[io.undertow.attribute.PredicateContextAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResponseCookieAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookieName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.ResponseCookieAttribute].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ResponseCookieAttribute
    signature: '[io.undertow.attribute.ResponseCookieAttribute].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].responseCookies()'
      Src: io.undertow.attribute.ResponseCookieAttribute:41,1
    - Dst: cookie.getName()
      Src: io.undertow.attribute.ResponseCookieAttribute:42,1
    - Dst: '[String].equals(io.undertow.attribute.ResponseCookieAttribute)'
      Src: io.undertow.attribute.ResponseCookieAttribute:42,1
    - Dst: cookie.getValue()
      Src: io.undertow.attribute.ResponseCookieAttribute:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.ResponseCookieAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCookieAttribute.java
    functionUses: 0
    functionsReached:
    - cookie.getValue()
    - '[String].equals(io.undertow.attribute.ResponseCookieAttribute)'
    - '[io.undertow.server.HttpServerExchange].responseCookies()'
    - cookie.getName()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseCookieAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.attribute.ResponseCookieAttribute:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.attribute.ResponseCookieAttribute:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.ResponseCookieAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCookieAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ResponseCookieAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.attribute.ResponseCookieAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseCookieAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.attribute.ResponseCookieAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseCookieAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(io.undertow.attribute.ResponseCookieAttribute.Builder)'
      Src: io.undertow.attribute.ResponseCookieAttribute.Builder:68,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.ResponseCookieAttribute.Builder:68,1
    - Dst: TOKEN_PREFIX.length()
      Src: io.undertow.attribute.ResponseCookieAttribute.Builder:69,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.ResponseCookieAttribute.Builder:69,1
    - Dst: '[String].substring(io.undertow.attribute.ResponseCookieAttribute.Builder,int)'
      Src: io.undertow.attribute.ResponseCookieAttribute.Builder:69,1
    - Dst: '[io.undertow.attribute.ResponseCookieAttribute].<init>(io.undertow.attribute.ResponseCookieAttribute.Builder)'
      Src: io.undertow.attribute.ResponseCookieAttribute.Builder:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.ResponseCookieAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCookieAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].startsWith(io.undertow.attribute.ResponseCookieAttribute.Builder)'
    - '[io.undertow.attribute.ResponseCookieAttribute].<init>(io.undertow.attribute.ResponseCookieAttribute.Builder)'
    - '[String].substring(io.undertow.attribute.ResponseCookieAttribute.Builder,int)'
    - '[String].length()'
    - '[String].endsWith(String)'
    - TOKEN_PREFIX.length()
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ResponseCookieAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.attribute.ResponseCookieAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.ResponseCookieAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResponseCookieAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ResponseCookieAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCookieAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ResponseCookieAttribute.Builder
    signature: '[io.undertow.attribute.ResponseCookieAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RemoteUserAttribute].<init>()'
      Src: io.undertow.attribute.RemoteUserAttribute:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RemoteUserAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.RemoteUserAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteUserAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RemoteUserAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RemoteUserAttribute
    signature: '[io.undertow.attribute.RemoteUserAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.attribute.RemoteUserAttribute:42,1
    - Dst: '[io.undertow.security.api.SecurityContext].isAuthenticated()'
      Src: io.undertow.attribute.RemoteUserAttribute:43,1
    - Dst: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
      Src: io.undertow.attribute.RemoteUserAttribute:46,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.attribute.RemoteUserAttribute:46,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.attribute.RemoteUserAttribute:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.RemoteUserAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteUserAttribute.java
    functionUses: 0
    functionsReached:
    - '[java.security.Principal].getName()'
    - '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.security.api.SecurityContext].isAuthenticated()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteUserAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.RemoteUserAttribute:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.RemoteUserAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteUserAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RemoteUserAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.attribute.RemoteUserAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteUserAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteUserAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.attribute.RemoteUserAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteUserAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RemoteUserAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RemoteUserAttribute.Builder)'
      Src: io.undertow.attribute.RemoteUserAttribute.Builder:68,1
    - Dst: '[String].equals(io.undertow.attribute.RemoteUserAttribute.Builder)'
      Src: io.undertow.attribute.RemoteUserAttribute.Builder:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.RemoteUserAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteUserAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RemoteUserAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RemoteUserAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.attribute.RemoteUserAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteUserAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RemoteUserAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RemoteUserAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RemoteUserAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RemoteUserAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RemoteUserAttribute.Builder
    signature: '[io.undertow.attribute.RemoteUserAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.IdentUsernameAttribute].<init>()'
      Src: io.undertow.attribute.IdentUsernameAttribute:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.IdentUsernameAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.attribute.IdentUsernameAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/IdentUsernameAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.IdentUsernameAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.IdentUsernameAttribute
    signature: '[io.undertow.attribute.IdentUsernameAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.attribute.IdentUsernameAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/IdentUsernameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.IdentUsernameAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.IdentUsernameAttribute:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.attribute.IdentUsernameAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/IdentUsernameAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.IdentUsernameAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.attribute.IdentUsernameAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/IdentUsernameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.IdentUsernameAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.attribute.IdentUsernameAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/IdentUsernameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.IdentUsernameAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.IdentUsernameAttribute.Builder)'
      Src: io.undertow.attribute.IdentUsernameAttribute.Builder:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.IdentUsernameAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/IdentUsernameAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.IdentUsernameAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.IdentUsernameAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.attribute.IdentUsernameAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/IdentUsernameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.IdentUsernameAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.IdentUsernameAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.IdentUsernameAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/IdentUsernameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.IdentUsernameAttribute.Builder
    signature: '[io.undertow.attribute.IdentUsernameAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.BytesSentAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dashIfZero
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesSentAttribute.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.BytesSentAttribute
    signature: '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseBytesSent()'
      Src: io.undertow.attribute.BytesSentAttribute:44,1
    - Dst: Long.toString(long)
      Src: io.undertow.attribute.BytesSentAttribute:45,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseBytesSent()'
      Src: io.undertow.attribute.BytesSentAttribute:47,1
    - Dst: Long.toString(long)
      Src: io.undertow.attribute.BytesSentAttribute:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: '[io.undertow.attribute.BytesSentAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesSentAttribute.java
    functionUses: 0
    functionsReached:
    - Long.toString(long)
    - '[io.undertow.server.HttpServerExchange].getResponseBytesSent()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.BytesSentAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.BytesSentAttribute:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.attribute.BytesSentAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesSentAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.BytesSentAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.BytesSentAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesSentAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.BytesSentAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.BytesSentAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesSentAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.BytesSentAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.BytesSentAttribute.Builder)'
      Src: io.undertow.attribute.BytesSentAttribute.Builder:70,1
    - Dst: '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
      Src: io.undertow.attribute.BytesSentAttribute.Builder:71,1
    - Dst: '[String].equals(io.undertow.attribute.BytesSentAttribute.Builder)'
      Src: io.undertow.attribute.BytesSentAttribute.Builder:73,1
    - Dst: '[String].equals(io.undertow.attribute.BytesSentAttribute.Builder)'
      Src: io.undertow.attribute.BytesSentAttribute.Builder:73,1
    - Dst: '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
      Src: io.undertow.attribute.BytesSentAttribute.Builder:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: '[io.undertow.attribute.BytesSentAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesSentAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
    - '[String].equals(io.undertow.attribute.BytesSentAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.BytesSentAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.attribute.BytesSentAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesSentAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.BytesSentAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.BytesSentAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.BytesSentAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/BytesSentAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.BytesSentAttribute.Builder
    signature: '[io.undertow.attribute.BytesSentAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RequestURLAttribute].<init>()'
      Src: io.undertow.attribute.RequestURLAttribute:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RequestURLAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.attribute.RequestURLAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestURLAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RequestURLAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RequestURLAttribute
    signature: '[io.undertow.attribute.RequestURLAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.attribute.RequestURLAttribute:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.attribute.RequestURLAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestURLAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestURLAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.attribute.RequestURLAttribute:52,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.attribute.RequestURLAttribute:54,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
      Src: io.undertow.attribute.RequestURLAttribute:55,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
      Src: io.undertow.attribute.RequestURLAttribute:56,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
      Src: io.undertow.attribute.RequestURLAttribute:57,1
    - Dst: '[String].substring(int,io.undertow.attribute.RequestURLAttribute)'
      Src: io.undertow.attribute.RequestURLAttribute:59,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.attribute.RequestURLAttribute)'
      Src: io.undertow.attribute.RequestURLAttribute:60,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.attribute.RequestURLAttribute)'
      Src: io.undertow.attribute.RequestURLAttribute:61,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.attribute.RequestURLAttribute)'
      Src: io.undertow.attribute.RequestURLAttribute:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
      Src: io.undertow.attribute.RequestURLAttribute:63,1
    - Dst: '[String].substring(io.undertow.attribute.RequestURLAttribute)'
      Src: io.undertow.attribute.RequestURLAttribute:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.attribute.RequestURLAttribute)'
      Src: io.undertow.attribute.RequestURLAttribute:65,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.attribute.RequestURLAttribute:66,1
    - Dst: '[io.undertow.attribute.RequestURLAttribute].substring(int)'
      Src: io.undertow.attribute.RequestURLAttribute:66,1
    - Dst: '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.attribute.RequestURLAttribute:66,1
    - Dst: '[io.undertow.util.QueryParameterUtils].parseQueryString(io.undertow.attribute.RequestURLAttribute,String)'
      Src: io.undertow.attribute.RequestURLAttribute:66,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].putAll(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.attribute.RequestURLAttribute:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.attribute.RequestURLAttribute)'
      Src: io.undertow.attribute.RequestURLAttribute:69,1
    - Dst: '[io.undertow.attribute.RequestURLAttribute].get(String)'
      Src: io.undertow.attribute.RequestURLAttribute:71,1
    - Dst: trans.overWritten()
      Src: io.undertow.attribute.RequestURLAttribute:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: '[io.undertow.attribute.RequestURLAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestURLAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.attribute.RequestURLAttribute)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.attribute.RequestURLAttribute)'
    - '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
    - '[String].indexOf(char)'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.attribute.RequestURLAttribute)'
    - '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.attribute.RequestURLAttribute)'
    - '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
    - '[String].substring(int,io.undertow.attribute.RequestURLAttribute)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[String].substring(io.undertow.attribute.RequestURLAttribute)'
    - '[io.undertow.attribute.RequestURLAttribute].get(String)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
    - '[io.undertow.attribute.RequestURLAttribute].substring(int)'
    - '[io.undertow.util.QueryParameterUtils].parseQueryString(io.undertow.attribute.RequestURLAttribute,String)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].putAll(java.util.Map<String,java.util.Deque<String>>)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.attribute.RequestURLAttribute)'
    - trans.overWritten()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RequestURLAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.attribute.RequestURLAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestURLAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestURLAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[io.undertow.attribute.RequestURLAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestURLAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestURLAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RequestURLAttribute.Builder)'
      Src: io.undertow.attribute.RequestURLAttribute.Builder:92,1
    - Dst: '[String].equals(io.undertow.attribute.RequestURLAttribute.Builder)'
      Src: io.undertow.attribute.RequestURLAttribute.Builder:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: '[io.undertow.attribute.RequestURLAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestURLAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RequestURLAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RequestURLAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.attribute.RequestURLAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestURLAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RequestURLAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestURLAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RequestURLAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestURLAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestURLAttribute.Builder
    signature: '[io.undertow.attribute.RequestURLAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RequestProtocolAttribute].<init>()'
      Src: io.undertow.attribute.RequestProtocolAttribute:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.RequestProtocolAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.RequestProtocolAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestProtocolAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.RequestProtocolAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.RequestProtocolAttribute
    signature: '[io.undertow.attribute.RequestProtocolAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.attribute.RequestProtocolAttribute:41,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.attribute.RequestProtocolAttribute:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.attribute.RequestProtocolAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.util.HttpString].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestProtocolAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.RequestProtocolAttribute:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.RequestProtocolAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RequestProtocolAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.RequestProtocolAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestProtocolAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.RequestProtocolAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestProtocolAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.RequestProtocolAttribute.Builder)'
      Src: io.undertow.attribute.RequestProtocolAttribute.Builder:63,1
    - Dst: '[String].equals(io.undertow.attribute.RequestProtocolAttribute.Builder)'
      Src: io.undertow.attribute.RequestProtocolAttribute.Builder:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.RequestProtocolAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestProtocolAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.RequestProtocolAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RequestProtocolAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.RequestProtocolAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RequestProtocolAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestProtocolAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RequestProtocolAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestProtocolAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestProtocolAttribute.Builder
    signature: '[io.undertow.attribute.RequestProtocolAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(io.undertow.attribute.ExchangeAttributes)'
      Src: io.undertow.attribute.ExchangeAttributes:39,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].<init>(ClassLoader,io.undertow.attribute.ExchangeAttributes)'
      Src: io.undertow.attribute.ExchangeAttributes:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttributeParser
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - classLoader
    argTypes:
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeParser].<init>(ClassLoader,io.undertow.attribute.ExchangeAttributes)'
    - '[java.util.Arrays].asList(io.undertow.attribute.ExchangeAttributes)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttributeParser
    signature: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.CookieAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributes:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cookieName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.attribute.ExchangeAttributes].cookie(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.CookieAttribute].<init>(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].cookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
      Src: io.undertow.attribute.ExchangeAttributes:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - dashIfZero
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.attribute.ExchangeAttributes].bytesSent(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].bytesSent(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.ExchangeAttributes].dateTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].dateTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.attribute.ExchangeAttributes].localIp()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].localIp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.attribute.ExchangeAttributes].localPort()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].localPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[io.undertow.attribute.ExchangeAttributes].localServerName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].localServerName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.attribute.ExchangeAttributes].queryString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].queryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.ExchangeAttributes].relativePath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].relativePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.attribute.ExchangeAttributes].remoteIp()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].remoteIp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[io.undertow.attribute.ExchangeAttributes].remoteObfuscatedIp()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].remoteObfuscatedIp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[io.undertow.attribute.ExchangeAttributes].remoteUser()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].remoteUser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.ExchangeAttributes:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '[io.undertow.attribute.ExchangeAttributes].requestHeader(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].requestHeader(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: '[io.undertow.attribute.ExchangeAttributes].requestList()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].requestList()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: '[io.undertow.attribute.ExchangeAttributes].requestMethod()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].requestMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: '[io.undertow.attribute.ExchangeAttributes].requestProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].requestProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: '[io.undertow.attribute.ExchangeAttributes].requestURL()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].requestURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[io.undertow.attribute.ExchangeAttributes].responseCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].responseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.attribute.ExchangeAttributes].responseReasonPhrase()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].responseReasonPhrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.ExchangeAttributes:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.attribute.ExchangeAttributes].responseHeader(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].responseHeader(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '[io.undertow.attribute.ExchangeAttributes].transportProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].transportProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[io.undertow.attribute.ExchangeAttributes].threadName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].threadName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributes:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: '[io.undertow.attribute.ExchangeAttributes].constant(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].constant(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.attribute.ExchangeAttributes:131,1
    - Dst: attributes[i].readAttribute(io.undertow.server.HttpServerExchange)
      Src: io.undertow.attribute.ExchangeAttributes:133,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.ExchangeAttributes)'
      Src: io.undertow.attribute.ExchangeAttributes:135,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.ExchangeAttributes:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - ExchangeAttribute[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - attributes
    argTypes:
    - io.undertow.server.HttpServerExchange
    - ExchangeAttribute[]
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: '[io.undertow.attribute.ExchangeAttributes].resolve(io.undertow.server.HttpServerExchange,ExchangeAttribute[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached:
    - attributes[i].readAttribute(io.undertow.server.HttpServerExchange)
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.attribute.ExchangeAttributes)'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ExchangeAttributes].resolve(io.undertow.server.HttpServerExchange,ExchangeAttribute[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttributes
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: '[io.undertow.attribute.ExchangeAttributes].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttributes
    signature: '[io.undertow.attribute.ExchangeAttributes].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: '[io.undertow.attribute.ExchangeAttributes].authenticationType()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributes].authenticationType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.LocalServerNameAttribute].<init>()'
      Src: io.undertow.attribute.LocalServerNameAttribute:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.LocalServerNameAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.LocalServerNameAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalServerNameAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.LocalServerNameAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.LocalServerNameAttribute
    signature: '[io.undertow.attribute.LocalServerNameAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getHostName()'
      Src: io.undertow.attribute.LocalServerNameAttribute:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.attribute.LocalServerNameAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalServerNameAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getHostName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalServerNameAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.LocalServerNameAttribute:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.LocalServerNameAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalServerNameAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.LocalServerNameAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.LocalServerNameAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalServerNameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalServerNameAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.LocalServerNameAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalServerNameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalServerNameAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.LocalServerNameAttribute.Builder)'
      Src: io.undertow.attribute.LocalServerNameAttribute.Builder:63,1
    - Dst: '[String].equals(io.undertow.attribute.LocalServerNameAttribute.Builder)'
      Src: io.undertow.attribute.LocalServerNameAttribute.Builder:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.LocalServerNameAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalServerNameAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.LocalServerNameAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.LocalServerNameAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.LocalServerNameAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalServerNameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.LocalServerNameAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.LocalServerNameAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.LocalServerNameAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalServerNameAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.LocalServerNameAttribute.Builder
    signature: '[io.undertow.attribute.LocalServerNameAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.LocalIPAttribute].<init>()'
      Src: io.undertow.attribute.LocalIPAttribute:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.LocalIPAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.LocalIPAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalIPAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.LocalIPAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.LocalIPAttribute
    signature: '[io.undertow.attribute.LocalIPAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.LocalIPAttribute:43,1
    - Dst: '[io.undertow.server.ServerConnection].getLocalAddress()'
      Src: io.undertow.attribute.LocalIPAttribute:43,1
    - Dst: localAddress.getAddress()
      Src: io.undertow.attribute.LocalIPAttribute:44,1
    - Dst: '[io.undertow.attribute.LocalIPAttribute].getHostAddress()'
      Src: io.undertow.attribute.LocalIPAttribute:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[io.undertow.attribute.LocalIPAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.LocalIPAttribute].getHostAddress()'
    - localAddress.getAddress()
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getLocalAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalIPAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.LocalIPAttribute:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.attribute.LocalIPAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.LocalIPAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.attribute.LocalIPAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalIPAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.LocalIPAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.LocalIPAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.LocalIPAttribute.Builder)'
      Src: io.undertow.attribute.LocalIPAttribute.Builder:66,1
    - Dst: '[String].equals(io.undertow.attribute.LocalIPAttribute.Builder)'
      Src: io.undertow.attribute.LocalIPAttribute.Builder:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: '[io.undertow.attribute.LocalIPAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalIPAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.LocalIPAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.LocalIPAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.attribute.LocalIPAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.LocalIPAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.LocalIPAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.LocalIPAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/LocalIPAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.LocalIPAttribute.Builder
    signature: '[io.undertow.attribute.LocalIPAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestHeaderAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requestHeader
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestHeaderAttribute.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestHeaderAttribute
    signature: '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.attribute.RequestHeaderAttribute:41,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.RequestHeaderAttribute:41,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.attribute.RequestHeaderAttribute:44,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.attribute.RequestHeaderAttribute:45,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.attribute.RequestHeaderAttribute:47,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.RequestHeaderAttribute:48,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.attribute.RequestHeaderAttribute:49,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.RequestHeaderAttribute:51,1
    - Dst: '[io.undertow.util.HeaderValues].get(io.undertow.attribute.RequestHeaderAttribute)'
      Src: io.undertow.attribute.RequestHeaderAttribute:53,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.RequestHeaderAttribute:53,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.RequestHeaderAttribute:55,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.RequestHeaderAttribute:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: '[io.undertow.attribute.RequestHeaderAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestHeaderAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[io.undertow.util.HeaderValues].get(io.undertow.attribute.RequestHeaderAttribute)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[StringBuilder].toString()'
    - '[io.undertow.util.HeaderValues].size()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestHeaderAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.attribute.RequestHeaderAttribute:61,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.attribute.RequestHeaderAttribute:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.RequestHeaderAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestHeaderAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.RequestHeaderAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.RequestHeaderAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestHeaderAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestHeaderAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.attribute.RequestHeaderAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestHeaderAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.RequestHeaderAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.RequestHeaderAttribute.Builder:78,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.RequestHeaderAttribute.Builder:78,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.RequestHeaderAttribute.Builder:79,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.attribute.RequestHeaderAttribute.Builder:79,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(io.undertow.attribute.RequestHeaderAttribute.Builder)'
      Src: io.undertow.attribute.RequestHeaderAttribute.Builder:79,1
    - Dst: '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.RequestHeaderAttribute.Builder:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: '[io.undertow.attribute.RequestHeaderAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestHeaderAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
    - '[String].length()'
    - '[String].endsWith(String)'
    - '[io.undertow.util.HttpString].tryFromString(io.undertow.attribute.RequestHeaderAttribute.Builder)'
    - '[String].substring(int,int)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.RequestHeaderAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[io.undertow.attribute.RequestHeaderAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestHeaderAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.RequestHeaderAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.RequestHeaderAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.RequestHeaderAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/RequestHeaderAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.RequestHeaderAttribute.Builder
    signature: '[io.undertow.attribute.RequestHeaderAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.PathParameterAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.PathParameterAttribute].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PathParameterAttribute.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.PathParameterAttribute
    signature: '[io.undertow.attribute.PathParameterAttribute].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.attribute.PathParameterAttribute:42,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.attribute.PathParameterAttribute:42,1
    - Dst: '[io.undertow.attribute.PathParameterAttribute].isEmpty()'
      Src: io.undertow.attribute.PathParameterAttribute:45,1
    - Dst: '[io.undertow.attribute.PathParameterAttribute].size()'
      Src: io.undertow.attribute.PathParameterAttribute:47,1
    - Dst: '[io.undertow.attribute.PathParameterAttribute].getFirst()'
      Src: io.undertow.attribute.PathParameterAttribute:48,1
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.attribute.PathParameterAttribute:50,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.PathParameterAttribute)'
      Src: io.undertow.attribute.PathParameterAttribute:53,1
    - Dst: '[io.undertow.attribute.PathParameterAttribute].size()'
      Src: io.undertow.attribute.PathParameterAttribute:54,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.PathParameterAttribute:55,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.PathParameterAttribute:58,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.PathParameterAttribute:59,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: '[io.undertow.attribute.PathParameterAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PathParameterAttribute.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.attribute.PathParameterAttribute)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.attribute.PathParameterAttribute].size()'
    - '[io.undertow.attribute.PathParameterAttribute].isEmpty()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.attribute.PathParameterAttribute].getFirst()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.PathParameterAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.attribute.PathParameterAttribute:65,1
    - Dst: '[java.util.ArrayDeque].add(String)'
      Src: io.undertow.attribute.PathParameterAttribute:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.attribute.PathParameterAttribute:67,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].put(String,java.util.ArrayDeque)'
      Src: io.undertow.attribute.PathParameterAttribute:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '[io.undertow.attribute.PathParameterAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PathParameterAttribute.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayDeque].<init>()'
    - '[java.util.ArrayDeque].add(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].put(String,java.util.ArrayDeque)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.PathParameterAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.PathParameterAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PathParameterAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.PathParameterAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.attribute.PathParameterAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PathParameterAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.PathParameterAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.PathParameterAttribute.Builder:84,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.PathParameterAttribute.Builder:84,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.PathParameterAttribute.Builder:85,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.attribute.PathParameterAttribute.Builder:85,1
    - Dst: '[io.undertow.attribute.PathParameterAttribute].<init>(io.undertow.attribute.PathParameterAttribute.Builder)'
      Src: io.undertow.attribute.PathParameterAttribute.Builder:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: '[io.undertow.attribute.PathParameterAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PathParameterAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.PathParameterAttribute].<init>(io.undertow.attribute.PathParameterAttribute.Builder)'
    - '[String].length()'
    - '[String].endsWith(String)'
    - '[String].substring(int,int)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.PathParameterAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.attribute.PathParameterAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PathParameterAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.PathParameterAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.PathParameterAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.PathParameterAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/PathParameterAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.PathParameterAttribute.Builder
    signature: '[io.undertow.attribute.PathParameterAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QueryStringAttribute].<init>(boolean)'
      Src: io.undertow.attribute.QueryStringAttribute:37,1
    - Dst: '[io.undertow.attribute.QueryStringAttribute].<init>(boolean)'
      Src: io.undertow.attribute.QueryStringAttribute:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.QueryStringAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - includeQuestionMark
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.attribute.QueryStringAttribute].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryStringAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.QueryStringAttribute].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.attribute.QueryStringAttribute
    signature: '[io.undertow.attribute.QueryStringAttribute].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.attribute.QueryStringAttribute:48,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.attribute.QueryStringAttribute:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: '[io.undertow.attribute.QueryStringAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryStringAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].isEmpty()'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.QueryStringAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(String)'
      Src: io.undertow.attribute.QueryStringAttribute:57,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.attribute.QueryStringAttribute:60,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.attribute.QueryStringAttribute:60,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
      Src: io.undertow.attribute.QueryStringAttribute:64,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.attribute.QueryStringAttribute:65,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.attribute.QueryStringAttribute:66,1
    - Dst: '[io.undertow.util.URLUtils].decode(String,io.undertow.attribute.QueryStringAttribute,io.undertow.attribute.QueryStringAttribute,StringBuilder)'
      Src: io.undertow.attribute.QueryStringAttribute:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
      Src: io.undertow.attribute.QueryStringAttribute:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: '[io.undertow.attribute.QueryStringAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryStringAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].setQueryString(String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.URLUtils].decode(String,io.undertow.attribute.QueryStringAttribute,io.undertow.attribute.QueryStringAttribute,StringBuilder)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.QueryStringAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: '[io.undertow.attribute.QueryStringAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryStringAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.QueryStringAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.attribute.QueryStringAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryStringAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.QueryStringAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.QueryStringAttribute.Builder)'
      Src: io.undertow.attribute.QueryStringAttribute.Builder:88,1
    - Dst: '[String].equals(io.undertow.attribute.QueryStringAttribute.Builder)'
      Src: io.undertow.attribute.QueryStringAttribute.Builder:88,1
    - Dst: '[String].equals(io.undertow.attribute.QueryStringAttribute.Builder)'
      Src: io.undertow.attribute.QueryStringAttribute.Builder:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: '[io.undertow.attribute.QueryStringAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryStringAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.QueryStringAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.QueryStringAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.attribute.QueryStringAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryStringAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.QueryStringAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.QueryStringAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.QueryStringAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/QueryStringAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.QueryStringAttribute.Builder
    signature: '[io.undertow.attribute.QueryStringAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ResponseReasonPhraseAttribute].<init>()'
      Src: io.undertow.attribute.ResponseReasonPhraseAttribute:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ResponseReasonPhraseAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.attribute.ResponseReasonPhraseAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseReasonPhraseAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.ResponseReasonPhraseAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.ResponseReasonPhraseAttribute
    signature: '[io.undertow.attribute.ResponseReasonPhraseAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.attribute.ResponseReasonPhraseAttribute:42,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(int)'
      Src: io.undertow.attribute.ResponseReasonPhraseAttribute:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.attribute.ResponseReasonPhraseAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseReasonPhraseAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.util.StatusCodes].getReason(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseReasonPhraseAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
      Src: io.undertow.attribute.ResponseReasonPhraseAttribute:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.attribute.ResponseReasonPhraseAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseReasonPhraseAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ResponseReasonPhraseAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.attribute.ResponseReasonPhraseAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseReasonPhraseAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseReasonPhraseAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.attribute.ResponseReasonPhraseAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseReasonPhraseAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseReasonPhraseAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.ResponseReasonPhraseAttribute.Builder)'
      Src: io.undertow.attribute.ResponseReasonPhraseAttribute.Builder:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: '[io.undertow.attribute.ResponseReasonPhraseAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseReasonPhraseAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.ResponseReasonPhraseAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ResponseReasonPhraseAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.attribute.ResponseReasonPhraseAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseReasonPhraseAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.ResponseReasonPhraseAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResponseReasonPhraseAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ResponseReasonPhraseAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseReasonPhraseAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ResponseReasonPhraseAttribute.Builder
    signature: '[io.undertow.attribute.ResponseReasonPhraseAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ResponseCodeAttribute].<init>()'
      Src: io.undertow.attribute.ResponseCodeAttribute:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ResponseCodeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.ResponseCodeAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCodeAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.ResponseCodeAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.ResponseCodeAttribute
    signature: '[io.undertow.attribute.ResponseCodeAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.attribute.ResponseCodeAttribute:41,1
    - Dst: Integer.toString(int)
      Src: io.undertow.attribute.ResponseCodeAttribute:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.attribute.ResponseCodeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCodeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - Integer.toString(int)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseCodeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.parseInt(String)
      Src: io.undertow.attribute.ResponseCodeAttribute:46,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(io.undertow.attribute.ResponseCodeAttribute)'
      Src: io.undertow.attribute.ResponseCodeAttribute:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.attribute.ResponseCodeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCodeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(io.undertow.attribute.ResponseCodeAttribute)'
    - Integer.parseInt(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ResponseCodeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.attribute.ResponseCodeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCodeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseCodeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.attribute.ResponseCodeAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCodeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseCodeAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.ResponseCodeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseCodeAttribute.Builder:63,1
    - Dst: '[String].equals(io.undertow.attribute.ResponseCodeAttribute.Builder)'
      Src: io.undertow.attribute.ResponseCodeAttribute.Builder:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.ResponseCodeAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCodeAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.ResponseCodeAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ResponseCodeAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.attribute.ResponseCodeAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCodeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.ResponseCodeAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResponseCodeAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ResponseCodeAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseCodeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ResponseCodeAttribute.Builder
    signature: '[io.undertow.attribute.ResponseCodeAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.StoredResponse].<init>()'
      Src: io.undertow.attribute.StoredResponse:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.StoredResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.StoredResponse].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.StoredResponse].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.StoredResponse
    signature: '[io.undertow.attribute.StoredResponse].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<byte[]>)'
      Src: io.undertow.attribute.StoredResponse:43,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.attribute.StoredResponse:47,1
    - Dst: '[io.undertow.attribute.StoredResponse].extractCharset(io.undertow.util.HeaderMap)'
      Src: io.undertow.attribute.StoredResponse:47,1
    - Dst: '[String].<init>(io.undertow.attribute.StoredResponse,String)'
      Src: io.undertow.attribute.StoredResponse:52,1
    - Dst: '[io.undertow.attribute.StoredResponse].debugf(io.undertow.attribute.StoredResponse,String,String)'
      Src: io.undertow.attribute.StoredResponse:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: '[io.undertow.attribute.StoredResponse].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.StoredResponse].extractCharset(io.undertow.util.HeaderMap)'
    - '[String].<init>(io.undertow.attribute.StoredResponse,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<byte[]>)'
    - '[io.undertow.attribute.StoredResponse].debugf(io.undertow.attribute.StoredResponse,String,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.StoredResponse].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.StoredResponse:59,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.attribute.StoredResponse:61,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.StoredResponse:66,1
    - Dst: StandardCharsets.ISO_8859_1.displayName()
      Src: io.undertow.attribute.StoredResponse:67,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.attribute.StoredResponse:71,1
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.attribute.StoredResponse:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: '[io.undertow.attribute.StoredResponse].extractCharset(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[String].equals(String)'
    - StandardCharsets.UTF_8.name()
    - StandardCharsets.ISO_8859_1.displayName()
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.StoredResponse].extractCharset(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.StoredResponse:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.attribute.StoredResponse].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.StoredResponse].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.attribute.StoredResponse].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.StoredResponse].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.attribute.StoredResponse.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.StoredResponse.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.attribute.StoredResponse.Builder:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: '[io.undertow.attribute.StoredResponse.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.StoredResponse.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[io.undertow.attribute.StoredResponse.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.StoredResponse.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.StoredResponse.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.StoredResponse.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/StoredResponse.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.StoredResponse.Builder
    signature: '[io.undertow.attribute.StoredResponse.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttributeWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SubstituteEmptyWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - substitute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: '[io.undertow.attribute.SubstituteEmptyWrapper].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SubstituteEmptyWrapper.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.SubstituteEmptyWrapper
    signature: '[io.undertow.attribute.SubstituteEmptyWrapper].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.attribute.SubstituteEmptyWrapper:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttributeWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: '[io.undertow.attribute.SubstituteEmptyWrapper].wrap(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SubstituteEmptyWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.SubstituteEmptyWrapper].wrap(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - attribute
    - substitute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    - String
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SubstituteEmptyWrapper.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute
    signature: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute:32,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SubstituteEmptyWrapper.java
    functionUses: 0
    functionsReached:
    - '[String].isEmpty()'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute
      - String
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SubstituteEmptyWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ServiceLoader].load(ClassLoader)'
      Src: io.undertow.attribute.ExchangeAttributeParser:46,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeParser:47,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:49,1
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeParser:52,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
      Src: io.undertow.attribute.ExchangeAttributeParser:52,1
    - Dst: '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
      Src: io.undertow.attribute.ExchangeAttributeParser:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      - java.util.List<io.undertow.attribute.ExchangeAttributeWrapper>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.attribute.ExchangeAttributeBuilder>
      - java.util.List<io.undertow.attribute.ExchangeAttributeWrapper>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttributeParser
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - classLoader
    - wrappers
    argTypes:
    - ClassLoader
    - java.util.List<io.undertow.attribute.ExchangeAttributeWrapper>
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: '[io.undertow.attribute.ExchangeAttributeParser].<init>(ClassLoader,java.util.List<io.undertow.attribute.ExchangeAttributeWrapper>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
    - '[java.util.Comparator].<init>()'
    - '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttributeParser)'
    - '[java.util.ServiceLoader].load(ClassLoader)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttributeParser
    signature: '[io.undertow.attribute.ExchangeAttributeParser].<init>(ClassLoader,java.util.List<io.undertow.attribute.ExchangeAttributeWrapper>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.attribute.ExchangeAttributeParser:75,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.ExchangeAttributeParser:79,1
    - Dst: '[String].charAt(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:80,1
    - Dst: '[String].substring(io.undertow.attribute.ExchangeAttributeParser,io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:85,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:85,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:85,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:85,1
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeParser:102,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ConstantExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:102,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:102,1
    - Dst: '[String].substring(io.undertow.attribute.ExchangeAttributeParser,int)'
      Src: io.undertow.attribute.ExchangeAttributeParser:106,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:106,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:106,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:106,1
    - Dst: '[String].substring(io.undertow.attribute.ExchangeAttributeParser,int)'
      Src: io.undertow.attribute.ExchangeAttributeParser:118,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:118,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:118,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:118,1
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeParser:131,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ConstantExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:131,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:131,1
    - Dst: '[String].substring(io.undertow.attribute.ExchangeAttributeParser,int)'
      Src: io.undertow.attribute.ExchangeAttributeParser:135,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:135,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:135,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:135,1
    - Dst: '[String].substring(io.undertow.attribute.ExchangeAttributeParser,int)'
      Src: io.undertow.attribute.ExchangeAttributeParser:145,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:145,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:145,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:145,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].mismatchedBraces(String)'
      Src: io.undertow.attribute.ExchangeAttributeParser:157,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.ExchangeAttributeParser:159,1
    - Dst: '[String].substring(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:160,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:160,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:160,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.attribute.ExchangeAttributeParser:160,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.attribute.ExchangeAttributeParser:162,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: io.undertow.attribute.ExchangeAttributeParser:163,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.attribute.ExchangeAttributeParser:165,1
    - Dst: '[io.undertow.attribute.CompositeExchangeAttribute].<init>(io.undertow.attribute.ExchangeAttributeParser)'
      Src: io.undertow.attribute.ExchangeAttributeParser:165,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 97
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.attribute.ExchangeAttributeBuilder>
      - java.util.List<io.undertow.attribute.ExchangeAttributeWrapper>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - valueString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 166
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 166
    functionName: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeParser.java
    functionUses: 13
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(io.undertow.attribute.ExchangeAttributeParser)'
    - '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
    - '[java.util.ArrayList].get(int)'
    - '[String].substring(io.undertow.attribute.ExchangeAttributeParser,io.undertow.attribute.ExchangeAttributeParser)'
    - '[java.util.ArrayList].toArray()'
    - '[io.undertow.attribute.CompositeExchangeAttribute].<init>(io.undertow.attribute.ExchangeAttributeParser)'
    - '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ConstantExchangeAttribute)'
    - '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
    - '[String].substring(io.undertow.attribute.ExchangeAttributeParser,int)'
    - '[String].length()'
    - '[io.undertow.attribute.ExchangeAttributeParser].mismatchedBraces(String)'
    - '[String].charAt(io.undertow.attribute.ExchangeAttributeParser)'
    - '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
    - '[java.util.ArrayList].<init>()'
    - '[String].substring(io.undertow.attribute.ExchangeAttributeParser)'
    - '[java.util.ArrayList].size()'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: builder.build(String)
      Src: io.undertow.attribute.ExchangeAttributeParser:170,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.ExchangeAttributeParser:175,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].unknownVariable(String)'
      Src: io.undertow.attribute.ExchangeAttributeParser:176,1
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
      Src: io.undertow.attribute.ExchangeAttributeParser:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.attribute.ExchangeAttributeBuilder>
      - java.util.List<io.undertow.attribute.ExchangeAttributeWrapper>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeParser.java
    functionUses: 4
    functionsReached:
    - builder.build(String)
    - '[io.undertow.attribute.ExchangeAttributeParser].unknownVariable(String)'
    - '[String].startsWith(String)'
    - '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: w.wrap(io.undertow.attribute.ExchangeAttributeParser)
      Src: io.undertow.attribute.ExchangeAttributeParser:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.attribute.ExchangeAttributeBuilder>
      - java.util.List<io.undertow.attribute.ExchangeAttributeWrapper>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ExchangeAttributeParser.java
    functionUses: 1
    functionsReached:
    - w.wrap(io.undertow.attribute.ExchangeAttributeParser)
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ExchangeAttributeParser].wrap(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(ExchangeAttribute[],int,io.undertow.attribute.CompositeExchangeAttribute,int,io.undertow.attribute.CompositeExchangeAttribute)
      Src: io.undertow.attribute.CompositeExchangeAttribute:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ExchangeAttribute[]
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.CompositeExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ExchangeAttribute[]
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '[io.undertow.attribute.CompositeExchangeAttribute].<init>(ExchangeAttribute[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CompositeExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(ExchangeAttribute[],int,io.undertow.attribute.CompositeExchangeAttribute,int,io.undertow.attribute.CompositeExchangeAttribute)
    linkageType: ''
    returnType: io.undertow.attribute.CompositeExchangeAttribute
    signature: '[io.undertow.attribute.CompositeExchangeAttribute].<init>(ExchangeAttribute[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.attribute.CompositeExchangeAttribute:40,1
    - Dst: attributes[i].readAttribute(io.undertow.server.HttpServerExchange)
      Src: io.undertow.attribute.CompositeExchangeAttribute:42,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.CompositeExchangeAttribute)'
      Src: io.undertow.attribute.CompositeExchangeAttribute:44,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.CompositeExchangeAttribute:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: '[io.undertow.attribute.CompositeExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CompositeExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - attributes[i].readAttribute(io.undertow.server.HttpServerExchange)
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.attribute.CompositeExchangeAttribute)'
    - '[StringBuilder].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.CompositeExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.CompositeExchangeAttribute:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute[]
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.attribute.CompositeExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CompositeExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.CompositeExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.attribute.CompositeExchangeAttribute:57,1
    - Dst: attributes[i].toString()
      Src: io.undertow.attribute.CompositeExchangeAttribute:59,1
    - Dst: '[StringBuilder].append(io.undertow.attribute.CompositeExchangeAttribute)'
      Src: io.undertow.attribute.CompositeExchangeAttribute:59,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.CompositeExchangeAttribute:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.CompositeExchangeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/CompositeExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.attribute.CompositeExchangeAttribute)'
    - attributes[i].toString()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.CompositeExchangeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResponseHeaderAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseHeader
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseHeaderAttribute.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ResponseHeaderAttribute
    signature: '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.attribute.ResponseHeaderAttribute:41,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.ResponseHeaderAttribute:41,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.attribute.ResponseHeaderAttribute:44,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.attribute.ResponseHeaderAttribute:45,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.attribute.ResponseHeaderAttribute:47,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.ResponseHeaderAttribute:48,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.attribute.ResponseHeaderAttribute:49,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.ResponseHeaderAttribute:51,1
    - Dst: '[io.undertow.util.HeaderValues].get(io.undertow.attribute.ResponseHeaderAttribute)'
      Src: io.undertow.attribute.ResponseHeaderAttribute:53,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.ResponseHeaderAttribute:53,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.attribute.ResponseHeaderAttribute:55,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.attribute.ResponseHeaderAttribute:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: '[io.undertow.attribute.ResponseHeaderAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseHeaderAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].get(io.undertow.attribute.ResponseHeaderAttribute)'
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[StringBuilder].toString()'
    - '[io.undertow.util.HeaderValues].size()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseHeaderAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.attribute.ResponseHeaderAttribute:61,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.attribute.ResponseHeaderAttribute:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.attribute.ResponseHeaderAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseHeaderAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.ResponseHeaderAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.attribute.ResponseHeaderAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseHeaderAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseHeaderAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.attribute.ResponseHeaderAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseHeaderAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.ResponseHeaderAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.attribute.ResponseHeaderAttribute.Builder:78,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.attribute.ResponseHeaderAttribute.Builder:78,1
    - Dst: '[String].length()'
      Src: io.undertow.attribute.ResponseHeaderAttribute.Builder:79,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.attribute.ResponseHeaderAttribute.Builder:79,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(io.undertow.attribute.ResponseHeaderAttribute.Builder)'
      Src: io.undertow.attribute.ResponseHeaderAttribute.Builder:79,1
    - Dst: '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.attribute.ResponseHeaderAttribute.Builder:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: '[io.undertow.attribute.ResponseHeaderAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseHeaderAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
    - '[String].length()'
    - '[String].endsWith(String)'
    - '[io.undertow.util.HttpString].tryFromString(io.undertow.attribute.ResponseHeaderAttribute.Builder)'
    - '[String].substring(int,int)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.ResponseHeaderAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[io.undertow.attribute.ResponseHeaderAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseHeaderAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.ResponseHeaderAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ResponseHeaderAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.ResponseHeaderAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/ResponseHeaderAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ResponseHeaderAttribute.Builder
    signature: '[io.undertow.attribute.ResponseHeaderAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isSecure()'
      Src: io.undertow.attribute.SecureExchangeAttribute:35,1
    - Dst: Boolean.toString(boolean)
      Src: io.undertow.attribute.SecureExchangeAttribute:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.attribute.SecureExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].isSecure()'
    - Boolean.toString(boolean)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SecureExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Boolean.parseBoolean(String)
      Src: io.undertow.attribute.SecureExchangeAttribute:40,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,io.undertow.attribute.SecureExchangeAttribute)'
      Src: io.undertow.attribute.SecureExchangeAttribute:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.attribute.SecureExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,io.undertow.attribute.SecureExchangeAttribute)'
    - Boolean.parseBoolean(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.SecureExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.attribute.SecureExchangeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SecureExchangeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureExchangeAttribute].<init>()'
      Src: io.undertow.attribute.SecureExchangeAttribute:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SecureExchangeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SecureExchangeAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureExchangeAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SecureExchangeAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.SecureExchangeAttribute
    signature: '[io.undertow.attribute.SecureExchangeAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.attribute.SecureExchangeAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.SecureExchangeAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.SecureExchangeAttribute.Builder)'
      Src: io.undertow.attribute.SecureExchangeAttribute.Builder:57,1
    - Dst: '[String].equals(io.undertow.attribute.SecureExchangeAttribute.Builder)'
      Src: io.undertow.attribute.SecureExchangeAttribute.Builder:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: '[io.undertow.attribute.SecureExchangeAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.SecureExchangeAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.SecureExchangeAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.attribute.SecureExchangeAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.SecureExchangeAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.SecureExchangeAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.SecureExchangeAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/SecureExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.SecureExchangeAttribute.Builder
    signature: '[io.undertow.attribute.SecureExchangeAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.attribute.AuthenticationTypeExchangeAttribute:34,1
    - Dst: '[io.undertow.security.api.SecurityContext].getMechanismName()'
      Src: io.undertow.attribute.AuthenticationTypeExchangeAttribute:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/AuthenticationTypeExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.security.api.SecurityContext].getMechanismName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
      Src: io.undertow.attribute.AuthenticationTypeExchangeAttribute:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.attribute.ReadOnlyAttributeException
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newValue
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/AuthenticationTypeExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ReadOnlyAttributeException].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/AuthenticationTypeExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].<init>()'
      Src: io.undertow.attribute.AuthenticationTypeExchangeAttribute:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.attribute.ExchangeAttribute
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.AuthenticationTypeExchangeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/AuthenticationTypeExchangeAttribute.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].<init>()'
    linkageType: ''
    returnType: io.undertow.attribute.AuthenticationTypeExchangeAttribute
    signature: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/AuthenticationTypeExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder)'
      Src: io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder].build(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/AuthenticationTypeExchangeAttribute.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder].build(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/AuthenticationTypeExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeAttributeBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/attribute/AuthenticationTypeExchangeAttribute.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder
    signature: '[io.undertow.attribute.AuthenticationTypeExchangeAttribute.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketConnectionCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.websockets.WebSocketConnectionCallback
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 14
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:84,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:85,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:85,1
    - Dst: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:86,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version08.Hybi08Handshake)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:86,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:87,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - next
    argTypes:
    - io.undertow.websockets.WebSocketConnectionCallback
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.HashSet].<init>()'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>()'
    - '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version08.Hybi08Handshake)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>()'
    - '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.websockets.WebSocketConnectionCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handshakes
    - callback
    argTypes:
    - java.util.Collection<io.undertow.websockets.core.protocol.Handshake>
    - io.undertow.websockets.WebSocketConnectionCallback
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.WebSocketConnectionCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.WebSocketConnectionCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.HashSet].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.websockets.WebSocketConnectionCallback
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - handshakes
    - callback
    - next
    argTypes:
    - java.util.Collection<io.undertow.websockets.core.protocol.Handshake>
    - io.undertow.websockets.WebSocketConnectionCallback
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.HashSet].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.websockets.WebSocketConnectionCallback,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:136,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:137,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:137,1
    - Dst: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:138,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version08.Hybi08Handshake)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:138,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:139,1
    - Dst: '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - next
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.server.HttpUpgradeListener,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.HashSet].<init>()'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>()'
    - '[java.util.HashSet].add(io.undertow.websockets.core.protocol.version08.Hybi08Handshake)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>()'
    - '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(io.undertow.server.HttpUpgradeListener,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handshakes
    - callback
    argTypes:
    - java.util.Collection<io.undertow.websockets.core.protocol.Handshake>
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.ResponseCodeHandler)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:59,1
    - Dst: '[java.util.HashSet].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - handshakes
    - callback
    - next
    argTypes:
    - java.util.Collection<io.undertow.websockets.core.protocol.Handshake>
    - io.undertow.server.HttpUpgradeListener
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.server.HttpUpgradeListener,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.HashSet].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].<init>(java.util.Collection<io.undertow.websockets.core.protocol.Handshake>,io.undertow.server.HttpUpgradeListener,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:173,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:173,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:175,1
    - Dst: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].<init>(io.undertow.server.HttpServerExchange,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:178,1
    - Dst: method.matches(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:181,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:188,1
    - Dst: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].debugf(String,io.undertow.websockets.WebSocketProtocolHandshakeHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:190,1
    - Dst: '[io.undertow.server.HttpUpgradeListener].<init>()'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:193,1
    - Dst: '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:193,1
    - Dst: '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:202,1
    - Dst: handshaker.handshake(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 206
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 206
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - method.matches(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)
    - '[io.undertow.server.HttpUpgradeListener].<init>()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].debugf(String,io.undertow.websockets.WebSocketProtocolHandshakeHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].<init>(io.undertow.server.HttpServerExchange,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    - handshaker.handshake(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].getPeerConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].getPeerConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshake.addExtension(io.undertow.websockets.extensions.ExtensionHandshake)
      Src: io.undertow.websockets.WebSocketProtocolHandshakeHandler:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.extensions.ExtensionHandshake
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.websockets.core.protocol.Handshake>
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.websockets.WebSocketConnectionCallback
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extension
    argTypes:
    - io.undertow.websockets.extensions.ExtensionHandshake
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.ExtensionHandshake)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketProtocolHandshakeHandler.java
    functionUses: 0
    functionsReached:
    - handshake.addExtension(io.undertow.websockets.extensions.ExtensionHandshake)
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketProtocolHandshakeHandler
    signature: '[io.undertow.websockets.WebSocketProtocolHandshakeHandler].addExtension(io.undertow.websockets.extensions.ExtensionHandshake)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.WebSocketExtension:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketExtension
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.WebSocketExtension].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketExtension
    signature: '[io.undertow.websockets.WebSocketExtension].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(java.util.List<Parameter>)'
      Src: io.undertow.websockets.WebSocketExtension:41,1
    - Dst: '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
      Src: io.undertow.websockets.WebSocketExtension:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<Parameter>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketExtension
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - parameters
    argTypes:
    - String
    - java.util.List<Parameter>
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.WebSocketExtension].<init>(String,java.util.List<Parameter>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
    - '[java.util.ArrayList].<init>(java.util.List<Parameter>)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketExtension
    signature: '[io.undertow.websockets.WebSocketExtension].<init>(String,java.util.List<Parameter>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.WebSocketExtension].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.WebSocketExtension].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<Parameter>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.WebSocketExtension].getParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<Parameter>
    signature: '[io.undertow.websockets.WebSocketExtension].getParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: '[io.undertow.websockets.WebSocketExtension].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.WebSocketExtension].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.websockets.WebSocketExtension:86,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.WebSocketExtension:87,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.WebSocketExtension:89,1
    - Dst: '[String].split(String)'
      Src: io.undertow.websockets.WebSocketExtension:91,1
    - Dst: part.split(String)
      Src: io.undertow.websockets.WebSocketExtension:93,1
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.websockets.WebSocketExtension:95,1
    - Dst: items[0].trim()
      Src: io.undertow.websockets.WebSocketExtension:96,1
    - Dst: items[i].contains(String)
      Src: io.undertow.websockets.WebSocketExtension:101,1
    - Dst: items[i].split(String)
      Src: io.undertow.websockets.WebSocketExtension:102,1
    - Dst: param[0].trim()
      Src: io.undertow.websockets.WebSocketExtension:104,1
    - Dst: param[1].trim()
      Src: io.undertow.websockets.WebSocketExtension:104,1
    - Dst: '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(io.undertow.websockets.WebSocketExtension,io.undertow.websockets.WebSocketExtension)'
      Src: io.undertow.websockets.WebSocketExtension:104,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension.Parameter)'
      Src: io.undertow.websockets.WebSocketExtension:104,1
    - Dst: items[i].trim()
      Src: io.undertow.websockets.WebSocketExtension:107,1
    - Dst: '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(io.undertow.websockets.WebSocketExtension,null)'
      Src: io.undertow.websockets.WebSocketExtension:107,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension.Parameter)'
      Src: io.undertow.websockets.WebSocketExtension:107,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].<init>(io.undertow.websockets.WebSocketExtension,java.util.ArrayList)'
      Src: io.undertow.websockets.WebSocketExtension:110,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension)'
      Src: io.undertow.websockets.WebSocketExtension:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.websockets.WebSocketExtension>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - extensionHeader
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.WebSocketExtension].parse(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension.Parameter)'
    - '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(io.undertow.websockets.WebSocketExtension,null)'
    - '[java.util.Collections].emptyList()'
    - '[String].split(String)'
    - items[i].trim()
    - param[1].trim()
    - '[java.util.ArrayList].<init>(int)'
    - '[java.util.ArrayList].add(io.undertow.websockets.WebSocketExtension)'
    - '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(io.undertow.websockets.WebSocketExtension,io.undertow.websockets.WebSocketExtension)'
    - items[i].contains(String)
    - '[io.undertow.websockets.WebSocketExtension].<init>(io.undertow.websockets.WebSocketExtension,java.util.ArrayList)'
    - '[java.util.ArrayList].<init>()'
    - items[i].split(String)
    - items[0].trim()
    - '[String].isEmpty()'
    - part.split(String)
    - param[0].trim()
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.WebSocketExtension>
    signature: '[io.undertow.websockets.WebSocketExtension].parse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.WebSocketExtension:125,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].size()'
      Src: io.undertow.websockets.WebSocketExtension:126,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].iterator()'
      Src: io.undertow.websockets.WebSocketExtension:127,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].hasNext()'
      Src: io.undertow.websockets.WebSocketExtension:128,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].next()'
      Src: io.undertow.websockets.WebSocketExtension:129,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getName()'
      Src: io.undertow.websockets.WebSocketExtension:130,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.WebSocketExtension:130,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getParameters()'
      Src: io.undertow.websockets.WebSocketExtension:131,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.WebSocketExtension:132,1
    - Dst: param.getName()
      Src: io.undertow.websockets.WebSocketExtension:132,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].append(io.undertow.websockets.WebSocketExtension)'
      Src: io.undertow.websockets.WebSocketExtension:132,1
    - Dst: param.getValue()
      Src: io.undertow.websockets.WebSocketExtension:133,1
    - Dst: param.getValue()
      Src: io.undertow.websockets.WebSocketExtension:133,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].length()'
      Src: io.undertow.websockets.WebSocketExtension:133,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.WebSocketExtension:134,1
    - Dst: param.getValue()
      Src: io.undertow.websockets.WebSocketExtension:134,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].append(io.undertow.websockets.WebSocketExtension)'
      Src: io.undertow.websockets.WebSocketExtension:134,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].hasNext()'
      Src: io.undertow.websockets.WebSocketExtension:137,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.WebSocketExtension:138,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.WebSocketExtension:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.List<Parameter>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - extensions
    argTypes:
    - java.util.List<io.undertow.websockets.WebSocketExtension>
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: '[io.undertow.websockets.WebSocketExtension].toExtensionHeader(java.util.List<io.undertow.websockets.WebSocketExtension>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.WebSocketExtension].next()'
    - '[io.undertow.websockets.WebSocketExtension].hasNext()'
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].size()'
    - param.getName()
    - '[StringBuilder].<init>()'
    - '[io.undertow.websockets.WebSocketExtension].getName()'
    - '[io.undertow.websockets.WebSocketExtension].length()'
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].iterator()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.websockets.WebSocketExtension].getParameters()'
    - '[io.undertow.websockets.WebSocketExtension].append(io.undertow.websockets.WebSocketExtension)'
    - param.getValue()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.WebSocketExtension].toExtensionHeader(java.util.List<io.undertow.websockets.WebSocketExtension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketExtension.Parameter
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketExtension.Parameter
    signature: '[io.undertow.websockets.WebSocketExtension.Parameter].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.WebSocketExtension.Parameter].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.WebSocketExtension.Parameter].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.WebSocketExtension.Parameter].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.WebSocketExtension.Parameter].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.WebSocketExtension.Parameter].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketExtension.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.WebSocketExtension.Parameter].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - channel
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[io.undertow.websockets.WebSocketConnectionCallback].onConnect(io.undertow.websockets.spi.WebSocketHttpExchange,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketConnectionCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.WebSocketConnectionCallback].onConnect(io.undertow.websockets.spi.WebSocketHttpExchange,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketConnectionCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/WebSocketConnectionCallback.java
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketConnectionCallback
    signature: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketInvalidCloseCodeException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
    signature: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
      Src: io.undertow.websockets.core.WebSocketInvalidCloseCodeException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 2
    argNames:
    - msg
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketInvalidCloseCodeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
    signature: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(String)'
      Src: io.undertow.websockets.core.WebSocketInvalidCloseCodeException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 1
    argNames:
    - msg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketInvalidCloseCodeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
    signature: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
      Src: io.undertow.websockets.core.WebSocketInvalidCloseCodeException:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketInvalidCloseCodeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
    signature: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.core.WebSocketChannel:81,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.HashMap)'
      Src: io.undertow.websockets.core.WebSocketChannel:81,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].messageCloseWebSocket()'
      Src: io.undertow.websockets.core.WebSocketChannel:90,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:90,1
    - Dst: '[io.undertow.websockets.core.WebSocketFramePriority].<init>()'
      Src: io.undertow.websockets.core.WebSocketChannel:104,1
    - Dst: '[Object].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.WebSocketFramePriority,null,org.xnio.OptionMap)'
      Src: io.undertow.websockets.core.WebSocketChannel:104,1
    - Dst: '[io.undertow.websockets.extensions.ExtensionFunction].hasExtensionOpCode()'
      Src: io.undertow.websockets.core.WebSocketChannel:110,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxReadFrames()'
      Src: io.undertow.websockets.core.WebSocketChannel:113,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
      Src: io.undertow.websockets.core.WebSocketChannel:115,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.websockets.core.WebSocketChannel:117,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setOption(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:117,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].failedToSetWSTimeout(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:119,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
      Src: io.undertow.websockets.core.WebSocketChannel:122,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.websockets.core.WebSocketChannel:124,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setOption(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:124,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].failedToSetWSTimeout(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:126,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.core.WebSocketChannel:129,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].addCloseTask(org.xnio.ChannelListener)'
      Src: io.undertow.websockets.core.WebSocketChannel:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - WebSocketVersion
      - String
      - String
      - boolean
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - org.xnio.OptionMap
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: Object
    argCount: 10
    argNames:
    - connectedStreamChannel
    - bufferPool
    - version
    - wsUrl
    - subProtocol
    - client
    - extensionsSupported
    - extensionFunction
    - peerConnections
    - options
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - WebSocketVersion
    - String
    - String
    - boolean
    - boolean
    - io.undertow.websockets.extensions.ExtensionFunction
    - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: '[io.undertow.websockets.core.WebSocketChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,WebSocketVersion,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.ExtensionFunction].hasExtensionOpCode()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getMaxReadFrames()'
    - '[java.util.HashMap].<init>()'
    - '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
    - '[io.undertow.websockets.core.WebSocketFramePriority].<init>()'
    - '[io.undertow.websockets.core.WebSocketChannel].addCloseTask(org.xnio.ChannelListener)'
    - '[java.util.Collections].synchronizedMap(java.util.HashMap)'
    - '[io.undertow.websockets.core.WebSocketChannel].setOption(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.WebSocketChannel].failedToSetWSTimeout(io.undertow.websockets.core.WebSocketChannel)'
    - '[Object].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.WebSocketFramePriority,null,org.xnio.OptionMap)'
    - '[io.undertow.websockets.core.WebSocketChannel].messageCloseWebSocket()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.core.WebSocketChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,WebSocketVersion,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.websockets.core.WebSocketChannel:141,1
    - Dst: '[java.util.Collections].singleton(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSinkFrameChannel>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getReceivers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    - '[java.util.Collections].singleton(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSinkFrameChannel>>
    signature: '[io.undertow.websockets.core.WebSocketChannel].getReceivers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
      Src: io.undertow.websockets.core.WebSocketChannel:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.IdleTimeoutConduit
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connectedStreamChannel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: '[io.undertow.websockets.core.WebSocketChannel].createIdleTimeoutChannel(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
    linkageType: ''
    returnType: io.undertow.conduits.IdleTimeoutConduit
    signature: '[io.undertow.websockets.core.WebSocketChannel].createIdleTimeoutChannel(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: '[io.undertow.websockets.core.WebSocketChannel].isLastFrameSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].isLastFrameSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: '[io.undertow.websockets.core.WebSocketChannel].isLastFrameReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].isLastFrameReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].markReadsBroken(Throwable)'
      Src: io.undertow.websockets.core.WebSocketChannel:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached:
    - '[Object].markReadsBroken(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].sendClose()'
      Src: io.undertow.websockets.core.WebSocketChannel:179,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.websockets.core.WebSocketChannel:181,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getReceiveSetter()'
      Src: io.undertow.websockets.core.WebSocketChannel:183,1
    - Dst: '[org.xnio.ChannelListener.SimpleSetter<io.undertow.websockets.core.WebSocketChannel>].get()'
      Src: io.undertow.websockets.core.WebSocketChannel:183,1
    - Dst: abstractReceiveListener.onCloseMessage(io.undertow.websockets.core.CloseMessage)
      Src: io.undertow.websockets.core.WebSocketChannel:187,1
    - Dst: e.printStackTrace()
      Src: io.undertow.websockets.core.WebSocketChannel:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: '[io.undertow.websockets.core.WebSocketChannel].lastDataRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener.SimpleSetter<io.undertow.websockets.core.WebSocketChannel>].get()'
    - abstractReceiveListener.onCloseMessage(io.undertow.websockets.core.CloseMessage)
    - '[org.xnio.IoUtils].safeClose()'
    - e.printStackTrace()
    - '[io.undertow.websockets.core.WebSocketChannel].getReceiveSetter()'
    - '[io.undertow.websockets.core.WebSocketChannel].sendClose()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketChannel].lastDataRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].isReadsBroken()'
      Src: io.undertow.websockets.core.WebSocketChannel:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: '[io.undertow.websockets.core.WebSocketChannel].isReadsBroken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[Object].isReadsBroken()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].isReadsBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].receiveFrame()'
      Src: io.undertow.websockets.core.WebSocketChannel:202,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].handle(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.WebSocketChannel:205,1
    - Dst: e.getMessage()
      Src: io.undertow.websockets.core.WebSocketChannel:209,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:209,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
      Src: io.undertow.websockets.core.WebSocketChannel:209,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,null)'
      Src: io.undertow.websockets.core.WebSocketChannel:209,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:210,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isDebugEnabled()'
      Src: io.undertow.websockets.core.WebSocketChannel:211,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].debugf(io.undertow.websockets.core.WebSocketChannel,String)'
      Src: io.undertow.websockets.core.WebSocketChannel:212,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:215,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].isDone()'
      Src: io.undertow.websockets.core.WebSocketChannel:217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.FrameHeaderData
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 223
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 223
    functionName: '[io.undertow.websockets.core.WebSocketChannel].parseFrame(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].handle(java.nio.ByteBuffer)'
    - '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
    - '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,null)'
    - '[io.undertow.websockets.core.WebSocketChannel].debugf(io.undertow.websockets.core.WebSocketChannel,String)'
    - '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].isDone()'
    - '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.WebSocketChannel].receiveFrame()'
    - e.getMessage()
    - '[io.undertow.websockets.core.WebSocketChannel].isDebugEnabled()'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.FrameHeaderData
    signature: '[io.undertow.websockets.core.WebSocketChannel].parseFrame(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PartialFrame
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '[io.undertow.websockets.core.WebSocketChannel].receiveFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PartialFrame
    signature: '[io.undertow.websockets.core.WebSocketChannel].receiveFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].getChannel(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.core.WebSocketChannel:238,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketChannel:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSourceFrameChannel
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frameHeaderData
    - frameData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 246
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 246
    functionName: '[io.undertow.websockets.core.WebSocketChannel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].getChannel(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.websockets.core.WebSocketChannel].getType()'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSourceFrameChannel
    signature: '[io.undertow.websockets.core.WebSocketChannel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].remove(String)'
      Src: io.undertow.websockets.core.WebSocketChannel:250,1
    - Dst: '[java.util.Map<String,Object>].put(String,Object)'
      Src: io.undertow.websockets.core.WebSocketChannel:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Object
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: '[io.undertow.websockets.core.WebSocketChannel].setAttribute(String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].put(String,Object)'
    - '[java.util.Map<String,Object>].remove(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].setAttribute(String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.websockets.core.WebSocketChannel:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getAttribute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.core.WebSocketChannel].getAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: '[io.undertow.websockets.core.WebSocketChannel].areExtensionsSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].areExtensionsSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getFramePriority()'
      Src: io.undertow.websockets.core.WebSocketChannel:270,1
    - Dst: '[io.undertow.websockets.core.WebSocketFramePriority].immediateCloseFrame()'
      Src: io.undertow.websockets.core.WebSocketChannel:270,1
    - Dst: '[Throwable].getMessage()'
      Src: io.undertow.websockets.core.WebSocketChannel:271,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:271,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
      Src: io.undertow.websockets.core.WebSocketChannel:271,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,null)'
      Src: io.undertow.websockets.core.WebSocketChannel:271,1
    - Dst: '[Throwable].getMessage()'
      Src: io.undertow.websockets.core.WebSocketChannel:273,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:273,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
      Src: io.undertow.websockets.core.WebSocketChannel:273,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,null)'
      Src: io.undertow.websockets.core.WebSocketChannel:273,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getFramePriority()'
      Src: io.undertow.websockets.core.WebSocketChannel:275,1
    - Dst: '[io.undertow.websockets.core.WebSocketFramePriority].immediateCloseFrame()'
      Src: io.undertow.websockets.core.WebSocketChannel:275,1
    - Dst: '[Throwable].getMessage()'
      Src: io.undertow.websockets.core.WebSocketChannel:276,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:276,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
      Src: io.undertow.websockets.core.WebSocketChannel:276,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,null)'
      Src: io.undertow.websockets.core.WebSocketChannel:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: '[io.undertow.websockets.core.WebSocketChannel].handleBrokenSourceChannel(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketFramePriority].immediateCloseFrame()'
    - '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,null)'
    - '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
    - '[io.undertow.websockets.core.WebSocketChannel].getFramePriority()'
    - '[Throwable].getMessage()'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketChannel].handleBrokenSourceChannel(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: '[io.undertow.websockets.core.WebSocketChannel].handleBrokenSinkChannel(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketChannel].handleBrokenSinkChannel(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.websockets.core.WebSocketChannel:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getSubProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.websockets.core.WebSocketChannel].getSubProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getSubProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketChannel].getSubProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getUrl()'
      Src: io.undertow.websockets.core.WebSocketChannel:311,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.websockets.core.WebSocketChannel:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getRequestScheme()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getUrl()'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketChannel].getRequestScheme()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getRequestScheme()'
      Src: io.undertow.websockets.core.WebSocketChannel:322,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.core.WebSocketChannel:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: '[io.undertow.websockets.core.WebSocketChannel].isSecure()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getRequestScheme()'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getUrl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketChannel].getUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: WebSocketVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getVersion()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: WebSocketVersion
    signature: '[io.undertow.websockets.core.WebSocketChannel].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getPeerAddress()'
      Src: io.undertow.websockets.core.WebSocketChannel:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getSourceAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getPeerAddress()'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.websockets.core.WebSocketChannel].getSourceAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getLocalAddress()'
      Src: io.undertow.websockets.core.WebSocketChannel:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getDestinationAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getLocalAddress()'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.websockets.core.WebSocketChannel].getDestinationAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: '[io.undertow.websockets.core.WebSocketChannel].isClient()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].isClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].channelClosed()'
      Src: io.undertow.websockets.core.WebSocketChannel:374,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isWritesBroken()'
      Src: io.undertow.websockets.core.WebSocketChannel:376,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].streamIsBroken()'
      Src: io.undertow.websockets.core.WebSocketChannel:377,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].createStreamSinkChannel(WebSocketFrameType)'
      Src: io.undertow.websockets.core.WebSocketChannel:381,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getFramePriority()'
      Src: io.undertow.websockets.core.WebSocketChannel:382,1
    - Dst: '[io.undertow.websockets.core.WebSocketFramePriority].addToOrderQueue(io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - WebSocketFrameType
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.StreamSinkFrameChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - WebSocketFrameType
    constantsTouched: []
    func_position:
      end: 387
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 387
    functionName: '[io.undertow.websockets.core.WebSocketChannel].send(WebSocketFrameType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].isWritesBroken()'
    - '[io.undertow.websockets.core.WebSocketChannel].createStreamSinkChannel(WebSocketFrameType)'
    - '[io.undertow.websockets.core.WebSocketChannel].channelClosed()'
    - '[io.undertow.websockets.core.WebSocketChannel].streamIsBroken()'
    - '[io.undertow.websockets.core.WebSocketChannel].getFramePriority()'
    - '[io.undertow.websockets.core.WebSocketFramePriority].addToOrderQueue(io.undertow.websockets.core.StreamSinkFrameChannel)'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSinkFrameChannel
    signature: '[io.undertow.websockets.core.WebSocketChannel].send(WebSocketFrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].send(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:395,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].shutdownWrites()'
      Src: io.undertow.websockets.core.WebSocketChannel:396,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].flush()'
      Src: io.undertow.websockets.core.WebSocketChannel:397,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getWriteSetter()'
      Src: io.undertow.websockets.core.WebSocketChannel:398,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.websockets.core.WebSocketChannel:399,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.websockets.core.WebSocketChannel:398,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].set(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSocketChannel:398,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].resumeWrites()'
      Src: io.undertow.websockets.core.WebSocketChannel:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 408
    functionName: '[io.undertow.websockets.core.WebSocketChannel].sendClose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].shutdownWrites()'
    - '[io.undertow.websockets.core.WebSocketChannel].set(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].resumeWrites()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getWriteSetter()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].flush()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.websockets.core.WebSocketChannel].send(io.undertow.websockets.core.WebSocketChannel)'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketChannel].sendClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - WebSocketFrameType
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSinkFrameChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - WebSocketFrameType
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: '[io.undertow.websockets.core.WebSocketChannel].createStreamSinkChannel(WebSocketFrameType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSinkFrameChannel
    signature: '[io.undertow.websockets.core.WebSocketChannel].createStreamSinkChannel(WebSocketFrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].getFramePriority()'
      Src: io.undertow.websockets.core.WebSocketChannel:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFramePriority
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getFramePriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 2
    functionsReached:
    - '[Object].getFramePriority()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFramePriority
    signature: '[io.undertow.websockets.core.WebSocketChannel].getFramePriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
      Src: io.undertow.websockets.core.WebSocketChannel:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 4
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
    linkageType: ''
    returnType: java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.core.WebSocketChannel].getPeerConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: '[io.undertow.websockets.core.WebSocketChannel].isCloseInitiatedByRemotePeer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel].isCloseInitiatedByRemotePeer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getCloseReason()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketChannel].getCloseReason()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - closeReason
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: '[io.undertow.websockets.core.WebSocketChannel].setCloseReason(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketChannel].setCloseReason(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getCloseCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.WebSocketChannel].getCloseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - closeCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: '[io.undertow.websockets.core.WebSocketChannel].setCloseCode(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketChannel].setCloseCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      - WebSocketVersion
      - String
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - boolean
      - int
      - PartialFrame
      - java.util.Map<String,Object>
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - io.undertow.websockets.core.CloseMessage
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.ExtensionFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: '[io.undertow.websockets.core.WebSocketChannel].getExtensionFunction()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.ExtensionFunction
    signature: '[io.undertow.websockets.core.WebSocketChannel].getExtensionFunction()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSourceFrameChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].getChannel(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSourceFrameChannel
    signature: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].getChannel(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.websockets.core.WebSocketException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].handle(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].handle(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].isDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].isDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel.PartialFrame
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel.PartialFrame
    signature: '[io.undertow.websockets.core.WebSocketChannel.PartialFrame].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.UTF8Output].<init>()'
      Src: io.undertow.websockets.core.BufferedTextMessage:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - boolean
      - long
      - boolean
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.BufferedTextMessage
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - maxMessageSize
    - bufferFullMessage
    argTypes:
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.core.BufferedTextMessage].<init>(long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedTextMessage.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.UTF8Output].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.core.BufferedTextMessage
    signature: '[io.undertow.websockets.core.BufferedTextMessage].<init>(long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.UTF8Output].<init>()'
      Src: io.undertow.websockets.core.BufferedTextMessage:34,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].<init>(boolean)'
      Src: io.undertow.websockets.core.BufferedTextMessage:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - boolean
      - long
      - boolean
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.BufferedTextMessage
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bufferFullMessage
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.websockets.core.BufferedTextMessage].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedTextMessage.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.UTF8Output].<init>()'
    - '[io.undertow.websockets.core.BufferedTextMessage].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.core.BufferedTextMessage
    signature: '[io.undertow.websockets.core.BufferedTextMessage].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].messageToBig(long)'
      Src: io.undertow.websockets.core.BufferedTextMessage:59,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:59,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedTextMessage:59,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.core.BufferedTextMessage:59,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].messageToBig(long)'
      Src: io.undertow.websockets.core.BufferedTextMessage:60,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - boolean
      - long
      - boolean
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - res
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.core.BufferedTextMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedTextMessage.java
    functionUses: 2
    functionsReached:
    - '[java.io.IOException].<init>(io.undertow.websockets.core.BufferedTextMessage)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.core.BufferedTextMessage].messageToBig(long)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.BufferedTextMessage)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedTextMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedTextMessage:65,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.core.BufferedTextMessage:65,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].allocate()'
      Src: io.undertow.websockets.core.BufferedTextMessage:65,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].getBuffer()'
      Src: io.undertow.websockets.core.BufferedTextMessage:66,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:69,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].flip()'
      Src: io.undertow.websockets.core.BufferedTextMessage:71,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:72,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].awaitReadable()'
      Src: io.undertow.websockets.core.BufferedTextMessage:76,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
      Src: io.undertow.websockets.core.BufferedTextMessage:78,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].hasRemaining()'
      Src: io.undertow.websockets.core.BufferedTextMessage:79,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].flip()'
      Src: io.undertow.websockets.core.BufferedTextMessage:80,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:81,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].compact()'
      Src: io.undertow.websockets.core.BufferedTextMessage:82,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].close()'
      Src: io.undertow.websockets.core.BufferedTextMessage:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - boolean
      - long
      - boolean
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: '[io.undertow.websockets.core.BufferedTextMessage].readBlocking(io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedTextMessage.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferedTextMessage].allocate()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].awaitReadable()'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].read(io.undertow.websockets.core.BufferedTextMessage)'
    - '[io.undertow.websockets.core.BufferedTextMessage].hasRemaining()'
    - '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.BufferedTextMessage)'
    - '[io.undertow.websockets.core.BufferedTextMessage].close()'
    - '[io.undertow.websockets.core.BufferedTextMessage].getBuffer()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    - '[io.undertow.websockets.core.BufferedTextMessage].flip()'
    - '[io.undertow.websockets.core.BufferedTextMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
    - '[io.undertow.websockets.core.BufferedTextMessage].compact()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedTextMessage].readBlocking(io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedTextMessage:95,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.core.BufferedTextMessage:95,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].allocate()'
      Src: io.undertow.websockets.core.BufferedTextMessage:95,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].getBuffer()'
      Src: io.undertow.websockets.core.BufferedTextMessage:96,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:100,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
      Src: io.undertow.websockets.core.BufferedTextMessage:101,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].flip()'
      Src: io.undertow.websockets.core.BufferedTextMessage:104,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:105,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedTextMessage:106,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>].complete(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.BufferedTextMessage:106,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].flip()'
      Src: io.undertow.websockets.core.BufferedTextMessage:109,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].hasRemaining()'
      Src: io.undertow.websockets.core.BufferedTextMessage:110,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:111,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedTextMessage:113,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>].complete(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.BufferedTextMessage:113,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadSetter()'
      Src: io.undertow.websockets.core.BufferedTextMessage:116,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.core.BufferedTextMessage:116,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].set(org.xnio.ChannelListener)'
      Src: io.undertow.websockets.core.BufferedTextMessage:116,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].resumeReads()'
      Src: io.undertow.websockets.core.BufferedTextMessage:166,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].hasRemaining()'
      Src: io.undertow.websockets.core.BufferedTextMessage:170,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].flip()'
      Src: io.undertow.websockets.core.BufferedTextMessage:171,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:172,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].clear()'
      Src: io.undertow.websockets.core.BufferedTextMessage:173,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedTextMessage:175,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>].complete(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.BufferedTextMessage:175,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedTextMessage:180,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>].onError(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.BufferedTextMessage:180,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].close()'
      Src: io.undertow.websockets.core.BufferedTextMessage:183,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - boolean
      - long
      - boolean
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - callback
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>
    constantsTouched: []
    func_position:
      end: 185
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 185
    functionName: '[io.undertow.websockets.core.BufferedTextMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedTextMessage.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferedTextMessage].flip()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadSetter()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.core.BufferedTextMessage].allocate()'
    - '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>].complete(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].read(io.undertow.websockets.core.BufferedTextMessage)'
    - '[io.undertow.websockets.core.BufferedTextMessage].hasRemaining()'
    - '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.BufferedTextMessage)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].resumeReads()'
    - '[io.undertow.websockets.core.BufferedTextMessage].clear()'
    - '[io.undertow.websockets.core.BufferedTextMessage].getBuffer()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    - '[io.undertow.websockets.core.BufferedTextMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
    - '[io.undertow.websockets.core.BufferedTextMessage].set(org.xnio.ChannelListener)'
    - '[io.undertow.websockets.core.BufferedTextMessage].close()'
    - '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>].onError(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedTextMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedTextMessage>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.UTF8Output].extract()'
      Src: io.undertow.websockets.core.BufferedTextMessage:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - boolean
      - long
      - boolean
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[io.undertow.websockets.core.BufferedTextMessage].getData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedTextMessage.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.websockets.core.UTF8Output].extract()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.BufferedTextMessage].getData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - boolean
      - long
      - boolean
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: '[io.undertow.websockets.core.BufferedTextMessage].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedTextMessage.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.BufferedTextMessage].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.InvalidOpCodeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: '[io.undertow.websockets.core.InvalidOpCodeException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/InvalidOpCodeException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.InvalidOpCodeException
    signature: '[io.undertow.websockets.core.InvalidOpCodeException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
      Src: io.undertow.websockets.core.InvalidOpCodeException:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.InvalidOpCodeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 2
    argNames:
    - msg
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: '[io.undertow.websockets.core.InvalidOpCodeException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/InvalidOpCodeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.InvalidOpCodeException
    signature: '[io.undertow.websockets.core.InvalidOpCodeException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(String)'
      Src: io.undertow.websockets.core.InvalidOpCodeException:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.InvalidOpCodeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 1
    argNames:
    - msg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.websockets.core.InvalidOpCodeException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/InvalidOpCodeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.websockets.core.InvalidOpCodeException
    signature: '[io.undertow.websockets.core.InvalidOpCodeException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
      Src: io.undertow.websockets.core.InvalidOpCodeException:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.InvalidOpCodeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.core.InvalidOpCodeException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/InvalidOpCodeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.InvalidOpCodeException
    signature: '[io.undertow.websockets.core.InvalidOpCodeException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.BinaryOutputStream
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - sender
    argTypes:
    - io.undertow.websockets.core.StreamSinkFrameChannel
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.core.BinaryOutputStream].<init>(io.undertow.websockets.core.StreamSinkFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BinaryOutputStream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.BinaryOutputStream
    signature: '[io.undertow.websockets.core.BinaryOutputStream].<init>(io.undertow.websockets.core.StreamSinkFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BinaryOutputStream].checkClosed()'
      Src: io.undertow.websockets.core.BinaryOutputStream:43,1
    - Dst: Thread.currentThread()
      Src: io.undertow.websockets.core.BinaryOutputStream:44,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getIoThread()'
      Src: io.undertow.websockets.core.BinaryOutputStream:44,1
    - Dst: '[io.undertow.websockets.core.BinaryOutputStream].awaitCalledFromIoThread()'
      Src: io.undertow.websockets.core.BinaryOutputStream:45,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[],int,int)'
      Src: io.undertow.websockets.core.BinaryOutputStream:47,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(io.undertow.websockets.core.StreamSinkFrameChannel,io.undertow.websockets.core.BinaryOutputStream)'
      Src: io.undertow.websockets.core.BinaryOutputStream:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.core.BinaryOutputStream].write(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BinaryOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BinaryOutputStream].checkClosed()'
    - '[org.xnio.channels.Channels].writeBlocking(io.undertow.websockets.core.StreamSinkFrameChannel,io.undertow.websockets.core.BinaryOutputStream)'
    - '[io.undertow.websockets.core.BinaryOutputStream].awaitCalledFromIoThread()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getIoThread()'
    - Thread.currentThread()
    - '[java.nio.ByteBuffer].wrap(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BinaryOutputStream].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BinaryOutputStream].checkClosed()'
      Src: io.undertow.websockets.core.BinaryOutputStream:52,1
    - Dst: Thread.currentThread()
      Src: io.undertow.websockets.core.BinaryOutputStream:53,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getIoThread()'
      Src: io.undertow.websockets.core.BinaryOutputStream:53,1
    - Dst: '[io.undertow.websockets.core.BinaryOutputStream].awaitCalledFromIoThread()'
      Src: io.undertow.websockets.core.BinaryOutputStream:54,1
    - Dst: '[java.nio.ByteBuffer].wrap()'
      Src: io.undertow.websockets.core.BinaryOutputStream:56,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(io.undertow.websockets.core.StreamSinkFrameChannel,io.undertow.websockets.core.BinaryOutputStream)'
      Src: io.undertow.websockets.core.BinaryOutputStream:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.core.BinaryOutputStream].write(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BinaryOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BinaryOutputStream].checkClosed()'
    - '[org.xnio.channels.Channels].writeBlocking(io.undertow.websockets.core.StreamSinkFrameChannel,io.undertow.websockets.core.BinaryOutputStream)'
    - '[io.undertow.websockets.core.BinaryOutputStream].awaitCalledFromIoThread()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getIoThread()'
    - Thread.currentThread()
    - '[java.nio.ByteBuffer].wrap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BinaryOutputStream].write(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BinaryOutputStream].checkClosed()'
      Src: io.undertow.websockets.core.BinaryOutputStream:61,1
    - Dst: Thread.currentThread()
      Src: io.undertow.websockets.core.BinaryOutputStream:62,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getIoThread()'
      Src: io.undertow.websockets.core.BinaryOutputStream:62,1
    - Dst: '[io.undertow.websockets.core.BinaryOutputStream].awaitCalledFromIoThread()'
      Src: io.undertow.websockets.core.BinaryOutputStream:63,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].flush()'
      Src: io.undertow.websockets.core.BinaryOutputStream:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.core.BinaryOutputStream].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BinaryOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BinaryOutputStream].checkClosed()'
    - '[io.undertow.websockets.core.BinaryOutputStream].awaitCalledFromIoThread()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getIoThread()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].flush()'
    - Thread.currentThread()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BinaryOutputStream].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].shutdownWrites()'
      Src: io.undertow.websockets.core.BinaryOutputStream:72,1
    - Dst: '[org.xnio.channels.Channels].flushBlocking(io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.BinaryOutputStream:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.core.BinaryOutputStream].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BinaryOutputStream.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].shutdownWrites()'
    - '[org.xnio.channels.Channels].flushBlocking(io.undertow.websockets.core.StreamSinkFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BinaryOutputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BinaryOutputStream].streamIsClosed()'
      Src: io.undertow.websockets.core.BinaryOutputStream:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.io.OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '[io.undertow.websockets.core.BinaryOutputStream].checkClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BinaryOutputStream.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.BinaryOutputStream].streamIsClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BinaryOutputStream].checkClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - context
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - T
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '[io.undertow.websockets.core.WebSocketCallback].complete(io.undertow.websockets.core.WebSocketChannel,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketCallback].complete(io.undertow.websockets.core.WebSocketChannel,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - T
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - context
    - throwable
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - T
    - Throwable
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '[io.undertow.websockets.core.WebSocketCallback].onError(io.undertow.websockets.core.WebSocketChannel,T,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketCallback].onError(io.undertow.websockets.core.WebSocketChannel,T,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.WebSocketCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketCallback.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketCallback
    signature: '[io.undertow.websockets.core.WebSocketCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '[io.undertow.websockets.core.WebSocketFrame].isFinalFragment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFrame.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketFrame].isFinalFragment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrame
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.WebSocketFrame].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFrame.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrame
    signature: '[io.undertow.websockets.core.WebSocketFrame].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.core.WebSocketMessages].channelClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages].channelClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.UnsupportedEncodingException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.core.WebSocketMessages].invalidTextFrameEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.UnsupportedEncodingException
    signature: '[io.undertow.websockets.core.WebSocketMessages].invalidTextFrameEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.core.WebSocketMessages].fragmentedControlFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].fragmentedControlFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.core.WebSocketMessages].toBigControlFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].toBigControlFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.core.WebSocketMessages].reservedOpCodeInControlFrame(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].reservedOpCodeInControlFrame(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.core.WebSocketMessages].controlFrameWithPayloadLen1()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].controlFrameWithPayloadLen1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: '[io.undertow.websockets.core.WebSocketMessages].reservedOpCodeInDataFrame(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].reservedOpCodeInDataFrame(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.core.WebSocketMessages].continuationFrameOutsideFragmented()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].continuationFrameOutsideFragmented()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: '[io.undertow.websockets.core.WebSocketMessages].nonContinuationFrameInsideFragmented()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].nonContinuationFrameInsideFragmented()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.core.WebSocketMessages].unsupportedOpCode(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.core.WebSocketMessages].unsupportedOpCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - WebSocketFrameType
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - WebSocketFrameType
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.core.WebSocketMessages].unsupportedFrameType(WebSocketFrameType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.core.WebSocketMessages].unsupportedFrameType(WebSocketFrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rsv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: '[io.undertow.websockets.core.WebSocketMessages].extensionsNotAllowed(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].extensionsNotAllowed(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Collection<String>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketHandshakeException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - requestedSubprotocols
    - subprotocols
    argTypes:
    - String
    - java.util.Collection<String>
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: '[io.undertow.websockets.core.WebSocketMessages].unsupportedProtocol(String,java.util.Collection<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketHandshakeException
    signature: '[io.undertow.websockets.core.WebSocketMessages].unsupportedProtocol(String,java.util.Collection<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - payloadLength
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: '[io.undertow.websockets.core.WebSocketMessages].invalidPayloadLengthForPing(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.core.WebSocketMessages].invalidPayloadLengthForPing(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: UnsupportedOperationException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: '[io.undertow.websockets.core.WebSocketMessages].extensionsNotSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsupportedOperationException
    signature: '[io.undertow.websockets.core.WebSocketMessages].extensionsNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: '[io.undertow.websockets.core.WebSocketMessages].invalidCloseFrameStatusCode(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
    signature: '[io.undertow.websockets.core.WebSocketMessages].invalidCloseFrameStatusCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: '[io.undertow.websockets.core.WebSocketMessages].streamIsBroken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages].streamIsBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: '[io.undertow.websockets.core.WebSocketMessages].frameNotMasked()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages].frameNotMasked()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: '[io.undertow.websockets.core.WebSocketMessages].noWebSocketUpgradeHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages].noWebSocketUpgradeHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: '[io.undertow.websockets.core.WebSocketMessages].noWebSocketConnectionHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages].noWebSocketConnectionHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dKey
    - acceptKey
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: '[io.undertow.websockets.core.WebSocketMessages].webSocketAcceptKeyMismatch(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages].webSocketAcceptKeyMismatch(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxMessageSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: '[io.undertow.websockets.core.WebSocketMessages].messageToBig(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages].messageToBig(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.zip.DataFormatException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - java.util.zip.DataFormatException
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: '[io.undertow.websockets.core.WebSocketMessages].badCompressedPayload(java.util.zip.DataFormatException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages].badCompressedPayload(java.util.zip.DataFormatException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: '[io.undertow.websockets.core.WebSocketMessages].unableToSendOnNewChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.core.WebSocketMessages].unableToSendOnNewChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: '[io.undertow.websockets.core.WebSocketMessages].messageCloseWebSocket()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages].messageCloseWebSocket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxMessageSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: '[io.undertow.websockets.core.WebSocketMessages].bufferExceedsMaximumSize(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages].bufferExceedsMaximumSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fragments
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: '[io.undertow.websockets.core.WebSocketMessages].tooManyFragments(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages].tooManyFragments(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pings
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: '[io.undertow.websockets.core.WebSocketMessages].tooManyPings(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages].tooManyPings(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketMessages
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.WebSocketMessages].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketMessages
    signature: '[io.undertow.websockets.core.WebSocketMessages].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFrameCorruptedException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
      Src: io.undertow.websockets.core.WebSocketFrameCorruptedException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 2
    argNames:
    - msg
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFrameCorruptedException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(String)'
      Src: io.undertow.websockets.core.WebSocketFrameCorruptedException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 1
    argNames:
    - msg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFrameCorruptedException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
      Src: io.undertow.websockets.core.WebSocketFrameCorruptedException:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFrameCorruptedException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - message
    - wsChannel
    - callback
    argTypes:
    - String
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:62,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:62,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - message
    - wsChannel
    - callback
    - context
    argTypes:
    - String
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.websockets.core.WebSockets)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.websockets.core.WebSockets)'
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - message
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - String
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:88,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:88,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - message
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - String
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.websockets.core.WebSockets)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.websockets.core.WebSockets)'
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - message
    - wsChannel
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - message
    - wsChannel
    - callback
    - context
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - message
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - message
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - pooledData
    - wsChannel
    - callback
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pooledData
    - wsChannel
    - callback
    - context
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pooledData
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - pooledData
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendText(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:199,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:199,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - message
    - wsChannel
    argTypes:
    - String
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(String,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    - '[String].getBytes(io.undertow.websockets.core.WebSockets)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.websockets.core.WebSockets)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(String,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - message
    - wsChannel
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - pooledData
    - wsChannel
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendTextBlocking(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - wsChannel
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - context
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - data
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - wsChannel
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - context
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - data
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - pooledData
    - wsChannel
    - callback
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pooledData
    - wsChannel
    - callback
    - context
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pooledData
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - pooledData
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: '[io.undertow.websockets.core.WebSockets].sendPing(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPing(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - wsChannel
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: '[io.undertow.websockets.core.WebSockets].sendPingBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPingBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - wsChannel
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: '[io.undertow.websockets.core.WebSockets].sendPingBlocking(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPingBlocking(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - pooledData
    - wsChannel
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: '[io.undertow.websockets.core.WebSockets].sendPingBlocking(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPingBlocking(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - wsChannel
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - context
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - data
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - wsChannel
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - context
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - data
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - pooledData
    - wsChannel
    - callback
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pooledData
    - wsChannel
    - callback
    - context
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pooledData
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - pooledData
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - wsChannel
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 559
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 559
    functionName: '[io.undertow.websockets.core.WebSockets].sendPongBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPongBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - wsChannel
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: '[io.undertow.websockets.core.WebSockets].sendPongBlocking(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPongBlocking(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - pooledData
    - wsChannel
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: '[io.undertow.websockets.core.WebSockets].sendPongBlocking(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendPongBlocking(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - wsChannel
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - context
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 603
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 603
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - data
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - wsChannel
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - context
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 651
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 651
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 663
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 663
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - data
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - pooledData
    - wsChannel
    - callback
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 688
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 688
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pooledData
    - wsChannel
    - callback
    - context
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
      Src: io.undertow.websockets.core.WebSockets:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - pooledData
    - wsChannel
    - callback
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    - long
    constantsTouched: []
    func_position:
      end: 714
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 714
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - pooledData
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinary(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - wsChannel
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - wsChannel
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 748
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 748
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - pooledData
    - wsChannel
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 759
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 759
    functionName: '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBinaryBlocking(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.WebSockets:769,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
      Src: io.undertow.websockets.core.WebSockets:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - wsChannel
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.WebSockets:782,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - context
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendClose(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(ByteBuffer[])'
      Src: io.undertow.websockets.core.WebSockets:794,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
      Src: io.undertow.websockets.core.WebSockets:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - wsChannel
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: '[io.undertow.websockets.core.WebSockets].sendClose(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(ByteBuffer[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendClose(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(ByteBuffer[])'
      Src: io.undertow.websockets.core.WebSockets:807,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - data
    - wsChannel
    - callback
    - context
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 809
      start: 806
    functionDepth: 3
    functionLinenumber: 806
    functionLinenumberEnd: 809
    functionName: '[io.undertow.websockets.core.WebSockets].sendClose(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(ByteBuffer[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendClose(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,String)'
      Src: io.undertow.websockets.core.WebSockets:819,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
      Src: io.undertow.websockets.core.WebSockets:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - code
    - reason
    - wsChannel
    - callback
    argTypes:
    - int
    - String
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 820
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 820
    functionName: '[io.undertow.websockets.core.WebSockets].sendClose(int,String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendClose(int,String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,String)'
      Src: io.undertow.websockets.core.WebSockets:831,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - code
    - reason
    - wsChannel
    - callback
    - context
    argTypes:
    - int
    - String
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: '[io.undertow.websockets.core.WebSockets].sendClose(int,String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendClose(int,String,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
      Src: io.undertow.websockets.core.WebSockets:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.CloseMessage
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<Void>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - closeMessage
    - wsChannel
    - callback
    argTypes:
    - io.undertow.websockets.core.CloseMessage
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<Void>
    constantsTouched: []
    func_position:
      end: 843
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 843
    functionName: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<Void>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].getCode()'
      Src: io.undertow.websockets.core.WebSockets:854,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setCloseCode(int)'
      Src: io.undertow.websockets.core.WebSockets:854,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].getReason()'
      Src: io.undertow.websockets.core.WebSockets:855,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setCloseReason(String)'
      Src: io.undertow.websockets.core.WebSockets:855,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
      Src: io.undertow.websockets.core.WebSockets:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.CloseMessage
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - closeMessage
    - wsChannel
    - callback
    - context
    argTypes:
    - io.undertow.websockets.core.CloseMessage
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    constantsTouched: []
    func_position:
      end: 857
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 857
    functionName: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].setCloseCode(int)'
    - '[io.undertow.websockets.core.WebSocketChannel].setCloseReason(String)'
    - '[io.undertow.websockets.core.CloseMessage].getCode()'
    - '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
    - '[io.undertow.websockets.core.CloseMessage].getReason()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].getReason()'
      Src: io.undertow.websockets.core.WebSockets:866,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setCloseReason(String)'
      Src: io.undertow.websockets.core.WebSockets:866,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].getCode()'
      Src: io.undertow.websockets.core.WebSockets:867,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].setCloseCode(int)'
      Src: io.undertow.websockets.core.WebSockets:867,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.CloseMessage
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - closeMessage
    - wsChannel
    argTypes:
    - io.undertow.websockets.core.CloseMessage
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 869
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 869
    functionName: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].setCloseCode(int)'
    - '[io.undertow.websockets.core.WebSocketChannel].setCloseReason(String)'
    - '[io.undertow.websockets.core.CloseMessage].getCode()'
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,io.undertow.websockets.core.WebSockets,io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.CloseMessage].getReason()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,String)'
      Src: io.undertow.websockets.core.WebSockets:877,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - code
    - reason
    - wsChannel
    argTypes:
    - int
    - String
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 878
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 878
    functionName: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(int,String,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(int,String,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.WebSockets:886,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - wsChannel
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 887
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 887
    functionName: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(java.nio.ByteBuffer,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(ByteBuffer[])'
      Src: io.undertow.websockets.core.WebSockets:896,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - data
    - wsChannel
    argTypes:
    - ByteBuffer[]
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 3
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(ByteBuffer[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendCloseBlocking(ByteBuffer[],io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.WebSockets:900,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.util.ImmediatePooledByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
      Src: io.undertow.websockets.core.WebSockets:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - WebSocketFrameType
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - data
    - type
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - java.nio.ByteBuffer
    - WebSocketFrameType
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(java.nio.ByteBuffer)'
    - '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.util.ImmediatePooledByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendInternal(java.nio.ByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].send(WebSocketFrameType)'
      Src: io.undertow.websockets.core.WebSockets:906,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].send(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.core.WebSockets:909,1
    - Dst: '[io.undertow.websockets.core.WebSockets].unableToSendOnNewChannel()'
      Src: io.undertow.websockets.core.WebSockets:910,1
    - Dst: '[io.undertow.websockets.core.WebSockets].flushChannelAsync(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,io.undertow.websockets.core.StreamSinkFrameChannel,T,long)'
      Src: io.undertow.websockets.core.WebSockets:912,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<T>].onError(io.undertow.websockets.core.WebSocketChannel,T,io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:915,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:917,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.websockets.core.WebSockets:921,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - WebSocketFrameType
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - pooledData
    - type
    - wsChannel
    - callback
    - context
    - timeoutmillis
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - WebSocketFrameType
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - T
    - long
    constantsTouched: []
    func_position:
      end: 924
      start: 903
    functionDepth: 3
    functionLinenumber: 903
    functionLinenumberEnd: 924
    functionName: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].flushChannelAsync(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,io.undertow.websockets.core.StreamSinkFrameChannel,T,long)'
    - '[io.undertow.websockets.core.WebSocketCallback<T>].onError(io.undertow.websockets.core.WebSocketChannel,T,io.undertow.websockets.core.WebSockets)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].send(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.websockets.core.WebSocketChannel].send(WebSocketFrameType)'
    - '[io.undertow.websockets.core.WebSockets].unableToSendOnNewChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendInternal(io.undertow.connector.PooledByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSockets:927,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].shutdownWrites()'
      Src: io.undertow.websockets.core.WebSockets:928,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].flush()'
      Src: io.undertow.websockets.core.WebSockets:929,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getWriteSetter()'
      Src: io.undertow.websockets.core.WebSockets:930,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.core.WebSockets:931,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.websockets.core.WebSockets:944,1
    - Dst: '[io.undertow.websockets.core.WebSockets].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.websockets.core.WebSockets:930,1
    - Dst: '[io.undertow.websockets.core.WebSockets].set(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:930,1
    - Dst: '[io.undertow.websockets.core.WebSockets].setupTimeout(io.undertow.websockets.core.StreamSinkFrameChannel,long)'
      Src: io.undertow.websockets.core.WebSockets:958,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].resumeWrites()'
      Src: io.undertow.websockets.core.WebSockets:960,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<T>].complete(io.undertow.websockets.core.WebSocketChannel,T)'
      Src: io.undertow.websockets.core.WebSockets:964,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.WebSocketCallback<T>
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - T
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - wsChannel
    - callback
    - channel
    - context
    - timeoutmillis
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.WebSocketCallback<T>
    - io.undertow.websockets.core.StreamSinkFrameChannel
    - T
    - long
    constantsTouched: []
    func_position:
      end: 966
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 966
    functionName: '[io.undertow.websockets.core.WebSockets].flushChannelAsync(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,io.undertow.websockets.core.StreamSinkFrameChannel,T,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].shutdownWrites()'
    - '[io.undertow.websockets.core.WebSockets].setupTimeout(io.undertow.websockets.core.StreamSinkFrameChannel,long)'
    - '[io.undertow.websockets.core.WebSockets].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].resumeWrites()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getWriteSetter()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].flush()'
    - '[io.undertow.websockets.core.WebSocketCallback<T>].complete(io.undertow.websockets.core.WebSocketChannel,T)'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.websockets.core.WebSockets].set(io.undertow.websockets.core.WebSockets)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].flushChannelAsync(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.WebSocketCallback<T>,io.undertow.websockets.core.StreamSinkFrameChannel,T,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.websockets.core.WebSockets,Runnable,long,io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:969,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getCloseSetter()'
      Src: io.undertow.websockets.core.WebSockets:977,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.core.WebSockets:977,1
    - Dst: '[io.undertow.websockets.core.WebSockets].set(org.xnio.ChannelListener)'
      Src: io.undertow.websockets.core.WebSockets:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - timeoutmillis
    argTypes:
    - io.undertow.websockets.core.StreamSinkFrameChannel
    - long
    constantsTouched: []
    func_position:
      end: 983
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 983
    functionName: '[io.undertow.websockets.core.WebSockets].setupTimeout(io.undertow.websockets.core.StreamSinkFrameChannel,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.websockets.core.WebSockets,Runnable,long,io.undertow.websockets.core.WebSockets)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getCloseSetter()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.core.WebSockets].set(org.xnio.ChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].setupTimeout(io.undertow.websockets.core.StreamSinkFrameChannel,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.WebSockets:986,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.util.ImmediatePooledByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - WebSocketFrameType
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - type
    - wsChannel
    argTypes:
    - java.nio.ByteBuffer
    - WebSocketFrameType
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 987
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 987
    functionName: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(java.nio.ByteBuffer)'
    - '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.util.ImmediatePooledByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(java.nio.ByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].send(WebSocketFrameType)'
      Src: io.undertow.websockets.core.WebSockets:992,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].send(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.core.WebSockets:995,1
    - Dst: '[io.undertow.websockets.core.WebSockets].unableToSendOnNewChannel()'
      Src: io.undertow.websockets.core.WebSockets:996,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].shutdownWrites()'
      Src: io.undertow.websockets.core.WebSockets:998,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].flush()'
      Src: io.undertow.websockets.core.WebSockets:999,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].awaitWritable()'
      Src: io.undertow.websockets.core.WebSockets:1000,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameReceived()'
      Src: io.undertow.websockets.core.WebSockets:1002,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.WebSockets:1003,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.websockets.core.WebSockets:1007,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - WebSocketFrameType
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - pooledData
    - type
    - wsChannel
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - WebSocketFrameType
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 1010
      start: 989
    functionDepth: 3
    functionLinenumber: 989
    functionLinenumberEnd: 1010
    functionName: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].shutdownWrites()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].flush()'
    - '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameReceived()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].send(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].awaitWritable()'
    - '[io.undertow.websockets.core.WebSocketChannel].send(WebSocketFrameType)'
    - '[io.undertow.websockets.core.WebSockets].unableToSendOnNewChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSockets].sendBlockingInternal(io.undertow.connector.PooledByteBuffer,WebSocketFrameType,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSockets
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1014
    functionName: '[io.undertow.websockets.core.WebSockets].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSockets
    signature: '[io.undertow.websockets.core.WebSockets].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Buffers].remaining(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:1017,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:1021,1
    - Dst: '[io.undertow.websockets.core.WebSockets].put(io.undertow.websockets.core.WebSockets)'
      Src: io.undertow.websockets.core.WebSockets:1023,1
    - Dst: '[io.undertow.websockets.core.WebSockets].flip()'
      Src: io.undertow.websockets.core.WebSockets:1025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1027
    functionName: '[io.undertow.websockets.core.WebSockets].mergeBuffers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSockets.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].allocate(io.undertow.websockets.core.WebSockets)'
    - '[io.undertow.websockets.core.WebSockets].put(io.undertow.websockets.core.WebSockets)'
    - '[org.xnio.Buffers].remaining(io.undertow.websockets.core.WebSockets)'
    - '[io.undertow.websockets.core.WebSockets].flip()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.websockets.core.WebSockets].mergeBuffers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,int,boolean,io.undertow.connector.PooledByteBuffer,long,null)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - WebSocketFrameType
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSourceFrameChannel
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - wsChannel
    - type
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - WebSocketFrameType
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,int,boolean,io.undertow.connector.PooledByteBuffer,long,null)'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSourceFrameChannel
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,int,ChannelFunction[])'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - WebSocketFrameType
      - int
      - boolean
      - io.undertow.connector.PooledByteBuffer
      - long
      - io.undertow.websockets.core.protocol.version07.Masker
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSourceFrameChannel
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - wsChannel
    - type
    - rsv
    - finalFragment
    - pooled
    - frameLength
    - masker
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - WebSocketFrameType
    - int
    - boolean
    - io.undertow.connector.PooledByteBuffer
    - long
    - io.undertow.websockets.core.protocol.version07.Masker
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,int,ChannelFunction[])'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSourceFrameChannel
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:65,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getExtensionFunction()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - WebSocketFrameType
      - int
      - boolean
      - io.undertow.connector.PooledByteBuffer
      - long
      - io.undertow.websockets.core.protocol.version07.Masker
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSourceFrameChannel
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - wsChannel
    - type
    - rsv
    - finalFragment
    - pooled
    - frameLength
    - masker
    - maxReadFrameCount
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - WebSocketFrameType
    - int
    - boolean
    - io.undertow.connector.PooledByteBuffer
    - long
    - io.undertow.websockets.core.protocol.version07.Masker
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getExtensionFunction()'
    - '[Object].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.connector.PooledByteBuffer,long)'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSourceFrameChannel
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: WebSocketFrameType
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: WebSocketFrameType
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].isFinalFragment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].isFinalFragment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].getRsv()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].getRsv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadFrameCount()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketFrameCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadFrameCount()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketFrameCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].getFramedChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 5
    functionsReached:
    - '[Object].getFramedChannel()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 9
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].lastFrame()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].finalFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].lastFrame()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].finalFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:130,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrame].isFinalFragment()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:131,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].finalFrame()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:132,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].newFrame(io.undertow.server.protocol.framed.FrameHeaderData)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:135,1
    - Dst: func.newFrame(io.undertow.server.protocol.framed.FrameHeaderData)
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:139,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadFrameCount()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:143,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadFrameCount()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:144,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].tooManyFragments(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:144,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:144,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:144,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:144,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].markStreamBroken()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
    - '[Object].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].tooManyFragments(io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[io.undertow.websockets.core.protocol.version07.Masker].newFrame(io.undertow.server.protocol.framed.FrameHeaderData)'
    - '[io.undertow.websockets.core.WebSocketFrame].isFinalFragment()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].markStreamBroken()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].finalFrame()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadFrameCount()'
    - func.newFrame(io.undertow.server.protocol.framed.FrameHeaderData)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].<init>(java.nio.channels.FileChannel,ChannelFunction[])'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:155,1
    - Dst: '[Object].transferTo(long,long,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:155,1
    - Dst: '[Object].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].<init>(java.nio.channels.FileChannel,ChannelFunction[])'
    - '[Object].transferTo(long,long,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
    - '[Object].transferTo(long,long,java.nio.channels.FileChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketUtils].transfer(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketUtils].transfer(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:171,1
    - Dst: '[Object].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:172,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:174,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].checker(java.nio.ByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:174,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].checkComplete()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].checkComplete()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].checker(java.nio.ByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
    - '[java.nio.ByteBuffer].position()'
    - '[Object].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(ByteBuffer[],int,io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dsts
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].read(ByteBuffer[],int,io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dst.position()
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:191,1
    - Dst: dst.limit()
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:191,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel.Bounds].<init>(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:191,1
    - Dst: '[Object].read(ByteBuffer[],int,int)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:193,1
    - Dst: dst.position()
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:198,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].afterRead(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:198,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].checkComplete()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - dst.limit()
    - '[io.undertow.websockets.core.StreamSourceFrameChannel.Bounds].<init>(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    - dst.position()
    - '[Object].read(ByteBuffer[],int,int)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].checkComplete()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].afterRead(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func.complete()
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:209,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:212,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].checkComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 3
    functionsReached:
    - func.complete()
    - '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].checkComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func.afterRead(java.nio.ByteBuffer,int,int)
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:228,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].isComplete()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:230,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].checkComplete()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:231,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:234,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].afterRead(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
    - func.afterRead(java.nio.ByteBuffer,int,int)
    - '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].checkComplete()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].isComplete()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].afterRead(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].afterRead(java.nio.ByteBuffer,int,int)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:244,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].complete()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:247,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:249,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:249,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:254,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - buffer
    - position
    - length
    - complete
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].checker(java.nio.ByteBuffer,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].afterRead(java.nio.ByteBuffer,int,int)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getFramedChannel()'
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].complete()'
    - '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].checker(java.nio.ByteBuffer,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:262,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:262,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:262,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:262,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:262,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].afterRead(java.nio.ByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:262,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].isFinalFragment()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:265,1
    - Dst: '[io.undertow.websockets.extensions.ExtensionFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:265,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:267,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:267,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:267,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:270,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:270,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:270,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.StreamSourceFrameChannel:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - WebSocketFrameType
      - boolean
      - int
      - ChannelFunction[]
      - io.undertow.websockets.extensions.ExtensionFunction
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frameData
    - lastFragmentOfFrame
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel].processFrameData(io.undertow.connector.PooledByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].isFinalFragment()'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    - '[io.undertow.websockets.extensions.ExtensionFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel)'
    - '[io.undertow.websockets.core.protocol.version07.Masker].afterRead(java.nio.ByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel].processFrameData(io.undertow.connector.PooledByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSourceFrameChannel.Bounds
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - position
    - limit
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: '[io.undertow.websockets.core.StreamSourceFrameChannel.Bounds].<init>(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSourceFrameChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSourceFrameChannel.Bounds
    signature: '[io.undertow.websockets.core.StreamSourceFrameChannel.Bounds].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.websockets.core.AbstractReceiveListener:87,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getProperty(String,String)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:87,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
      Src: io.undertow.websockets.core.AbstractReceiveListener:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - key
    - def
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
    - '[io.undertow.websockets.core.AbstractReceiveListener].getProperty(String,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPingsPerWindow()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:98,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getPingWindowLength()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:99,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.websockets.core.AbstractReceiveListener:102,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].tooManyPings(int)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:109,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:109,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:108,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].tooManyPings(int)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:111,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:111,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(java.io.IOException)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:112,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,java.io.IOException)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].countPing(io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].tooManyPings(int)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getPingWindowLength()'
    - '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(java.io.IOException)'
    - System.currentTimeMillis()
    - '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPingsPerWindow()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].countPing(io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Long.toString(int)
      Src: io.undertow.websockets.core.AbstractReceiveListener:119,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:119,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.websockets.core.AbstractReceiveListener:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxBinaryBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
    - Long.parseLong(String)
    - Long.toString(int)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxBinaryBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPongBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPongBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxCloseBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxCloseBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPingBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPingBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Long.toString(int)
      Src: io.undertow.websockets.core.AbstractReceiveListener:139,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:139,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.websockets.core.AbstractReceiveListener:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxTextBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
    - Long.parseLong(String)
    - Long.toString(int)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxTextBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(int)
      Src: io.undertow.websockets.core.AbstractReceiveListener:147,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:147,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.websockets.core.AbstractReceiveListener:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPingsPerWindow()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
    - Integer.toString(int)
    - Integer.parseInt(String)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPingsPerWindow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(int)
      Src: io.undertow.websockets.core.AbstractReceiveListener:159,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:159,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.websockets.core.AbstractReceiveListener:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getPingWindowLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
    - Integer.toString(int)
    - Integer.parseInt(String)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getPingWindowLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(int)
      Src: io.undertow.websockets.core.AbstractReceiveListener:168,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:168,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.websockets.core.AbstractReceiveListener:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxReadFrames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].getSystemProperty(String,io.undertow.websockets.core.AbstractReceiveListener)'
    - Integer.toString(int)
    - Integer.parseInt(String)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxReadFrames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].receive()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:178,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:181,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onBinary(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:182,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:183,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onText(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:184,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:185,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onPong(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:186,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:187,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].countPing(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:188,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onPing(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:189,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:190,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onClose(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:191,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].handleEvent(io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].onClose(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.WebSocketChannel].receive()'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getType()'
    - '[io.undertow.websockets.core.AbstractReceiveListener].onBinary(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].onPing(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].onText(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].onPong(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].countPing(io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].handleEvent(io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - webSocketChannel
    - channel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onPing(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onPing(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - webSocketChannel
    - channel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onClose(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onClose(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - webSocketChannel
    - messageChannel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onPong(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onPong(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - webSocketChannel
    - messageChannel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onText(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onText(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - webSocketChannel
    - messageChannel
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onBinary(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onBinary(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Throwable
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - error
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Throwable
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onError(io.undertow.websockets.core.WebSocketChannel,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:230,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxTextBufferSize()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:231,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].<init>(long,boolean)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:231,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedText(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.BufferedTextMessage)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:231,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:232,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxBinaryBufferSize()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:233,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(long,boolean)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:233,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedBinary(io.undertow.websockets.core.StreamSourceFrameChannel,boolean,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:233,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:234,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPongBufferSize()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:235,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(long,boolean)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:235,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedBinary(io.undertow.websockets.core.StreamSourceFrameChannel,boolean,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:235,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:236,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPingBufferSize()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:237,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(long,boolean)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:237,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedBinary(io.undertow.websockets.core.StreamSourceFrameChannel,boolean,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:237,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:238,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].getMaxCloseBufferSize()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:239,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(long,boolean)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:239,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedBinary(io.undertow.websockets.core.StreamSourceFrameChannel,boolean,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - messageChannel
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedBinary(io.undertow.websockets.core.StreamSourceFrameChannel,boolean,io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPongBufferSize()'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getMaxPingBufferSize()'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getMaxCloseBufferSize()'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getMaxBinaryBufferSize()'
    - '[io.undertow.websockets.core.BufferedTextMessage].<init>(long,boolean)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].getMaxTextBufferSize()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
    - '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedText(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.BufferedTextMessage)'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(long,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].bufferFullMessage(io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketCallback].<init>()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:245,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - boolean
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - messageChannel
    - controlFrame
    - buffer
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - boolean
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 270
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 270
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedBinary(io.undertow.websockets.core.StreamSourceFrameChannel,boolean,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback)'
    - '[io.undertow.websockets.core.WebSocketCallback].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedBinary(io.undertow.websockets.core.StreamSourceFrameChannel,boolean,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketCallback].<init>()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:273,1
    - Dst: '[io.undertow.websockets.core.BufferedTextMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - io.undertow.websockets.core.BufferedTextMessage
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - messageChannel
    - textMessage
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - io.undertow.websockets.core.BufferedTextMessage
    constantsTouched: []
    func_position:
      end: 288
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 288
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedText(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.BufferedTextMessage)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.BufferedTextMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback)'
    - '[io.undertow.websockets.core.WebSocketCallback].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].readBufferedText(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.BufferedTextMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedTextMessage
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedTextMessage
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onFullTextMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedTextMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:294,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].free()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onFullBinaryMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].free()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onFullBinaryMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:298,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:299,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback].<init>(org.xnio.Pooled<ByteBuffer[]>)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:299,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.websockets.core.AbstractReceiveListener,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onFullPingMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback].<init>(org.xnio.Pooled<ByteBuffer[]>)'
    - '[io.undertow.websockets.core.WebSockets].sendPong(io.undertow.websockets.core.AbstractReceiveListener,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onFullPingMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:303,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].free()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onFullPongMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].free()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onFullPongMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:307,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:309,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(io.undertow.websockets.core.AbstractReceiveListener)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:309,1
    - Dst: '[io.undertow.websockets.core.AbstractReceiveListener].onCloseMessage(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:310,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameSent()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:311,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.core.AbstractReceiveListener:312,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].close()'
      Src: io.undertow.websockets.core.AbstractReceiveListener:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.BufferedBinaryMessage
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - message
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.BufferedBinaryMessage
    constantsTouched: []
    func_position:
      end: 317
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 317
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled<ByteBuffer[]>].getResource()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[io.undertow.websockets.core.CloseMessage].<init>(io.undertow.websockets.core.AbstractReceiveListener)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.core.AbstractReceiveListener].onCloseMessage(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
    - '[org.xnio.Pooled<ByteBuffer[]>].close()'
    - '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameSent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onFullCloseMessage(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.CloseMessage
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cm
    - channel
    argTypes:
    - io.undertow.websockets.core.CloseMessage
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].onCloseMessage(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].onCloseMessage(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - int
      - int
      - int
      - String
      - String
      - int
      - String
      - int
      - String
      - long
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.AbstractReceiveListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.AbstractReceiveListener
    signature: '[io.undertow.websockets.core.AbstractReceiveListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pooled<ByteBuffer[]>
      classConcrete: true
      classEnum: false
      classFields:
      - Pooled<ByteBuffer[]>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - org.xnio.Pooled<ByteBuffer[]>
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback].<init>(org.xnio.Pooled<ByteBuffer[]>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback
    signature: '[io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback].<init>(org.xnio.Pooled<ByteBuffer[]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Pooled<ByteBuffer[]>].close()'
      Src: io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Void
      classConcrete: true
      classEnum: false
      classFields:
      - Pooled<ByteBuffer[]>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - context
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Void
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback].complete(io.undertow.websockets.core.WebSocketChannel,Void)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[Pooled<ByteBuffer[]>].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback].complete(io.undertow.websockets.core.WebSocketChannel,Void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Pooled<ByteBuffer[]>].close()'
      Src: io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - Void
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - Pooled<ByteBuffer[]>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - context
    - throwable
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - Void
    - Throwable
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: '[io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback].onError(io.undertow.websockets.core.WebSocketChannel,Void,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/AbstractReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[Pooled<ByteBuffer[]>].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.AbstractReceiveListener.FreeDataCallback].onError(io.undertow.websockets.core.WebSocketChannel,Void,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.SendChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.SendChannel].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/SendChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.SendChannel
    signature: '[io.undertow.websockets.core.SendChannel].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.core.WebSocketLogger].decodingFrameWithOpCode(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketLogger].decodingFrameWithOpCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - Throwable
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - instance
    - thr
    argTypes:
    - Object
    - Throwable
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.core.WebSocketLogger].unhandledErrorInAnnotatedEndpoint(Object,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketLogger].unhandledErrorInAnnotatedEndpoint(Object,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - WebSocketExtension.Parameter
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - param
    argTypes:
    - WebSocketExtension.Parameter
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.core.WebSocketLogger].incorrectExtensionParameter(WebSocketExtension.Parameter)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketLogger].incorrectExtensionParameter(WebSocketExtension.Parameter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketLogger
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.WebSocketLogger].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketLogger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketLogger
    signature: '[io.undertow.websockets.core.WebSocketLogger].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.core.UTF8Output:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte
      - byte[]
      - byte[]
      - byte
      - int
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.UTF8Output
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.core.UTF8Output].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/UTF8Output.java
    functionUses: 5
    functionsReached:
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.core.UTF8Output
    signature: '[io.undertow.websockets.core.UTF8Output].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf.hasRemaining()
      Src: io.undertow.websockets.core.UTF8Output:67,1
    - Dst: buf.get()
      Src: io.undertow.websockets.core.UTF8Output:68,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.UTF8Output)'
      Src: io.undertow.websockets.core.UTF8Output:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte
      - byte[]
      - byte[]
      - byte
      - int
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: '[io.undertow.websockets.core.UTF8Output].write()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/UTF8Output.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.UTF8Output].write(io.undertow.websockets.core.UTF8Output)'
    - buf.get()
    - buf.hasRemaining()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.UTF8Output].write()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.websockets.core.UTF8Output:75,1
    - Dst: Character.toChars(int)
      Src: io.undertow.websockets.core.UTF8Output:85,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.core.UTF8Output)'
      Src: io.undertow.websockets.core.UTF8Output:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte
      - byte[]
      - byte[]
      - byte
      - int
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: '[io.undertow.websockets.core.UTF8Output].write(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/UTF8Output.java
    functionUses: 0
    functionsReached:
    - Character.toChars(int)
    - '[StringBuilder].append(io.undertow.websockets.core.UTF8Output)'
    - '[StringBuilder].append(char)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.UTF8Output].write(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.core.UTF8Output:95,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.websockets.core.UTF8Output:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte
      - byte[]
      - byte[]
      - byte
      - int
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: '[io.undertow.websockets.core.UTF8Output].extract()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/UTF8Output.java
    functionUses: 5
    functionsReached:
    - '[StringBuilder].toString()'
    - '[StringBuilder].setLength(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.UTF8Output].extract()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.websockets.core.UTF8Output:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte
      - byte[]
      - byte[]
      - byte
      - int
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.websockets.core.UTF8Output].hasData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/UTF8Output.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].length()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.UTF8Output].hasData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.StreamSinkFrameChannel:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - WebSocketFrameType
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSinkFrameChannel
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - type
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - WebSocketFrameType
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(io.undertow.websockets.core.WebSocketChannel)'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSinkFrameChannel
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,WebSocketFrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].getRsv()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].getRsv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].areExtensionsSupported()'
      Src: io.undertow.websockets.core.StreamSinkFrameChannel:51,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].extensionsNotSupported()'
      Src: io.undertow.websockets.core.StreamSinkFrameChannel:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rsv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].setRsv(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].extensionsNotSupported()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].areExtensionsSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].setRsv(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].isFragmentationSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].isFragmentationSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].areExtensionsSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].areExtensionsSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: WebSocketFrameType
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: WebSocketFrameType
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getChannel()'
      Src: io.undertow.websockets.core.StreamSinkFrameChannel:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].getWebSocketChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getChannel()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].getWebSocketChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].isLastFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].isLastFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].isFinalFrameQueued()'
      Src: io.undertow.websockets.core.StreamSinkFrameChannel:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - WebSocketFrameType
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[io.undertow.websockets.core.StreamSinkFrameChannel].isFinalFragment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/StreamSinkFrameChannel.java
    functionUses: 2
    functionsReached:
    - '[Object].isFinalFrameQueued()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.StreamSinkFrameChannel].isFinalFragment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketException
      static: false
      superClass: java.io.IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: '[io.undertow.websockets.core.WebSocketException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketException
    signature: '[io.undertow.websockets.core.WebSocketException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String,Throwable)'
      Src: io.undertow.websockets.core.WebSocketException:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketException
      static: false
      superClass: java.io.IOException
    argCount: 2
    argNames:
    - msg
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketException.java
    functionUses: 4
    functionsReached:
    - '[java.io.IOException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketException
    signature: '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.core.WebSocketException:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - msg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.websockets.core.WebSocketException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketException.java
    functionUses: 4
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketException
    signature: '[io.undertow.websockets.core.WebSocketException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.websockets.core.WebSocketException:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketException.java
    functionUses: 4
    functionsReached:
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketException
    signature: '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CharSequence].length()'
      Src: io.undertow.websockets.core.WebSocketUtils:55,1
    - Dst: '[CharSequence].toString()'
      Src: io.undertow.websockets.core.WebSocketUtils:58,1
    - Dst: '[io.undertow.websockets.core.WebSocketUtils].getBytes(io.undertow.websockets.core.WebSocketUtils)'
      Src: io.undertow.websockets.core.WebSocketUtils:58,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.websockets.core.WebSocketUtils)'
      Src: io.undertow.websockets.core.WebSocketUtils:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - CharSequence
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - utfString
    argTypes:
    - CharSequence
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.core.WebSocketUtils].fromUtf8String(CharSequence)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketUtils.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].wrap(io.undertow.websockets.core.WebSocketUtils)'
    - '[io.undertow.websockets.core.WebSocketUtils].getBytes(io.undertow.websockets.core.WebSocketUtils)'
    - '[CharSequence].toString()'
    - '[CharSequence].length()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.websockets.core.WebSocketUtils].fromUtf8String(CharSequence)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.WebSocketUtils:63,1
    - Dst: '[java.nio.ByteBuffer].hasArray()'
      Src: io.undertow.websockets.core.WebSocketUtils:66,1
    - Dst: '[String].<init>(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)'
      Src: io.undertow.websockets.core.WebSocketUtils:67,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.core.WebSocketUtils:69,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.websockets.core.WebSocketUtils)'
      Src: io.undertow.websockets.core.WebSocketUtils:70,1
    - Dst: '[String].<init>(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)'
      Src: io.undertow.websockets.core.WebSocketUtils:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.core.WebSocketUtils].toUtf8String(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketUtils.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].hasArray()'
    - '[String].<init>(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)'
    - '[java.nio.ByteBuffer].get(io.undertow.websockets.core.WebSocketUtils)'
    - '[String].<init>(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketUtils].toUtf8String(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf.remaining()
      Src: io.undertow.websockets.core.WebSocketUtils:78,1
    - Dst: buf.hasArray()
      Src: io.undertow.websockets.core.WebSocketUtils:87,1
    - Dst: buf.remaining()
      Src: io.undertow.websockets.core.WebSocketUtils:88,1
    - Dst: buf.array()
      Src: io.undertow.websockets.core.WebSocketUtils:89,1
    - Dst: buf.arrayOffset()
      Src: io.undertow.websockets.core.WebSocketUtils:89,1
    - Dst: buf.position()
      Src: io.undertow.websockets.core.WebSocketUtils:89,1
    - Dst: System.arraycopy(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)
      Src: io.undertow.websockets.core.WebSocketUtils:89,1
    - Dst: buf.remaining()
      Src: io.undertow.websockets.core.WebSocketUtils:92,1
    - Dst: buf.get(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)
      Src: io.undertow.websockets.core.WebSocketUtils:93,1
    - Dst: '[String].<init>(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)'
      Src: io.undertow.websockets.core.WebSocketUtils:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: '[io.undertow.websockets.core.WebSocketUtils].toUtf8String()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketUtils.java
    functionUses: 0
    functionsReached:
    - buf.remaining()
    - buf.position()
    - buf.arrayOffset()
    - System.arraycopy(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)
    - buf.array()
    - buf.get(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)
    - '[String].<init>(io.undertow.websockets.core.WebSocketUtils,io.undertow.websockets.core.WebSocketUtils)'
    - buf.hasArray()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketUtils].toUtf8String()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.websockets.core.WebSocketUtils:106,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.core.WebSocketUtils:107,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.websockets.core.WebSocketUtils:108,1
    - Dst: '[java.nio.channels.ReadableByteChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.WebSocketUtils:112,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.core.WebSocketUtils:117,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.WebSocketUtils:120,1
    - Dst: '[java.nio.channels.WritableByteChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.WebSocketUtils:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.ReadableByteChannel
      - long
      - java.nio.ByteBuffer
      - java.nio.channels.WritableByteChannel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - count
    - throughBuffer
    - sink
    argTypes:
    - java.nio.channels.ReadableByteChannel
    - long
    - java.nio.ByteBuffer
    - java.nio.channels.WritableByteChannel
    constantsTouched: []
    func_position:
      end: 129
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.core.WebSocketUtils].transfer(java.nio.channels.ReadableByteChannel,long,java.nio.ByteBuffer,java.nio.channels.WritableByteChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketUtils.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.channels.WritableByteChannel].write(java.nio.ByteBuffer)'
    - '[java.nio.channels.ReadableByteChannel].read(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].flip()'
    - '[java.nio.ByteBuffer].limit(int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.WebSocketUtils].transfer(java.nio.channels.ReadableByteChannel,long,java.nio.ByteBuffer,java.nio.channels.WritableByteChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketUtils:137,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].close()'
      Src: io.undertow.websockets.core.WebSocketUtils:140,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketUtils:147,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].send(WebSocketFrameType)'
      Src: io.undertow.websockets.core.WebSocketUtils:150,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getRsv()'
      Src: io.undertow.websockets.core.WebSocketUtils:151,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].setRsv(int)'
      Src: io.undertow.websockets.core.WebSocketUtils:151,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.core.WebSocketUtils:152,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.core.WebSocketUtils:157,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.websockets.core.WebSocketUtils:203,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.websockets.core.WebSocketUtils:209,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.core.WebSocketUtils:215,1
    - Dst: '[io.undertow.websockets.core.WebSocketUtils].initiateTransfer(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSinkFrameChannel,org.xnio.ChannelListener,org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler,org.xnio.ChannelExceptionHandler,io.undertow.websockets.core.WebSocketUtils)'
      Src: io.undertow.websockets.core.WebSocketUtils:152,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - ws
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 218
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 218
    functionName: '[io.undertow.websockets.core.WebSocketUtils].echoFrame(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketUtils.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getRsv()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].close()'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].setRsv(int)'
    - '[io.undertow.websockets.core.WebSocketUtils].initiateTransfer(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.StreamSinkFrameChannel,org.xnio.ChannelListener,org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler,org.xnio.ChannelExceptionHandler,io.undertow.websockets.core.WebSocketUtils)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getType()'
    - '[io.undertow.websockets.core.WebSocketChannel].send(WebSocketFrameType)'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketUtils].echoFrame(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Transfer].initiateTransfer(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superI>,org.xnio.ChannelExceptionHandler<?superO>,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.websockets.core.WebSocketUtils:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - I
      - O
      - org.xnio.ChannelListener<?superI>
      - org.xnio.ChannelListener<?superO>
      - org.xnio.ChannelExceptionHandler<?superI>
      - org.xnio.ChannelExceptionHandler<?superO>
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 7
    argNames:
    - source
    - sink
    - sourceListener
    - sinkListener
    - readExceptionHandler
    - writeExceptionHandler
    - pool
    argTypes:
    - I
    - O
    - org.xnio.ChannelListener<?superI>
    - org.xnio.ChannelListener<?superO>
    - org.xnio.ChannelExceptionHandler<?superI>
    - org.xnio.ChannelExceptionHandler<?superO>
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: '[io.undertow.websockets.core.WebSocketUtils].initiateTransfer(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superI>,org.xnio.ChannelExceptionHandler<?superO>,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Transfer].initiateTransfer(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superI>,org.xnio.ChannelExceptionHandler<?superO>,io.undertow.connector.ByteBufferPool)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketUtils].initiateTransfer(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superI>,org.xnio.ChannelExceptionHandler<?superO>,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: '[io.undertow.websockets.core.WebSocketUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketUtils
    signature: '[io.undertow.websockets.core.WebSocketUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - io.undertow.connector.PooledByteBuffer
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.BufferedBinaryMessage
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - maxMessageSize
    - bufferFullMessage
    argTypes:
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>(int)'
    linkageType: ''
    returnType: io.undertow.websockets.core.BufferedBinaryMessage
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:40,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(boolean)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - io.undertow.connector.PooledByteBuffer
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.BufferedBinaryMessage
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bufferFullMessage
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>(int)'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.core.BufferedBinaryMessage
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:59,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:59,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].allocate()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:59,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:62,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:62,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].awaitReadable()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:67,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:69,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].dealWithFullBuffer(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:71,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:72,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].hasRemaining()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - io.undertow.connector.PooledByteBuffer
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage].readBlocking(io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getBuffer()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].awaitReadable()'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].read(io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].hasRemaining()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].allocate()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].dealWithFullBuffer(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage].readBlocking(io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:79,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:79,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:80,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:80,1
    - Dst: '[java.util.List<io.undertow.connector.PooledByteBuffer>].add(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:81,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:82,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:82,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].allocate()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - io.undertow.connector.PooledByteBuffer
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage].dealWithFullBuffer(io.undertow.websockets.core.StreamSourceFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    - '[java.util.List<io.undertow.connector.PooledByteBuffer>].add(io.undertow.connector.PooledByteBuffer)'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage].dealWithFullBuffer(io.undertow.websockets.core.StreamSourceFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:90,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:90,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].allocate()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:90,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:92,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].read(io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:92,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:93,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:96,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>].complete(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:96,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>].complete(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:100,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadSetter()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:102,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:102,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].set(org.xnio.ChannelListener)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:102,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].resumeReads()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:136,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].dealWithFullBuffer(io.undertow.websockets.core.StreamSourceFrameChannel)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:141,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:142,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].hasRemaining()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:142,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>].complete(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:143,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:147,1
    - Dst: '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>].onError(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:147,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - io.undertow.connector.PooledByteBuffer
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - callback
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>
    constantsTouched: []
    func_position:
      end: 149
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 149
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getReadSetter()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getBuffer()'
    - '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>].complete(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].read(io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>].complete(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].set(org.xnio.ChannelListener)'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].hasRemaining()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].allocate()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].resumeReads()'
    - '[io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>].onError(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].dealWithFullBuffer(io.undertow.websockets.core.StreamSourceFrameChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage].read(io.undertow.websockets.core.StreamSourceFrameChannel,io.undertow.websockets.core.WebSocketCallback<io.undertow.websockets.core.BufferedBinaryMessage>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:154,1
    - Dst: '[org.xnio.Pooled<ByteBuffer[]>].free()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:154,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].messageToBig(long)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:155,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:155,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:155,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:155,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].messageToBig(long)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:156,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - io.undertow.connector.PooledByteBuffer
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - res
    argTypes:
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    - '[org.xnio.Pooled<ByteBuffer[]>].free()'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].messageToBig(long)'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage].checkMaxSize(io.undertow.websockets.core.StreamSourceFrameChannel,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ImmediatePooled].<init>()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:162,1
    - Dst: '[java.util.List<io.undertow.connector.PooledByteBuffer>].isEmpty()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:164,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:166,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:166,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:168,1
    - Dst: '[java.util.Collections].singletonList(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:169,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].<init>(io.undertow.websockets.core.BufferedBinaryMessage,java.util.List<io.undertow.connector.PooledByteBuffer>)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:169,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:171,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:171,1
    - Dst: '[java.util.List<io.undertow.connector.PooledByteBuffer>].add(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:172,1
    - Dst: '[java.util.List<io.undertow.connector.PooledByteBuffer>].size()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:174,1
    - Dst: '[java.util.List<io.undertow.connector.PooledByteBuffer>].size()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:175,1
    - Dst: '[java.util.List<io.undertow.connector.PooledByteBuffer>].get(io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:176,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage].getBuffer()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:176,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:179,1
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].<init>(java.util.List<io.undertow.connector.PooledByteBuffer>,io.undertow.websockets.core.BufferedBinaryMessage)'
      Src: io.undertow.websockets.core.BufferedBinaryMessage:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - io.undertow.connector.PooledByteBuffer
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.Pooled<ByteBuffer[]>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 182
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 15
    functionsReached:
    - '[io.undertow.util.ImmediatePooled].<init>()'
    - '[java.util.List<io.undertow.connector.PooledByteBuffer>].size()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage].getBuffer()'
    - '[java.util.List<io.undertow.connector.PooledByteBuffer>].isEmpty()'
    - '[java.util.Collections].singletonList(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].<init>(java.util.List<io.undertow.connector.PooledByteBuffer>,io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[java.util.List<io.undertow.connector.PooledByteBuffer>].get(io.undertow.websockets.core.BufferedBinaryMessage)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].<init>(io.undertow.websockets.core.BufferedBinaryMessage,java.util.List<io.undertow.connector.PooledByteBuffer>)'
    - '[java.util.List<io.undertow.connector.PooledByteBuffer>].add(io.undertow.connector.PooledByteBuffer)'
    - '[java.nio.ByteBuffer].flip()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: org.xnio.Pooled<ByteBuffer[]>
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage].getData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - io.undertow.connector.PooledByteBuffer
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.connector.PooledByteBuffer>
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - List<PooledByteBuffer>
      - ByteBuffer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pooled
    - data
    argTypes:
    - java.util.List<io.undertow.connector.PooledByteBuffer>
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].<init>(java.util.List<io.undertow.connector.PooledByteBuffer>,ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].<init>(java.util.List<io.undertow.connector.PooledByteBuffer>,ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: item.close()
      Src: io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<PooledByteBuffer>
      - ByteBuffer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].discard()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 0
    functionsReached:
    - item.close()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].discard()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: item.close()
      Src: io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<PooledByteBuffer>
      - ByteBuffer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].free()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 1
    functionsReached:
    - item.close()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].free()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<PooledByteBuffer>
      - ByteBuffer[]
      classPublic: false
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ByteBuffer[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].getResource()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ByteBuffer[]
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].getResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].free()'
      Src: io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<PooledByteBuffer>
      - ByteBuffer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/BufferedBinaryMessage.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].free()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.BufferedBinaryMessage.PooledByteBufferArray].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketHandshakeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketHandshakeException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketHandshakeException
    signature: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(String)'
      Src: io.undertow.websockets.core.WebSocketHandshakeException:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketHandshakeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketHandshakeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketHandshakeException
    signature: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
      Src: io.undertow.websockets.core.WebSocketHandshakeException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketHandshakeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 2
    argNames:
    - s
    - throwable
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketHandshakeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketHandshakeException
    signature: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
      Src: io.undertow.websockets.core.WebSocketHandshakeException:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketHandshakeException
      static: false
      superClass: io.undertow.websockets.core.WebSocketException
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketHandshakeException.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketHandshakeException
    signature: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.core.CloseMessage:48,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.CloseMessage:49,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.CloseMessage:49,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.CloseMessage:50,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].extract()'
      Src: io.undertow.websockets.core.CloseMessage:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.CloseMessage
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/CloseMessage.java
    functionUses: 4
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.core.UTF8Output].extract()'
    - '[io.undertow.websockets.core.UTF8Output].<init>(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: io.undertow.websockets.core.CloseMessage
    signature: '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.CloseMessage
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - code
    - reason
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.core.CloseMessage].<init>(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/CloseMessage.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.CloseMessage
    signature: '[io.undertow.websockets.core.CloseMessage].<init>(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSockets].mergeBuffers(ByteBuffer[])'
      Src: io.undertow.websockets.core.CloseMessage:63,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.CloseMessage:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.CloseMessage
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffers
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.core.CloseMessage].<init>(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/CloseMessage.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].mergeBuffers(ByteBuffer[])'
    - '[io.undertow.websockets.core.CloseMessage].<init>(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: io.undertow.websockets.core.CloseMessage
    signature: '[io.undertow.websockets.core.CloseMessage].<init>(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.core.CloseMessage].getReason()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/CloseMessage.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.CloseMessage].getReason()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.core.CloseMessage].getCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/CloseMessage.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.CloseMessage].getCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.websockets.core.CloseMessage)'
      Src: io.undertow.websockets.core.CloseMessage:75,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.websockets.core.CloseMessage:76,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].putShort(short)'
      Src: io.undertow.websockets.core.CloseMessage:77,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].put(io.undertow.websockets.core.CloseMessage)'
      Src: io.undertow.websockets.core.CloseMessage:78,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].flip()'
      Src: io.undertow.websockets.core.CloseMessage:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/CloseMessage.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.websockets.core.CloseMessage].put(io.undertow.websockets.core.CloseMessage)'
    - '[String].getBytes(io.undertow.websockets.core.CloseMessage)'
    - '[io.undertow.websockets.core.CloseMessage].putShort(short)'
    - '[io.undertow.websockets.core.CloseMessage].flip()'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.websockets.core.CloseMessage].toByteBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: '[io.undertow.websockets.core.CloseMessage].isValid(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/CloseMessage.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.CloseMessage].isValid(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:50,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:51,1
    - Dst: '[java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>].peek()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:52,1
    - Dst: '[io.undertow.websockets.core.WebSocketFramePriority].isOpen()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:54,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:58,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:60,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameReceived()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:60,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].isFinalFragment()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:64,1
    - Dst: '[java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>].poll()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:65,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].markBroken()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:72,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].isWritesShutdown()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:77,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].isEmpty()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:81,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:82,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:83,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:84,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].size()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:89,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].get(io.undertow.websockets.core.WebSocketFramePriority)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:90,1
    - Dst: '[io.undertow.websockets.core.WebSocketFramePriority].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:90,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.WebSocketFramePriority,io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:92,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:99,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:102,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:104,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:105,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].isEmpty()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:107,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:108,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(int,io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:110,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].isFinalFragment()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:117,1
    - Dst: '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:120,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:123,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 61
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - newFrame
    - pendingFrames
    argTypes:
    - io.undertow.websockets.core.StreamSinkFrameChannel
    - java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>
    constantsTouched: []
    func_position:
      end: 127
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 127
    functionName: '[io.undertow.websockets.core.WebSocketFramePriority].insertFrame(io.undertow.websockets.core.StreamSinkFrameChannel,java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFramePriority.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketFramePriority].getType()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
    - '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(int,io.undertow.websockets.core.StreamSinkFrameChannel)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].markBroken()'
    - '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].size()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].isFinalFragment()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].isWritesShutdown()'
    - '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].get(io.undertow.websockets.core.WebSocketFramePriority)'
    - '[io.undertow.websockets.core.WebSocketChannel].isCloseFrameReceived()'
    - '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].isEmpty()'
    - '[java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>].poll()'
    - '[java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>].peek()'
    - '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.WebSocketFramePriority,io.undertow.websockets.core.StreamSinkFrameChannel)'
    - '[java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.StreamSinkFrameChannel)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getWebSocketChannel()'
    - '[io.undertow.websockets.core.WebSocketFramePriority].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.WebSocketFramePriority].insertFrame(io.undertow.websockets.core.StreamSinkFrameChannel,java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].isFinalFragment()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:131,1
    - Dst: '[java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>].peek()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:133,1
    - Dst: '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].contains(io.undertow.websockets.core.WebSocketFramePriority)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:137,1
    - Dst: '[io.undertow.websockets.core.WebSocketFramePriority].insertFrame(io.undertow.websockets.core.WebSocketFramePriority,java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:138,1
    - Dst: '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].remove(io.undertow.websockets.core.WebSocketFramePriority)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:139,1
    - Dst: '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].isEmpty()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:147,1
    - Dst: '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].peek()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:148,1
    - Dst: '[io.undertow.websockets.core.WebSocketFramePriority].insertFrame(io.undertow.websockets.core.WebSocketFramePriority,java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:149,1
    - Dst: '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].poll()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>
      - java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - addedFrame
    - pendingFrames
    - holdFrames
    argTypes:
    - io.undertow.websockets.core.StreamSinkFrameChannel
    - java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>
    - java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>
    constantsTouched: []
    func_position:
      end: 156
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 156
    functionName: '[io.undertow.websockets.core.WebSocketFramePriority].frameAdded(io.undertow.websockets.core.StreamSinkFrameChannel,java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>,java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFramePriority.java
    functionUses: 0
    functionsReached:
    - '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].contains(io.undertow.websockets.core.WebSocketFramePriority)'
    - '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].remove(io.undertow.websockets.core.WebSocketFramePriority)'
    - '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].peek()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].isFinalFragment()'
    - '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].poll()'
    - '[io.undertow.websockets.core.WebSocketFramePriority].insertFrame(io.undertow.websockets.core.WebSocketFramePriority,java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>)'
    - '[java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>].isEmpty()'
    - '[java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>].peek()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketFramePriority].frameAdded(io.undertow.websockets.core.StreamSinkFrameChannel,java.util.List<io.undertow.websockets.core.StreamSinkFrameChannel>,java.util.Deque<io.undertow.websockets.core.StreamSinkFrameChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:159,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:159,1
    - Dst: '[java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.StreamSinkFrameChannel)'
      Src: io.undertow.websockets.core.WebSocketFramePriority:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.StreamSinkFrameChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.websockets.core.StreamSinkFrameChannel
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: '[io.undertow.websockets.core.WebSocketFramePriority].addToOrderQueue(io.undertow.websockets.core.StreamSinkFrameChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFramePriority.java
    functionUses: 1
    functionsReached:
    - '[java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>].add(io.undertow.websockets.core.StreamSinkFrameChannel)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getType()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketFramePriority].addToOrderQueue(io.undertow.websockets.core.StreamSinkFrameChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: '[io.undertow.websockets.core.WebSocketFramePriority].immediateCloseFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFramePriority.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketFramePriority].immediateCloseFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
      Src: io.undertow.websockets.core.WebSocketFramePriority:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Queue<io.undertow.websockets.core.StreamSinkFrameChannel>
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFramePriority
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.WebSocketFramePriority].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/WebSocketFramePriority.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFramePriority
    signature: '[io.undertow.websockets.core.WebSocketFramePriority].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:50,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.core.protocol.Handshake:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.Handshake
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - version
    - hashAlgorithm
    - magicNumber
    - subprotocols
    argTypes:
    - io.undertow.websockets.core.WebSocketVersion
    - String
    - String
    - java.util.Set<String>
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.core.protocol.Handshake].<init>(io.undertow.websockets.core.WebSocketVersion,String,String,java.util.Set<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 1
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.Handshake
    signature: '[io.undertow.websockets.core.protocol.Handshake].<init>(io.undertow.websockets.core.WebSocketVersion,String,String,java.util.Set<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.websockets.core.protocol.Handshake].getVersion()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketVersion
    signature: '[io.undertow.websockets.core.protocol.Handshake].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.core.protocol.Handshake].getHashAlgorithm()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.Handshake].getHashAlgorithm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.core.protocol.Handshake].getMagicNumber()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.Handshake].getMagicNumber()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestScheme()'
      Src: io.undertow.websockets.core.protocol.Handshake:87,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:87,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:92,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestURI()'
      Src: io.undertow.websockets.core.protocol.Handshake:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.core.protocol.Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestScheme()'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestURI()'
    - '[String].equals(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].putAttachment(io.undertow.websockets.core.protocol.Handshake,io.undertow.websockets.core.WebSocketVersion)'
      Src: io.undertow.websockets.core.protocol.Handshake:101,1
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].handshakeInternal(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.Handshake:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.websockets.core.protocol.Handshake].handshake(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.Handshake].handshakeInternal(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].putAttachment(io.undertow.websockets.core.protocol.Handshake,io.undertow.websockets.core.WebSocketVersion)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].handshake(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '[io.undertow.websockets.core.protocol.Handshake].handshakeInternal(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].handshakeInternal(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.core.protocol.Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - channel
    - pool
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '[io.undertow.websockets.core.protocol.Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.core.protocol.Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.valueOf(io.undertow.websockets.core.protocol.Handshake)
      Src: io.undertow.websockets.core.protocol.Handshake:121,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:121,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
      Src: io.undertow.websockets.core.protocol.Handshake:122,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
      Src: io.undertow.websockets.core.protocol.Handshake:123,1
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
      Src: io.undertow.websockets.core.protocol.Handshake:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - data
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - byte[]
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: '[io.undertow.websockets.core.protocol.Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,io.undertow.websockets.core.protocol.Handshake)'
    - '[io.undertow.websockets.core.protocol.Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    - String.valueOf(io.undertow.websockets.core.protocol.Handshake)
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.websockets.core.protocol.Handshake:129,1
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].writePayload(io.undertow.websockets.spi.WebSocketHttpExchange,io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:129,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].endExchange()'
      Src: io.undertow.websockets.core.protocol.Handshake:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - byte[]
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - data
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - byte[]
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: '[io.undertow.websockets.core.protocol.Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.Handshake].writePayload(io.undertow.websockets.spi.WebSocketHttpExchange,io.undertow.websockets.core.protocol.Handshake)'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].endExchange()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].upgradeChannel(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].sendData(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.protocol.Handshake:136,1
    - Dst: '[IoFuture.Notifier].<init>()'
      Src: io.undertow.websockets.core.protocol.Handshake:136,1
    - Dst: '[org.xnio.IoFuture<Void>].addNotifier(IoFuture.Notifier,null)'
      Src: io.undertow.websockets.core.protocol.Handshake:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - payload
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: '[io.undertow.websockets.core.protocol.Handshake].writePayload(io.undertow.websockets.spi.WebSocketHttpExchange,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoFuture<Void>].addNotifier(IoFuture.Notifier,null)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].sendData(java.nio.ByteBuffer)'
    - '[IoFuture.Notifier].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].writePayload(io.undertow.websockets.spi.WebSocketHttpExchange,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
      Src: io.undertow.websockets.core.protocol.Handshake:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: '[io.undertow.websockets.core.protocol.Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange,byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:160,1
    - Dst: '[java.util.regex.Pattern].split(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:165,1
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].supportedSubprotols(io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:166,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.websockets.core.protocol.Handshake:167,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
      Src: io.undertow.websockets.core.protocol.Handshake:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: '[io.undertow.websockets.core.protocol.Handshake].selectSubprotocol(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.Handshake].supportedSubprotols(io.undertow.websockets.core.protocol.Handshake)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    - '[java.util.regex.Pattern].split(String)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
    - '[String].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].selectSubprotocol(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:175,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:175,1
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].selectedExtension(java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.core.protocol.Handshake:176,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
      Src: io.undertow.websockets.core.protocol.Handshake:177,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].toExtensionHeader(java.util.List<io.undertow.websockets.WebSocketExtension>)'
      Src: io.undertow.websockets.core.protocol.Handshake:178,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
      Src: io.undertow.websockets.core.protocol.Handshake:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: '[io.undertow.websockets.core.protocol.Handshake].selectExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.Handshake].selectedExtension(java.util.List<io.undertow.websockets.WebSocketExtension>)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
    - '[io.undertow.websockets.WebSocketExtension].toExtensionHeader(java.util.List<io.undertow.websockets.WebSocketExtension>)'
    - '[io.undertow.websockets.WebSocketExtension].parse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].selectExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p.trim()
      Src: io.undertow.websockets.core.protocol.Handshake:185,1
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].equals(io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requestedSubprotocolArray
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: '[io.undertow.websockets.core.protocol.Handshake].supportedSubprotols(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.Handshake].equals(io.undertow.websockets.core.protocol.Handshake)'
    - p.trim()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.Handshake].supportedSubprotols(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.core.protocol.Handshake:197,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.core.protocol.Handshake:198,1
    - Dst: extHandshake.accept(io.undertow.websockets.core.protocol.Handshake)
      Src: io.undertow.websockets.core.protocol.Handshake:201,1
    - Dst: extHandshake.isIncompatible(java.util.ArrayList)
      Src: io.undertow.websockets.core.protocol.Handshake:202,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:203,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.websockets.WebSocketExtension>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extensionList
    argTypes:
    - java.util.List<io.undertow.websockets.WebSocketExtension>
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: '[io.undertow.websockets.core.protocol.Handshake].selectedExtension(java.util.List<io.undertow.websockets.WebSocketExtension>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 1
    functionsReached:
    - extHandshake.isIncompatible(java.util.ArrayList)
    - extHandshake.accept(io.undertow.websockets.core.protocol.Handshake)
    - '[java.util.ArrayList].add(io.undertow.websockets.core.protocol.Handshake)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.WebSocketExtension>
    signature: '[io.undertow.websockets.core.protocol.Handshake].selectedExtension(java.util.List<io.undertow.websockets.WebSocketExtension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>].add(io.undertow.websockets.extensions.ExtensionHandshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.extensions.ExtensionHandshake
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extension
    argTypes:
    - io.undertow.websockets.extensions.ExtensionHandshake
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: '[io.undertow.websockets.core.protocol.Handshake].addExtension(io.undertow.websockets.extensions.ExtensionHandshake)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>].add(io.undertow.websockets.extensions.ExtensionHandshake)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.Handshake].addExtension(io.undertow.websockets.extensions.ExtensionHandshake)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeaders()'
      Src: io.undertow.websockets.core.protocol.Handshake:228,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].get(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:228,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeaders()'
      Src: io.undertow.websockets.core.protocol.Handshake:229,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].get(String)'
      Src: io.undertow.websockets.core.protocol.Handshake:229,1
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].get(int)'
      Src: io.undertow.websockets.core.protocol.Handshake:229,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.core.protocol.Handshake:231,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:233,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
      Src: io.undertow.websockets.core.protocol.Handshake:234,1
    - Dst: extHandshake.getName()
      Src: io.undertow.websockets.core.protocol.Handshake:237,1
    - Dst: ext.getName()
      Src: io.undertow.websockets.core.protocol.Handshake:237,1
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].equals(io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:237,1
    - Dst: extHandshake.create()
      Src: io.undertow.websockets.core.protocol.Handshake:238,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.core.protocol.Handshake)'
      Src: io.undertow.websockets.core.protocol.Handshake:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.WebSocketVersion
      - String
      - String
      - java.util.Set<String>
      - byte[]
      - java.util.regex.Pattern
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.websockets.extensions.ExtensionFunction>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: '[io.undertow.websockets.core.protocol.Handshake].initExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.WebSocketExtension].parse(io.undertow.websockets.core.protocol.Handshake)'
    - '[java.util.Map<String,java.util.List<String>>].get(String)'
    - extHandshake.create()
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeaders()'
    - '[io.undertow.websockets.core.protocol.Handshake].get(int)'
    - '[io.undertow.websockets.core.protocol.Handshake].equals(io.undertow.websockets.core.protocol.Handshake)'
    - extHandshake.getName()
    - '[java.util.ArrayList].<init>()'
    - ext.getName()
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
    - '[java.util.ArrayList].add(io.undertow.websockets.core.protocol.Handshake)'
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.extensions.ExtensionFunction>
    signature: '[io.undertow.websockets.core.protocol.Handshake].initExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 1
    argNames:
    - wsChannel
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07BinaryFrameSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel].isFragmentationSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07BinaryFrameSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel].isFragmentationSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel].areExtensionsSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07BinaryFrameSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel].areExtensionsSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.UTF8Checker)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      - int
      - boolean
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 7
    argNames:
    - wsChannel
    - rsv
    - finalFragment
    - masker
    - checker
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    - int
    - boolean
    - io.undertow.websockets.core.protocol.version07.Masker
    - io.undertow.websockets.core.protocol.version07.UTF8Checker
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07TextFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.UTF8Checker)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null,io.undertow.websockets.core.protocol.version07.UTF8Checker)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      - int
      - boolean
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 6
    argNames:
    - wsChannel
    - rsv
    - finalFragment
    - checker
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    - int
    - boolean
    - io.undertow.websockets.core.protocol.version07.UTF8Checker
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,boolean,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07TextFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null,io.undertow.websockets.core.protocol.version07.UTF8Checker)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,boolean,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,int,io.undertow.websockets.core.protocol.version07.UTF8Checker)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      - int
      - boolean
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - io.undertow.connector.PooledByteBuffer
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 8
    argNames:
    - wsChannel
    - rsv
    - finalFragment
    - masker
    - checker
    - pooled
    - frameLength
    - maxReadFrameCount
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    - int
    - boolean
    - io.undertow.websockets.core.protocol.version07.Masker
    - io.undertow.websockets.core.protocol.version07.UTF8Checker
    - io.undertow.connector.PooledByteBuffer
    - long
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07TextFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,int,io.undertow.websockets.core.protocol.version07.UTF8Checker)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null,int,io.undertow.websockets.core.protocol.version07.UTF8Checker)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      - int
      - boolean
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - io.undertow.connector.PooledByteBuffer
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 7
    argNames:
    - wsChannel
    - rsv
    - finalFragment
    - checker
    - pooled
    - frameLength
    - maxReadFrameCount
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    - int
    - boolean
    - io.undertow.websockets.core.protocol.version07.UTF8Checker
    - io.undertow.connector.PooledByteBuffer
    - long
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,boolean,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07TextFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null,int,io.undertow.websockets.core.protocol.version07.UTF8Checker)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,boolean,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 1
    argNames:
    - wsChannel
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07PongFrameSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].invalidTextFrameEncoding()'
      Src: io.undertow.websockets.core.protocol.version07.UTF8Checker:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/UTF8Checker.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].invalidTextFrameEncoding()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.websockets.core.protocol.version07.UTF8Checker)'
      Src: io.undertow.websockets.core.protocol.version07.UTF8Checker:81,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(io.undertow.websockets.core.protocol.version07.UTF8Checker)'
      Src: io.undertow.websockets.core.protocol.version07.UTF8Checker:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/UTF8Checker.java
    functionUses: 2
    functionsReached:
    - '[java.nio.ByteBuffer].get(io.undertow.websockets.core.protocol.version07.UTF8Checker)'
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(io.undertow.websockets.core.protocol.version07.UTF8Checker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].newFrame(io.undertow.server.protocol.framed.FrameHeaderData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/UTF8Checker.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].newFrame(io.undertow.server.protocol.framed.FrameHeaderData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(java.nio.ByteBuffer,int,int)'
      Src: io.undertow.websockets.core.protocol.version07.UTF8Checker:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].afterRead(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/UTF8Checker.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(java.nio.ByteBuffer,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].afterRead(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(java.nio.ByteBuffer,int,int)'
      Src: io.undertow.websockets.core.protocol.version07.UTF8Checker:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].beforeWrite(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/UTF8Checker.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].checkUTF8(java.nio.ByteBuffer,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].beforeWrite(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].invalidTextFrameEncoding()'
      Src: io.undertow.websockets.core.protocol.version07.UTF8Checker:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].complete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/UTF8Checker.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].invalidTextFrameEncoding()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].complete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - byte[]
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.UTF8Checker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/UTF8Checker.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.UTF8Checker
    signature: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 5
    argNames:
    - wsChannel
    - rsv
    - masker
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    - io.undertow.websockets.core.protocol.version07.Masker
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07PingFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 4
    argNames:
    - wsChannel
    - rsv
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07PingFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel:35,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      - int
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 5
    argNames:
    - wsChannel
    - rsv
    - masker
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    - int
    - io.undertow.websockets.core.protocol.version07.Masker
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07CloseFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel:40,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      - int
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 4
    argNames:
    - wsChannel
    - rsv
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    - int
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07CloseFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,int,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocket07Channel
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction
      static: false
      superClass: UTF8Checker
    argCount: 1
    argNames:
    - wsChannel
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07CloseFrameSourceChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction:60,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].invalidCloseFrameStatusCode(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction:68,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].markReadsBroken(io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction:69,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].afterRead(java.nio.ByteBuffer,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - WebSocket07Channel
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: UTF8Checker
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].afterRead(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07CloseFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].get(io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].afterRead(java.nio.ByteBuffer,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].markReadsBroken(io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].invalidCloseFrameStatusCode(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel.CloseFrameValidatorChannelFunction].afterRead(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 1
    argNames:
    - wsChannel
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07PingFrameSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      - boolean
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 6
    argNames:
    - wsChannel
    - rsv
    - finalFragment
    - masker
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    - boolean
    - io.undertow.websockets.core.protocol.version07.Masker
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07BinaryFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      - boolean
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 5
    argNames:
    - wsChannel
    - rsv
    - finalFragment
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    - boolean
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07BinaryFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      - boolean
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.connector.PooledByteBuffer
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 7
    argNames:
    - wsChannel
    - rsv
    - finalFragment
    - masker
    - pooled
    - frameLength
    - maxReadFrameCount
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    - boolean
    - io.undertow.websockets.core.protocol.version07.Masker
    - io.undertow.connector.PooledByteBuffer
    - long
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07BinaryFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker,int)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null,int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      - boolean
      - io.undertow.connector.PooledByteBuffer
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 6
    argNames:
    - wsChannel
    - rsv
    - finalFragment
    - pooled
    - frameLength
    - maxReadFrameCount
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    - boolean
    - io.undertow.connector.PooledByteBuffer
    - long
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07BinaryFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null,int)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.Handshake].<init>(io.undertow.websockets.core.WebSocketVersion,String,String,java.util.Set<String>)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketVersion
      - java.util.Set<String>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.Handshake
    argCount: 3
    argNames:
    - version
    - subprotocols
    - allowExtensions
    argTypes:
    - io.undertow.websockets.core.WebSocketVersion
    - java.util.Set<String>
    - boolean
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.WebSocketVersion,java.util.Set<String>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Hybi07Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.Handshake].<init>(io.undertow.websockets.core.WebSocketVersion,String,String,java.util.Set<String>)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    signature: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.WebSocketVersion,java.util.Set<String>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version07.Hybi07Handshake,java.util.Set<String>,boolean)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<String>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.Handshake
    argCount: 2
    argNames:
    - subprotocols
    - allowExtensions
    argTypes:
    - java.util.Set<String>
    - boolean
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(java.util.Set<String>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Hybi07Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version07.Hybi07Handshake,java.util.Set<String>,boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    signature: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(java.util.Set<String>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:59,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version07.Hybi07Handshake,io.undertow.websockets.core.protocol.version07.Hybi07Handshake,boolean)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.Handshake
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Hybi07Handshake.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version07.Hybi07Handshake,io.undertow.websockets.core.protocol.version07.Hybi07Handshake,boolean)'
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    signature: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:64,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:65,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:66,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getVersion()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:67,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].toHttpHeaderValue()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:67,1
    - Dst: '[String].equals(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.core.protocol.Handshake
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Hybi07Handshake.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].toHttpHeaderValue()'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getVersion()'
    - '[String].equals(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].matches(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:74,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:76,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].selectSubprotocol(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:78,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].selectExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:79,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:80,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:80,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:82,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].solve(String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:84,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:85,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:86,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:88,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].endExchange()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.protocol.Handshake
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].handshakeInternal(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Hybi07Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].selectSubprotocol(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].solve(String)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].endExchange()'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].selectExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.spi.WebSocketHttpExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].handshakeInternal(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].trim()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:96,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getMagicNumber()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:96,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getHashAlgorithm()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:97,1
    - Dst: '[java.security.MessageDigest].getInstance(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:97,1
    - Dst: concat.getBytes(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:98,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].update(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:98,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].digest()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:99,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:99,1
    - Dst: '[String].trim()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.security.NoSuchAlgorithmException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.websockets.core.protocol.Handshake
    argCount: 1
    argNames:
    - nonceBase64
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].solve(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Hybi07Handshake.java
    functionUses: 1
    functionsReached:
    - concat.getBytes(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)
    - '[java.security.MessageDigest].getInstance(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].update(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getMagicNumber()'
    - '[String].trim()'
    - '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].digest()'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getHashAlgorithm()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].solve(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].initExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:104,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:105,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeader(String)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:105,1
    - Dst: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:105,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getPeerConnections()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:105,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getOptions()'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:105,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.protocol.version07.Hybi07Handshake,String,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
      Src: io.undertow.websockets.core.protocol.version07.Hybi07Handshake:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.Handshake
    argCount: 3
    argNames:
    - exchange
    - channel
    - pool
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Hybi07Handshake.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeader(String)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getOptions()'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(io.undertow.websockets.core.protocol.version07.Hybi07Handshake)'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].initExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getPeerConnections()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.protocol.version07.Hybi07Handshake,String,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      - io.undertow.websockets.core.protocol.version07.Masker
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 5
    argNames:
    - wsChannel
    - rsv
    - masker
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    - io.undertow.websockets.core.protocol.version07.Masker
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07PongFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.Masker)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSourceFrameChannel
    argCount: 4
    argNames:
    - wsChannel
    - rsv
    - pooled
    - frameLength
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07PongFrameSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].<init>(io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel,int,boolean,io.undertow.connector.PooledByteBuffer,long,null)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel].<init>(io.undertow.websockets.core.WebSocketChannel,int,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 1
    argNames:
    - wsChannel
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07CloseFrameSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:69,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.protocol.version07.WebSocket07Channel,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - String
      - String
      - boolean
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      static: false
      superClass: io.undertow.websockets.core.WebSocketChannel
    argCount: 9
    argNames:
    - channel
    - bufferPool
    - wsUrl
    - subProtocol
    - client
    - allowExtensions
    - extensionFunction
    - openConnections
    - options
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - String
    - String
    - boolean
    - boolean
    - io.undertow.websockets.extensions.ExtensionFunction
    - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.protocol.version07.WebSocket07Channel,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PartialFrame
      static: false
      superClass: io.undertow.websockets.core.WebSocketChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].receiveFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].<init>()'
    linkageType: ''
    returnType: PartialFrame
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].receiveFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(Throwable)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.WebSocketChannel
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].markReadsBroken(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketChannel].markReadsBroken(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].markReadsBroken(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.WebSocketChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].closeSubChannels()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].closeSubChannels()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:112,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:114,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:116,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:118,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:120,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].unsupportedFrameType(io.undertow.websockets.core.WebSocketFrameType)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel:122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketFrameType
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.nio.ByteBuffer
      - io.undertow.websockets.core.protocol.version07.UTF8Checker
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.StreamSinkFrameChannel
      static: false
      superClass: io.undertow.websockets.core.WebSocketChannel
    argCount: 1
    argNames:
    - type
    argTypes:
    - io.undertow.websockets.core.WebSocketFrameType
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].createStreamSinkChannel(io.undertow.websockets.core.WebSocketFrameType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel].<init>()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSinkChannel].<init>()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSinkChannel].<init>()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSinkChannel].<init>()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].unsupportedFrameType(io.undertow.websockets.core.WebSocketFrameType)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSinkChannel].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSinkFrameChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].createStreamSinkChannel(io.undertow.websockets.core.WebSocketFrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].createChannel(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:140,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].finalFrame()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.StreamSourceFrameChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pooled
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].getChannel(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].createChannel(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].finalFrame()'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSourceFrameChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].getChannel(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:156,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:156,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:158,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:163,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:163,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:165,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:170,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:170,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:172,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.UTF8Checker].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:180,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:192,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:192,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:194,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:198,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:198,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:200,1
    - Dst: '[RuntimeException].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:203,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:212,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:212,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:214,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].unsupportedOpCode(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:217,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.StreamSourceFrameChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pooled
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 220
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 220
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].createChannel(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
    - '[RuntimeException].<init>()'
    - '[io.undertow.websockets.core.protocol.version07.UTF8Checker].<init>()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07PingFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.connector.PooledByteBuffer,long)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.websockets.core.protocol.version07.UTF8Checker,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
    - '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].unsupportedOpCode(int)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.websockets.core.protocol.version07.Masker,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07BinaryFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,boolean,io.undertow.connector.PooledByteBuffer,long,io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07CloseFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.connector.PooledByteBuffer,long)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07PongFrameSourceChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader,int,io.undertow.connector.PooledByteBuffer,long)'
    linkageType: ''
    returnType: io.undertow.websockets.core.StreamSourceFrameChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].createChannel(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:224,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:232,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].isDebugEnabled()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:237,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].decodingFrameWithOpCode(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:238,1
    - Dst: lengthBuffer.clear()
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:242,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:244,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:247,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].areExtensionsSupported()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:254,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].extensionsNotAllowed(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:255,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].validateControlFrame()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:260,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].validateDataFrame()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:262,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:277,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:280,1
    - Dst: lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:281,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:284,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:287,1
    - Dst: lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:288,1
    - Dst: lengthBuffer.flip()
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:291,1
    - Dst: lengthBuffer.getShort()
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:293,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:304,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:307,1
    - Dst: lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:308,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:312,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:315,1
    - Dst: lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:316,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:319,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:322,1
    - Dst: lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:323,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:326,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:329,1
    - Dst: lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:330,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:333,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:336,1
    - Dst: lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:337,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:340,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:343,1
    - Dst: lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:344,1
    - Dst: lengthBuffer.flip()
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:346,1
    - Dst: lengthBuffer.getLong()
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:347,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:356,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:359,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:363,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:366,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:370,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:373,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:377,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:380,1
    - Dst: '[State].toString()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:385,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:385,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 143
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.websockets.core.WebSocketException
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 398
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 398
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].handle(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached:
    - lengthBuffer.put(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)
    - lengthBuffer.clear()
    - lengthBuffer.flip()
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].isDebugEnabled()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].validateDataFrame()'
    - lengthBuffer.getLong()
    - lengthBuffer.getShort()
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].decodingFrameWithOpCode(int)'
    - '[State].toString()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[IllegalStateException].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].extensionsNotAllowed(int)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].validateControlFrame()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].areExtensionsSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].handle(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].isClient()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:402,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].frameNotMasked()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:403,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].reservedOpCodeInDataFrame(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:408,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].continuationFrameOutsideFragmented()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:413,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].nonContinuationFrameInsideFragmented()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:418,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.websockets.core.WebSocketFrameCorruptedException
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 420
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].validateDataFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].continuationFrameOutsideFragmented()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].frameNotMasked()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].reservedOpCodeInDataFrame(int)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].nonContinuationFrameInsideFragmented()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].isClient()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].validateDataFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].fragmentedControlFrame()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:425,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].toBigControlFrame()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:430,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].reservedOpCodeInControlFrame(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:435,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].controlFrameWithPayloadLen1()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader:442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.websockets.core.WebSocketFrameCorruptedException
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 444
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].validateControlFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].reservedOpCodeInControlFrame(int)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].toBigControlFrame()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].fragmentedControlFrame()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].controlFrameWithPayloadLen1()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].validateControlFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].isDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].isDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].getMaskingKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].getMaskingKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].getExistingChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].getExistingChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].isFinalFragment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].isFinalFragment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - boolean
      - long
      - State
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WebSocketFrame
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel.WebSocketFrameHeader].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 1
    argNames:
    - wsChannel
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07TextFrameSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel].isFragmentationSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07TextFrameSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel].isFragmentationSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel].areExtensionsSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07TextFrameSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07TextFrameSinkChannel].areExtensionsSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].createsMaskingKey(int)'
      Src: io.undertow.websockets.core.protocol.version07.Masker:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Masker
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maskingKey
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Masker.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Masker].createsMaskingKey(int)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Masker
    signature: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].createsMaskingKey(int)'
      Src: io.undertow.websockets.core.protocol.version07.Masker:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maskingKey
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.websockets.core.protocol.version07.Masker].setMaskingKey(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Masker.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Masker].createsMaskingKey(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Masker].setMaskingKey(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - maskingKey
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.core.protocol.version07.Masker].createsMaskingKey(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Masker.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Masker].createsMaskingKey(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.websockets.core.protocol.version07.Masker,byte)'
      Src: io.undertow.websockets.core.protocol.version07.Masker:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.core.protocol.version07.Masker].mask(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Masker.java
    functionUses: 2
    functionsReached:
    - '[java.nio.ByteBuffer].put(io.undertow.websockets.core.protocol.version07.Masker,byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Masker].mask(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: header.getMaskingKey()
      Src: io.undertow.websockets.core.protocol.version07.Masker:62,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].setMaskingKey(io.undertow.websockets.core.protocol.version07.Masker)'
      Src: io.undertow.websockets.core.protocol.version07.Masker:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.core.protocol.version07.Masker].newFrame(io.undertow.server.protocol.framed.FrameHeaderData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Masker.java
    functionUses: 1
    functionsReached:
    - header.getMaskingKey()
    - '[io.undertow.websockets.core.protocol.version07.Masker].setMaskingKey(io.undertow.websockets.core.protocol.version07.Masker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Masker].newFrame(io.undertow.server.protocol.framed.FrameHeaderData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].mask(java.nio.ByteBuffer,int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Masker:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.core.protocol.version07.Masker].afterRead(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Masker.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Masker].mask(java.nio.ByteBuffer,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Masker].afterRead(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].mask(java.nio.ByteBuffer,int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Masker:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.core.protocol.version07.Masker].beforeWrite(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Masker.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Masker].mask(java.nio.ByteBuffer,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Masker].beforeWrite(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.core.function.ChannelFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.core.protocol.version07.Masker].complete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Masker.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Masker].complete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.WebSocketFrameType)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:46,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].isClient()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:48,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:49,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].areExtensionsSupported()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:57,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].getExtensionFunction()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:58,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].writeRsv(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:59,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].setRsv(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:59,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].setRsv(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
      - io.undertow.websockets.core.WebSocketFrameType
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.protocol.version07.Masker
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
      static: false
      superClass: io.undertow.websockets.core.StreamSinkFrameChannel
    argCount: 2
    argNames:
    - wsChannel
    - type
    argTypes:
    - io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    - io.undertow.websockets.core.WebSocketFrameType
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.WebSocketFrameType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07FrameSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].setRsv(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].isClient()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].writeRsv(int)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].areExtensionsSupported()'
    - '[io.undertow.websockets.core.protocol.version07.Masker].<init>(int)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].setRsv(int)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].getExtensionFunction()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.WebSocketFrameType)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07Channel,io.undertow.websockets.core.WebSocketFrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.protocol.version07.Masker
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.StreamSinkFrameChannel
    argCount: 1
    argNames:
    - finalFrame
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].handleFlushComplete(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07FrameSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].handleFlushComplete(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].getType()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:79,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].getType()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:93,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].unsupportedFrameType(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:93,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.protocol.version07.Masker
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte
      static: false
      superClass: io.undertow.websockets.core.StreamSinkFrameChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].opCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07FrameSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].unsupportedFrameType(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].getType()'
    linkageType: ''
    returnType: byte
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].opCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].isFinalFrameQueued()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:102,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].opCode()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:109,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].getRsv()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:111,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:115,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].getBuffer()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:122,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].remaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:122,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].invalidPayloadLengthForPing(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:125,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:129,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:130,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:132,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:133,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:134,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:135,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:137,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:138,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].putLong(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:139,1
    - Dst: '[java.util.concurrent.ThreadLocalRandom].current()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:143,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].nextInt()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:143,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:144,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:145,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:146,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:147,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].setMaskingKey(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:148,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].getBuffer()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:150,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].position()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:151,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].remaining()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:151,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Masker].beforeWrite(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel,io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel,io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:151,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].flip()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:154,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:156,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.protocol.version07.Masker
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.websockets.core.StreamSinkFrameChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 157
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07FrameSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].invalidPayloadLengthForPing(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].getRsv()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(byte)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].flip()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].opCode()'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].isFinalFrameQueued()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.util.ImmediatePooledByteBuffer)'
    - '[io.undertow.websockets.core.protocol.version07.Masker].setMaskingKey(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.Masker].beforeWrite(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel,io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel,io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].nextInt()'
    - '[java.util.concurrent.ThreadLocalRandom].current()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].position()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].put(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].putLong(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].remaining()'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].getBuffer()'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].isFinalFrameQueued()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:162,1
    - Dst: '[io.undertow.websockets.extensions.ExtensionFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:162,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].preWriteTransform(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:162,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].ioException(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:164,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].markBroken()'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:165,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
      Src: io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.protocol.version07.Masker
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: io.undertow.websockets.core.StreamSinkFrameChannel
    argCount: 1
    argNames:
    - body
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].preWriteTransform(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/WebSocket07FrameSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].isFinalFrameQueued()'
    - '[RuntimeException].<init>(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].ioException(io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].preWriteTransform(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.websockets.extensions.ExtensionFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel)'
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].markBroken()'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.core.protocol.version07.WebSocket07FrameSinkChannel].preWriteTransform(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - options
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].getAlphabet(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].getAlphabet(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - options
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].getDecodabet(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].getDecodabet(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Base64
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Base64
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],int,int,byte[],int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - b4
    - threeBytes
    - numSigBytes
    - options
    argTypes:
    - byte[]
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],int,int,byte[],int,int)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].getAlphabet(int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:450,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - source
    - srcOffset
    - numSigBytes
    - destination
    - destOffset
    - options
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 492
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 492
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],int,int,byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].getAlphabet(int)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],int,int,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:506,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:507,1
    - Dst: Math.min(int,io.undertow.websockets.core.protocol.version07.Base64)
      Src: io.undertow.websockets.core.protocol.version07.Base64:507,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:508,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:509,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - raw
    - encoded
    argTypes:
    - java.nio.ByteBuffer
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encode(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].put(io.undertow.websockets.core.protocol.version07.Base64)'
    - Math.min(int,io.undertow.websockets.core.protocol.version07.Base64)
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].get(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encode(java.nio.ByteBuffer,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:526,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:527,1
    - Dst: Math.min(int,io.undertow.websockets.core.protocol.version07.Base64)
      Src: io.undertow.websockets.core.protocol.version07.Base64:527,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:528,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:529,1
    - Dst: '[java.nio.CharBuffer].put(char)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.nio.CharBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - raw
    - encoded
    argTypes:
    - java.nio.ByteBuffer
    - java.nio.CharBuffer
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encode(java.nio.ByteBuffer,java.nio.CharBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - Math.min(int,io.undertow.websockets.core.protocol.version07.Base64)
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].get(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
    - '[java.nio.CharBuffer].put(char)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encode(java.nio.ByteBuffer,java.nio.CharBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encodeObject(java.io.Serializable,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.Serializable
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - serializableObject
    argTypes:
    - java.io.Serializable
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeObject(java.io.Serializable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].encodeObject(java.io.Serializable,int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeObject(java.io.Serializable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,java.io.Serializable)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:589,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:599,1
    - Dst: '[Base64.OutputStream].<init>(java.io.ByteArrayOutputStream,io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:600,1
    - Dst: '[java.util.zip.GZIPOutputStream].<init>(Base64.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:603,1
    - Dst: '[java.io.ObjectOutputStream].<init>(java.util.zip.GZIPOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:604,1
    - Dst: '[java.io.ObjectOutputStream].<init>(Base64.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:607,1
    - Dst: '[java.io.ObjectOutputStream].writeObject(java.io.Serializable)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:609,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ObjectOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:617,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.util.zip.GZIPOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:618,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(Base64.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:619,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:620,1
    - Dst: '[String].<init>(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.Serializable
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - serializableObject
    - options
    argTypes:
    - java.io.Serializable
    - int
    constantsTouched: []
    func_position:
      end: 626
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 626
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeObject(java.io.Serializable,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ObjectOutputStream)'
    - '[String].<init>(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64)'
    - '[java.util.zip.GZIPOutputStream].<init>(Base64.OutputStream)'
    - '[java.io.ObjectOutputStream].<init>(Base64.OutputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.util.zip.GZIPOutputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,java.io.Serializable)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(Base64.OutputStream)'
    - '[java.io.ObjectOutputStream].writeObject(java.io.Serializable)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayOutputStream)'
    - '[java.io.ObjectOutputStream].<init>(java.util.zip.GZIPOutputStream)'
    - '[Base64.OutputStream].<init>(java.io.ByteArrayOutputStream,io.undertow.websockets.core.protocol.version07.Base64)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeObject(java.io.Serializable,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:642,1
    - Dst: ex.getMessage()
      Src: io.undertow.websockets.core.protocol.version07.Base64:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 648
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 648
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - ex.getMessage()
    - '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,io.undertow.websockets.core.protocol.version07.Base64,int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - options
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 683
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 683
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,io.undertow.websockets.core.protocol.version07.Base64,int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:708,1
    - Dst: ex.getMessage()
      Src: io.undertow.websockets.core.protocol.version07.Base64:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - source
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 714
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 714
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,int,int)'
    - ex.getMessage()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytesToBytes(byte[],int,int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:751,1
    - Dst: '[String].<init>(byte[],io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - 'off'
    - len
    - options
    argTypes:
    - byte[]
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytesToBytes(byte[],int,int,int)'
    - '[String].<init>(byte[],io.undertow.websockets.core.protocol.version07.Base64)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytes(byte[],int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytesToBytes(byte[],int,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:771,1
    - Dst: ex.getMessage()
      Src: io.undertow.websockets.core.protocol.version07.Base64:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 776
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 776
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytesToBytes(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytesToBytes(byte[],int,io.undertow.websockets.core.protocol.version07.Base64,int)'
    - ex.getMessage()
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytesToBytes(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:797,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkMinimumParameter(String,int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:799,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkMinimumParameter(String,int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:800,1
    - Dst: String.format(String,int,int,io.undertow.websockets.core.protocol.version07.Base64)
      Src: io.undertow.websockets.core.protocol.version07.Base64:803,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:803,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:815,1
    - Dst: '[Base64.OutputStream].<init>(java.io.ByteArrayOutputStream,io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:816,1
    - Dst: '[java.util.zip.GZIPOutputStream].<init>(Base64.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:817,1
    - Dst: '[java.util.zip.GZIPOutputStream].write(byte[],int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:819,1
    - Dst: '[java.util.zip.GZIPOutputStream].close()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:820,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.util.zip.GZIPOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:828,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(Base64.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:829,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:830,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:833,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:858,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:869,1
    - Dst: System.arraycopy(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)
      Src: io.undertow.websockets.core.protocol.version07.Base64:880,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - 'off'
    - len
    - options
    argTypes:
    - byte[]
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 890
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 890
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytesToBytes(byte[],int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)
    - '[Base64.OutputStream].<init>(java.io.ByteArrayOutputStream,io.undertow.websockets.core.protocol.version07.Base64)'
    - '[java.util.zip.GZIPOutputStream].<init>(Base64.OutputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
    - String.format(String,int,int,io.undertow.websockets.core.protocol.version07.Base64)
    - '[io.undertow.websockets.core.protocol.version07.Base64].checkMinimumParameter(String,int,int)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.util.zip.GZIPOutputStream)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(Base64.OutputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].encode3to4(byte[],io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayOutputStream)'
    - '[java.util.zip.GZIPOutputStream].write(byte[],int,int)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[java.util.zip.GZIPOutputStream].close()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeBytesToBytes(byte[],int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:919,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:920,1
    - Dst: String.format(String,io.undertow.websockets.core.protocol.version07.Base64,int)
      Src: io.undertow.websockets.core.protocol.version07.Base64:923,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:923,1
    - Dst: String.format(String,io.undertow.websockets.core.protocol.version07.Base64,int)
      Src: io.undertow.websockets.core.protocol.version07.Base64:928,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:928,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].getDecodabet(int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:933,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 68
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - source
    - srcOffset
    - destination
    - destOffset
    - options
    argTypes:
    - byte[]
    - int
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 976
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 976
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decode4to3(byte[],int,byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
    - String.format(String,io.undertow.websockets.core.protocol.version07.Base64,int)
    - '[IllegalArgumentException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].getDecodabet(int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decode4to3(byte[],int,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].decode(byte[],int,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 996
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 996
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decode(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].decode(byte[],int,io.undertow.websockets.core.protocol.version07.Base64,int)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decode(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1015,1
    - Dst: String.format(String,io.undertow.websockets.core.protocol.version07.Base64,int,int)
      Src: io.undertow.websockets.core.protocol.version07.Base64:1018,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1018,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1025,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].getDecodabet(int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1029,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].decode4to3(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1051,1
    - Dst: String.format(String,int,io.undertow.websockets.core.protocol.version07.Base64)
      Src: io.undertow.websockets.core.protocol.version07.Base64:1063,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1063,1
    - Dst: System.arraycopy(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,int,int)
      Src: io.undertow.websockets.core.protocol.version07.Base64:1069,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - 'off'
    - len
    - options
    argTypes:
    - byte[]
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1071
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1071
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decode(byte[],int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].getDecodabet(int)'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].decode4to3(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
    - String.format(String,io.undertow.websockets.core.protocol.version07.Base64,int,int)
    - System.arraycopy(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,int,int)
    - String.format(String,int,io.undertow.websockets.core.protocol.version07.Base64)
    - '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
    - '[IllegalArgumentException].<init>(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decode(byte[],int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].decode(String,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].decode(String,int)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1097,1
    - Dst: '[String].getBytes(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1099,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].decode(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1104,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1120,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1121,1
    - Dst: '[java.util.zip.GZIPInputStream].<init>(java.io.ByteArrayInputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1122,1
    - Dst: '[java.util.zip.GZIPInputStream].read(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1124,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1125,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1129,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].ioException(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1133,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1137,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.util.zip.GZIPInputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1138,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayInputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - s
    - options
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 1146
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1146
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decode(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 2
    functionsReached:
    - '[String].getBytes(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[java.io.ByteArrayInputStream].<init>(byte[])'
    - '[java.util.zip.GZIPInputStream].<init>(java.io.ByteArrayInputStream)'
    - '[java.util.zip.GZIPInputStream].read(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.util.zip.GZIPInputStream)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[io.undertow.websockets.core.protocol.version07.Base64].decode(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,int)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].ioException(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,String)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayOutputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayInputStream)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decode(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].decodeToObject(String,int,null)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - ClassNotFoundException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - encodedObject
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1160
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1160
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decodeToObject(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].decodeToObject(String,int,null)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decodeToObject(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].decode(String,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1179,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1186,1
    - Dst: '[java.io.ObjectInputStream].<init>(java.io.ByteArrayInputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1190,1
    - Dst: '[java.io.ObjectInputStream].<init>(java.io.ByteArrayInputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1196,1
    - Dst: '[java.io.ObjectInputStream].readObject()'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1210,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayInputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1219,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ObjectInputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - ClassNotFoundException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - encodedObject
    - options
    - loader
    argTypes:
    - String
    - int
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 1224
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1224
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decodeToObject(String,int,ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ObjectInputStream)'
    - '[java.io.ByteArrayInputStream].<init>(byte[])'
    - '[java.io.ObjectInputStream].<init>(java.io.ByteArrayInputStream)'
    - '[java.io.ObjectInputStream].readObject()'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.ByteArrayInputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].decode(String,int)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decodeToObject(String,int,ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1242,1
    - Dst: '[Base64.OutputStream].<init>(java.io.FileOutputStream,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1246,1
    - Dst: '[Base64.OutputStream].write(byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1247,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(Base64.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - dataToEncode
    - filename
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 1256
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1256
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeToFile(byte[],String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64].checkNotNullParamWithNullPointerException(String,byte[])'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(Base64.OutputStream)'
    - '[Base64.OutputStream].write(byte[])'
    - '[Base64.OutputStream].<init>(java.io.FileOutputStream,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeToFile(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Base64.OutputStream].<init>(java.io.FileOutputStream,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1275,1
    - Dst: '[String].getBytes(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1276,1
    - Dst: '[Base64.OutputStream].write(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1276,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(Base64.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - dataToDecode
    - filename
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1285
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1285
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decodeToFile(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(Base64.OutputStream)'
    - '[Base64.OutputStream].write(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[Base64.OutputStream].<init>(java.io.FileOutputStream,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decodeToFile(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1306,1
    - Dst: '[java.nio.file.Files].size(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1312,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1313,1
    - Dst: '[java.nio.file.Files].size(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1315,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.BufferedInputStream,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1318,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1321,1
    - Dst: System.arraycopy(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)
      Src: io.undertow.websockets.core.protocol.version07.Base64:1327,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(io.undertow.websockets.core.protocol.version07.Base64.InputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - filename
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1338
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1338
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decodeFromFile(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.BufferedInputStream,int)'
    - System.arraycopy(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64)
    - '[java.io.IOException].<init>(String)'
    - '[java.nio.file.Paths].get(String)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(io.undertow.websockets.core.protocol.version07.Base64.InputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
    - '[java.nio.file.Files].size(io.undertow.websockets.core.protocol.version07.Base64)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decodeFromFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1359,1
    - Dst: Math.max(int,int)
      Src: io.undertow.websockets.core.protocol.version07.Base64:1360,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.BufferedInputStream,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1367,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1370,1
    - Dst: '[String].<init>(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1375,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(io.undertow.websockets.core.protocol.version07.Base64.InputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - filename
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1386
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1386
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeFromFile(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.BufferedInputStream,int)'
    - Math.max(int,int)
    - '[java.nio.file.Paths].get(String)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(io.undertow.websockets.core.protocol.version07.Base64.InputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64,int)'
    - '[String].<init>(io.undertow.websockets.core.protocol.version07.Base64,int,io.undertow.websockets.core.protocol.version07.Base64,io.undertow.websockets.core.protocol.version07.Base64)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeFromFile(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].encodeFromFile(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1398,1
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1401,1
    - Dst: '[java.io.BufferedOutputStream].<init>(java.io.FileOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1401,1
    - Dst: '[String].getBytes(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1402,1
    - Dst: '[java.io.BufferedOutputStream].write(io.undertow.websockets.core.protocol.version07.Base64)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1402,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.BufferedOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - infile
    - outfile
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1410
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1410
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].encodeFileToFile(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].encodeFromFile(String)'
    - '[java.io.BufferedOutputStream].write(io.undertow.websockets.core.protocol.version07.Base64)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.BufferedOutputStream)'
    - '[java.io.BufferedOutputStream].<init>(java.io.FileOutputStream)'
    - '[java.io.FileOutputStream].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].encodeFileToFile(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].decodeFromFile(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1422,1
    - Dst: '[java.io.FileOutputStream].<init>(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1425,1
    - Dst: '[java.io.BufferedOutputStream].<init>(java.io.FileOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1425,1
    - Dst: '[java.io.BufferedOutputStream].write(byte[])'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1426,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.BufferedOutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64:1432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - byte
      - byte
      - byte
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - infile
    - outfile
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1434
      start: 1420
    functionDepth: 2
    functionLinenumber: 1420
    functionLinenumberEnd: 1434
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64].decodeFileToFile(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[java.io.FileOutputStream].<init>(String)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].decodeFromFile(String)'
    - '[io.undertow.websockets.core.protocol.version07.Base64].safeClose(java.io.BufferedOutputStream)'
    - '[java.io.BufferedOutputStream].<init>(java.io.FileOutputStream)'
    - '[java.io.BufferedOutputStream].write(byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64].decodeFileToFile(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.InputStream,io.undertow.websockets.core.protocol.version07.Base64.InputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Base64.InputStream
      static: false
      superClass: java.io.FilterInputStream
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 1465
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1465
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.InputStream,io.undertow.websockets.core.protocol.version07.Base64.InputStream)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Base64.InputStream
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FilterInputStream].<init>(java.io.InputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1490,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].getDecodabet(int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Base64.InputStream
      static: false
      superClass: java.io.FilterInputStream
    argCount: 2
    argNames:
    - in
    - options
    argTypes:
    - java.io.InputStream
    - int
    constantsTouched: []
    func_position:
      end: 1499
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1499
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.InputStream,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].getDecodabet(int)'
    - '[java.io.FilterInputStream].<init>(java.io.InputStream)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Base64.InputStream
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].<init>(java.io.InputStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: in.read()
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1516,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].encode3to4(io.undertow.websockets.core.protocol.version07.Base64.InputStream,int,io.undertow.websockets.core.protocol.version07.Base64.InputStream,byte[],int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1529,1
    - Dst: in.read()
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1546,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].decode4to3(io.undertow.websockets.core.protocol.version07.Base64.InputStream,int,byte[],int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1557,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1565,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1600,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.FilterInputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1602
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].encode3to4(io.undertow.websockets.core.protocol.version07.Base64.InputStream,int,io.undertow.websockets.core.protocol.version07.Base64.InputStream,byte[],int,int)'
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].decode4to3(io.undertow.websockets.core.protocol.version07.Base64.InputStream,int,byte[],int,int)'
    - '[java.io.IOException].<init>(String)'
    - in.read()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read()'
      Src: io.undertow.websockets.core.protocol.version07.Base64.InputStream:1619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.FilterInputStream
    argCount: 3
    argNames:
    - dest
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1630
      start: 1614
    functionDepth: 2
    functionLinenumber: 1614
    functionLinenumberEnd: 1630
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].<init>(java.io.OutputStream,io.undertow.websockets.core.protocol.version07.Base64.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - boolean
      - byte[]
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Base64.OutputStream
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 1
    argNames:
    - out
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 1664
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1664
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].<init>(java.io.OutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].<init>(java.io.OutputStream,io.undertow.websockets.core.protocol.version07.Base64.OutputStream)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Base64.OutputStream
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].<init>(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.FilterOutputStream].<init>(java.io.OutputStream)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1687,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].getDecodabet(int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - boolean
      - byte[]
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.protocol.version07.Base64.OutputStream
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 2
    argNames:
    - out
    - options
    argTypes:
    - java.io.OutputStream
    - int
    constantsTouched: []
    func_position:
      end: 1698
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1698
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].<init>(java.io.OutputStream,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[java.io.FilterOutputStream].<init>(java.io.OutputStream)'
    - '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].getDecodabet(int)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version07.Base64.OutputStream
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].<init>(java.io.OutputStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.out.write(int)
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1712,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].encode3to4(byte[],byte[],int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1721,1
    - Dst: this.out.write(io.undertow.websockets.core.protocol.version07.Base64.OutputStream)
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1721,1
    - Dst: this.out.write(io.undertow.websockets.core.protocol.version07.Base64.OutputStream)
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1725,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64].decode4to3(byte[],int,byte[],int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1740,1
    - Dst: out.write(byte[],int,int)
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1741,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - boolean
      - byte[]
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 1
    argNames:
    - theByte
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1749
      start: 1708
    functionDepth: 2
    functionLinenumber: 1708
    functionLinenumberEnd: 1749
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].write(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    - this.out.write(io.undertow.websockets.core.protocol.version07.Base64.OutputStream)
    - this.out.write(int)
    - '[io.undertow.websockets.core.protocol.version07.Base64].decode4to3(byte[],int,byte[],int,int)'
    - '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].encode3to4(byte[],byte[],int,int)'
    - out.write(byte[],int,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].write(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.out.write(byte[],int,int)
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1763,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].write()'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - boolean
      - byte[]
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 3
    argNames:
    - theBytes
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1771
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1771
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].write(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - this.out.write(byte[],int,int)
    - '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].write()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].encode3to4(byte[],byte[],int,int)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1781,1
    - Dst: out.write(io.undertow.websockets.core.protocol.version07.Base64.OutputStream)
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1781,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - boolean
      - byte[]
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].flushBase64()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 2
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    - '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].encode3to4(byte[],byte[],int,int)'
    - out.write(io.undertow.websockets.core.protocol.version07.Base64.OutputStream)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].flushBase64()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].flushBase64()'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1799,1
    - Dst: '[java.io.FilterOutputStream].close()'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - boolean
      - byte[]
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1807
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].flushBase64()'
    - '[java.io.FilterOutputStream].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].flushBase64()'
      Src: io.undertow.websockets.core.protocol.version07.Base64.OutputStream:1816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - boolean
      - byte[]
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1818
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].suspendEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].flushBase64()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].suspendEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - byte[]
      - int
      - int
      - boolean
      - byte[]
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.io.FilterOutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1827
    functionName: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].resumeEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version07/Base64.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version07.Base64.OutputStream].resumeEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:45,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version13.Hybi13Handshake,io.undertow.websockets.core.protocol.version13.Hybi13Handshake,boolean)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version13/Hybi13Handshake.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version13.Hybi13Handshake,io.undertow.websockets.core.protocol.version13.Hybi13Handshake,boolean)'
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
    signature: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version13.Hybi13Handshake,java.util.Set<String>,boolean)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<String>
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 2
    argNames:
    - subprotocols
    - allowExtensions
    argTypes:
    - java.util.Set<String>
    - boolean
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>(java.util.Set<String>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version13/Hybi13Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version13.Hybi13Handshake,java.util.Set<String>,boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version13.Hybi13Handshake
    signature: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].<init>(java.util.Set<String>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:54,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:56,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].selectSubprotocol(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:58,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].selectExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:59,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:60,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:60,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:62,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].solve(String)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:64,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:65,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:66,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:68,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].endExchange()'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].handshakeInternal(io.undertow.websockets.spi.WebSocketHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version13/Hybi13Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].endExchange()'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].selectExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].selectSubprotocol(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].performUpgrade(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].solve(String)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.websockets.spi.WebSocketHttpExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].handshakeInternal(io.undertow.websockets.spi.WebSocketHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].initExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:76,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:77,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeader(String)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:77,1
    - Dst: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:77,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getPeerConnections()'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:77,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getOptions()'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:77,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.protocol.version13.Hybi13Handshake,String,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
      Src: io.undertow.websockets.core.protocol.version13.Hybi13Handshake:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 3
    argNames:
    - exchange
    - channel
    - pool
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version13/Hybi13Handshake.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeader(String)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getOptions()'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.protocol.version13.Hybi13Handshake,String,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getPeerConnections()'
    - '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(io.undertow.websockets.core.protocol.version13.Hybi13Handshake)'
    - '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].initExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.core.protocol.version13.Hybi13Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
      Src: io.undertow.websockets.core.protocol.version13.WebSocket13Channel:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - String
      - String
      - boolean
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version13.WebSocket13Channel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    argCount: 9
    argNames:
    - channel
    - bufferPool
    - wsUrl
    - subProtocols
    - client
    - allowExtensions
    - extensionFunction
    - openConnections
    - options
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - String
    - String
    - boolean
    - boolean
    - io.undertow.websockets.extensions.ExtensionFunction
    - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version13/WebSocket13Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version13.WebSocket13Channel
    signature: '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketVersion
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].getVersion()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version13/WebSocket13Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketVersion
    signature: '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:43,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version08.Hybi08Handshake,io.undertow.websockets.core.protocol.version08.Hybi08Handshake,boolean)'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version08/Hybi08Handshake.java
    functionUses: 3
    functionsReached:
    - '[java.util.Collections].emptySet()'
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version08.Hybi08Handshake,io.undertow.websockets.core.protocol.version08.Hybi08Handshake,boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
    signature: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version08.Hybi08Handshake,java.util.Set<String>,boolean)'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<String>
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 2
    argNames:
    - subprotocols
    - allowExtensions
    argTypes:
    - java.util.Set<String>
    - boolean
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>(java.util.Set<String>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version08/Hybi08Handshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Hybi07Handshake].<init>(io.undertow.websockets.core.protocol.version08.Hybi08Handshake,java.util.Set<String>,boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version08.Hybi08Handshake
    signature: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].<init>(java.util.Set<String>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].initExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:52,1
    - Dst: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:53,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeader(String)'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:53,1
    - Dst: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(io.undertow.websockets.core.protocol.version08.Hybi08Handshake)'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:53,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getPeerConnections()'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:53,1
    - Dst: '[io.undertow.websockets.spi.WebSocketHttpExchange].getOptions()'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:53,1
    - Dst: '[io.undertow.websockets.core.protocol.version08.WebSocket08Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.protocol.version08.Hybi08Handshake,String,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
      Src: io.undertow.websockets.core.protocol.version08.Hybi08Handshake:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.Hybi07Handshake
    argCount: 3
    argNames:
    - exchange
    - channel
    - pool
    argTypes:
    - io.undertow.websockets.spi.WebSocketHttpExchange
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version08/Hybi08Handshake.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeader(String)'
    - '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].getWebSocketLocation(io.undertow.websockets.spi.WebSocketHttpExchange)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getOptions()'
    - '[io.undertow.websockets.core.protocol.version08.WebSocket08Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.websockets.core.protocol.version08.Hybi08Handshake,String,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    - '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(io.undertow.websockets.core.protocol.version08.Hybi08Handshake)'
    - '[io.undertow.websockets.spi.WebSocketHttpExchange].getPeerConnections()'
    - '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].initExtensions(io.undertow.websockets.spi.WebSocketHttpExchange)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.core.protocol.version08.Hybi08Handshake].createChannel(io.undertow.websockets.spi.WebSocketHttpExchange,org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
      Src: io.undertow.websockets.core.protocol.version08.WebSocket08Channel:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - String
      - String
      - boolean
      - boolean
      - io.undertow.websockets.extensions.ExtensionFunction
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.protocol.version08.WebSocket08Channel
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    argCount: 9
    argNames:
    - channel
    - bufferPool
    - wsUrl
    - subProtocols
    - client
    - allowExtensions
    - extensionFunction
    - openConnections
    - options
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - String
    - String
    - boolean
    - boolean
    - io.undertow.websockets.extensions.ExtensionFunction
    - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.core.protocol.version08.WebSocket08Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version08/WebSocket08Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.WebSocket07Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.websockets.core.protocol.version08.WebSocket08Channel
    signature: '[io.undertow.websockets.core.protocol.version08.WebSocket08Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.Set<io.undertow.websockets.core.WebSocketChannel>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketVersion
      static: false
      superClass: io.undertow.websockets.core.protocol.version07.WebSocket07Channel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.websockets.core.protocol.version08.WebSocket08Channel].getVersion()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/protocol/version08/WebSocket08Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketVersion
    signature: '[io.undertow.websockets.core.protocol.version08.WebSocket08Channel].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.ReadableByteChannel
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.ReadableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.ReadableByteChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - java.nio.channels.ReadableByteChannel
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].<init>(java.nio.channels.ReadableByteChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionReadableByteChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel
    signature: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].<init>(java.nio.channels.ReadableByteChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel:39,1
    - Dst: '[java.nio.channels.ReadableByteChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel:42,1
    - Dst: func.afterRead(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel,io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel)
      Src: io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.ReadableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.nio.channels.ReadableByteChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionReadableByteChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ReadableByteChannel].read(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].position()'
    - func.afterRead(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel,io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ReadableByteChannel].isOpen()'
      Src: io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.ReadableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.ReadableByteChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionReadableByteChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ReadableByteChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ReadableByteChannel].close()'
      Src: io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.ReadableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.nio.channels.ReadableByteChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionReadableByteChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ReadableByteChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '[io.undertow.websockets.core.function.ChannelFunction].newFrame(io.undertow.server.protocol.framed.FrameHeaderData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunction].newFrame(io.undertow.server.protocol.framed.FrameHeaderData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.websockets.core.function.ChannelFunction].afterRead(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunction].afterRead(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.core.function.ChannelFunction].beforeWrite(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunction].beforeWrite(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.core.function.ChannelFunction].complete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunction].complete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.function.ChannelFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.core.function.ChannelFunction].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.function.ChannelFunction
    signature: '[io.undertow.websockets.core.function.ChannelFunction].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].<init>(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].<init>(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].<init>(java.nio.channels.FileChannel,ChannelFunction[])'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:47,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].transferTo(long,long,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].transferTo(long,long,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
    - '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].<init>(java.nio.channels.FileChannel,ChannelFunction[])'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].transferFrom(long,java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].transferFrom(long,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsStreamSourceChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getReadSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsStreamSourceChannel>
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getReadSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getCloseSetter()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsStreamSourceChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getCloseSetter()'
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsStreamSourceChannel>
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read(io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dsts
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read(io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].wakeupReads()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].wakeupReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].shutdownReads()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].shutdownReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].shutdownReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].shutdownReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].awaitReadable()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].awaitReadable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadThread()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getReadThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getReadThread()'
    linkageType: ''
    returnType: org.xnio.XnioExecutor
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getReadThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:134,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:135,1
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].afterReading(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel,io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].afterReading(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel,io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel)'
    - '[java.nio.ByteBuffer].position()'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getWorker()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getIoThread()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].supportsOption(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getOption(org.xnio.Option<T>)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getOption(org.xnio.Option<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].setOption(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func.afterRead(java.nio.ByteBuffer,int,int)
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].afterReading(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - func.afterRead(java.nio.ByteBuffer,int,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].afterReading(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].isOpen()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].close()'
      Src: io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionStreamSourceChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.WritableByteChannel
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.WritableByteChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - java.nio.channels.WritableByteChannel
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].<init>(java.nio.channels.WritableByteChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionWritableByteChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel
    signature: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].<init>(java.nio.channels.WritableByteChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel:39,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel:40,1
    - Dst: func.beforeWrite(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel,io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel)
      Src: io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel:40,1
    - Dst: '[java.nio.channels.WritableByteChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.nio.channels.WritableByteChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionWritableByteChannel.java
    functionUses: 0
    functionsReached:
    - func.beforeWrite(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel,io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel)
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.channels.WritableByteChannel].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.WritableByteChannel].isOpen()'
      Src: io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.WritableByteChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionWritableByteChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.WritableByteChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.WritableByteChannel].close()'
      Src: io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.WritableByteChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.nio.channels.WritableByteChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionWritableByteChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.WritableByteChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.function.ChannelFunctionFileChannel
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 1
    argNames:
    - channel
    argTypes:
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].<init>(java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.function.ChannelFunctionFileChannel
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].<init>(java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].position()'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].position()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].position()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].position()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].position(long)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.FileChannel
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 1
    argNames:
    - newPosition
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].position(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].position(long)'
    linkageType: ''
    returnType: java.nio.channels.FileChannel
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].position(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].size()'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].size()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].truncate(long)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.FileChannel
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].truncate(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].truncate(long)'
    linkageType: ''
    returnType: java.nio.channels.FileChannel
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].truncate(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].force(boolean)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 1
    argNames:
    - metaData
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].force(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].force(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].force(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].map(MapMode,long,long)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - MapMode
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.MappedByteBuffer
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 3
    argNames:
    - mode
    - position
    - size
    argTypes:
    - MapMode
    - long
    - long
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].map(MapMode,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].map(MapMode,long,long)'
    linkageType: ''
    returnType: java.nio.MappedByteBuffer
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].map(MapMode,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].lock(long,long,boolean)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.FileLock
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 3
    argNames:
    - position
    - size
    - shared
    argTypes:
    - long
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].lock(long,long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].lock(long,long,boolean)'
    linkageType: ''
    returnType: java.nio.channels.FileLock
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].lock(long,long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].tryLock(long,long,boolean)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.FileLock
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 3
    argNames:
    - position
    - size
    - shared
    argTypes:
    - long
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].tryLock(long,long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].tryLock(long,long,boolean)'
    linkageType: ''
    returnType: java.nio.channels.FileLock
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].tryLock(long,long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].close()'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].implCloseChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].implCloseChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].beforeWriting(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:89,1
    - Dst: '[java.nio.channels.FileChannel].write(java.nio.ByteBuffer,long)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 2
    argNames:
    - src
    - position
    argTypes:
    - java.nio.ByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].write(java.nio.ByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].beforeWriting(java.nio.ByteBuffer)'
    - '[java.nio.channels.FileChannel].write(java.nio.ByteBuffer,long)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].write(java.nio.ByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:95,1
    - Dst: '[java.nio.channels.FileChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:96,1
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].afterReading(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionFileChannel,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].afterReading(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionFileChannel,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.channels.FileChannel].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsts[i].position()
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:107,1
    - Dst: '[java.nio.channels.FileChannel].read(ByteBuffer[],int,int)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:109,1
    - Dst: dst.position()
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:113,1
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].afterReading(io.undertow.websockets.core.function.ChannelFunctionFileChannel,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - dst.position()
    - dsts[i].position()
    - '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].afterReading(io.undertow.websockets.core.function.ChannelFunctionFileChannel,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
    - '[java.nio.channels.FileChannel].read(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].beforeWriting(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:121,1
    - Dst: '[java.nio.channels.FileChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].write(java.nio.ByteBuffer)'
    - '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].beforeWriting(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].beforeWriting()'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:128,1
    - Dst: '[java.nio.channels.FileChannel].write(ByteBuffer[],int,int)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].write(ByteBuffer[],int,int)'
    - '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].beforeWriting()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:135,1
    - Dst: '[java.nio.channels.FileChannel].read(java.nio.ByteBuffer,long)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:136,1
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].afterReading(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionFileChannel,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 2
    argNames:
    - dst
    - position
    argTypes:
    - java.nio.ByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].read(java.nio.ByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].read(java.nio.ByteBuffer,long)'
    - '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].afterReading(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionFileChannel,io.undertow.websockets.core.function.ChannelFunctionFileChannel)'
    - '[java.nio.ByteBuffer].position()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].read(java.nio.ByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].<init>(java.nio.channels.WritableByteChannel,ChannelFunction[])'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:145,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.WritableByteChannel
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.WritableByteChannel
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].transferTo(long,long,java.nio.channels.WritableByteChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].transferTo(long,long,io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel)'
    - '[io.undertow.websockets.core.function.ChannelFunctionWritableByteChannel].<init>(java.nio.channels.WritableByteChannel,ChannelFunction[])'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].transferTo(long,long,java.nio.channels.WritableByteChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].<init>(java.nio.channels.FileChannel,ChannelFunction[])'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:150,1
    - Dst: '[java.nio.channels.FileChannel].transferFrom(io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel,long,long)'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.ReadableByteChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.ReadableByteChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].transferFrom(java.nio.channels.ReadableByteChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].transferFrom(io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel,long,long)'
    - '[io.undertow.websockets.core.function.ChannelFunctionReadableByteChannel].<init>(java.nio.channels.FileChannel,ChannelFunction[])'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].transferFrom(java.nio.channels.ReadableByteChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:156,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:157,1
    - Dst: func.beforeWrite(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionFileChannel,io.undertow.websockets.core.function.ChannelFunctionFileChannel)
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].beforeWriting(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 2
    functionsReached:
    - func.beforeWrite(java.nio.ByteBuffer,io.undertow.websockets.core.function.ChannelFunctionFileChannel,io.undertow.websockets.core.function.ChannelFunctionFileChannel)
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].beforeWriting(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func.afterRead(java.nio.ByteBuffer,int,int)
      Src: io.undertow.websockets.core.function.ChannelFunctionFileChannel:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelFunction[]
      - java.nio.channels.FileChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: java.nio.channels.FileChannel
    argCount: 3
    argNames:
    - buffer
    - position
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].afterReading(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/core/function/ChannelFunctionFileChannel.java
    functionUses: 0
    functionsReached:
    - func.afterRead(java.nio.ByteBuffer,int,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.function.ChannelFunctionFileChannel].afterReading(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].<init>(io.undertow.server.HttpServerExchange,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:43,1
    - Dst: '[io.undertow.server.HttpServerExchange].getOutputStream()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:44,1
    - Dst: '[io.undertow.server.HttpServerExchange].getInputStream()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange
      static: false
      superClass: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange
    argCount: 2
    argNames:
    - exchange
    - peerConnections
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: '[io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange].<init>(io.undertow.server.HttpServerExchange,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/BlockingWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getInputStream()'
    - '[io.undertow.server.HttpServerExchange].getOutputStream()'
    - '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].<init>(io.undertow.server.HttpServerExchange,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
    linkageType: ''
    returnType: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange
    signature: '[io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange].<init>(io.undertow.server.HttpServerExchange,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:51,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:52,1
    - Dst: '[java.io.OutputStream].write(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:52,1
    - Dst: '[org.xnio.FinishedIoFuture].<init>(null)'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:54,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:56,1
    - Dst: '[org.xnio.FutureResult].setException(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:57,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<Void>
      static: false
      superClass: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: '[io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange].sendData(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/BlockingWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[org.xnio.FinishedIoFuture].<init>(null)'
    - '[org.xnio.FutureResult].<init>()'
    - '[java.io.OutputStream].write(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
    - '[org.xnio.FutureResult].setException(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: org.xnio.IoFuture<Void>
    signature: '[io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange].sendData(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:64,1
    - Dst: '[java.io.InputStream].read(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:68,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange,int,io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:69,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:71,1
    - Dst: '[org.xnio.FinishedIoFuture].<init>(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:71,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:73,1
    - Dst: '[org.xnio.FutureResult].setException(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:74,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.OutputStream
      - java.io.InputStream
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<byte[]>
      static: false
      superClass: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange].readRequestData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/BlockingWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[org.xnio.FutureResult].<init>()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange,int,io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
    - '[org.xnio.FinishedIoFuture].<init>(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
    - '[org.xnio.FutureResult].setException(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[java.io.InputStream].read(io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange)'
    linkageType: ''
    returnType: org.xnio.IoFuture<byte[]>
    signature: '[io.undertow.websockets.spi.BlockingWebSocketHttpServerExchange].readRequestData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - T
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeader(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getResponseHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.List<String>>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeaders(java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeaders(java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].setResponseHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - upgradeCallback
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.IoFuture<Void>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].sendData(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.IoFuture<Void>
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].sendData(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.IoFuture<byte[]>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].readRequestData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.IoFuture<byte[]>
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].readRequestData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].endExchange()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].endExchange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestScheme()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestScheme()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestURI()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getQueryString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getRequestParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getUserPrincipal()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getUserPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - role
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].isUserInRole(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].isUserInRole(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getPeerConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getPeerConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].getOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].getOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.spi.WebSocketHttpExchange
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.spi.WebSocketHttpExchange].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/WebSocketHttpExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.spi.WebSocketHttpExchange
    signature: '[io.undertow.websockets.spi.WebSocketHttpExchange].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - peerConnections
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].<init>(io.undertow.server.HttpServerExchange,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].<init>(io.undertow.server.HttpServerExchange,java.util.Set<io.undertow.websockets.core.WebSocketChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - T
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:84,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(String)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:84,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestHeader(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].tryFromString(String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:89,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:90,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:90,1
    - Dst: header.toString()
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:91,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:91,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:91,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.HeaderValues)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:91,1
    - Dst: '[java.util.TreeMap].put(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange,java.util.ArrayList)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:91,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.TreeMap)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - header.toString()
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[java.util.Collections].unmodifiableMap(java.util.TreeMap)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.util.TreeMap].put(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange,java.util.ArrayList)'
    - '[java.util.ArrayList].<init>(io.undertow.util.HeaderValues)'
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:98,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(String)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:98,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getResponseHeader(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].tryFromString(String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getResponseHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:103,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:104,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:104,1
    - Dst: header.toString()
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:105,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:105,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:105,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.HeaderValues)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:105,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange,java.util.ArrayList)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:105,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getResponseHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - header.toString()
    - '[io.undertow.util.HeaderMap].get(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[java.util.HashMap].put(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange,java.util.ArrayList)'
    - '[java.util.ArrayList].<init>(io.undertow.util.HeaderValues)'
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getResponseHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:112,1
    - Dst: '[io.undertow.util.HeaderMap].clear()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:113,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].entrySet()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:114,1
    - Dst: header.getKey()
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:115,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:115,1
    - Dst: header.getValue()
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:115,1
    - Dst: '[io.undertow.util.HeaderMap].addAll(io.undertow.util.HttpString,io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].setResponseHeaders(java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].clear()'
    - header.getValue()
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.util.HeaderMap].addAll(io.undertow.util.HttpString,io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - header.getKey()
    - '[io.undertow.util.HttpString].tryFromString(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - '[java.util.Map<String,java.util.List<String>>].entrySet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].setResponseHeaders(java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:121,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(String)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:121,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].setResponseHeader(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].tryFromString(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].setResponseHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - upgradeCallback
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 5
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:132,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:134,1
    - Dst: '[io.undertow.io.IoCallback].<init>()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:135,1
    - Dst: '[io.undertow.io.Sender].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:135,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<Void>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].sendData(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.io.IoCallback].<init>()'
    linkageType: ''
    returnType: org.xnio.IoFuture<Void>
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].sendData(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:153,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:154,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:154,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:154,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:155,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:156,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:160,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:162,1
    - Dst: '[org.xnio.FinishedIoFuture].<init>(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:162,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:165,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:166,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:166,1
    - Dst: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].set(org.xnio.ChannelListener)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:166,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:191,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:192,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:194,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:195,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:196,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:196,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:198,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:202,1
    - Dst: '[org.xnio.FutureResult].setException(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:203,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<byte[]>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 209
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].readRequestData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[org.xnio.FutureResult].setException(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[java.nio.ByteBuffer].get()'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.FinishedIoFuture].<init>(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].set(org.xnio.ChannelListener)'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: org.xnio.IoFuture<byte[]>
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].readRequestData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 6
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].endExchange()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].endExchange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:219,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:221,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestScheme()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestScheme()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:232,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:233,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:234,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestURI()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[String].isEmpty()'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:242,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getQueryString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:252,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:253,1
    - Dst: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getSession(io.undertow.server.HttpServerExchange,io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getSession(io.undertow.server.HttpServerExchange,io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:262,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:263,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:263,1
    - Dst: param.getKey()
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:264,1
    - Dst: param.getValue()
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:264,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:264,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange,java.util.ArrayList)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.List<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - '[java.util.ArrayList].<init>(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange)'
    - '[java.util.HashMap].<init>()'
    - '[java.util.HashMap].put(io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange,java.util.ArrayList)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - param.getValue()
    - param.getKey()
    linkageType: ''
    returnType: java.util.Map<String,java.util.List<String>>
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getRequestParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:271,1
    - Dst: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:275,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getUserPrincipal()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getUserPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:284,1
    - Dst: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:288,1
    - Dst: '[io.undertow.security.idm.Account].getRoles()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:292,1
    - Dst: '[java.util.Set<String>].contains(String)'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - role
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].isUserInRole(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.security.idm.Account].getRoles()'
    - '[java.util.Set<String>].contains(String)'
    - '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].isUserInRole(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getPeerConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getPeerConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:302,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.util.Set<io.undertow.websockets.core.WebSocketChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.spi.WebSocketHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/spi/AsyncWebSocketHttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.websockets.spi.AsyncWebSocketHttpServerExchange].getOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.extensions.ExtensionHandshake].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.extensions.ExtensionHandshake].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketExtension
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.WebSocketExtension
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extension
    argTypes:
    - io.undertow.websockets.WebSocketExtension
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '[io.undertow.websockets.extensions.ExtensionHandshake].accept(io.undertow.websockets.WebSocketExtension)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketExtension
    signature: '[io.undertow.websockets.extensions.ExtensionHandshake].accept(io.undertow.websockets.WebSocketExtension)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extensions
    argTypes:
    - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.extensions.ExtensionHandshake].isIncompatible(java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.extensions.ExtensionHandshake].isIncompatible(java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.extensions.ExtensionFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '[io.undertow.websockets.extensions.ExtensionHandshake].create()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.ExtensionFunction
    signature: '[io.undertow.websockets.extensions.ExtensionHandshake].create()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.ExtensionHandshake
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.extensions.ExtensionHandshake].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.ExtensionHandshake
    signature: '[io.undertow.websockets.extensions.ExtensionHandshake].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: '[io.undertow.websockets.extensions.NoopExtensionFunction].hasExtensionOpCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/NoopExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.extensions.NoopExtensionFunction].hasExtensionOpCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rsv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: '[io.undertow.websockets.extensions.NoopExtensionFunction].writeRsv(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/NoopExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.extensions.NoopExtensionFunction].writeRsv(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pooledBuffer
    - channel
    - lastFrame
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.StreamSinkFrameChannel
    - boolean
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '[io.undertow.websockets.extensions.NoopExtensionFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/NoopExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.NoopExtensionFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pooledBuffer
    - channel
    - lastFragmentOfFrame
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - boolean
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: '[io.undertow.websockets.extensions.NoopExtensionFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/NoopExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.NoopExtensionFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.websockets.extensions.NoopExtensionFunction].dispose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/NoopExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.NoopExtensionFunction].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.NoopExtensionFunction].<init>()'
      Src: io.undertow.websockets.extensions.NoopExtensionFunction:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.websockets.extensions.ExtensionFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.NoopExtensionFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.extensions.NoopExtensionFunction].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/NoopExtensionFunction.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.extensions.NoopExtensionFunction].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.NoopExtensionFunction
    signature: '[io.undertow.websockets.extensions.NoopExtensionFunction].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:51,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 8
    functionsReached:
    - '[java.util.HashSet].<init>()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:51,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - client
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 5
    functionsReached:
    - '[java.util.HashSet].<init>()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int)'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:51,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - client
    - deflaterLevel
    argTypes:
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:51,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - client
    - compressContextTakeover
    - decompressContextTakeover
    argTypes:
    - boolean
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:51,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - client
    - deflaterLevel
    - compressContextTakeover
    - decompressContextTakeover
    argTypes:
    - boolean
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 2
    functionsReached:
    - '[java.util.HashSet].<init>()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:51,1
    - Dst: '[java.util.Set<String>].add(String)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - int
      - boolean
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - client
    - deflaterLevel
    - compressContextTakeover
    - decompressContextTakeover
    - maxBufferSize
    argTypes:
    - boolean
    - int
    - boolean
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 8
    functionsReached:
    - '[java.util.Set<String>].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.PerMessageDeflateHandshake
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].<init>(boolean,int,boolean,boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.WebSocketExtension].getName()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:139,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].getName()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:139,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:139,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getName()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:141,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].<init>(String)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:141,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getParameters()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:143,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getParameters()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:143,1
    - Dst: '[java.util.List<Parameter>].size()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:143,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getParameters()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:144,1
    - Dst: parameter.getName()
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:145,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].equals(String)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:145,1
    - Dst: parameter.getName()
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:149,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].equals(String)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:149,1
    - Dst: parameter.getName()
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:153,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].equals(String)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:153,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getParameters()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:154,1
    - Dst: '[java.util.List<Parameter>].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:154,1
    - Dst: parameter.getName()
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:160,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].equals(String)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:160,1
    - Dst: '[io.undertow.websockets.WebSocketExtension].getParameters()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:161,1
    - Dst: '[java.util.List<Parameter>].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:161,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].incorrectExtensionParameter(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:168,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].debugf(String,io.undertow.websockets.WebSocketExtension,io.undertow.websockets.WebSocketExtension)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketExtension
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.WebSocketExtension
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extension
    argTypes:
    - io.undertow.websockets.WebSocketExtension
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].accept(io.undertow.websockets.WebSocketExtension)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.WebSocketExtension].<init>(String)'
    - '[java.util.List<Parameter>].add(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].getName()'
    - parameter.getName()
    - '[String].equals(String)'
    - '[java.util.List<Parameter>].size()'
    - '[io.undertow.websockets.WebSocketExtension].getName()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].debugf(String,io.undertow.websockets.WebSocketExtension,io.undertow.websockets.WebSocketExtension)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].equals(String)'
    - '[io.undertow.websockets.WebSocketExtension].getParameters()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].incorrectExtensionParameter(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    linkageType: ''
    returnType: io.undertow.websockets.WebSocketExtension
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].accept(io.undertow.websockets.WebSocketExtension)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extension.getName()
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:179,1
    - Dst: '[java.util.Set<String>].contains(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extensions
    argTypes:
    - java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].isIncompatible(java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 0
    functionsReached:
    - extension.getName()
    - '[java.util.Set<String>].contains(io.undertow.websockets.extensions.PerMessageDeflateHandshake)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].isIncompatible(java.util.List<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].<init>(int,boolean,boolean,int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateHandshake:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - java.util.Set<String>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionHandshake
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.ExtensionFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].create()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateHandshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].<init>(int,boolean,boolean,int)'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.ExtensionFunction
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateHandshake].create()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.extensions.ExtensionFunction].hasExtensionOpCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionFunction.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.extensions.ExtensionFunction].hasExtensionOpCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rsv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '[io.undertow.websockets.extensions.ExtensionFunction].writeRsv(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.extensions.ExtensionFunction].writeRsv(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pooledBuffer
    - channel
    - lastFrame
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.StreamSinkFrameChannel
    - boolean
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '[io.undertow.websockets.extensions.ExtensionFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.ExtensionFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pooledBuffer
    - channel
    - lastFragmentOfMessage
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - boolean
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '[io.undertow.websockets.extensions.ExtensionFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.ExtensionFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '[io.undertow.websockets.extensions.ExtensionFunction].dispose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.ExtensionFunction].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.ExtensionFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.websockets.extensions.ExtensionFunction].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/ExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.ExtensionFunction
    signature: '[io.undertow.websockets.extensions.ExtensionFunction].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].<init>(int,boolean,boolean,int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.PerMessageDeflateFunction
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - deflaterLevel
    - compressContextTakeover
    - decompressContextTakeover
    argTypes:
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].<init>(int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].<init>(int,boolean,boolean,int)'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.PerMessageDeflateFunction
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].<init>(int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Inflater].<init>(boolean)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:86,1
    - Dst: '[java.util.zip.Deflater].<init>(int,boolean)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.PerMessageDeflateFunction
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - deflaterLevel
    - compressContextTakeover
    - decompressContextTakeover
    - maxBufferSize
    argTypes:
    - int
    - boolean
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].<init>(int,boolean,boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 2
    functionsReached:
    - '[java.util.zip.Deflater].<init>(int,boolean)'
    - '[java.util.zip.Inflater].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.PerMessageDeflateFunction
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].<init>(int,boolean,boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rsv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].writeRsv(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].writeRsv(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].hasExtensionOpCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].hasExtensionOpCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:105,1
    - Dst: '[java.nio.ByteBuffer].hasArray()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:107,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:108,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:108,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:108,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:108,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:108,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:110,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:110,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].toArrayBacked(java.nio.ByteBuffer,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:110,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:111,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:114,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocateBufferWithArray(io.undertow.websockets.core.WebSocketChannel,int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:114,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:115,1
    - Dst: '[java.util.zip.Deflater].needsInput()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:119,1
    - Dst: '[java.util.zip.Deflater].finished()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:119,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:119,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:122,1
    - Dst: '[io.undertow.websockets.core.StreamSinkFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:123,1
    - Dst: '[java.nio.ByteBuffer].capacity()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:123,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].enlargeBuffer(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:123,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:124,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:128,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:129,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:129,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:130,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:127,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:131,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:131,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.connector.PooledByteBuffer,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:135,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:139,1
    - Dst: '[java.util.zip.Deflater].reset()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:141,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:144,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pooledBuffer
    - channel
    - lastFrame
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.StreamSinkFrameChannel
    - boolean
    constantsTouched: []
    func_position:
      end: 146
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 146
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Deflater].reset()'
    - '[java.nio.ByteBuffer].array()'
    - '[java.nio.ByteBuffer].arrayOffset()'
    - '[io.undertow.websockets.core.StreamSinkFrameChannel].getWebSocketChannel()'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocateBufferWithArray(io.undertow.websockets.core.WebSocketChannel,int)'
    - '[java.util.zip.Deflater].setInput(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].position(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].enlargeBuffer(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.util.zip.Deflater].deflate(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.connector.PooledByteBuffer,io.undertow.connector.PooledByteBuffer)'
    - '[java.util.zip.Deflater].finished()'
    - '[java.nio.ByteBuffer].capacity()'
    - '[java.util.zip.Deflater].needsInput()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[java.nio.ByteBuffer].flip()'
    - '[java.nio.ByteBuffer].hasArray()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].toArrayBacked(java.nio.ByteBuffer,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:149,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:149,1
    - Dst: '[org.xnio.Buffers].take(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:150,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:150,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:150,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:152,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:152,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:153,1
    - Dst: '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:153,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:154,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - pool
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].toArrayBacked(java.nio.ByteBuffer,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    - '[org.xnio.Buffers].take(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].toArrayBacked(java.nio.ByteBuffer,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].calculateBufferSize(int,io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:159,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:161,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:163,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocateBufferWithArray(io.undertow.websockets.core.WebSocketChannel,int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:165,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:166,1
    - Dst: '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:166,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.WebSocketChannel
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - smaller
    - channel
    - currentSize
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.WebSocketChannel
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].enlargeBuffer(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocateBufferWithArray(io.undertow.websockets.core.WebSocketChannel,int)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].calculateBufferSize(int,io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].enlargeBuffer(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].bufferExceedsMaximumSize(int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:175,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:175,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:175,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].bufferExceedsMaximumSize(int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:176,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:176,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:180,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].getBufferSize()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:180,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:182,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:182,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:185,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].getArrayBackedPool()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:185,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocate()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - size
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocateBufferWithArray(io.undertow.websockets.core.WebSocketChannel,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].getBufferSize()'
    - '[java.io.IOException].<init>(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].allocate(int)'
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocate()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].getArrayBackedPool()'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].bufferExceedsMaximumSize(int)'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocateBufferWithArray(io.undertow.websockets.core.WebSocketChannel,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].bufferExceedsMaximumSize(int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:201,1
    - Dst: '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:200,1
    - Dst: '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:200,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].bufferExceedsMaximumSize(int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:202,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.websockets.core.WebSocketChannel
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - currentSize
    - channel
    argTypes:
    - int
    - io.undertow.websockets.core.WebSocketChannel
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].calculateBufferSize(int,io.undertow.websockets.core.WebSocketChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.WebSockets].sendClose(io.undertow.websockets.core.CloseMessage,io.undertow.websockets.core.WebSocketChannel,null)'
    - '[java.io.IOException].<init>(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[io.undertow.websockets.core.CloseMessage].<init>(int,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].bufferExceedsMaximumSize(int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].calculateBufferSize(int,io.undertow.websockets.core.WebSocketChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getRsv()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:211,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:215,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocateBufferWithArray(io.undertow.websockets.core.WebSocketChannel,int)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:215,1
    - Dst: '[java.util.zip.Inflater].setInput(byte[])'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:220,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:221,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].decompress(io.undertow.websockets.core.WebSocketChannel,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:221,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:223,1
    - Dst: '[java.nio.ByteBuffer].hasArray()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:225,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:226,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:226,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:226,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:226,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:226,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:228,1
    - Dst: '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:228,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].toArrayBacked(java.nio.ByteBuffer,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:228,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:229,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:232,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].decompress(io.undertow.websockets.core.WebSocketChannel,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:232,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.connector.PooledByteBuffer,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:235,1
    - Dst: '[java.util.zip.Inflater].setInput(byte[])'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:239,1
    - Dst: '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:240,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].decompress(io.undertow.websockets.core.WebSocketChannel,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:240,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:246,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pooledBuffer
    - channel
    - lastFragmentOfMessage
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - boolean
    constantsTouched: []
    func_position:
      end: 248
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 248
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getRsv()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].allocateBufferWithArray(io.undertow.websockets.core.WebSocketChannel,int)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].decompress(io.undertow.websockets.core.WebSocketChannel,io.undertow.connector.PooledByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.connector.PooledByteBuffer,io.undertow.connector.PooledByteBuffer)'
    - '[java.nio.ByteBuffer].array()'
    - '[io.undertow.websockets.core.WebSocketChannel].getBufferPool()'
    - '[java.util.zip.Inflater].setInput(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].hasArray()'
    - '[java.nio.ByteBuffer].flip()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.websockets.core.StreamSourceFrameChannel].getWebSocketChannel()'
    - '[java.nio.ByteBuffer].arrayOffset()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].toArrayBacked(java.nio.ByteBuffer,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.util.zip.Inflater].setInput(byte[])'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:251,1
    - Dst: '[java.util.zip.Inflater].needsInput()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:253,1
    - Dst: '[java.util.zip.Inflater].finished()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:253,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:254,1
    - Dst: '[java.nio.ByteBuffer].capacity()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:255,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].enlargeBuffer(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:255,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:256,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:262,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:263,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:263,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:264,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:262,1
    - Dst: e.getMessage()
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:266,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].debug(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:266,1
    - Dst: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].badCompressedPayload(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:267,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:269,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketChannel
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - pooled
    argTypes:
    - io.undertow.websockets.core.WebSocketChannel
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 273
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].decompress(io.undertow.websockets.core.WebSocketChannel,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 1
    functionsReached:
    - '[java.util.zip.Inflater].needsInput()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].debug(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.util.zip.Inflater].inflate(io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].capacity()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].array()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].enlargeBuffer(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.WebSocketChannel,io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].position(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[io.undertow.websockets.extensions.PerMessageDeflateFunction].badCompressedPayload(io.undertow.websockets.extensions.PerMessageDeflateFunction)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.util.zip.Inflater].finished()'
    - '[java.nio.ByteBuffer].arrayOffset()'
    - e.getMessage()
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].decompress(io.undertow.websockets.core.WebSocketChannel,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Deflater].end()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:278,1
    - Dst: '[java.util.zip.Inflater].end()'
      Src: io.undertow.websockets.extensions.PerMessageDeflateFunction:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - boolean
      - boolean
      - java.util.zip.Inflater
      - java.util.zip.Deflater
      - int
      - io.undertow.websockets.core.StreamSourceFrameChannel
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].dispose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/PerMessageDeflateFunction.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Deflater].end()'
    - '[java.util.zip.Inflater].end()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.PerMessageDeflateFunction].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ExtensionFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.extensions.CompositeExtensionFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: '[io.undertow.websockets.extensions.CompositeExtensionFunction].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/CompositeExtensionFunction.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.extensions.CompositeExtensionFunction
    signature: '[io.undertow.websockets.extensions.CompositeExtensionFunction].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.websockets.extensions.ExtensionFunction>].toArray()'
      Src: io.undertow.websockets.extensions.CompositeExtensionFunction:22,1
    - Dst: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(io.undertow.websockets.extensions.CompositeExtensionFunction)'
      Src: io.undertow.websockets.extensions.CompositeExtensionFunction:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.websockets.extensions.ExtensionFunction>
      classConcrete: true
      classEnum: false
      classFields:
      - ExtensionFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.ExtensionFunction
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - functions
    argTypes:
    - java.util.List<io.undertow.websockets.extensions.ExtensionFunction>
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(java.util.List<io.undertow.websockets.extensions.ExtensionFunction>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/CompositeExtensionFunction.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(io.undertow.websockets.extensions.CompositeExtensionFunction)'
    - '[java.util.List<io.undertow.websockets.extensions.ExtensionFunction>].toArray()'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.ExtensionFunction
    signature: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(java.util.List<io.undertow.websockets.extensions.ExtensionFunction>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.extensions.CompositeExtensionFunction].<init>(io.undertow.websockets.extensions.CompositeExtensionFunction)'
      Src: io.undertow.websockets.extensions.CompositeExtensionFunction:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ExtensionFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.extensions.ExtensionFunction
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/CompositeExtensionFunction.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.extensions.CompositeExtensionFunction].<init>(io.undertow.websockets.extensions.CompositeExtensionFunction)'
    linkageType: ''
    returnType: io.undertow.websockets.extensions.ExtensionFunction
    signature: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: delegate.hasExtensionOpCode()
      Src: io.undertow.websockets.extensions.CompositeExtensionFunction:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ExtensionFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.extensions.CompositeExtensionFunction].hasExtensionOpCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/CompositeExtensionFunction.java
    functionUses: 0
    functionsReached:
    - delegate.hasExtensionOpCode()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.extensions.CompositeExtensionFunction].hasExtensionOpCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ext.writeRsv(int)
      Src: io.undertow.websockets.extensions.CompositeExtensionFunction:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ExtensionFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rsv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: '[io.undertow.websockets.extensions.CompositeExtensionFunction].writeRsv(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/CompositeExtensionFunction.java
    functionUses: 0
    functionsReached:
    - ext.writeRsv(int)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.websockets.extensions.CompositeExtensionFunction].writeRsv(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: delegate.transformForWrite(io.undertow.websockets.extensions.CompositeExtensionFunction,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)
      Src: io.undertow.websockets.extensions.CompositeExtensionFunction:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.StreamSinkFrameChannel
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ExtensionFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pooledBuffer
    - channel
    - lastFrame
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.StreamSinkFrameChannel
    - boolean
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.extensions.CompositeExtensionFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/CompositeExtensionFunction.java
    functionUses: 0
    functionsReached:
    - delegate.transformForWrite(io.undertow.websockets.extensions.CompositeExtensionFunction,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.CompositeExtensionFunction].transformForWrite(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSinkFrameChannel,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: delegate.transformForRead(io.undertow.websockets.extensions.CompositeExtensionFunction,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)
      Src: io.undertow.websockets.extensions.CompositeExtensionFunction:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.websockets.core.StreamSourceFrameChannel
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ExtensionFunction[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pooledBuffer
    - channel
    - lastFragementOfMessage
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.websockets.core.StreamSourceFrameChannel
    - boolean
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: '[io.undertow.websockets.extensions.CompositeExtensionFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/CompositeExtensionFunction.java
    functionUses: 0
    functionsReached:
    - delegate.transformForRead(io.undertow.websockets.extensions.CompositeExtensionFunction,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.websockets.extensions.CompositeExtensionFunction].transformForRead(io.undertow.connector.PooledByteBuffer,io.undertow.websockets.core.StreamSourceFrameChannel,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: delegate.dispose()
      Src: io.undertow.websockets.extensions.CompositeExtensionFunction:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ExtensionFunction[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.websockets.extensions.ExtensionFunction
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: '[io.undertow.websockets.extensions.CompositeExtensionFunction].dispose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/extensions/CompositeExtensionFunction.java
    functionUses: 0
    functionsReached:
    - delegate.dispose()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.extensions.CompositeExtensionFunction].dispose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.WebSocketClientNegotiation
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - supportedSubProtocols
    - supportedExtensions
    argTypes:
    - java.util.List<String>
    - java.util.List<io.undertow.websockets.WebSocketExtension>
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(java.util.List<String>,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientNegotiation.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocketClientNegotiation
    signature: '[io.undertow.websockets.client.WebSocketClientNegotiation].<init>(java.util.List<String>,java.util.List<io.undertow.websockets.WebSocketExtension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSupportedSubProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientNegotiation.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSupportedSubProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.websockets.WebSocketExtension>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSupportedExtensions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientNegotiation.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.WebSocketExtension>
    signature: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSupportedExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedSubProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientNegotiation.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedSubProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.websockets.WebSocketExtension>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedExtensions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientNegotiation.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.websockets.WebSocketExtension>
    signature: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.client.WebSocketClientNegotiation].beforeRequest(java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientNegotiation.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.WebSocketClientNegotiation].beforeRequest(java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.websockets.client.WebSocketClientNegotiation].afterRequest(java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientNegotiation.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.WebSocketClientNegotiation].afterRequest(java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      - String
      - java.util.List<io.undertow.websockets.WebSocketExtension>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - selectedProtocol
    - selectedExtensions
    argTypes:
    - String
    - java.util.List<io.undertow.websockets.WebSocketExtension>
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.websockets.client.WebSocketClientNegotiation].handshakeComplete(String,java.util.List<io.undertow.websockets.WebSocketExtension>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientNegotiation.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.WebSocketClientNegotiation].handshakeComplete(String,java.util.List<io.undertow.websockets.WebSocketExtension>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:67,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientHandshake].<init>(java.net.URI)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:70,1
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.WebSocket13ClientHandshake
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 3
    argNames:
    - url
    - negotiation
    - extensions
    argTypes:
    - java.net.URI
    - io.undertow.websockets.client.WebSocketClientNegotiation
    - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].<init>(java.net.URI,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClientHandshake].<init>(java.net.URI)'
    - '[java.util.Collections].emptySet()'
    - '[java.security.SecureRandom].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocket13ClientHandshake
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].<init>(java.net.URI,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:67,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].<init>(java.net.URI,null,null)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.WebSocket13ClientHandshake
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 1
    argNames:
    - url
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].<init>(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].<init>(java.net.URI,null,null)'
    - '[java.security.SecureRandom].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocket13ClientHandshake
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].<init>(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedExtensions()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:81,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedExtensions()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:81,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:81,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedExtensions()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:83,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:84,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:85,1
    - Dst: ext.getName()
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:88,1
    - Dst: extHandshake.getName()
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:88,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].equals(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:88,1
    - Dst: extHandshake.create()
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:89,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:89,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedSubProtocol()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:94,1
    - Dst: '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(java.util.ArrayList)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:94,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:94,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.HashSet,org.xnio.OptionMap)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:94,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:96,1
    - Dst: '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.HashSet,org.xnio.OptionMap)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - String
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 4
    argNames:
    - channel
    - wsUri
    - bufferPool
    - options
    argTypes:
    - org.xnio.StreamConnection
    - String
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].createChannel(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 0
    functionsReached:
    - extHandshake.create()
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].equals(io.undertow.websockets.client.WebSocket13ClientHandshake)'
    - '[io.undertow.websockets.extensions.CompositeExtensionFunction].compose(java.util.ArrayList)'
    - '[java.util.ArrayList].add(io.undertow.websockets.client.WebSocket13ClientHandshake)'
    - '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,boolean,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.HashSet,org.xnio.OptionMap)'
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedExtensions()'
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].getSelectedSubProtocol()'
    - '[io.undertow.websockets.core.protocol.version13.WebSocket13Channel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,String,String,boolean,io.undertow.websockets.extensions.ExtensionFunction,java.util.HashSet,org.xnio.OptionMap)'
    - '[java.util.HashSet].<init>()'
    - extHandshake.getName()
    - '[java.util.ArrayList].<init>()'
    - ext.getName()
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].createChannel(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:102,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:103,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:104,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].createSecKey()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:105,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:106,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].getVersion()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:107,1
    - Dst: '[io.undertow.websockets.core.WebSocketVersion].toHttpHeaderValue()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:107,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:107,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSupportedSubProtocols()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:109,1
    - Dst: '[java.util.List<String>].isEmpty()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:110,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:111,1
    - Dst: '[java.util.List<String>].iterator()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:112,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].hasNext()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:113,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].next()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:114,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:114,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].hasNext()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:115,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:116,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:119,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:119,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].getSupportedExtensions()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:121,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:122,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:123,1
    - Dst: '[java.util.List<io.undertow.websockets.WebSocketExtension>].iterator()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:124,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].hasNext()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:125,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].next()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:126,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].getName()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:127,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:127,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].getParameters()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:128,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:129,1
    - Dst: param.getName()
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:130,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:130,1
    - Dst: param.getValue()
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:134,1
    - Dst: param.getValue()
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:134,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].length()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:134,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:135,1
    - Dst: param.getValue()
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:136,1
    - Dst: '[StringBuilder].append(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:136,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].hasNext()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:139,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:140,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:143,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 148
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].createHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].length()'
    - '[StringBuilder].append(String)'
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].isEmpty()'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].hasNext()'
    - '[java.util.HashMap].put(String,io.undertow.websockets.client.WebSocket13ClientHandshake)'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].createSecKey()'
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].getSupportedExtensions()'
    - '[java.util.List<io.undertow.websockets.WebSocketExtension>].iterator()'
    - '[java.util.HashMap].put(String,String)'
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].getSupportedSubProtocols()'
    - '[java.util.List<String>].iterator()'
    - param.getName()
    - '[io.undertow.websockets.core.WebSocketVersion].toHttpHeaderValue()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - param.getValue()
    - '[StringBuilder].append(io.undertow.websockets.client.WebSocket13ClientHandshake)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].getName()'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].getVersion()'
    - '[java.util.List<String>].isEmpty()'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].getParameters()'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].next()'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].createHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].nextInt()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:153,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.websockets.client.WebSocket13ClientHandshake,boolean)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].createSecKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.websockets.client.WebSocket13ClientHandshake,boolean)'
    - '[java.security.SecureRandom].nextInt()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].createSecKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.List<String>>].containsKey(String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:164,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].get(String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:164,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].get(int)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:164,1
    - Dst: '[org.xnio.http.ExtendedHandshakeChecker].<init>()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:165,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.http.ExtendedHandshakeChecker
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 2
    argNames:
    - uri
    - requestHeaders
    argTypes:
    - java.net.URI
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 205
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 205
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].handshakeChecker(java.net.URI,java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.http.ExtendedHandshakeChecker].<init>()'
    - '[java.util.Map<String,java.util.List<String>>].get(String)'
    - '[java.util.Map<String,java.util.List<String>>].containsKey(String)'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].get(int)'
    linkageType: ''
    returnType: org.xnio.http.ExtendedHandshakeChecker
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].handshakeChecker(java.net.URI,java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toLowerCase(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:208,1
    - Dst: '[java.util.Map<String,java.util.List<String>>].get(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:208,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].isEmpty()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:209,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].get(int)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Map<String,java.util.List<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 2
    argNames:
    - key
    - map
    argTypes:
    - String
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].getFirst(String,java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.List<String>>].get(io.undertow.websockets.client.WebSocket13ClientHandshake)'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].isEmpty()'
    - '[String].toLowerCase(io.undertow.websockets.client.WebSocket13ClientHandshake)'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].get(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].getFirst(String,java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:218,1
    - Dst: concat.getBytes(io.undertow.websockets.client.WebSocket13ClientHandshake)
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:220,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].update(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:220,1
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].digest()'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:221,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.websockets.client.WebSocket13ClientHandshake,boolean)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:222,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.client.WebSocket13ClientHandshake)'
      Src: io.undertow.websockets.client.WebSocket13ClientHandshake:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 1
    argNames:
    - nonceBase64
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].solve(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.websockets.client.WebSocket13ClientHandshake,boolean)'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].digest()'
    - '[RuntimeException].<init>(io.undertow.websockets.client.WebSocket13ClientHandshake)'
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].update(io.undertow.websockets.client.WebSocket13ClientHandshake)'
    - concat.getBytes(io.undertow.websockets.client.WebSocket13ClientHandshake)
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].solve(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      - java.security.SecureRandom
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketVersion
      static: false
      superClass: io.undertow.websockets.client.WebSocketClientHandshake
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: '[io.undertow.websockets.client.WebSocket13ClientHandshake].getVersion()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocket13ClientHandshake.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketVersion
    signature: '[io.undertow.websockets.client.WebSocket13ClientHandshake].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClientHandshake].create(io.undertow.websockets.core.WebSocketVersion,java.net.URI,null,null)'
      Src: io.undertow.websockets.client.WebSocketClientHandshake:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketVersion
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields:
      - java.net.URI
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.WebSocketClientHandshake
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - version
    - uri
    argTypes:
    - io.undertow.websockets.core.WebSocketVersion
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.client.WebSocketClientHandshake].create(io.undertow.websockets.core.WebSocketVersion,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientHandshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClientHandshake].create(io.undertow.websockets.core.WebSocketVersion,java.net.URI,null,null)'
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocketClientHandshake
    signature: '[io.undertow.websockets.client.WebSocketClientHandshake].create(io.undertow.websockets.core.WebSocketVersion,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocket13ClientHandshake].<init>(java.net.URI,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
      Src: io.undertow.websockets.client.WebSocketClientHandshake:48,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.websockets.client.WebSocketClientHandshake:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketVersion
      - java.net.URI
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: false
      classEnum: false
      classFields:
      - java.net.URI
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.WebSocketClientHandshake
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - version
    - uri
    - clientNegotiation
    - extensions
    argTypes:
    - io.undertow.websockets.core.WebSocketVersion
    - java.net.URI
    - io.undertow.websockets.client.WebSocketClientNegotiation
    - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: '[io.undertow.websockets.client.WebSocketClientHandshake].create(io.undertow.websockets.core.WebSocketVersion,java.net.URI,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientHandshake.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocket13ClientHandshake].<init>(java.net.URI,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocketClientHandshake
    signature: '[io.undertow.websockets.client.WebSocketClientHandshake].create(io.undertow.websockets.core.WebSocketVersion,java.net.URI,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields:
      - java.net.URI
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.WebSocketClientHandshake
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.websockets.client.WebSocketClientHandshake].<init>(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientHandshake.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocketClientHandshake
    signature: '[io.undertow.websockets.client.WebSocketClientHandshake].<init>(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - String
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: false
      classEnum: false
      classFields:
      - java.net.URI
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketChannel
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - channel
    - wsUri
    - bufferPool
    - options
    argTypes:
    - org.xnio.StreamConnection
    - String
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '[io.undertow.websockets.client.WebSocketClientHandshake].createChannel(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketChannel
    signature: '[io.undertow.websockets.client.WebSocketClientHandshake].createChannel(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.net.URI
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.client.WebSocketClientHandshake].createHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientHandshake.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.websockets.client.WebSocketClientHandshake].createHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - java.util.Map<String,java.util.List<String>>
      classConcrete: false
      classEnum: false
      classFields:
      - java.net.URI
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.http.ExtendedHandshakeChecker
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - uri
    - requestHeaders
    argTypes:
    - java.net.URI
    - java.util.Map<String,java.util.List<String>>
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '[io.undertow.websockets.client.WebSocketClientHandshake].handshakeChecker(java.net.URI,java.util.Map<String,java.util.List<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClientHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.http.ExtendedHandshakeChecker
    signature: '[io.undertow.websockets.client.WebSocketClientHandshake].handshakeChecker(java.net.URI,java.util.Map<String,java.util.List<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,null)'
      Src: io.undertow.websockets.client.WebSocketClient:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.websockets.core.WebSocketVersion
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - worker
    - bufferPool
    - optionMap
    - uri
    - version
    argTypes:
    - org.xnio.XnioWorker
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - java.net.URI
    - io.undertow.websockets.core.WebSocketVersion
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,null)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,null)'
      Src: io.undertow.websockets.client.WebSocketClient:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.websockets.core.WebSocketVersion
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - worker
    - ssl
    - bufferPool
    - optionMap
    - uri
    - version
    argTypes:
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - java.net.URI
    - io.undertow.websockets.core.WebSocketVersion
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,null)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation)'
      Src: io.undertow.websockets.client.WebSocketClient:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.websockets.core.WebSocketVersion
      - io.undertow.websockets.client.WebSocketClientNegotiation
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - worker
    - bufferPool
    - optionMap
    - uri
    - version
    - clientNegotiation
    argTypes:
    - org.xnio.XnioWorker
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - java.net.URI
    - io.undertow.websockets.core.WebSocketVersion
    - io.undertow.websockets.client.WebSocketClientNegotiation
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation,null)'
      Src: io.undertow.websockets.client.WebSocketClient:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.websockets.core.WebSocketVersion
      - io.undertow.websockets.client.WebSocketClientNegotiation
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
      static: true
      superClass: Object
    argCount: 7
    argNames:
    - worker
    - ssl
    - bufferPool
    - optionMap
    - uri
    - version
    - clientNegotiation
    argTypes:
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - java.net.URI
    - io.undertow.websockets.core.WebSocketVersion
    - io.undertow.websockets.client.WebSocketClientNegotiation
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation,null)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,null,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
      Src: io.undertow.websockets.client.WebSocketClient:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - java.net.URI
      - io.undertow.websockets.core.WebSocketVersion
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
      static: true
      superClass: Object
    argCount: 8
    argNames:
    - worker
    - ssl
    - bufferPool
    - optionMap
    - uri
    - version
    - clientNegotiation
    - clientExtensions
    argTypes:
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - java.net.URI
    - io.undertow.websockets.core.WebSocketVersion
    - io.undertow.websockets.client.WebSocketClientNegotiation
    - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,null,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.client.WebSocketClient:96,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(org.xnio.ssl.XnioSsl)'
      Src: io.undertow.websockets.client.WebSocketClient:96,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].setOptionMap(org.xnio.OptionMap)'
      Src: io.undertow.websockets.client.WebSocketClient:96,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].setBindAddress(java.net.InetSocketAddress)'
      Src: io.undertow.websockets.client.WebSocketClient:96,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].setVersion(io.undertow.websockets.core.WebSocketVersion)'
      Src: io.undertow.websockets.client.WebSocketClient:96,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].setClientNegotiation(io.undertow.websockets.client.WebSocketClientNegotiation)'
      Src: io.undertow.websockets.client.WebSocketClient:96,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].setClientExtensions(java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
      Src: io.undertow.websockets.client.WebSocketClient:96,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient].connect()'
      Src: io.undertow.websockets.client.WebSocketClient:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - java.net.InetSocketAddress
      - java.net.URI
      - io.undertow.websockets.core.WebSocketVersion
      - io.undertow.websockets.client.WebSocketClientNegotiation
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
      static: true
      superClass: Object
    argCount: 9
    argNames:
    - worker
    - ssl
    - bufferPool
    - optionMap
    - bindAddress
    - uri
    - version
    - clientNegotiation
    - clientExtensions
    argTypes:
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - java.net.InetSocketAddress
    - java.net.URI
    - io.undertow.websockets.core.WebSocketVersion
    - io.undertow.websockets.client.WebSocketClientNegotiation
    - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.InetSocketAddress,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClient].setClientNegotiation(io.undertow.websockets.client.WebSocketClientNegotiation)'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(org.xnio.ssl.XnioSsl)'
    - '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[io.undertow.websockets.client.WebSocketClient].connect()'
    - '[io.undertow.websockets.client.WebSocketClient].setVersion(io.undertow.websockets.core.WebSocketVersion)'
    - '[io.undertow.websockets.client.WebSocketClient].setOptionMap(org.xnio.OptionMap)'
    - '[io.undertow.websockets.client.WebSocketClient].setClientExtensions(java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
    - '[io.undertow.websockets.client.WebSocketClient].setBindAddress(java.net.InetSocketAddress)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.client.WebSocketClient].connect(org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.InetSocketAddress,java.net.URI,io.undertow.websockets.core.WebSocketVersion,io.undertow.websockets.client.WebSocketClientNegotiation,java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].<init>(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.websockets.client.WebSocketClient:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - io.undertow.connector.ByteBufferPool
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - worker
    - bufferPool
    - uri
    argTypes:
    - org.xnio.XnioWorker
    - io.undertow.connector.ByteBufferPool
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].<init>(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient].connectionBuilder(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.websockets.client.WebSocketClient:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.client.WebSocketClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: '[io.undertow.websockets.client.WebSocketClient].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - Integer.getInteger(String,int)
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocketClient
    signature: '[io.undertow.websockets.client.WebSocketClient].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - io.undertow.connector.ByteBufferPool
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - worker
    - bufferPool
    - uri
    argTypes:
    - org.xnio.XnioWorker
    - io.undertow.connector.ByteBufferPool
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].<init>(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].<init>(org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getUri()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getSsl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getSsl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ssl.XnioSsl
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - org.xnio.ssl.XnioSsl
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(org.xnio.ssl.XnioSsl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setSsl(org.xnio.ssl.XnioSsl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getOptionMap()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getOptionMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - optionMap
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setOptionMap(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setOptionMap(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getBindAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getBindAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bindAddress
    argTypes:
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setBindAddress(java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setBindAddress(java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketVersion
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getVersion()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketVersion
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketVersion
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - version
    argTypes:
    - io.undertow.websockets.core.WebSocketVersion
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setVersion(io.undertow.websockets.core.WebSocketVersion)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setVersion(io.undertow.websockets.core.WebSocketVersion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.client.WebSocketClientNegotiation
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocketClientNegotiation
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientNegotiation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.client.WebSocketClientNegotiation
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clientNegotiation
    argTypes:
    - io.undertow.websockets.client.WebSocketClientNegotiation
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setClientNegotiation(io.undertow.websockets.client.WebSocketClientNegotiation)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setClientNegotiation(io.undertow.websockets.client.WebSocketClientNegotiation)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientExtensions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getClientExtensions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clientExtensions
    argTypes:
    - java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setClientExtensions(java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setClientExtensions(java.util.Set<io.undertow.websockets.extensions.ExtensionHandshake>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getProxyUri()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getProxyUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - proxyUri
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setProxyUri(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setProxyUri(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getProxySsl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].getProxySsl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ssl.XnioSsl
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConnectionBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - proxySsl
    argTypes:
    - org.xnio.ssl.XnioSsl
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setProxySsl(org.xnio.ssl.XnioSsl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionBuilder
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].setProxySsl(org.xnio.ssl.XnioSsl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:211,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connectImpl(URI,org.xnio.FutureResult,int)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 6
    functionsReached:
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connectImpl(URI,org.xnio.FutureResult,int)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].debugf(String,java.net.URI)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:214,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].isSecure(java.net.URI)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:215,1
    - Dst: '[java.net.URI].getUserInfo()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:218,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:218,1
    - Dst: '[java.net.URI].getQuery()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:218,1
    - Dst: '[java.net.URI].getFragment()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:218,1
    - Dst: '[java.net.URI].<init>(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:218,1
    - Dst: '[RuntimeException].<init>(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:220,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientHandshake].create(WebSocketVersion,java.net.URI,WebSocketClientNegotiation,Set<ExtensionHandshake>)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:222,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientHandshake].createHeaders()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:223,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:224,1
    - Dst: '[java.util.Map<String,String>].put(String,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:224,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:225,1
    - Dst: '[java.util.Map<String,String>].entrySet()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:226,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:227,1
    - Dst: entry.getValue()
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:228,1
    - Dst: '[java.util.ArrayList].add(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:228,1
    - Dst: entry.getKey()
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:229,1
    - Dst: '[java.util.HashMap].put(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,java.util.ArrayList)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:229,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientNegotiation].beforeRequest(java.util.HashMap)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:232,1
    - Dst: System.getProperty(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:235,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,int)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:237,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:240,1
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:240,1
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback,InetSocketAddress,URI,XnioWorker,XnioSsl,ByteBufferPool,OptionMap)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:240,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener].<init>(OptionMap,io.undertow.websockets.client.WebSocketClientHandshake,java.net.URI,org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:321,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientHandshake].handshakeChecker(java.net.URI,java.util.HashMap)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:321,1
    - Dst: '[org.xnio.http.HttpUpgrade].performUpgrade(XnioWorker,XnioSsl,java.net.InetSocketAddress,java.net.URI,java.util.HashMap,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener,null,OptionMap,org.xnio.http.ExtendedHandshakeChecker)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:321,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener].<init>(OptionMap,io.undertow.websockets.client.WebSocketClientHandshake,java.net.URI,org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:323,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientHandshake].handshakeChecker(java.net.URI,java.util.HashMap)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:323,1
    - Dst: '[org.xnio.http.HttpUpgrade].performUpgrade(XnioWorker,java.net.InetSocketAddress,java.net.URI,java.util.HashMap,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener,null,OptionMap,org.xnio.http.ExtendedHandshakeChecker)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:323,1
    - Dst: '[IoFuture.Notifier].<init>()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:325,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].addNotifier(IoFuture.Notifier,null)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:325,1
    - Dst: '[org.xnio.Cancellable].<init>()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:347,1
    - Dst: '[org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>].addCancelHandler(org.xnio.Cancellable)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:347,1
    - Dst: '[org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>].getIoFuture()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:355,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 138
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - uri
    - ioFuture
    - redirectCount
    argTypes:
    - java.net.URI
    - org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 356
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connectImpl(java.net.URI,org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].<init>(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].isSecure(java.net.URI)'
    - '[java.util.ArrayList].add(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)'
    - '[io.undertow.client.UndertowClient].getInstance()'
    - entry.getValue()
    - '[io.undertow.websockets.client.WebSocketClientNegotiation].beforeRequest(java.util.HashMap)'
    - '[io.undertow.websockets.client.WebSocketClientHandshake].createHeaders()'
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback,InetSocketAddress,URI,XnioWorker,XnioSsl,ByteBufferPool,OptionMap)'
    - '[org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>].getIoFuture()'
    - '[java.net.URI].getFragment()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].addNotifier(IoFuture.Notifier,null)'
    - '[RuntimeException].<init>(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)'
    - '[java.net.URI].getUserInfo()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener].<init>(OptionMap,io.undertow.websockets.client.WebSocketClientHandshake,java.net.URI,org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>)'
    - System.getProperty(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)
    - '[io.undertow.client.ClientCallback].<init>()'
    - entry.getKey()
    - '[IoFuture.Notifier].<init>()'
    - '[java.util.Map<String,String>].entrySet()'
    - '[java.net.URI].getHost()'
    - '[org.xnio.Cancellable].<init>()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,int)'
    - '[java.util.Map<String,String>].put(String,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder)'
    - '[org.xnio.http.HttpUpgrade].performUpgrade(XnioWorker,XnioSsl,java.net.InetSocketAddress,java.net.URI,java.util.HashMap,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener,null,OptionMap,org.xnio.http.ExtendedHandshakeChecker)'
    - '[org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>].addCancelHandler(org.xnio.Cancellable)'
    - '[org.xnio.http.HttpUpgrade].performUpgrade(XnioWorker,java.net.InetSocketAddress,java.net.URI,java.util.HashMap,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener,null,OptionMap,org.xnio.http.ExtendedHandshakeChecker)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].debugf(String,java.net.URI)'
    - '[java.net.URI].getPort()'
    - '[java.net.URI].getQuery()'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.websockets.client.WebSocketClientHandshake].create(WebSocketVersion,java.net.URI,WebSocketClientNegotiation,Set<ExtensionHandshake>)'
    - '[io.undertow.websockets.client.WebSocketClientHandshake].handshakeChecker(java.net.URI,java.util.HashMap)'
    - '[java.util.HashMap].put(io.undertow.websockets.client.WebSocketClient.ConnectionBuilder,java.util.ArrayList)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.websockets.core.WebSocketChannel>
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].connectImpl(java.net.URI,org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:359,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].equals(String)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:359,1
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:359,1
    - Dst: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].equals(String)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - XnioWorker
      - ByteBufferPool
      - URI
      - XnioSsl
      - OptionMap
      - InetSocketAddress
      - WebSocketVersion
      - WebSocketClientNegotiation
      - Set<ExtensionHandshake>
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - uri
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].isSecure(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].equals(String)'
    - '[java.net.URI].getScheme()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder].isSecure(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      - io.undertow.websockets.client.WebSocketClientHandshake
      - java.net.URI
      - org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - OptionMap
      - WebSocketClientHandshake
      - URI
      - FutureResult<WebSocketChannel>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - options
    - handshake
    - newUri
    - ioFuture
    argTypes:
    - org.xnio.OptionMap
    - io.undertow.websockets.client.WebSocketClientHandshake
    - java.net.URI
    - org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener].<init>(org.xnio.OptionMap,io.undertow.websockets.client.WebSocketClientHandshake,java.net.URI,org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener].<init>(org.xnio.OptionMap,io.undertow.websockets.client.WebSocketClientHandshake,java.net.URI,org.xnio.FutureResult<io.undertow.websockets.core.WebSocketChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[URI].toString()'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener:377,1
    - Dst: '[io.undertow.websockets.client.WebSocketClientHandshake].createChannel(org.xnio.StreamConnection,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener,OptionMap)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener:377,1
    - Dst: '[FutureResult<WebSocketChannel>].setResult(io.undertow.websockets.core.WebSocketChannel)'
      Src: io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - OptionMap
      - WebSocketClientHandshake
      - URI
      - FutureResult<WebSocketChannel>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/websockets/client/WebSocketClient.java
    functionUses: 0
    functionsReached:
    - '[FutureResult<WebSocketChannel>].setResult(io.undertow.websockets.core.WebSocketChannel)'
    - '[io.undertow.websockets.client.WebSocketClientHandshake].createChannel(org.xnio.StreamConnection,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener,io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener,OptionMap)'
    - '[URI].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.client.WebSocketClient.ConnectionBuilder.WebsocketConnectionListener].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.RegularExpressionPredicate
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - regex
    - matchAttribute
    - requireFullMatch
    - caseSensitive
    argTypes:
    - String
    - io.undertow.attribute.ExchangeAttribute
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 1
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    linkageType: ''
    returnType: io.undertow.predicate.RegularExpressionPredicate
    signature: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean,boolean)'
      Src: io.undertow.predicate.RegularExpressionPredicate:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.RegularExpressionPredicate
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - regex
    - matchAttribute
    - requireFullMatch
    argTypes:
    - String
    - io.undertow.attribute.ExchangeAttribute
    - boolean
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.predicate.RegularExpressionPredicate
    signature: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean)'
      Src: io.undertow.predicate.RegularExpressionPredicate:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.RegularExpressionPredicate
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - regex
    - matchAttribute
    argTypes:
    - String
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean)'
    linkageType: ''
    returnType: io.undertow.predicate.RegularExpressionPredicate
    signature: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.RegularExpressionPredicate:70,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate:74,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].matches()'
      Src: io.undertow.predicate.RegularExpressionPredicate:77,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].find()'
      Src: io.undertow.predicate.RegularExpressionPredicate:79,1
    - Dst: '[java.util.regex.Pattern].toString()'
      Src: io.undertow.predicate.RegularExpressionPredicate:82,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].tracef(String,io.undertow.predicate.RegularExpressionPredicate,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.RegularExpressionPredicate:82,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.predicate.RegularExpressionPredicate)'
      Src: io.undertow.predicate.RegularExpressionPredicate:85,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.RegularExpressionPredicate)'
      Src: io.undertow.predicate.RegularExpressionPredicate:87,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].groupCount()'
      Src: io.undertow.predicate.RegularExpressionPredicate:89,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].group(io.undertow.predicate.RegularExpressionPredicate)'
      Src: io.undertow.predicate.RegularExpressionPredicate:92,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].tracef(String,io.undertow.predicate.RegularExpressionPredicate,io.undertow.predicate.RegularExpressionPredicate,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.RegularExpressionPredicate:92,1
    - Dst: Integer.toString(io.undertow.predicate.RegularExpressionPredicate)
      Src: io.undertow.predicate.RegularExpressionPredicate:94,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].group(io.undertow.predicate.RegularExpressionPredicate)'
      Src: io.undertow.predicate.RegularExpressionPredicate:94,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].put(io.undertow.predicate.RegularExpressionPredicate,io.undertow.predicate.RegularExpressionPredicate)'
      Src: io.undertow.predicate.RegularExpressionPredicate:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: '[io.undertow.predicate.RegularExpressionPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.RegularExpressionPredicate].groupCount()'
    - '[io.undertow.predicate.RegularExpressionPredicate].tracef(String,io.undertow.predicate.RegularExpressionPredicate,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.predicate.RegularExpressionPredicate].tracef(String,io.undertow.predicate.RegularExpressionPredicate,io.undertow.predicate.RegularExpressionPredicate,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.predicate.RegularExpressionPredicate].group(io.undertow.predicate.RegularExpressionPredicate)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.predicate.RegularExpressionPredicate)'
    - Integer.toString(io.undertow.predicate.RegularExpressionPredicate)
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.predicate.RegularExpressionPredicate].put(io.undertow.predicate.RegularExpressionPredicate,io.undertow.predicate.RegularExpressionPredicate)'
    - '[java.util.regex.Pattern].toString()'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.predicate.RegularExpressionPredicate].find()'
    - '[io.undertow.predicate.RegularExpressionPredicate].matches()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.RegularExpressionPredicate)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.RegularExpressionPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].toString()'
      Src: io.undertow.predicate.RegularExpressionPredicate:102,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.predicate.RegularExpressionPredicate:102,1
    - Dst: Boolean.valueOf(boolean)
      Src: io.undertow.predicate.RegularExpressionPredicate:102,1
    - Dst: Boolean.valueOf(io.undertow.predicate.RegularExpressionPredicate)
      Src: io.undertow.predicate.RegularExpressionPredicate:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.predicate.RegularExpressionPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached:
    - Boolean.valueOf(boolean)
    - '[java.util.regex.Pattern].toString()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - Boolean.valueOf(io.undertow.predicate.RegularExpressionPredicate)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RegularExpressionPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.predicate.RegularExpressionPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RegularExpressionPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:114,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:115,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:116,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:117,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: '[io.undertow.predicate.RegularExpressionPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.RegularExpressionPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:124,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: '[io.undertow.predicate.RegularExpressionPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.RegularExpressionPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.predicate.RegularExpressionPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RegularExpressionPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:136,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].relativePath()'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:138,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:140,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:141,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:142,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].<init>(io.undertow.predicate.RegularExpressionPredicate.Builder,io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.predicate.RegularExpressionPredicate.Builder:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: '[io.undertow.predicate.RegularExpressionPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.ExchangeAttributes].relativePath()'
    - '[io.undertow.predicate.RegularExpressionPredicate].<init>(io.undertow.predicate.RegularExpressionPredicate.Builder,io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.RegularExpressionPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.predicate.RegularExpressionPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.RegularExpressionPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.RegularExpressionPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.RegularExpressionPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RegularExpressionPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.RegularExpressionPredicate.Builder
    signature: '[io.undertow.predicate.RegularExpressionPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.predicate.IdempotentPredicate:55,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
      Src: io.undertow.predicate.IdempotentPredicate:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.IdempotentPredicate
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.predicate.IdempotentPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.IdempotentPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.IdempotentPredicate
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.predicate.IdempotentPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.IdempotentPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.IdempotentPredicate].<init>()'
      Src: io.undertow.predicate.IdempotentPredicate:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.IdempotentPredicate
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.IdempotentPredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.IdempotentPredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.IdempotentPredicate].<init>()'
    linkageType: ''
    returnType: io.undertow.predicate.IdempotentPredicate
    signature: '[io.undertow.predicate.IdempotentPredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.predicate.IdempotentPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.IdempotentPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.predicate.IdempotentPredicate.Builder:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.predicate.IdempotentPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.IdempotentPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.predicate.IdempotentPredicate.Builder:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.predicate.IdempotentPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.IdempotentPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[io.undertow.predicate.IdempotentPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.IdempotentPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[io.undertow.predicate.IdempotentPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.IdempotentPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.predicate.IdempotentPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.IdempotentPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.IdempotentPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.IdempotentPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/IdempotentPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.IdempotentPredicate.Builder
    signature: '[io.undertow.predicate.IdempotentPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parsePredicate(String,ClassLoader)'
      Src: io.undertow.predicate.PredicateParser:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - string
    - classLoader
    argTypes:
    - String
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.predicate.PredicateParser].parse(String,ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateParser.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.builder.PredicatedHandlersParser].parsePredicate(String,ClassLoader)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.PredicateParser].parse(String,ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicateParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PredicateParser].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PredicateParser
    signature: '[io.undertow.predicate.PredicateParser].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.predicate.PathTemplatePredicate:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - String
      - io.undertow.util.PathTemplate
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PathTemplatePredicate
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - attribute
    argTypes:
    - String
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: '[io.undertow.predicate.PathTemplatePredicate].<init>(String,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplate].create(String)'
    linkageType: ''
    returnType: io.undertow.predicate.PathTemplatePredicate
    signature: '[io.undertow.predicate.PathTemplatePredicate].<init>(String,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.PathTemplatePredicate:55,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PathTemplatePredicate:56,1
    - Dst: '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
      Src: io.undertow.predicate.PathTemplatePredicate:60,1
    - Dst: '[io.undertow.predicate.PathTemplatePredicate].tracef(String,String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PathTemplatePredicate:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.predicate.PathTemplatePredicate)'
      Src: io.undertow.predicate.PathTemplatePredicate:65,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PathTemplatePredicate)'
      Src: io.undertow.predicate.PathTemplatePredicate:67,1
    - Dst: '[java.util.HashMap].entrySet()'
      Src: io.undertow.predicate.PathTemplatePredicate:70,1
    - Dst: '[io.undertow.predicate.PathTemplatePredicate].forEach()'
      Src: io.undertow.predicate.PathTemplatePredicate:70,1
    - Dst: '[io.undertow.predicate.PathTemplatePredicate].putAll(java.util.HashMap)'
      Src: io.undertow.predicate.PathTemplatePredicate:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - String
      - io.undertow.util.PathTemplate
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: '[io.undertow.predicate.PathTemplatePredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PathTemplatePredicate)'
    - '[java.util.HashMap].entrySet()'
    - '[io.undertow.predicate.PathTemplatePredicate].tracef(String,String,String,io.undertow.server.HttpServerExchange)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.predicate.PathTemplatePredicate].forEach()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.predicate.PathTemplatePredicate)'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.predicate.PathTemplatePredicate].putAll(java.util.HashMap)'
    - '[io.undertow.util.PathTemplate].matches(String,java.util.HashMap)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.PathTemplatePredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].relativePath()'
      Src: io.undertow.predicate.PathTemplatePredicate:78,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.predicate.PathTemplatePredicate:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - String
      - io.undertow.util.PathTemplate
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: '[io.undertow.predicate.PathTemplatePredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].relativePath()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathTemplatePredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.predicate.PathTemplatePredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathTemplatePredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:94,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:95,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: '[io.undertow.predicate.PathTemplatePredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.PathTemplatePredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:102,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: '[io.undertow.predicate.PathTemplatePredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.PathTemplatePredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.predicate.PathTemplatePredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathTemplatePredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:114,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].relativePath()'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:116,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:118,1
    - Dst: '[io.undertow.predicate.PathTemplatePredicate].<init>(io.undertow.predicate.PathTemplatePredicate.Builder,io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.predicate.PathTemplatePredicate.Builder:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: '[io.undertow.predicate.PathTemplatePredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.ExchangeAttributes].relativePath()'
    - '[io.undertow.predicate.PathTemplatePredicate].<init>(io.undertow.predicate.PathTemplatePredicate.Builder,io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.PathTemplatePredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.predicate.PathTemplatePredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.PathTemplatePredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PathTemplatePredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PathTemplatePredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathTemplatePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PathTemplatePredicate.Builder
    signature: '[io.undertow.predicate.PathTemplatePredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.FalsePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.FalsePredicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.predicate.FalsePredicate].instance()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/FalsePredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.FalsePredicate
    signature: '[io.undertow.predicate.FalsePredicate].instance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.FalsePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.predicate.FalsePredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/FalsePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.FalsePredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.FalsePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.predicate.FalsePredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/FalsePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.FalsePredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.FalsePredicate].<init>()'
      Src: io.undertow.predicate.FalsePredicate:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.FalsePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.FalsePredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.FalsePredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/FalsePredicate.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.FalsePredicate].<init>()'
    linkageType: ''
    returnType: io.undertow.predicate.FalsePredicate
    signature: '[io.undertow.predicate.FalsePredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.ExistsPredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.predicate.ExistsPredicate].<init>(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.ExistsPredicate
    signature: '[io.undertow.predicate.ExistsPredicate].<init>(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.ExistsPredicate:44,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.predicate.ExistsPredicate:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: '[io.undertow.predicate.ExistsPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached:
    - '[String].isEmpty()'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ExistsPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.predicate.ExistsPredicate:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.predicate.ExistsPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ExistsPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.predicate.ExistsPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ExistsPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.ExistsPredicate.Builder:65,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.ExistsPredicate.Builder:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '[io.undertow.predicate.ExistsPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.ExistsPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.ExistsPredicate.Builder:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.predicate.ExistsPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.ExistsPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.predicate.ExistsPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ExistsPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.ExistsPredicate.Builder:82,1
    - Dst: '[io.undertow.predicate.ExistsPredicate].<init>(io.undertow.predicate.ExistsPredicate.Builder)'
      Src: io.undertow.predicate.ExistsPredicate.Builder:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: '[io.undertow.predicate.ExistsPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.predicate.ExistsPredicate].<init>(io.undertow.predicate.ExistsPredicate.Builder)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.ExistsPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.predicate.ExistsPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.ExistsPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.ExistsPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.ExistsPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ExistsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.ExistsPredicate.Builder
    signature: '[io.undertow.predicate.ExistsPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.MaxContentSizePredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.predicate.MaxContentSizePredicate].<init>(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.MaxContentSizePredicate
    signature: '[io.undertow.predicate.MaxContentSizePredicate].<init>(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.predicate.MaxContentSizePredicate:47,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.predicate.MaxContentSizePredicate:47,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.predicate.MaxContentSizePredicate:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: '[io.undertow.predicate.MaxContentSizePredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - Long.parseLong(String)
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.MaxContentSizePredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.predicate.MaxContentSizePredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MaxContentSizePredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.predicate.MaxContentSizePredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MaxContentSizePredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.predicate.MaxContentSizePredicate.Builder:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.predicate.MaxContentSizePredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.MaxContentSizePredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.MaxContentSizePredicate.Builder:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.predicate.MaxContentSizePredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.MaxContentSizePredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.predicate.MaxContentSizePredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MaxContentSizePredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.MaxContentSizePredicate.Builder:83,1
    - Dst: '[io.undertow.predicate.MaxContentSizePredicate].<init>(io.undertow.predicate.MaxContentSizePredicate.Builder)'
      Src: io.undertow.predicate.MaxContentSizePredicate.Builder:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '[io.undertow.predicate.MaxContentSizePredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.predicate.MaxContentSizePredicate].<init>(io.undertow.predicate.MaxContentSizePredicate.Builder)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.MaxContentSizePredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.predicate.MaxContentSizePredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.MaxContentSizePredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.MaxContentSizePredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.MaxContentSizePredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MaxContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.MaxContentSizePredicate.Builder
    signature: '[io.undertow.predicate.MaxContentSizePredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.predicate.SecurePredicate:39,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSession()'
      Src: io.undertow.predicate.SecurePredicate:39,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.predicate.SecurePredicate:40,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.predicate.SecurePredicate:40,1
    - Dst: '[javax.net.ssl.SSLSession].isValid()'
      Src: io.undertow.predicate.SecurePredicate:41,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSSLSession()'
      Src: io.undertow.predicate.SecurePredicate:42,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSSLSession()'
      Src: io.undertow.predicate.SecurePredicate:42,1
    - Dst: '[javax.net.ssl.SSLSession].isValid()'
      Src: io.undertow.predicate.SecurePredicate:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.SecurePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: '[io.undertow.predicate.SecurePredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[io.undertow.server.SSLSessionInfo].getSSLSession()'
    - '[io.undertow.server.ServerConnection].getSslSession()'
    - '[javax.net.ssl.SSLSession].isValid()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.SecurePredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.SecurePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.predicate.SecurePredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.SecurePredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.SecurePredicate].<init>()'
      Src: io.undertow.predicate.SecurePredicate:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.SecurePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.SecurePredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.SecurePredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.SecurePredicate].<init>()'
    linkageType: ''
    returnType: io.undertow.predicate.SecurePredicate
    signature: '[io.undertow.predicate.SecurePredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.predicate.SecurePredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.SecurePredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.predicate.SecurePredicate.Builder:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.predicate.SecurePredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.SecurePredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.predicate.SecurePredicate.Builder:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.predicate.SecurePredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.SecurePredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.predicate.SecurePredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.SecurePredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.predicate.SecurePredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.SecurePredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.predicate.SecurePredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.SecurePredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.SecurePredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.SecurePredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/SecurePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.SecurePredicate.Builder
    signature: '[io.undertow.predicate.SecurePredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.predicate.PathPrefixPredicate:45,1
    - Dst: path.startsWith(String)
      Src: io.undertow.predicate.PathPrefixPredicate:47,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:48,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(io.undertow.predicate.PathPrefixPredicate,io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.PathMatcher<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.PathPrefixPredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: '[io.undertow.predicate.PathPrefixPredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.util.PathMatcher].addPrefixPath(String,io.undertow.predicate.PathPrefixPredicate)'
    - path.startsWith(String)
    - '[io.undertow.util.PathMatcher].addPrefixPath(io.undertow.predicate.PathPrefixPredicate,io.undertow.predicate.PathPrefixPredicate)'
    linkageType: ''
    returnType: io.undertow.predicate.PathPrefixPredicate
    signature: '[io.undertow.predicate.PathPrefixPredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.predicate.PathPrefixPredicate:58,1
    - Dst: '[io.undertow.util.PathMatcher<Boolean>].match(String)'
      Src: io.undertow.predicate.PathPrefixPredicate:59,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].getValue()'
      Src: io.undertow.predicate.PathPrefixPredicate:61,1
    - Dst: Boolean.TRUE.equals(io.undertow.predicate.PathPrefixPredicate)
      Src: io.undertow.predicate.PathPrefixPredicate:61,1
    - Dst: '[io.undertow.util.PathMatcher<Boolean>].getPathMatchesSet()'
      Src: io.undertow.predicate.PathPrefixPredicate:64,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].stream()'
      Src: io.undertow.predicate.PathPrefixPredicate:64,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.predicate.PathPrefixPredicate:64,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].collect(io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:64,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].tracef(String,io.undertow.predicate.PathPrefixPredicate,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PathPrefixPredicate:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:67,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:69,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].getRemaining()'
      Src: io.undertow.predicate.PathPrefixPredicate:71,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].length()'
      Src: io.undertow.predicate.PathPrefixPredicate:71,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].getRemaining()'
      Src: io.undertow.predicate.PathPrefixPredicate:72,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].tracef(String,io.undertow.predicate.PathPrefixPredicate,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PathPrefixPredicate:72,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].getRemaining()'
      Src: io.undertow.predicate.PathPrefixPredicate:74,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].put(String,io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:74,1
    - Dst: '[PathPrefixMatchRecord].<init>()'
      Src: io.undertow.predicate.PathPrefixPredicate:75,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].getRemaining()'
      Src: io.undertow.predicate.PathPrefixPredicate:76,1
    - Dst: '[PathPrefixMatchRecord].setRemaining(io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:76,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].getMatched()'
      Src: io.undertow.predicate.PathPrefixPredicate:77,1
    - Dst: '[PathPrefixMatchRecord].setPrefix(io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:77,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].put(String,PathPrefixMatchRecord)'
      Src: io.undertow.predicate.PathPrefixPredicate:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.PathMatcher<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: '[io.undertow.predicate.PathPrefixPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathPrefixPredicate].getValue()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[io.undertow.predicate.PathPrefixPredicate].tracef(String,io.undertow.predicate.PathPrefixPredicate,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.PathMatcher<Boolean>].match(String)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PathPrefixPredicate)'
    - '[io.undertow.predicate.PathPrefixPredicate].getRemaining()'
    - '[PathPrefixMatchRecord].setRemaining(io.undertow.predicate.PathPrefixPredicate)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.predicate.PathPrefixPredicate)'
    - '[io.undertow.predicate.PathPrefixPredicate].length()'
    - Boolean.TRUE.equals(io.undertow.predicate.PathPrefixPredicate)
    - '[PathPrefixMatchRecord].<init>()'
    - '[io.undertow.predicate.PathPrefixPredicate].put(String,PathPrefixMatchRecord)'
    - '[io.undertow.predicate.PathPrefixPredicate].stream()'
    - '[PathPrefixMatchRecord].setPrefix(io.undertow.predicate.PathPrefixPredicate)'
    - '[io.undertow.predicate.PathPrefixPredicate].getMatched()'
    - '[io.undertow.util.PathMatcher<Boolean>].getPathMatchesSet()'
    - '[io.undertow.predicate.PathPrefixPredicate].tracef(String,io.undertow.predicate.PathPrefixPredicate,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.predicate.PathPrefixPredicate].collect(io.undertow.predicate.PathPrefixPredicate)'
    - '[io.undertow.predicate.PathPrefixPredicate].put(String,io.undertow.predicate.PathPrefixPredicate)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.PathPrefixPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher<Boolean>].getPathMatchesSet()'
      Src: io.undertow.predicate.PathPrefixPredicate:84,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].size()'
      Src: io.undertow.predicate.PathPrefixPredicate:85,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].toArray()'
      Src: io.undertow.predicate.PathPrefixPredicate:86,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].stream()'
      Src: io.undertow.predicate.PathPrefixPredicate:88,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.predicate.PathPrefixPredicate:88,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].collect(io.undertow.predicate.PathPrefixPredicate)'
      Src: io.undertow.predicate.PathPrefixPredicate:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.PathMatcher<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: '[io.undertow.predicate.PathPrefixPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher<Boolean>].getPathMatchesSet()'
    - '[io.undertow.predicate.PathPrefixPredicate].collect(io.undertow.predicate.PathPrefixPredicate)'
    - '[io.undertow.predicate.PathPrefixPredicate].size()'
    - '[io.undertow.predicate.PathPrefixPredicate].toArray()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[io.undertow.predicate.PathPrefixPredicate].stream()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathPrefixPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[io.undertow.predicate.PathPrefixPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathPrefixPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.predicate.PathPrefixPredicate.Builder:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[io.undertow.predicate.PathPrefixPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.PathPrefixPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.PathPrefixPredicate.Builder:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[io.undertow.predicate.PathPrefixPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.PathPrefixPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.predicate.PathPrefixPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathPrefixPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.PathPrefixPredicate.Builder:116,1
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].<init>(io.undertow.predicate.PathPrefixPredicate.Builder)'
      Src: io.undertow.predicate.PathPrefixPredicate.Builder:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: '[io.undertow.predicate.PathPrefixPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.predicate.PathPrefixPredicate].<init>(io.undertow.predicate.PathPrefixPredicate.Builder)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.PathPrefixPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[io.undertow.predicate.PathPrefixPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.PathPrefixPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PathPrefixPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PathPrefixPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PathPrefixPredicate.Builder
    signature: '[io.undertow.predicate.PathPrefixPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].setPrefix(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].setPrefix(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - remaining
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].setRemaining(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].setRemaining(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].overWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].overWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].isOverWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].isOverWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].getPrefix()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].getPrefix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].getRemaining()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].getRemaining()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathPrefixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord
    signature: '[io.undertow.predicate.PathPrefixPredicate.PathPrefixMatchRecord].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.predicate.AuthenticationRequiredPredicate:22,1
    - Dst: '[io.undertow.security.api.SecurityContext].isAuthenticationRequired()'
      Src: io.undertow.predicate.AuthenticationRequiredPredicate:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.AuthenticationRequiredPredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.security.api.SecurityContext].isAuthenticationRequired()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.AuthenticationRequiredPredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.AuthenticationRequiredPredicate].<init>()'
      Src: io.undertow.predicate.AuthenticationRequiredPredicate:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.AuthenticationRequiredPredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.AuthenticationRequiredPredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.AuthenticationRequiredPredicate].<init>()'
    linkageType: ''
    returnType: io.undertow.predicate.AuthenticationRequiredPredicate
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.AuthenticationRequiredPredicate.Builder:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.predicate.AuthenticationRequiredPredicate.Builder:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.AuthenticationRequiredPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AuthenticationRequiredPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.AuthenticationRequiredPredicate.Builder
    signature: '[io.undertow.predicate.AuthenticationRequiredPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.NotPredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.predicate.NotPredicate].<init>(io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/NotPredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.NotPredicate
    signature: '[io.undertow.predicate.NotPredicate].<init>(io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.NotPredicate:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.predicate.NotPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/NotPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.NotPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicate].toString()'
      Src: io.undertow.predicate.NotPredicate:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.predicate.NotPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/NotPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.Predicate].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.NotPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.TruePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.TruePredicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.predicate.TruePredicate].instance()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/TruePredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.TruePredicate
    signature: '[io.undertow.predicate.TruePredicate].instance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.TruePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.predicate.TruePredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/TruePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.TruePredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.TruePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.predicate.TruePredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/TruePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.TruePredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.TruePredicate].<init>()'
      Src: io.undertow.predicate.TruePredicate:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.TruePredicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.TruePredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.TruePredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/TruePredicate.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.TruePredicate].<init>()'
    linkageType: ''
    returnType: io.undertow.predicate.TruePredicate
    signature: '[io.undertow.predicate.TruePredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.RequestLargerThanPredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate].<init>(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.RequestLargerThanPredicate
    signature: '[io.undertow.predicate.RequestLargerThanPredicate].<init>(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.predicate.RequestLargerThanPredicate:44,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.predicate.RequestLargerThanPredicate:44,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.predicate.RequestLargerThanPredicate:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - Long.parseLong(String)
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.RequestLargerThanPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RequestLargerThanPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.predicate.RequestLargerThanPredicate.Builder:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.RequestLargerThanPredicate.Builder:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.RequestLargerThanPredicate.Builder:79,1
    - Dst: '[io.undertow.predicate.RequestLargerThanPredicate].<init>(io.undertow.predicate.RequestLargerThanPredicate.Builder)'
      Src: io.undertow.predicate.RequestLargerThanPredicate.Builder:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.predicate.RequestLargerThanPredicate].<init>(io.undertow.predicate.RequestLargerThanPredicate.Builder)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.RequestLargerThanPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestLargerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.RequestLargerThanPredicate.Builder
    signature: '[io.undertow.predicate.RequestLargerThanPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.predicate.PathMatchPredicate:43,1
    - Dst: path.startsWith(String)
      Src: io.undertow.predicate.PathMatchPredicate:45,1
    - Dst: '[io.undertow.util.PathMatcher].addExactPath(String,io.undertow.predicate.PathMatchPredicate)'
      Src: io.undertow.predicate.PathMatchPredicate:46,1
    - Dst: '[io.undertow.util.PathMatcher].addExactPath(io.undertow.predicate.PathMatchPredicate,io.undertow.predicate.PathMatchPredicate)'
      Src: io.undertow.predicate.PathMatchPredicate:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.PathMatchPredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: '[io.undertow.predicate.PathMatchPredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathMatcher].<init>()'
    - path.startsWith(String)
    - '[io.undertow.util.PathMatcher].addExactPath(io.undertow.predicate.PathMatchPredicate,io.undertow.predicate.PathMatchPredicate)'
    - '[io.undertow.util.PathMatcher].addExactPath(String,io.undertow.predicate.PathMatchPredicate)'
    linkageType: ''
    returnType: io.undertow.predicate.PathMatchPredicate
    signature: '[io.undertow.predicate.PathMatchPredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher<Boolean>].getExactPathMatchesSet()'
      Src: io.undertow.predicate.PathMatchPredicate:55,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].size()'
      Src: io.undertow.predicate.PathMatchPredicate:56,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].toArray()'
      Src: io.undertow.predicate.PathMatchPredicate:57,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].stream()'
      Src: io.undertow.predicate.PathMatchPredicate:59,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.predicate.PathMatchPredicate:59,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].collect(io.undertow.predicate.PathMatchPredicate)'
      Src: io.undertow.predicate.PathMatchPredicate:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: '[io.undertow.predicate.PathMatchPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathMatchPredicate].toArray()'
    - '[io.undertow.predicate.PathMatchPredicate].collect(io.undertow.predicate.PathMatchPredicate)'
    - '[io.undertow.predicate.PathMatchPredicate].stream()'
    - '[io.undertow.util.PathMatcher<Boolean>].getExactPathMatchesSet()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[io.undertow.predicate.PathMatchPredicate].size()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathMatchPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.predicate.PathMatchPredicate:65,1
    - Dst: '[io.undertow.util.PathMatcher<Boolean>].match(String)'
      Src: io.undertow.predicate.PathMatchPredicate:66,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].getValue()'
      Src: io.undertow.predicate.PathMatchPredicate:67,1
    - Dst: Boolean.TRUE.equals(io.undertow.predicate.PathMatchPredicate)
      Src: io.undertow.predicate.PathMatchPredicate:67,1
    - Dst: '[io.undertow.util.PathMatcher<Boolean>].getExactPathMatchesSet()'
      Src: io.undertow.predicate.PathMatchPredicate:69,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].stream()'
      Src: io.undertow.predicate.PathMatchPredicate:69,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.predicate.PathMatchPredicate:69,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].collect(io.undertow.predicate.PathMatchPredicate)'
      Src: io.undertow.predicate.PathMatchPredicate:69,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].tracef(String,io.undertow.predicate.PathMatchPredicate,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PathMatchPredicate:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: '[io.undertow.predicate.PathMatchPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathMatchPredicate].tracef(String,io.undertow.predicate.PathMatchPredicate,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.predicate.PathMatchPredicate].collect(io.undertow.predicate.PathMatchPredicate)'
    - '[io.undertow.predicate.PathMatchPredicate].stream()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.util.PathMatcher<Boolean>].getExactPathMatchesSet()'
    - '[java.util.stream.Collectors].joining(String)'
    - Boolean.TRUE.equals(io.undertow.predicate.PathMatchPredicate)
    - '[io.undertow.util.PathMatcher<Boolean>].match(String)'
    - '[io.undertow.predicate.PathMatchPredicate].getValue()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.PathMatchPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.predicate.PathMatchPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathMatchPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.predicate.PathMatchPredicate.Builder:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.predicate.PathMatchPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.PathMatchPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.PathMatchPredicate.Builder:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.predicate.PathMatchPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.PathMatchPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.predicate.PathMatchPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathMatchPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.PathMatchPredicate.Builder:98,1
    - Dst: '[io.undertow.predicate.PathMatchPredicate].<init>(io.undertow.predicate.PathMatchPredicate.Builder)'
      Src: io.undertow.predicate.PathMatchPredicate.Builder:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: '[io.undertow.predicate.PathMatchPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathMatchPredicate].<init>(io.undertow.predicate.PathMatchPredicate.Builder)'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.PathMatchPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.predicate.PathMatchPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.PathMatchPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PathMatchPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PathMatchPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathMatchPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PathMatchPredicate.Builder
    signature: '[io.undertow.predicate.PathMatchPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.MinContentSizePredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - minSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.predicate.MinContentSizePredicate].<init>(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.MinContentSizePredicate
    signature: '[io.undertow.predicate.MinContentSizePredicate].<init>(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.predicate.MinContentSizePredicate:47,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.predicate.MinContentSizePredicate:47,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.predicate.MinContentSizePredicate:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: '[io.undertow.predicate.MinContentSizePredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - Long.parseLong(String)
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.MinContentSizePredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.predicate.MinContentSizePredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MinContentSizePredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.predicate.MinContentSizePredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MinContentSizePredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.predicate.MinContentSizePredicate.Builder:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.predicate.MinContentSizePredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.MinContentSizePredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.MinContentSizePredicate.Builder:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.predicate.MinContentSizePredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.MinContentSizePredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.predicate.MinContentSizePredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MinContentSizePredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.MinContentSizePredicate.Builder:83,1
    - Dst: '[io.undertow.predicate.MinContentSizePredicate].<init>(io.undertow.predicate.MinContentSizePredicate.Builder)'
      Src: io.undertow.predicate.MinContentSizePredicate.Builder:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '[io.undertow.predicate.MinContentSizePredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.predicate.MinContentSizePredicate].<init>(io.undertow.predicate.MinContentSizePredicate.Builder)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.MinContentSizePredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.predicate.MinContentSizePredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.MinContentSizePredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.MinContentSizePredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.MinContentSizePredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MinContentSizePredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.MinContentSizePredicate.Builder
    signature: '[io.undertow.predicate.MinContentSizePredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.RequestSmallerThanPredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate].<init>(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.RequestSmallerThanPredicate
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate].<init>(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.predicate.RequestSmallerThanPredicate:44,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.predicate.RequestSmallerThanPredicate:44,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.predicate.RequestSmallerThanPredicate:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - Long.parseLong(String)
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.predicate.RequestSmallerThanPredicate.Builder:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.RequestSmallerThanPredicate.Builder:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.RequestSmallerThanPredicate.Builder:79,1
    - Dst: '[io.undertow.predicate.RequestSmallerThanPredicate].<init>(io.undertow.predicate.RequestSmallerThanPredicate.Builder)'
      Src: io.undertow.predicate.RequestSmallerThanPredicate.Builder:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.predicate.RequestSmallerThanPredicate].<init>(io.undertow.predicate.RequestSmallerThanPredicate.Builder)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.RequestSmallerThanPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/RequestSmallerThanPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.RequestSmallerThanPredicate.Builder
    signature: '[io.undertow.predicate.RequestSmallerThanPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(String[],int,String[],int,io.undertow.predicate.ContainsPredicate)
      Src: io.undertow.predicate.ContainsPredicate:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.ContainsPredicate
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - attribute
    - values
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    - String[]
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '[io.undertow.predicate.ContainsPredicate].<init>(io.undertow.attribute.ExchangeAttribute,String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(String[],int,String[],int,io.undertow.predicate.ContainsPredicate)
    linkageType: ''
    returnType: io.undertow.predicate.ContainsPredicate
    signature: '[io.undertow.predicate.ContainsPredicate].<init>(io.undertow.attribute.ExchangeAttribute,String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.ContainsPredicate:48,1
    - Dst: '[String].contains()'
      Src: io.undertow.predicate.ContainsPredicate:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: '[io.undertow.predicate.ContainsPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached:
    - '[String].contains()'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ContainsPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.predicate.ContainsPredicate].getAttribute()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.predicate.ContainsPredicate].getAttribute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(String[],int,io.undertow.predicate.ContainsPredicate,int,io.undertow.predicate.ContainsPredicate)
      Src: io.undertow.predicate.ContainsPredicate:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '[io.undertow.predicate.ContainsPredicate].getValues()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(String[],int,io.undertow.predicate.ContainsPredicate,int,io.undertow.predicate.ContainsPredicate)
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.predicate.ContainsPredicate].getValues()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String[])'
      Src: io.undertow.predicate.ContainsPredicate:72,1
    - Dst: String.join(String,io.undertow.predicate.ContainsPredicate)
      Src: io.undertow.predicate.ContainsPredicate:72,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.predicate.ContainsPredicate:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.predicate.ContainsPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    - '[java.util.Arrays].asList(String[])'
    - String.join(String,io.undertow.predicate.ContainsPredicate)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ContainsPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.predicate.ContainsPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ContainsPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.ContainsPredicate.Builder:84,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.ContainsPredicate.Builder:85,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.ContainsPredicate.Builder:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: '[io.undertow.predicate.ContainsPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.ContainsPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.predicate.ContainsPredicate.Builder:92,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.predicate.ContainsPredicate.Builder:93,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.predicate.ContainsPredicate.Builder:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: '[io.undertow.predicate.ContainsPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.ContainsPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.predicate.ContainsPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ContainsPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.ContainsPredicate.Builder:105,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.ContainsPredicate.Builder:106,1
    - Dst: '[io.undertow.predicate.ContainsPredicate].<init>(io.undertow.predicate.ContainsPredicate.Builder,io.undertow.predicate.ContainsPredicate.Builder)'
      Src: io.undertow.predicate.ContainsPredicate.Builder:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: '[io.undertow.predicate.ContainsPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.predicate.ContainsPredicate].<init>(io.undertow.predicate.ContainsPredicate.Builder,io.undertow.predicate.ContainsPredicate.Builder)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.ContainsPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.predicate.ContainsPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.ContainsPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.ContainsPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.ContainsPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ContainsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.ContainsPredicate.Builder
    signature: '[io.undertow.predicate.ContainsPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.AndPredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.predicate.AndPredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AndPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.AndPredicate
    signature: '[io.undertow.predicate.AndPredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: predicate.resolve(io.undertow.server.HttpServerExchange)
      Src: io.undertow.predicate.AndPredicate:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: '[io.undertow.predicate.AndPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AndPredicate.java
    functionUses: 0
    functionsReached:
    - predicate.resolve(io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.AndPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.predicate.AndPredicate:46,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.predicate.AndPredicate:48,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.predicate.AndPredicate:49,1
    - Dst: predicate.toString()
      Src: io.undertow.predicate.AndPredicate:51,1
    - Dst: '[StringBuilder].append(io.undertow.predicate.AndPredicate)'
      Src: io.undertow.predicate.AndPredicate:51,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.predicate.AndPredicate:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: '[io.undertow.predicate.AndPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/AndPredicate.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].length()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - predicate.toString()
    - '[StringBuilder].append(io.undertow.predicate.AndPredicate)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.AndPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ExchangeAttribute[]
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.EqualsPredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ExchangeAttribute[]
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.predicate.EqualsPredicate].<init>(ExchangeAttribute[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.EqualsPredicate
    signature: '[io.undertow.predicate.EqualsPredicate].<init>(ExchangeAttribute[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: attributes[0].readAttribute(io.undertow.server.HttpServerExchange)
      Src: io.undertow.predicate.EqualsPredicate:49,1
    - Dst: attributes[i].readAttribute(io.undertow.server.HttpServerExchange)
      Src: io.undertow.predicate.EqualsPredicate:51,1
    - Dst: '[io.undertow.predicate.EqualsPredicate].equals(io.undertow.predicate.EqualsPredicate)'
      Src: io.undertow.predicate.EqualsPredicate:58,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: '[io.undertow.predicate.EqualsPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached:
    - attributes[0].readAttribute(io.undertow.server.HttpServerExchange)
    - attributes[i].readAttribute(io.undertow.server.HttpServerExchange)
    - '[io.undertow.predicate.EqualsPredicate].equals(io.undertow.predicate.EqualsPredicate)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.EqualsPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(ExchangeAttribute[])'
      Src: io.undertow.predicate.EqualsPredicate:67,1
    - Dst: '[io.undertow.predicate.EqualsPredicate].stream()'
      Src: io.undertow.predicate.EqualsPredicate:67,1
    - Dst: '[io.undertow.predicate.EqualsPredicate].map()'
      Src: io.undertow.predicate.EqualsPredicate:67,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.predicate.EqualsPredicate:67,1
    - Dst: '[io.undertow.predicate.EqualsPredicate].collect(io.undertow.predicate.EqualsPredicate)'
      Src: io.undertow.predicate.EqualsPredicate:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.predicate.EqualsPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.EqualsPredicate].collect(io.undertow.predicate.EqualsPredicate)'
    - '[io.undertow.predicate.EqualsPredicate].stream()'
    - '[io.undertow.predicate.EqualsPredicate].map()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[java.util.Arrays].asList(ExchangeAttribute[])'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.EqualsPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.predicate.EqualsPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.EqualsPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.EqualsPredicate.Builder:79,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.EqualsPredicate.Builder:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: '[io.undertow.predicate.EqualsPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.EqualsPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.EqualsPredicate.Builder:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.predicate.EqualsPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.EqualsPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[io.undertow.predicate.EqualsPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.EqualsPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.EqualsPredicate.Builder:96,1
    - Dst: '[io.undertow.predicate.EqualsPredicate].<init>(io.undertow.predicate.EqualsPredicate.Builder)'
      Src: io.undertow.predicate.EqualsPredicate.Builder:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: '[io.undertow.predicate.EqualsPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.EqualsPredicate].<init>(io.undertow.predicate.EqualsPredicate.Builder)'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.EqualsPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.predicate.EqualsPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.EqualsPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.EqualsPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.EqualsPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/EqualsPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.EqualsPredicate.Builder
    signature: '[io.undertow.predicate.EqualsPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.predicate.PredicateBuilder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PredicateBuilder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[io.undertow.predicate.PredicateBuilder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.PredicateBuilder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '[io.undertow.predicate.PredicateBuilder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.PredicateBuilder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '[io.undertow.predicate.PredicateBuilder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PredicateBuilder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '[io.undertow.predicate.PredicateBuilder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.PredicateBuilder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.predicate.PredicateBuilder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.PredicateBuilder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicateBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PredicateBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicateBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PredicateBuilder
    signature: '[io.undertow.predicate.PredicateBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.predicate.PredicatesHandler:46,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.predicate.PredicatesHandler:47,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.predicate.PredicatesHandler:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler
    signature: '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.predicate.PredicatesHandler:46,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.predicate.PredicatesHandler:47,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.predicate.PredicatesHandler:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - outerHandler
    argTypes:
    - io.undertow.server.HttpHandler
    - boolean
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler
    signature: '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.HttpHandler,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.predicate.PredicatesHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PredicatesHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Integer>)'
      Src: io.undertow.predicate.PredicatesHandler:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.predicate.PredicatesHandler:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.predicate.PredicatesHandler:84,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.predicate.PredicatesHandler:85,1
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.predicate.PredicatesHandler:86,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PredicatesHandler,java.util.TreeMap)'
      Src: io.undertow.predicate.PredicatesHandler:86,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.predicate.PredicatesHandler:92,1
    - Dst: '[io.undertow.server.HttpHandler].toString()'
      Src: io.undertow.predicate.PredicatesHandler:94,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.predicate.PredicatesHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:94,1
    - Dst: '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.util.AttachmentKey<Integer>)'
      Src: io.undertow.predicate.PredicatesHandler:96,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:97,1
    - Dst: handler.predicate.resolve(io.undertow.server.HttpServerExchange)
      Src: io.undertow.predicate.PredicatesHandler:104,1
    - Dst: handler.predicate.toString()
      Src: io.undertow.predicate.PredicatesHandler:106,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].equals(String)'
      Src: io.undertow.predicate.PredicatesHandler:106,1
    - Dst: handler.handler.toString()
      Src: io.undertow.predicate.PredicatesHandler:107,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.predicate.PredicatesHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:107,1
    - Dst: handler.predicate.toString()
      Src: io.undertow.predicate.PredicatesHandler:109,1
    - Dst: handler.handler.toString()
      Src: io.undertow.predicate.PredicatesHandler:109,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.predicate.PredicatesHandler,io.undertow.predicate.PredicatesHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:109,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Integer>,int)'
      Src: io.undertow.predicate.PredicatesHandler:112,1
    - Dst: handler.handler.handleRequest(io.undertow.server.HttpServerExchange)
      Src: io.undertow.predicate.PredicatesHandler:113,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].shouldRestart(io.undertow.server.HttpServerExchange,io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.predicate.PredicatesHandler:114,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:116,1
    - Dst: handler.predicate.toString()
      Src: io.undertow.predicate.PredicatesHandler:124,1
    - Dst: handler.elseBranch.toString()
      Src: io.undertow.predicate.PredicatesHandler:124,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.predicate.PredicatesHandler,io.undertow.predicate.PredicatesHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:124,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Integer>,int)'
      Src: io.undertow.predicate.PredicatesHandler:126,1
    - Dst: handler.elseBranch.handleRequest(io.undertow.server.HttpServerExchange)
      Src: io.undertow.predicate.PredicatesHandler:127,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].shouldRestart(io.undertow.server.HttpServerExchange,io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.predicate.PredicatesHandler:128,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:130,1
    - Dst: handler.predicate.toString()
      Src: io.undertow.predicate.PredicatesHandler:137,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.predicate.PredicatesHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:137,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].shouldRestart(io.undertow.server.HttpServerExchange,io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.predicate.PredicatesHandler:140,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PredicatesHandler:141,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 143
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 143
    functionName: '[io.undertow.predicate.PredicatesHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicatesHandler].shouldRestart(io.undertow.server.HttpServerExchange,io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.predicate.PredicatesHandler].equals(String)'
    - '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.util.AttachmentKey<Integer>)'
    - handler.predicate.resolve(io.undertow.server.HttpServerExchange)
    - '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Integer>,int)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    - '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.predicate.PredicatesHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.predicate.PredicatesHandler].tracef(String,io.undertow.predicate.PredicatesHandler,io.undertow.predicate.PredicatesHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - handler.predicate.toString()
    - handler.handler.handleRequest(io.undertow.server.HttpServerExchange)
    - handler.elseBranch.handleRequest(io.undertow.server.HttpServerExchange)
    - '[java.util.TreeMap].<init>()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Integer>)'
    - '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    - handler.elseBranch.toString()
    - '[io.undertow.server.HttpHandler].toString()'
    - handler.handler.toString()
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.predicate.PredicatesHandler,java.util.TreeMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicatesHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.predicate.PredicatesHandler:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - current
    argTypes:
    - io.undertow.server.HttpServerExchange
    - Integer
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.predicate.PredicatesHandler].shouldRestart(io.undertow.server.HttpServerExchange,Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.PredicatesHandler].shouldRestart(io.undertow.server.HttpServerExchange,Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(io.undertow.predicate.PredicatesHandler,int,Holder[],int,io.undertow.predicate.PredicatesHandler)
      Src: io.undertow.predicate.PredicatesHandler:159,1
    - Dst: '[io.undertow.server.HandlerWrapper].wrap()'
      Src: io.undertow.predicate.PredicatesHandler:160,1
    - Dst: '[io.undertow.server.HandlerWrapper].wrap()'
      Src: io.undertow.predicate.PredicatesHandler:161,1
    - Dst: '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.predicate.PredicatesHandler:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HandlerWrapper
      - io.undertow.server.HandlerWrapper
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - predicate
    - handlerWrapper
    - elseBranch
    argTypes:
    - io.undertow.predicate.Predicate
    - io.undertow.server.HandlerWrapper
    - io.undertow.server.HandlerWrapper
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.Predicate,io.undertow.server.HandlerWrapper,io.undertow.server.HandlerWrapper)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.predicate.PredicatesHandler,int,Holder[],int,io.undertow.predicate.PredicatesHandler)
    - '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.HandlerWrapper].wrap()'
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler
    signature: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.Predicate,io.undertow.server.HandlerWrapper,io.undertow.server.HandlerWrapper)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.Predicate,io.undertow.server.HandlerWrapper,null)'
      Src: io.undertow.predicate.PredicatesHandler:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HandlerWrapper
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - predicate
    - handlerWrapper
    argTypes:
    - io.undertow.predicate.Predicate
    - io.undertow.server.HandlerWrapper
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.Predicate,io.undertow.server.HandlerWrapper)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.Predicate,io.undertow.server.HandlerWrapper,null)'
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler
    signature: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.Predicate,io.undertow.server.HandlerWrapper)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandler].getPredicate()'
      Src: io.undertow.predicate.PredicatesHandler:179,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandler].getHandler()'
      Src: io.undertow.predicate.PredicatesHandler:179,1
    - Dst: '[io.undertow.server.handlers.builder.PredicatedHandler].getElseHandler()'
      Src: io.undertow.predicate.PredicatesHandler:179,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.PredicatesHandler,io.undertow.predicate.PredicatesHandler,io.undertow.predicate.PredicatesHandler)'
      Src: io.undertow.predicate.PredicatesHandler:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.builder.PredicatedHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.handlers.builder.PredicatedHandler
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.server.handlers.builder.PredicatedHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.PredicatesHandler,io.undertow.predicate.PredicatesHandler,io.undertow.predicate.PredicatesHandler)'
    - '[io.undertow.server.handlers.builder.PredicatedHandler].getHandler()'
    - '[io.undertow.server.handlers.builder.PredicatedHandler].getPredicate()'
    - '[io.undertow.server.handlers.builder.PredicatedHandler].getElseHandler()'
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler
    signature: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.server.handlers.builder.PredicatedHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: '[io.undertow.predicate.PredicatesHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.PredicatesHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<Boolean>
      - boolean
      - Holder[]
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.util.AttachmentKey<Integer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: '[io.undertow.predicate.PredicatesHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.predicate.PredicatesHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate
      - HttpHandler
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.PredicatesHandler.Holder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - predicate
    - handler
    - elseBranch
    argTypes:
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler.Holder
    signature: '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 242
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 242
    functionName: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder
    signature: '[io.undertow.predicate.PredicatesHandler.DoneHandlerBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Integer>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Integer>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Integer>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Integer>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Integer>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 303
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 303
    functionName: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Integer>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder:252,1
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Integer>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - Integer.getInteger(String,int)
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder
    signature: '[io.undertow.predicate.PredicatesHandler.RestartHandlerBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.server.handlers.builder.PredicatedHandler>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - List<PredicatedHandler>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PredicatesHandler.Wrapper
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handlers
    - outerHandler
    argTypes:
    - java.util.List<io.undertow.server.handlers.builder.PredicatedHandler>
    - boolean
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: '[io.undertow.predicate.PredicatesHandler.Wrapper].<init>(java.util.List<io.undertow.server.handlers.builder.PredicatedHandler>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PredicatesHandler.Wrapper
    signature: '[io.undertow.predicate.PredicatesHandler.Wrapper].<init>(java.util.List<io.undertow.server.handlers.builder.PredicatedHandler>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.predicate.PredicatesHandler.Wrapper:324,1
    - Dst: pred.getPredicate()
      Src: io.undertow.predicate.PredicatesHandler.Wrapper:326,1
    - Dst: pred.getHandler()
      Src: io.undertow.predicate.PredicatesHandler.Wrapper:326,1
    - Dst: '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.PredicatesHandler.Wrapper,io.undertow.predicate.PredicatesHandler.Wrapper)'
      Src: io.undertow.predicate.PredicatesHandler.Wrapper:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - List<PredicatedHandler>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: '[io.undertow.predicate.PredicatesHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PredicatesHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicatesHandler].addPredicatedHandler(io.undertow.predicate.PredicatesHandler.Wrapper,io.undertow.predicate.PredicatesHandler.Wrapper)'
    - pred.getHandler()
    - '[io.undertow.predicate.PredicatesHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    - pred.getPredicate()
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.predicate.PredicatesHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicate.java
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.Predicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.OrPredicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.predicate.OrPredicate].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/OrPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.OrPredicate
    signature: '[io.undertow.predicate.OrPredicate].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: predicate.resolve(io.undertow.server.HttpServerExchange)
      Src: io.undertow.predicate.OrPredicate:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: '[io.undertow.predicate.OrPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/OrPredicate.java
    functionUses: 0
    functionsReached:
    - predicate.resolve(io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.OrPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.predicate.OrPredicate:46,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.predicate.OrPredicate:48,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.predicate.OrPredicate:49,1
    - Dst: predicate.toString()
      Src: io.undertow.predicate.OrPredicate:51,1
    - Dst: '[StringBuilder].append(io.undertow.predicate.OrPredicate)'
      Src: io.undertow.predicate.OrPredicate:51,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.predicate.OrPredicate:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: '[io.undertow.predicate.OrPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/OrPredicate.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].length()'
    - '[StringBuilder].append(io.undertow.predicate.OrPredicate)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - predicate.toString()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.OrPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.PathSuffixPredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.predicate.PathSuffixPredicate].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PathSuffixPredicate
    signature: '[io.undertow.predicate.PathSuffixPredicate].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.predicate.PathSuffixPredicate:46,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.predicate.PathSuffixPredicate:46,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.predicate.PathSuffixPredicate:48,1
    - Dst: '[io.undertow.predicate.PathSuffixPredicate].tracef(String,String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.predicate.PathSuffixPredicate:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: '[io.undertow.predicate.PathSuffixPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.predicate.PathSuffixPredicate].tracef(String,String,String,io.undertow.server.HttpServerExchange)'
    - '[String].endsWith(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.PathSuffixPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.predicate.PathSuffixPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathSuffixPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.predicate.PathSuffixPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathSuffixPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.predicate.PathSuffixPredicate.Builder:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.predicate.PathSuffixPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.PathSuffixPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.PathSuffixPredicate.Builder:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.predicate.PathSuffixPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.PathSuffixPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.predicate.PathSuffixPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.PathSuffixPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.PathSuffixPredicate.Builder:82,1
    - Dst: '[io.undertow.predicate.Predicates].suffixes(io.undertow.predicate.PathSuffixPredicate.Builder)'
      Src: io.undertow.predicate.PathSuffixPredicate.Builder:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: '[io.undertow.predicate.PathSuffixPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.predicate.Predicates].suffixes(io.undertow.predicate.PathSuffixPredicate.Builder)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.PathSuffixPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.predicate.PathSuffixPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.PathSuffixPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.PathSuffixPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.PathSuffixPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/PathSuffixPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.PathSuffixPredicate.Builder
    signature: '[io.undertow.predicate.PathSuffixPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].tryFromString()'
      Src: io.undertow.predicate.MethodPredicate:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - HttpString[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.MethodPredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - methods
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: '[io.undertow.predicate.MethodPredicate].<init>(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].tryFromString()'
    linkageType: ''
    returnType: io.undertow.predicate.MethodPredicate
    signature: '[io.undertow.predicate.MethodPredicate].<init>(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.predicate.MethodPredicate:49,1
    - Dst: '[io.undertow.util.HttpString].equals()'
      Src: io.undertow.predicate.MethodPredicate:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - HttpString[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: '[io.undertow.predicate.MethodPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].equals()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.MethodPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(HttpString[])'
      Src: io.undertow.predicate.MethodPredicate:61,1
    - Dst: '[io.undertow.predicate.MethodPredicate].stream()'
      Src: io.undertow.predicate.MethodPredicate:61,1
    - Dst: '[io.undertow.predicate.MethodPredicate].map()'
      Src: io.undertow.predicate.MethodPredicate:61,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.predicate.MethodPredicate:61,1
    - Dst: '[io.undertow.predicate.MethodPredicate].collect(io.undertow.predicate.MethodPredicate)'
      Src: io.undertow.predicate.MethodPredicate:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpString[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: '[io.undertow.predicate.MethodPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.MethodPredicate].stream()'
    - '[java.util.Arrays].asList(HttpString[])'
    - '[io.undertow.predicate.MethodPredicate].collect(io.undertow.predicate.MethodPredicate)'
    - '[java.util.stream.Collectors].joining(String)'
    - '[io.undertow.predicate.MethodPredicate].map()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MethodPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.predicate.MethodPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MethodPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.predicate.MethodPredicate.Builder:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.predicate.MethodPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.MethodPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.MethodPredicate.Builder:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.predicate.MethodPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.MethodPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.predicate.MethodPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.MethodPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.MethodPredicate.Builder:89,1
    - Dst: '[io.undertow.predicate.MethodPredicate].<init>(io.undertow.predicate.MethodPredicate.Builder)'
      Src: io.undertow.predicate.MethodPredicate.Builder:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '[io.undertow.predicate.MethodPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.MethodPredicate].<init>(io.undertow.predicate.MethodPredicate.Builder)'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.MethodPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.predicate.MethodPredicate.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.predicate.MethodPredicate.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.MethodPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.MethodPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/MethodPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.MethodPredicate.Builder
    signature: '[io.undertow.predicate.MethodPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.EqualsPredicate].<init>(ExchangeAttribute[])'
      Src: io.undertow.predicate.Predicates:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ExchangeAttribute[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ExchangeAttribute[]
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.predicate.Predicates].equals(ExchangeAttribute[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.EqualsPredicate].<init>(ExchangeAttribute[])'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].equals(ExchangeAttribute[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.AndPredicate].<init>(io.undertow.predicate.Predicates)'
      Src: io.undertow.predicate.Predicates:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.predicate.Predicates].and()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.AndPredicate].<init>(io.undertow.predicate.Predicates)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].and()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.OrPredicate].<init>(io.undertow.predicate.Predicates)'
      Src: io.undertow.predicate.Predicates:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.predicate.Predicates].or()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.OrPredicate].<init>(io.undertow.predicate.Predicates)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].or()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.NotPredicate].<init>(io.undertow.predicate.Predicate)'
      Src: io.undertow.predicate.Predicates:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.predicate.Predicates].not(io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.NotPredicate].<init>(io.undertow.predicate.Predicate)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].not(io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PathMatchPredicate].<init>(String)'
      Src: io.undertow.predicate.Predicates:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.predicate.Predicates].path(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.PathMatchPredicate].<init>(String)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].path(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PathMatchPredicate].<init>()'
      Src: io.undertow.predicate.Predicates:78,1
    - Dst: '[io.undertow.predicate.Predicates].or(io.undertow.predicate.Predicates)'
      Src: io.undertow.predicate.Predicates:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: '[io.undertow.predicate.Predicates].paths()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathMatchPredicate].<init>()'
    - '[io.undertow.predicate.Predicates].or(io.undertow.predicate.Predicates)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].paths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PathSuffixPredicate].<init>(String)'
      Src: io.undertow.predicate.Predicates:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '[io.undertow.predicate.Predicates].suffix(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathSuffixPredicate].<init>(String)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].suffix(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicates].suffix()'
      Src: io.undertow.predicate.Predicates:95,1
    - Dst: '[io.undertow.predicate.PathSuffixPredicate].<init>()'
      Src: io.undertow.predicate.Predicates:99,1
    - Dst: '[io.undertow.predicate.Predicates].or(io.undertow.predicate.Predicates)'
      Src: io.undertow.predicate.Predicates:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: '[io.undertow.predicate.Predicates].suffixes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathSuffixPredicate].<init>()'
    - '[io.undertow.predicate.Predicates].or(io.undertow.predicate.Predicates)'
    - '[io.undertow.predicate.Predicates].suffix()'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].suffixes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].<init>(String)'
      Src: io.undertow.predicate.Predicates:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.predicate.Predicates].prefix(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathPrefixPredicate].<init>(String)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].prefix(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PathPrefixPredicate].<init>(io.undertow.predicate.Predicates)'
      Src: io.undertow.predicate.Predicates:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.predicate.Predicates].prefixes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PathPrefixPredicate].<init>(io.undertow.predicate.Predicates)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].prefixes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.MaxContentSizePredicate].<init>(long)'
      Src: io.undertow.predicate.Predicates:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.predicate.Predicates].maxContentSize(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.MaxContentSizePredicate].<init>(long)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].maxContentSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.MinContentSizePredicate].<init>(long)'
      Src: io.undertow.predicate.Predicates:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: '[io.undertow.predicate.Predicates].minContentSize(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.MinContentSizePredicate].<init>(long)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].minContentSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.RequestSmallerThanPredicate].<init>(long)'
      Src: io.undertow.predicate.Predicates:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.predicate.Predicates].requestSmallerThan(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.RequestSmallerThanPredicate].<init>(long)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].requestSmallerThan(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.RequestLargerThanPredicate].<init>(long)'
      Src: io.undertow.predicate.Predicates:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.predicate.Predicates].requestLargerThan(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.RequestLargerThanPredicate].<init>(long)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].requestLargerThan(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.TruePredicate].instance()'
      Src: io.undertow.predicate.Predicates:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: '[io.undertow.predicate.Predicates].truePredicate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 14
    functionsReached:
    - '[io.undertow.predicate.TruePredicate].instance()'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].truePredicate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.FalsePredicate].instance()'
      Src: io.undertow.predicate.Predicates:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.predicate.Predicates].falsePredicate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.predicate.FalsePredicate].instance()'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].falsePredicate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ExistsPredicate].<init>(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.predicate.Predicates:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: '[io.undertow.predicate.Predicates].exists(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ExistsPredicate].<init>(io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].exists(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ContainsPredicate].<init>(io.undertow.attribute.ExchangeAttribute,io.undertow.predicate.Predicates)'
      Src: io.undertow.predicate.Predicates:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: '[io.undertow.predicate.Predicates].contains(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ContainsPredicate].<init>(io.undertow.attribute.ExchangeAttribute,io.undertow.predicate.Predicates)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].contains(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.predicate.Predicates:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - attribute
    - pattern
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    - String
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: '[io.undertow.predicate.Predicates].regex(io.undertow.attribute.ExchangeAttribute,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].regex(io.undertow.attribute.ExchangeAttribute,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean)'
      Src: io.undertow.predicate.Predicates:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - attribute
    - pattern
    - requireFullMatch
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '[io.undertow.predicate.Predicates].regex(io.undertow.attribute.ExchangeAttribute,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].regex(io.undertow.attribute.ExchangeAttribute,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
      Src: io.undertow.predicate.Predicates:215,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.predicate.Predicates:215,1
    - Dst: '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean)'
      Src: io.undertow.predicate.Predicates:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - ClassLoader
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - attribute
    - pattern
    - classLoader
    - requireFullMatch
    argTypes:
    - String
    - String
    - ClassLoader
    - boolean
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.predicate.Predicates].regex(String,String,ClassLoader,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.RegularExpressionPredicate].<init>(String,io.undertow.attribute.ExchangeAttribute,boolean)'
    - '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].regex(String,String,ClassLoader,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: '[io.undertow.predicate.Predicates].authRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].authRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.predicate.Predicates:233,1
    - Dst: '[io.undertow.predicate.Predicates].getContextClassLoader()'
      Src: io.undertow.predicate.Predicates:233,1
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.Predicates)'
      Src: io.undertow.predicate.Predicates:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: '[io.undertow.predicate.Predicates].parse(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.predicate.Predicates].getContextClassLoader()'
    - '[io.undertow.predicate.PredicateParser].parse(String,io.undertow.predicate.Predicates)'
    - Thread.currentThread()
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].parse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.PredicateParser].parse(String,ClassLoader)'
      Src: io.undertow.predicate.Predicates:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - predicate
    - classLoader
    argTypes:
    - String
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '[io.undertow.predicate.Predicates].parse(String,ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.PredicateParser].parse(String,ClassLoader)'
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].parse(String,ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '[io.undertow.predicate.Predicates].secure()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.Predicates].secure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.Predicates
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: '[io.undertow.predicate.Predicates].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/Predicates.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicates
    signature: '[io.undertow.predicate.Predicates].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:45,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:50,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:55,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:60,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:65,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:70,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.predicate.ip.IPMatchBase:80,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.predicate.ip.IPMatchBase:81,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.predicate.ip.IPMatchBase:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.ip.IPMatchBase
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultAllow
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.predicate.ip.IPMatchBase].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[Object].<init>()'
    linkageType: ''
    returnType: io.undertow.predicate.ip.IPMatchBase
    signature: '[io.undertow.predicate.ip.IPMatchBase].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rule.toPredicateString()
      Src: io.undertow.predicate.ip.IPMatchBase:93,1
    - Dst: '[java.net.InetAddress].getHostAddress()'
      Src: io.undertow.predicate.ip.IPMatchBase:93,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].tracef(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase)'
      Src: io.undertow.predicate.ip.IPMatchBase:93,1
    - Dst: rule.matches(java.net.InetAddress)
      Src: io.undertow.predicate.ip.IPMatchBase:95,1
    - Dst: rule.isDeny()
      Src: io.undertow.predicate.ip.IPMatchBase:96,1
    - Dst: rule.toPredicateString()
      Src: io.undertow.predicate.ip.IPMatchBase:102,1
    - Dst: '[java.net.InetAddress].getHostAddress()'
      Src: io.undertow.predicate.ip.IPMatchBase:102,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].tracef(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase)'
      Src: io.undertow.predicate.ip.IPMatchBase:102,1
    - Dst: rule.matches(java.net.InetAddress)
      Src: io.undertow.predicate.ip.IPMatchBase:104,1
    - Dst: rule.isDeny()
      Src: io.undertow.predicate.ip.IPMatchBase:105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.InetAddress
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: '[io.undertow.predicate.ip.IPMatchBase].isAllowed(java.net.InetAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - rule.toPredicateString()
    - rule.matches(java.net.InetAddress)
    - '[java.net.InetAddress].getHostAddress()'
    - '[io.undertow.predicate.ip.IPMatchBase].tracef(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase)'
    - rule.isDeny()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchBase].isAllowed(java.net.InetAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:113,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].matches()'
      Src: io.undertow.predicate.ip.IPMatchBase:113,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].addIpV4ExactMatch(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:114,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:115,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].matches()'
      Src: io.undertow.predicate.ip.IPMatchBase:115,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].addIpV4WildcardMatch(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:116,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:117,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].matches()'
      Src: io.undertow.predicate.ip.IPMatchBase:117,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].addIpV4SlashPrefix(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:118,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:119,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].matches()'
      Src: io.undertow.predicate.ip.IPMatchBase:119,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].addIpV6ExactMatch(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:120,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:121,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].matches()'
      Src: io.undertow.predicate.ip.IPMatchBase:121,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].addIpV6WildcardMatch(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:122,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:123,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].matches()'
      Src: io.undertow.predicate.ip.IPMatchBase:123,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].addIpV6SlashPrefix(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:124,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].notAValidIpPattern(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - peer
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addRule(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchBase].addIpV4SlashPrefix(String,boolean)'
    - '[io.undertow.predicate.ip.IPMatchBase].matches()'
    - '[io.undertow.predicate.ip.IPMatchBase].addIpV6SlashPrefix(String,boolean)'
    - '[io.undertow.predicate.ip.IPMatchBase].addIpV4ExactMatch(String,boolean)'
    - '[io.undertow.predicate.ip.IPMatchBase].addIpV6ExactMatch(String,boolean)'
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.predicate.ip.IPMatchBase].addIpV4WildcardMatch(String,boolean)'
    - '[io.undertow.predicate.ip.IPMatchBase].notAValidIpPattern(String)'
    - '[io.undertow.predicate.ip.IPMatchBase].addIpV6WildcardMatch(String,boolean)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.predicate.ip.IPMatchBase].addRule(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].addRule(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - peer
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addAllow(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchBase].addRule(String,boolean)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.predicate.ip.IPMatchBase].addAllow(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].addRule(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - peer
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addDeny(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchBase].addRule(String,boolean)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.predicate.ip.IPMatchBase].addDeny(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<PeerMatch>].clear()'
      Src: io.undertow.predicate.ip.IPMatchBase:168,1
    - Dst: '[java.util.List<PeerMatch>].clear()'
      Src: io.undertow.predicate.ip.IPMatchBase:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: '[io.undertow.predicate.ip.IPMatchBase].clearRules()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<PeerMatch>].clear()'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.predicate.ip.IPMatchBase].clearRules()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultAllow
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.predicate.ip.IPMatchBase].setDefaultAllow(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.predicate.ip.IPMatchBase].setDefaultAllow(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: '[io.undertow.predicate.ip.IPMatchBase].isDefaultAllow()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchBase].isDefaultAllow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:182,1
    - Dst: components[0].split(String)
      Src: io.undertow.predicate.ip.IPMatchBase:183,1
    - Dst: Integer.parseInt()
      Src: io.undertow.predicate.ip.IPMatchBase:184,1
    - Dst: Integer.parseInt(int)
      Src: io.undertow.predicate.ip.IPMatchBase:191,1
    - Dst: '[org.xnio.Bits].intBitMask(int,int)'
      Src: io.undertow.predicate.ip.IPMatchBase:200,1
    - Dst: '[PrefixIpV6PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:206,1
    - Dst: '[java.util.List<PeerMatch>].add(PrefixIpV6PeerMatch)'
      Src: io.undertow.predicate.ip.IPMatchBase:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - peer
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 207
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 207
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addIpV6SlashPrefix(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 1
    functionsReached:
    - components[0].split(String)
    - Integer.parseInt()
    - '[org.xnio.Bits].intBitMask(int,int)'
    - '[PrefixIpV6PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase,boolean)'
    - '[java.util.List<PeerMatch>].add(PrefixIpV6PeerMatch)'
    - Integer.parseInt(int)
    - '[String].split(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.ip.IPMatchBase].addIpV6SlashPrefix(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:210,1
    - Dst: components[0].split(String)
      Src: io.undertow.predicate.ip.IPMatchBase:211,1
    - Dst: Integer.parseInt()
      Src: io.undertow.predicate.ip.IPMatchBase:212,1
    - Dst: '[org.xnio.Bits].intBitMask(int,int)'
      Src: io.undertow.predicate.ip.IPMatchBase:213,1
    - Dst: Integer.parseInt(io.undertow.predicate.ip.IPMatchBase)
      Src: io.undertow.predicate.ip.IPMatchBase:218,1
    - Dst: '[PrefixIpV4PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:223,1
    - Dst: '[java.util.List<PeerMatch>].add(PrefixIpV4PeerMatch)'
      Src: io.undertow.predicate.ip.IPMatchBase:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - peer
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addIpV4SlashPrefix(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<PeerMatch>].add(PrefixIpV4PeerMatch)'
    - components[0].split(String)
    - Integer.parseInt()
    - '[org.xnio.Bits].intBitMask(int,int)'
    - '[PrefixIpV4PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase,boolean)'
    - Integer.parseInt(io.undertow.predicate.ip.IPMatchBase)
    - '[String].split(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.ip.IPMatchBase].addIpV4SlashPrefix(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:230,1
    - Dst: parts[i].equals(String)
      Src: io.undertow.predicate.ip.IPMatchBase:233,1
    - Dst: Integer.parseInt(int)
      Src: io.undertow.predicate.ip.IPMatchBase:234,1
    - Dst: '[PrefixIpV6PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:241,1
    - Dst: '[java.util.List<PeerMatch>].add(PrefixIpV6PeerMatch)'
      Src: io.undertow.predicate.ip.IPMatchBase:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - peer
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 243
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 243
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addIpV6WildcardMatch(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 1
    functionsReached:
    - parts[i].equals(String)
    - '[PrefixIpV6PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase,boolean)'
    - '[java.util.List<PeerMatch>].add(PrefixIpV6PeerMatch)'
    - Integer.parseInt(int)
    - '[String].split(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.ip.IPMatchBase].addIpV6WildcardMatch(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:246,1
    - Dst: part.equals(String)
      Src: io.undertow.predicate.ip.IPMatchBase:253,1
    - Dst: Integer.parseInt(io.undertow.predicate.ip.IPMatchBase)
      Src: io.undertow.predicate.ip.IPMatchBase:254,1
    - Dst: '[PrefixIpV4PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:259,1
    - Dst: '[java.util.List<PeerMatch>].add(PrefixIpV4PeerMatch)'
      Src: io.undertow.predicate.ip.IPMatchBase:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - peer
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addIpV4WildcardMatch(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 1
    functionsReached:
    - part.equals(String)
    - '[java.util.List<PeerMatch>].add(PrefixIpV4PeerMatch)'
    - '[PrefixIpV4PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,io.undertow.predicate.ip.IPMatchBase,boolean)'
    - Integer.parseInt(io.undertow.predicate.ip.IPMatchBase)
    - '[String].split(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.ip.IPMatchBase].addIpV4WildcardMatch(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6AddressToBytes(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:265,1
    - Dst: '[ExactIpV6PeerMatch].<init>(String,byte[],boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:266,1
    - Dst: '[java.util.List<PeerMatch>].add(ExactIpV6PeerMatch)'
      Src: io.undertow.predicate.ip.IPMatchBase:266,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase].invalidACLAddress(io.undertow.predicate.ip.IPMatchBase)'
      Src: io.undertow.predicate.ip.IPMatchBase:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - peer
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addIpV6ExactMatch(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6AddressToBytes(String)'
    - '[io.undertow.predicate.ip.IPMatchBase].invalidACLAddress(io.undertow.predicate.ip.IPMatchBase)'
    - '[java.util.List<PeerMatch>].add(ExactIpV6PeerMatch)'
    - '[ExactIpV6PeerMatch].<init>(String,byte[],boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.ip.IPMatchBase].addIpV6ExactMatch(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: io.undertow.predicate.ip.IPMatchBase:273,1
    - Dst: Integer.parseInt()
      Src: io.undertow.predicate.ip.IPMatchBase:274,1
    - Dst: Integer.parseInt()
      Src: io.undertow.predicate.ip.IPMatchBase:274,1
    - Dst: Integer.parseInt()
      Src: io.undertow.predicate.ip.IPMatchBase:274,1
    - Dst: Integer.parseInt()
      Src: io.undertow.predicate.ip.IPMatchBase:274,1
    - Dst: '[ExactIpV4PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase:275,1
    - Dst: '[java.util.List<PeerMatch>].add(ExactIpV4PeerMatch)'
      Src: io.undertow.predicate.ip.IPMatchBase:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean
      - boolean
      - java.util.List<PeerMatch>
      - java.util.List<PeerMatch>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - peer
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: '[io.undertow.predicate.ip.IPMatchBase].addIpV4ExactMatch(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 1
    functionsReached:
    - '[ExactIpV4PeerMatch].<init>(String,io.undertow.predicate.ip.IPMatchBase,boolean)'
    - '[java.util.List<PeerMatch>].add(ExactIpV4PeerMatch)'
    - Integer.parseInt()
    - '[String].split(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.predicate.ip.IPMatchBase].addIpV4ExactMatch(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.ip.IPMatchBase.PeerMatch
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pattern
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.ip.IPMatchBase.PeerMatch
    signature: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.InetAddress
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].matches(java.net.InetAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].matches(java.net.InetAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].isDeny()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].isDeny()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].getClass()'
      Src: io.undertow.predicate.ip.IPMatchBase.PeerMatch:295,1
    - Dst: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].getSimpleName()'
      Src: io.undertow.predicate.ip.IPMatchBase.PeerMatch:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].getSimpleName()'
    - '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].getClass()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].toPredicateString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].toPredicateString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch
      static: false
      superClass: PeerMatch
    argCount: 3
    argNames:
    - pattern
    - address
    - deny
    argTypes:
    - String
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: '[io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch].<init>(String,byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
    linkageType: ''
    returnType: io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch
    signature: '[io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch].<init>(String,byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].equals(io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch,io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch)'
      Src: io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: PeerMatch
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.InetAddress
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: '[io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch].matches(java.net.InetAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].equals(io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch,io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchBase.ExactIpV4PeerMatch].matches(java.net.InetAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch
      static: false
      superClass: PeerMatch
    argCount: 3
    argNames:
    - pattern
    - address
    - deny
    argTypes:
    - String
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: '[io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch].<init>(String,byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
    linkageType: ''
    returnType: io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch
    signature: '[io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch].<init>(String,byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].equals(io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch,io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch)'
      Src: io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: PeerMatch
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.InetAddress
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: '[io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch].matches(java.net.InetAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].equals(io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch,io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchBase.ExactIpV6PeerMatch].matches(java.net.InetAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase.PrefixIpV4PeerMatch:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.ip.IPMatchBase.PrefixIpV4PeerMatch
      static: false
      superClass: PeerMatch
    argCount: 4
    argNames:
    - pattern
    - mask
    - prefix
    - deny
    argTypes:
    - String
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PrefixIpV4PeerMatch].<init>(String,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
    linkageType: ''
    returnType: io.undertow.predicate.ip.IPMatchBase.PrefixIpV4PeerMatch
    signature: '[io.undertow.predicate.ip.IPMatchBase.PrefixIpV4PeerMatch].<init>(String,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getAddress()'
      Src: io.undertow.predicate.ip.IPMatchBase.PrefixIpV4PeerMatch:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: PeerMatch
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.InetAddress
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PrefixIpV4PeerMatch].matches(java.net.InetAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetAddress].getAddress()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchBase.PrefixIpV4PeerMatch].matches(java.net.InetAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
      Src: io.undertow.predicate.ip.IPMatchBase.PrefixIpV6PeerMatch:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.predicate.ip.IPMatchBase.PrefixIpV6PeerMatch
      static: false
      superClass: PeerMatch
    argCount: 4
    argNames:
    - pattern
    - mask
    - prefix
    - deny
    argTypes:
    - String
    - byte[]
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PrefixIpV6PeerMatch].<init>(String,byte[],byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchBase.PeerMatch].<init>(String,boolean)'
    linkageType: ''
    returnType: io.undertow.predicate.ip.IPMatchBase.PrefixIpV6PeerMatch
    signature: '[io.undertow.predicate.ip.IPMatchBase.PrefixIpV6PeerMatch].<init>(String,byte[],byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getAddress()'
      Src: io.undertow.predicate.ip.IPMatchBase.PrefixIpV6PeerMatch:372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: PeerMatch
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.InetAddress
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: '[io.undertow.predicate.ip.IPMatchBase.PrefixIpV6PeerMatch].matches(java.net.InetAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchBase.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetAddress].getAddress()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchBase.PrefixIpV6PeerMatch].matches(java.net.InetAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(boolean)'
      Src: io.undertow.predicate.ip.IPMatchPredicate:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.ip.IPMatchPredicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultAllow
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.predicate.ip.IPMatchPredicate
    signature: '[io.undertow.predicate.ip.IPMatchPredicate].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.predicate.ip.IPMatchPredicate:46,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.predicate.ip.IPMatchPredicate:47,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate].isAllowed(io.undertow.predicate.ip.IPMatchPredicate)'
      Src: io.undertow.predicate.ip.IPMatchPredicate:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate].resolve(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.predicate.ip.IPMatchPredicate].isAllowed(io.undertow.predicate.ip.IPMatchPredicate)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.predicate.ip.IPMatchPredicate].resolve(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.predicate.ip.IPMatchPredicate:54,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.predicate.ip.IPMatchPredicate)'
      Src: io.undertow.predicate.ip.IPMatchPredicate:55,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.predicate.ip.IPMatchPredicate)'
      Src: io.undertow.predicate.ip.IPMatchPredicate:56,1
    - Dst: '[java.util.ArrayList].stream()'
      Src: io.undertow.predicate.ip.IPMatchPredicate:58,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate].map()'
      Src: io.undertow.predicate.ip.IPMatchPredicate:58,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.predicate.ip.IPMatchPredicate:58,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate].collect(io.undertow.predicate.ip.IPMatchPredicate)'
      Src: io.undertow.predicate.ip.IPMatchPredicate:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.predicate.Predicate
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchPredicate].map()'
    - '[java.util.ArrayList].stream()'
    - '[java.util.ArrayList].addAll(io.undertow.predicate.ip.IPMatchPredicate)'
    - '[java.util.stream.Collectors].joining(String)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.predicate.ip.IPMatchPredicate].collect(io.undertow.predicate.ip.IPMatchPredicate)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ip.IPMatchPredicate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:73,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:74,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:91,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:92,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate].<init>()'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:93,1
    - Dst: rule.split(String)
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:95,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].invalidAclRule(io.undertow.predicate.ip.IPMatchPredicate.Builder)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:97,1
    - Dst: parts[1].trim()
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:99,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].equals(String)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:99,1
    - Dst: parts[0].trim()
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:100,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate].addAllow(io.undertow.predicate.ip.IPMatchPredicate.Builder)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:100,1
    - Dst: parts[1].trim()
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:101,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].equals(String)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:101,1
    - Dst: parts[0].trim()
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:102,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate].addDeny(io.undertow.predicate.ip.IPMatchPredicate.Builder)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:102,1
    - Dst: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].invalidAclRule(io.undertow.predicate.ip.IPMatchPredicate.Builder)'
      Src: io.undertow.predicate.ip.IPMatchPredicate.Builder:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.ip.IPMatchPredicate.Builder].invalidAclRule(io.undertow.predicate.ip.IPMatchPredicate.Builder)'
    - '[io.undertow.predicate.ip.IPMatchPredicate].addDeny(io.undertow.predicate.ip.IPMatchPredicate.Builder)'
    - '[io.undertow.predicate.ip.IPMatchPredicate].addAllow(io.undertow.predicate.ip.IPMatchPredicate.Builder)'
    - parts[0].trim()
    - '[io.undertow.predicate.ip.IPMatchPredicate].<init>()'
    - parts[1].trim()
    - '[io.undertow.predicate.ip.IPMatchPredicate.Builder].equals(String)'
    - '[java.util.Map<String,Object>].get(String)'
    - rule.split(String)
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - PredicateBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.ip.IPMatchPredicate.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/predicate/ip/IPMatchPredicate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.ip.IPMatchPredicate.Builder
    signature: '[io.undertow.predicate.ip.IPMatchPredicate.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:40,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:53,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:55,1
    - Dst: '[io.undertow.conduits.StoredResponseStreamSinkConduit].responseTooLargeToBuffer(long)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:58,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>(int)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<byte[]>
      - java.io.ByteArrayOutputStream
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.StoredResponseStreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - exchange
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 6
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '[io.undertow.conduits.StoredResponseStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/StoredResponseStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.StoredResponseStreamSinkConduit].responseTooLargeToBuffer(long)'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[java.io.ByteArrayOutputStream].<init>(int)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.StoredResponseStreamSinkConduit
    signature: '[io.undertow.conduits.StoredResponseStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:66,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<byte[]>
      - java.io.ByteArrayOutputStream
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.conduits.StoredResponseStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/StoredResponseStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.StoredResponseStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:71,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<byte[]>
      - java.io.ByteArrayOutputStream
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.conduits.StoredResponseStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/StoredResponseStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.StoredResponseStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:76,1
    - Dst: '[Object].write(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:77,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:80,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<byte[]>
      - java.io.ByteArrayOutputStream
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: '[io.undertow.conduits.StoredResponseStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/StoredResponseStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.io.ByteArrayOutputStream].write(io.undertow.conduits.StoredResponseStreamSinkConduit)'
    - '[Object].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get(io.undertow.conduits.StoredResponseStreamSinkConduit)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.StoredResponseStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srcs[i + offs].position()
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:90,1
    - Dst: '[Object].write(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:92,1
    - Dst: buf.position()
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:99,1
    - Dst: buf.get(io.undertow.conduits.StoredResponseStreamSinkConduit)
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:100,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<byte[]>
      - java.io.ByteArrayOutputStream
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: '[io.undertow.conduits.StoredResponseStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/StoredResponseStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - buf.get(io.undertow.conduits.StoredResponseStreamSinkConduit)
    - buf.position()
    - srcs[i + offs].position()
    - '[java.io.ByteArrayOutputStream].write(io.undertow.conduits.StoredResponseStreamSinkConduit)'
    - '[Object].write(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.StoredResponseStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:111,1
    - Dst: '[Object].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:112,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:115,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:115,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:117,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:118,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<byte[]>,io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<byte[]>
      - java.io.ByteArrayOutputStream
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: '[io.undertow.conduits.StoredResponseStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/StoredResponseStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<byte[]>,io.undertow.conduits.StoredResponseStreamSinkConduit)'
    - '[java.nio.ByteBuffer].get(io.undertow.conduits.StoredResponseStreamSinkConduit)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.nio.ByteBuffer].position()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.conduits.StoredResponseStreamSinkConduit)'
    - '[Object].writeFinal(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.StoredResponseStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srcs[i + offs].position()
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:130,1
    - Dst: srcs[i + offs].remaining()
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:131,1
    - Dst: '[Object].write(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:133,1
    - Dst: buf.position()
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:140,1
    - Dst: buf.get(io.undertow.conduits.StoredResponseStreamSinkConduit)
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:141,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:141,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:147,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<byte[]>,io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<byte[]>
      - java.io.ByteArrayOutputStream
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 152
    functionName: '[io.undertow.conduits.StoredResponseStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/StoredResponseStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - buf.get(io.undertow.conduits.StoredResponseStreamSinkConduit)
    - srcs[i + offs].remaining()
    - buf.position()
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<byte[]>,io.undertow.conduits.StoredResponseStreamSinkConduit)'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - srcs[i + offs].position()
    - '[java.io.ByteArrayOutputStream].write(io.undertow.conduits.StoredResponseStreamSinkConduit)'
    - '[Object].write(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.StoredResponseStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:157,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<byte[]>,io.undertow.conduits.StoredResponseStreamSinkConduit)'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:157,1
    - Dst: '[Object].terminateWrites()'
      Src: io.undertow.conduits.StoredResponseStreamSinkConduit:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<byte[]>
      - java.io.ByteArrayOutputStream
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: '[io.undertow.conduits.StoredResponseStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/StoredResponseStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<byte[]>,io.undertow.conduits.StoredResponseStreamSinkConduit)'
    - '[Object].terminateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.StoredResponseStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:43,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.DebuggingStreamSourceConduit
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.conduits.DebuggingStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.DebuggingStreamSourceConduit
    signature: '[io.undertow.conduits.DebuggingStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:55,1
    - Dst: '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.conduits.DebuggingStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DebuggingStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:59,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.conduits.DebuggingStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DebuggingStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:64,1
    - Dst: '[Object].read(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:65,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.conduits.DebuggingStreamSourceConduit)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:69,1
    - Dst: '[java.util.List<byte[]>].add(io.undertow.conduits.DebuggingStreamSourceConduit)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: '[io.undertow.conduits.DebuggingStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].get(io.undertow.conduits.DebuggingStreamSourceConduit)'
    - '[java.util.List<byte[]>].add(io.undertow.conduits.DebuggingStreamSourceConduit)'
    - '[java.nio.ByteBuffer].position()'
    - '[Object].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.DebuggingStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsts[i].hasRemaining()
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:79,1
    - Dst: '[io.undertow.conduits.DebuggingStreamSourceConduit].read()'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: '[io.undertow.conduits.DebuggingStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DebuggingStreamSourceConduit].read()'
    - dsts[i].hasRemaining()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DebuggingStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<byte[]>].size()'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:88,1
    - Dst: System.out.println(String)
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:89,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:90,1
    - Dst: '[java.util.List<byte[]>].get(io.undertow.conduits.DebuggingStreamSourceConduit)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:92,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.conduits.DebuggingStreamSourceConduit)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:92,1
    - Dst: '[org.xnio.Buffers].dump(io.undertow.conduits.DebuggingStreamSourceConduit,StringBuilder,int,int)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:92,1
    - Dst: '[RuntimeException].<init>(io.undertow.conduits.DebuggingStreamSourceConduit)'
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:94,1
    - Dst: System.out.println(StringBuilder)
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:96,1
    - Dst: System.out.println()
      Src: io.undertow.conduits.DebuggingStreamSourceConduit:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: '[io.undertow.conduits.DebuggingStreamSourceConduit].dump()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - System.out.println(StringBuilder)
    - '[java.nio.ByteBuffer].wrap(io.undertow.conduits.DebuggingStreamSourceConduit)'
    - '[java.util.List<byte[]>].size()'
    - '[StringBuilder].<init>()'
    - System.out.println()
    - '[org.xnio.Buffers].dump(io.undertow.conduits.DebuggingStreamSourceConduit,StringBuilder,int,int)'
    - '[RuntimeException].<init>(io.undertow.conduits.DebuggingStreamSourceConduit)'
    - System.out.println(String)
    - '[java.util.List<byte[]>].get(io.undertow.conduits.DebuggingStreamSourceConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DebuggingStreamSourceConduit].dump()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkReader].longBitMask(int,int)'
      Src: io.undertow.conduits.ChunkReader:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.Attachable
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.conduits.BytesCounter<?extendsIOException>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.conduits.BytesCounter<?extendsIOException>
      - io.undertow.util.Attachable
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - TrailerParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.ChunkReader
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - attachable
    - trailerAttachmentKey
    - maxEntitySizeChecker
    argTypes:
    - io.undertow.util.Attachable
    - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
    - io.undertow.conduits.BytesCounter<?extendsIOException>
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: '[io.undertow.conduits.ChunkReader].<init>(io.undertow.util.Attachable,io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,io.undertow.conduits.BytesCounter<?extendsIOException>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkReader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkReader].longBitMask(int,int)'
    linkageType: ''
    returnType: io.undertow.conduits.ChunkReader
    signature: '[io.undertow.conduits.ChunkReader].<init>(io.undertow.util.Attachable,io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,io.undertow.conduits.BytesCounter<?extendsIOException>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(long,io.undertow.conduits.ChunkReader)'
      Src: io.undertow.conduits.ChunkReader:70,1
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(io.undertow.conduits.ChunkReader,long)'
      Src: io.undertow.conduits.ChunkReader:75,1
    - Dst: '[io.undertow.conduits.ChunkReader].handleChunkedRequestEnd(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkReader:76,1
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(io.undertow.conduits.ChunkReader,long)'
      Src: io.undertow.conduits.ChunkReader:84,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkReader:85,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.ChunkReader:86,1
    - Dst: '[io.undertow.conduits.BytesCounter<?extendsIOException>].increment()'
      Src: io.undertow.conduits.ChunkReader:87,1
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(io.undertow.conduits.ChunkReader,long)'
      Src: io.undertow.conduits.ChunkReader:93,1
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(io.undertow.conduits.ChunkReader,long)'
      Src: io.undertow.conduits.ChunkReader:98,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkReader:99,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.ChunkReader:100,1
    - Dst: '[io.undertow.conduits.BytesCounter<?extendsIOException>].increment()'
      Src: io.undertow.conduits.ChunkReader:101,1
    - Dst: '[io.undertow.conduits.ChunkReader].chunkSizeTooLarge()'
      Src: io.undertow.conduits.ChunkReader:104,1
    - Dst: Character.digit(char,int)
      Src: io.undertow.conduits.ChunkReader:107,1
    - Dst: '[io.undertow.conduits.BytesCounter<?extendsIOException>].add(io.undertow.conduits.ChunkReader)'
      Src: io.undertow.conduits.ChunkReader:109,1
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(io.undertow.conduits.ChunkReader,long)'
      Src: io.undertow.conduits.ChunkReader:118,1
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(io.undertow.conduits.ChunkReader,long)'
      Src: io.undertow.conduits.ChunkReader:122,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkReader:123,1
    - Dst: '[io.undertow.conduits.BytesCounter<?extendsIOException>].increment()'
      Src: io.undertow.conduits.ChunkReader:124,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.ChunkReader:125,1
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(io.undertow.conduits.ChunkReader,long)'
      Src: io.undertow.conduits.ChunkReader:130,1
    - Dst: '[io.undertow.conduits.ChunkReader].allAreClear(io.undertow.conduits.ChunkReader,io.undertow.conduits.ChunkReader)'
      Src: io.undertow.conduits.ChunkReader:136,1
    - Dst: '[io.undertow.conduits.ChunkReader].handleChunkedRequestEnd(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkReader:138,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 83
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.conduits.BytesCounter<?extendsIOException>
      - io.undertow.util.Attachable
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - TrailerParser
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 149
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 149
    functionName: '[io.undertow.conduits.ChunkReader].readChunk(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkReader.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.ChunkReader].anyAreSet(long,io.undertow.conduits.ChunkReader)'
    - '[io.undertow.conduits.ChunkReader].allAreClear(io.undertow.conduits.ChunkReader,io.undertow.conduits.ChunkReader)'
    - '[io.undertow.conduits.BytesCounter<?extendsIOException>].increment()'
    - '[io.undertow.conduits.ChunkReader].chunkSizeTooLarge()'
    - '[io.undertow.conduits.BytesCounter<?extendsIOException>].add(io.undertow.conduits.ChunkReader)'
    - Character.digit(char,int)
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.conduits.ChunkReader].anyAreSet(io.undertow.conduits.ChunkReader,long)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.conduits.ChunkReader].handleChunkedRequestEnd(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkReader].readChunk(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(long,long)'
      Src: io.undertow.conduits.ChunkReader:152,1
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(long,io.undertow.conduits.ChunkReader)'
      Src: io.undertow.conduits.ChunkReader:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.conduits.BytesCounter<?extendsIOException>
      - io.undertow.util.Attachable
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - TrailerParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkReader.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.conduits.ChunkReader].anyAreSet(long,io.undertow.conduits.ChunkReader)'
    - '[io.undertow.conduits.ChunkReader].anyAreSet(long,long)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkReader].anyAreSet(long,io.undertow.conduits.ChunkReader)'
      Src: io.undertow.conduits.ChunkReader:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.conduits.BytesCounter<?extendsIOException>
      - io.undertow.util.Attachable
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - TrailerParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - remaining
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: '[io.undertow.conduits.ChunkReader].setChunkRemaining(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkReader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkReader].anyAreSet(long,io.undertow.conduits.ChunkReader)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkReader].setChunkRemaining(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkReader.TrailerParser].handle(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkReader:177,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkReader:179,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.ChunkReader:180,1
    - Dst: '[io.undertow.conduits.BytesCounter<?extendsIOException>].increment()'
      Src: io.undertow.conduits.ChunkReader:182,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.ChunkReader:185,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.conduits.ChunkReader:185,1
    - Dst: '[io.undertow.conduits.ChunkReader.TrailerParser].<init>()'
      Src: io.undertow.conduits.ChunkReader:186,1
    - Dst: '[io.undertow.conduits.ChunkReader.TrailerParser].handle(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkReader:187,1
    - Dst: '[io.undertow.conduits.BytesCounter<?extendsIOException>].increment()'
      Src: io.undertow.conduits.ChunkReader:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.conduits.BytesCounter<?extendsIOException>
      - io.undertow.util.Attachable
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - TrailerParser
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: '[io.undertow.conduits.ChunkReader].handleChunkedRequestEnd(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkReader.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.ChunkReader.TrailerParser].<init>()'
    - '[io.undertow.conduits.BytesCounter<?extendsIOException>].increment()'
    - '[java.nio.ByteBuffer].position(int)'
    - '[io.undertow.conduits.ChunkReader.TrailerParser].handle(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.ChunkReader].handleChunkedRequestEnd(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:212,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:213,1
    - Dst: maxEntitySizeChecker.increment()
      Src: io.undertow.conduits.ChunkReader.TrailerParser:214,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:217,1
    - Dst: '[io.undertow.conduits.ChunkReader.TrailerParser].couldNotDecodeTrailers()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:220,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:223,1
    - Dst: attachable.putAttachment(io.undertow.conduits.ChunkReader.TrailerParser,HeaderMap)
      Src: io.undertow.conduits.ChunkReader.TrailerParser:224,1
    - Dst: '[io.undertow.conduits.ChunkReader.TrailerParser].couldNotDecodeTrailers()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:227,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:230,1
    - Dst: '[io.undertow.conduits.ChunkReader.TrailerParser].trim()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:230,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(io.undertow.conduits.ChunkReader.TrailerParser)'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:230,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:232,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:234,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:238,1
    - Dst: '[io.undertow.conduits.ChunkReader.TrailerParser].trim()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:238,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.conduits.ChunkReader.TrailerParser)'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:238,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:240,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:243,1
    - Dst: attachable.putAttachment(io.undertow.conduits.ChunkReader.TrailerParser,HeaderMap)
      Src: io.undertow.conduits.ChunkReader.TrailerParser:248,1
    - Dst: '[io.undertow.conduits.ChunkReader.TrailerParser].couldNotDecodeTrailers()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:252,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:255,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      - StringBuilder
      - HttpString
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 259
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 259
    functionName: '[io.undertow.conduits.ChunkReader.TrailerParser].handle(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkReader.java
    functionUses: 1
    functionsReached:
    - maxEntitySizeChecker.increment()
    - '[StringBuilder].append(char)'
    - '[IllegalStateException].<init>()'
    - '[io.undertow.conduits.ChunkReader.TrailerParser].trim()'
    - '[io.undertow.conduits.ChunkReader.TrailerParser].couldNotDecodeTrailers()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[StringBuilder].toString()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.conduits.ChunkReader.TrailerParser)'
    - '[StringBuilder].setLength(int)'
    - '[java.nio.ByteBuffer].get()'
    - '[StringBuilder].length()'
    - '[io.undertow.util.HttpString].tryFromString(io.undertow.conduits.ChunkReader.TrailerParser)'
    - attachable.putAttachment(io.undertow.conduits.ChunkReader.TrailerParser,HeaderMap)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.ChunkReader.TrailerParser].handle(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:201,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.conduits.ChunkReader.TrailerParser:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      - StringBuilder
      - HttpString
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ChunkReader.TrailerParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.conduits.ChunkReader.TrailerParser].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkReader.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.ChunkReader.TrailerParser
    signature: '[io.undertow.conduits.ChunkReader.TrailerParser].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:59,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.DeflatingStreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - conduitFactory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.conduits.DeflatingStreamSinkConduit
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:59,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].newInstanceDeflaterPool(int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:94,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.DeflatingStreamSinkConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - conduitFactory
    - exchange
    - deflateLevel
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].newInstanceDeflaterPool(int)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.conduits.DeflatingStreamSinkConduit
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:59,1
    - Dst: '[io.undertow.util.ObjectPool<java.util.zip.Deflater>].allocate()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:98,1
    - Dst: '[io.undertow.util.PooledObject<java.util.zip.Deflater>].getObject()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:99,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:100,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:100,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:100,1
    - Dst: '[io.undertow.server.Connectors].getConduitSinkChannel(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:103,1
    - Dst: '[WriteReadyHandler.ChannelListenerHandler].<init>(org.xnio.conduits.ConduitStreamSinkChannel)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:103,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.DeflatingStreamSinkConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - conduitFactory
    - exchange
    - deflaterPool
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    - io.undertow.util.ObjectPool<java.util.zip.Deflater>
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[WriteReadyHandler.ChannelListenerHandler].<init>(org.xnio.conduits.ConduitStreamSinkChannel)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.util.ObjectPool<java.util.zip.Deflater>].allocate()'
    - '[io.undertow.util.PooledObject<java.util.zip.Deflater>].getObject()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler)'
    - '[io.undertow.server.Connectors].getConduitSinkChannel(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.conduits.DeflatingStreamSinkConduit
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NewInstanceObjectPool].<init>()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ObjectPool<java.util.zip.Deflater>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - deflateLevel
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].newInstanceDeflaterPool(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.NewInstanceObjectPool].<init>()'
    linkageType: ''
    returnType: io.undertow.util.ObjectPool<java.util.zip.Deflater>
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].newInstanceDeflaterPool(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SimpleObjectPool].<init>(int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ObjectPool<java.util.zip.Deflater>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - poolSize
    - deflateLevel
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].simpleDeflaterPool(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SimpleObjectPool].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.ObjectPool<java.util.zip.Deflater>
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].simpleDeflaterPool(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:117,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:118,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:121,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:124,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:127,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:128,1
    - Dst: '[java.util.zip.Deflater].setInput(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:129,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].deflateData(boolean)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:130,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:131,1
    - Dst: '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:132,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:133,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:134,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:138,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:139,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].postDeflate(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:140,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:141,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:142,1
    - Dst: '[java.util.zip.Deflater].setInput(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:144,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 150
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 150
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].postDeflate(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].position(io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.util.zip.Deflater].setInput(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].deflateData(boolean)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].postDeflate(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].postDeflate(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:157,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:158,1
    - Dst: buf.hasRemaining()
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:164,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].write(io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:165,1
    - Dst: buf.hasRemaining()
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:170,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].write(io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - buf.hasRemaining()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:194,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:195,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:197,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:200,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:206,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:207,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:209,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:212,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,io.undertow.conduits.DeflatingStreamSinkConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:217,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].suspendWrites()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:233,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteResumed()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
    - '[org.xnio.conduits.StreamSinkConduit].isWriteResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].resumeWrites()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:242,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].wakeupWrites()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].wakeupWrites()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].resumeWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].queueWriteListener()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:252,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].queueWriteListener()'
    - '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:259,1
    - Dst: '[io.undertow.server.ServerConnection].getIoThread()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:259,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:259,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].queueWriteListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[Runnable].<init>()'
    - '[io.undertow.server.ServerConnection].getIoThread()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].queueWriteListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Deflater].finish()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.Deflater].finish()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].isWriteShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].isWriteShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:309,1
    - Dst: '[io.undertow.server.ServerConnection].getIoThread()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].getWriteThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getIoThread()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].getWriteThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.WriteReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - org.xnio.conduits.WriteReadyHandler
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:320,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].flush()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:321,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:329,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:330,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].flush()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:331,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:333,1
    - Dst: '[java.util.zip.Deflater].finished()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:337,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].deflateData(boolean)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:338,1
    - Dst: '[java.util.zip.Deflater].finished()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:340,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:344,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:345,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].getTrailer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:347,1
    - Dst: '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:349,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:351,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:352,1
    - Dst: '[java.nio.ByteBuffer].capacity()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:352,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:352,1
    - Dst: '[java.nio.ByteBuffer].compact()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:353,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:354,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:355,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:356,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:356,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:357,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:359,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:365,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:366,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].createNextChannel()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:370,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:373,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:375,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].terminateWrites()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:376,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].flush()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:377,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:383,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].createNextChannel()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:386,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].deflateData(boolean)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:388,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:389,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:391,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:391,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:395,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].flush()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:398,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:402,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:402,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:404,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].debug(String,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:406,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:412,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 71
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 415
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>(String)'
    - '[org.xnio.conduits.StreamSinkConduit].flush()'
    - '[java.nio.ByteBuffer].put(byte[])'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].createNextChannel()'
    - '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].debug(String,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[java.nio.ByteBuffer].compact()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].getTrailer()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].deflateData(boolean)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
    - '[java.util.zip.Deflater].finished()'
    - '[java.nio.ByteBuffer].capacity()'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
    - '[org.xnio.conduits.StreamSinkConduit].terminateWrites()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].allAreClear(int,int)'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].getTrailer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].getTrailer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:430,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequiredSingleBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:432,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequiredAdditionalBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 436
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequiredAdditionalBuffer()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequiredSingleBuffer()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:439,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:440,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:445,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:452,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 455
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequiredSingleBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[org.xnio.conduits.StreamSinkConduit].write(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequiredSingleBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:459,1
    - Dst: '[org.xnio.Buffers].remaining(io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:461,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].write(io.undertow.conduits.DeflatingStreamSinkConduit,int,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:466,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:474,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequiredAdditionalBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].clear()'
    - '[org.xnio.Buffers].remaining(io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[org.xnio.conduits.StreamSinkConduit].write(io.undertow.conduits.DeflatingStreamSinkConduit,int,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequiredAdditionalBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.Deflater].finished()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:480,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].allAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:480,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:483,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:483,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:485,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:487,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:487,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:488,1
    - Dst: Integer.toString(io.undertow.conduits.DeflatingStreamSinkConduit)
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:488,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:488,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:491,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:491,1
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 494
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].createNextChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[java.util.zip.Deflater].finished()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].allAreSet(int,int)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - Integer.toString(io.undertow.conduits.DeflatingStreamSinkConduit)
    - '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].createNextChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pooled.getBuffer()
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:508,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:510,1
    - Dst: '[java.util.zip.Deflater].needsInput()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:511,1
    - Dst: '[java.util.zip.Deflater].finished()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:511,1
    - Dst: '[java.util.zip.Deflater].deflate(io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:512,1
    - Dst: '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange,io.undertow.conduits.DeflatingStreamSinkConduit)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:514,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].hasRemaining()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:515,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].flip()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:516,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].createNextChannel()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:520,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:522,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:532,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:533,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - force
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 537
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 537
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].deflateData(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].anyAreSet(int,int)'
    - '[java.util.zip.Deflater].finished()'
    - '[java.util.zip.Deflater].needsInput()'
    - '[java.util.zip.Deflater].deflate(io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].hasRemaining()'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].flip()'
    - '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
    - pooled.getBuffer()
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].createNextChannel()'
    - '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange,io.undertow.conduits.DeflatingStreamSinkConduit)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].performFlushIfRequired()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].deflateData(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:542,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].truncateWrites()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
    - '[org.xnio.conduits.StreamSinkConduit].truncateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:549,1
    - Dst: '[io.undertow.util.PooledObject<java.util.zip.Deflater>].close()'
      Src: io.undertow.conduits.DeflatingStreamSinkConduit:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - java.util.zip.Deflater
      - io.undertow.util.PooledObject<java.util.zip.Deflater>
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.WriteReadyHandler
      - io.undertow.connector.PooledByteBuffer
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DeflatingStreamSinkConduit.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.PooledObject<java.util.zip.Deflater>].close()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DeflatingStreamSinkConduit].freeBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.BrokenStreamSourceConduit:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.BrokenStreamSourceConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - exception
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.conduits.BrokenStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BrokenStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.BrokenStreamSourceConduit
    signature: '[io.undertow.conduits.BrokenStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.conduits.BrokenStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BrokenStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BrokenStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.conduits.BrokenStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BrokenStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BrokenStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.conduits.BrokenStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BrokenStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BrokenStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.io.IOException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.conduits.BrokenStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BrokenStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.BrokenStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:62,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteResumed()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:63,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - int
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.RateLimitingStreamSinkConduit
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - bytes
    - time
    - timeUnit
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - int
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,int,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[org.xnio.conduits.StreamSinkConduit].isWriteResumed()'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    linkageType: ''
    returnType: io.undertow.conduits.RateLimitingStreamSinkConduit
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,int,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:70,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:74,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:75,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:76,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:76,1
    - Dst: '[Object].write(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:79,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:80,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:89,1
    - Dst: Math.min(long,int)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:93,1
    - Dst: '[Object].transferFrom(java.nio.channels.FileChannel,long,io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:93,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - Math.min(long,int)
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - '[Object].transferFrom(java.nio.channels.FileChannel,long,io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:100,1
    - Dst: Math.min(long,int)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:104,1
    - Dst: '[Object].transferFrom(org.xnio.channels.StreamSourceChannel,io.undertow.conduits.RateLimitingStreamSinkConduit,java.nio.ByteBuffer)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:104,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - Math.min(long,int)
    - '[Object].transferFrom(org.xnio.channels.StreamSourceChannel,io.undertow.conduits.RateLimitingStreamSinkConduit,java.nio.ByteBuffer)'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:111,1
    - Dst: buf.remaining()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:119,1
    - Dst: buf.limit()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:122,1
    - Dst: buf.limit(int)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:123,1
    - Dst: '[Object].write(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:130,1
    - Dst: '[Object].write(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:132,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:134,1
    - Dst: buf.limit(io.undertow.conduits.RateLimitingStreamSinkConduit)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 142
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - buf.remaining()
    - buf.limit(io.undertow.conduits.RateLimitingStreamSinkConduit)
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    - buf.limit(int)
    - buf.limit()
    - '[Object].write(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:146,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:150,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:151,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:152,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:152,1
    - Dst: '[Object].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:155,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:156,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    - '[Object].writeFinal(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:165,1
    - Dst: buf.remaining()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:173,1
    - Dst: buf.limit()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:176,1
    - Dst: buf.limit(int)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:177,1
    - Dst: '[Object].writeFinal(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:184,1
    - Dst: '[Object].writeFinal(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:186,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:188,1
    - Dst: buf.limit(io.undertow.conduits.RateLimitingStreamSinkConduit)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 196
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - buf.remaining()
    - '[Object].writeFinal(ByteBuffer[],int,int)'
    - buf.limit(io.undertow.conduits.RateLimitingStreamSinkConduit)
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    - buf.limit(int)
    - buf.limit()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:201,1
    - Dst: '[Object].resumeWrites()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].resumeWrites()'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].suspendWrites()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:215,1
    - Dst: '[Object].wakeupWrites()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].wakeupWrites()'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:227,1
    - Dst: Thread.sleep(io.undertow.conduits.RateLimitingStreamSinkConduit)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:230,1
    - Dst: Thread.currentThread()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:232,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].interrupt()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:232,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:233,1
    - Dst: '[Object].awaitWritable()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(io.undertow.conduits.RateLimitingStreamSinkConduit)
    - '[Object].awaitWritable()'
    - Thread.currentThread()
    - System.currentTimeMillis()
    - '[java.io.InterruptedIOException].<init>()'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].interrupt()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:242,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:245,1
    - Dst: Math.min(io.undertow.conduits.RateLimitingStreamSinkConduit,io.undertow.conduits.RateLimitingStreamSinkConduit)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:245,1
    - Dst: Thread.sleep(io.undertow.conduits.RateLimitingStreamSinkConduit)
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:245,1
    - Dst: Thread.currentThread()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:247,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].interrupt()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:247,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:248,1
    - Dst: '[Object].awaitWritable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - Thread.sleep(io.undertow.conduits.RateLimitingStreamSinkConduit)
    - '[Object].awaitWritable(long,java.util.concurrent.TimeUnit)'
    - Math.min(io.undertow.conduits.RateLimitingStreamSinkConduit,io.undertow.conduits.RateLimitingStreamSinkConduit)
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    - Thread.currentThread()
    - System.currentTimeMillis()
    - '[java.io.InterruptedIOException].<init>()'
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].interrupt()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:259,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritesResumedWhenBlocked()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritesResumedWhenBlocked()'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].canSend()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:279,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:280,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:285,1
    - Dst: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritesResumedWhenBlocked()'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - written
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 292
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 292
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritesResumedWhenBlocked()'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritten(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.suspendWrites()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:299,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:300,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.conduits.RateLimitingStreamSinkConduit,Runnable,io.undertow.conduits.RateLimitingStreamSinkConduit,io.undertow.conduits.RateLimitingStreamSinkConduit)'
      Src: io.undertow.conduits.RateLimitingStreamSinkConduit:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - boolean
      - int
      - long
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritesResumedWhenBlocked()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RateLimitingStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.conduits.RateLimitingStreamSinkConduit,Runnable,io.undertow.conduits.RateLimitingStreamSinkConduit,io.undertow.conduits.RateLimitingStreamSinkConduit)'
    - System.currentTimeMillis()
    - next.suspendWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.RateLimitingStreamSinkConduit].handleWritesResumedWhenBlocked()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[io.undertow.conduits.ConduitListener].handleEvent(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ConduitListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ConduitListener].handleEvent(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ConduitListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.conduits.ConduitListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ConduitListener.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ConduitListener
    signature: '[io.undertow.conduits.ConduitListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.XnioIoThread].getWorker()'
      Src: io.undertow.conduits.EmptyStreamSourceConduit:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioIoThread
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.EmptyStreamSourceConduit
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - readThread
    argTypes:
    - org.xnio.XnioIoThread
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].<init>(org.xnio.XnioIoThread)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.XnioIoThread].getWorker()'
    linkageType: ''
    returnType: io.undertow.conduits.EmptyStreamSourceConduit
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].<init>(org.xnio.XnioIoThread)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ReadReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - org.xnio.conduits.ReadReadyHandler
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].isReadShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].isReadShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.conduits.EmptyStreamSourceConduit:85,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.conduits.EmptyStreamSourceConduit:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.EmptyStreamSourceConduit].resumeReads()'
      Src: io.undertow.conduits.EmptyStreamSourceConduit:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.EmptyStreamSourceConduit].resumeReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ReadReadyHandler].terminated()'
      Src: io.undertow.conduits.EmptyStreamSourceConduit:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ReadReadyHandler].terminated()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].getReadThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].getReadThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.XnioWorker
      - org.xnio.XnioIoThread
      - org.xnio.conduits.ReadReadyHandler
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[io.undertow.conduits.EmptyStreamSourceConduit].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/EmptyStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.conduits.EmptyStreamSourceConduit].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:66,1
    - Dst: '[io.undertow.conduits.ChunkReader].<init>(io.undertow.util.Attachable,io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,io.undertow.conduits.PreChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - io.undertow.util.Attachable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.PreChunkedStreamSinkConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - finishListener
    - attachable
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
    - io.undertow.util.Attachable
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>,io.undertow.util.Attachable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.conduits.ChunkReader].<init>(io.undertow.util.Attachable,io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,io.undertow.conduits.PreChunkedStreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.PreChunkedStreamSinkConduit
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>,io.undertow.util.Attachable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:79,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:80,1
    - Dst: '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:82,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].extraDataWrittenAfterChunkEnd()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:83,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:85,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:88,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:89,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:90,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:94,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.PreChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:95,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.PreChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:96,1
    - Dst: '[io.undertow.conduits.ChunkReader].readChunk(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:99,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:101,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].extraDataWrittenAfterChunkEnd()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:104,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:110,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:111,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:114,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:115,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.PreChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:115,1
    - Dst: '[io.undertow.conduits.ChunkReader].setChunkRemaining(io.undertow.conduits.PreChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:117,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:118,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.PreChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:123,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.PreChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:124,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 127
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 127
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[java.nio.ByteBuffer].position(io.undertow.conduits.PreChunkedStreamSinkConduit)'
    - '[java.nio.ByteBuffer].position(int)'
    - '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.nio.ByteBuffer].remaining()'
    - next.write(java.nio.ByteBuffer)
    - '[io.undertow.conduits.ChunkReader].readChunk(java.nio.ByteBuffer)'
    - '[io.undertow.conduits.ChunkReader].setChunkRemaining(io.undertow.conduits.PreChunkedStreamSinkConduit)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.PreChunkedStreamSinkConduit)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].extraDataWrittenAfterChunkEnd()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srcs[i].hasRemaining()
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:133,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].write()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].write()'
    - srcs[i].hasRemaining()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:147,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].terminateWrites()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:148,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:151,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].terminateWrites()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].terminateWrites()'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:158,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:159,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:161,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:166,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:167,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:169,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:174,1
    - Dst: next.flush()
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:175,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:176,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].invokeFinishListener()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:177,1
    - Dst: next.flush()
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.flush()
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].invokeFinishListener()'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].allAreClear(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>].handleEvent()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].invokeFinishListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>].handleEvent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].invokeFinishListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:194,1
    - Dst: '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:197,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].chunkedChannelClosedMidChunk()'
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].chunkedChannelClosedMidChunk()'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.awaitWritable()
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.awaitWritable()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.awaitWritable(long,java.util.concurrent.TimeUnit)
      Src: io.undertow.conduits.PreChunkedStreamSinkConduit:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superPreChunkedStreamSinkConduit>
      - int
      - int
      - int
      - io.undertow.conduits.ChunkReader
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: '[io.undertow.conduits.PreChunkedStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/PreChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.awaitWritable(long,java.util.concurrent.TimeUnit)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.PreChunkedStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:57,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:82,1
    - Dst: '[org.xnio.StreamConnection].getCloseSetter()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:85,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].set(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.WriteTimeoutStreamSinkConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - delegate
    - connection
    - openListener
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - org.xnio.StreamConnection
    - io.undertow.server.OpenListener
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,org.xnio.StreamConnection,io.undertow.server.OpenListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[Runnable].<init>()'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].set(org.xnio.ChannelListener<org.xnio.StreamConnection>)'
    - '[org.xnio.StreamConnection].getCloseSetter()'
    linkageType: ''
    returnType: io.undertow.conduits.WriteTimeoutStreamSinkConduit
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,org.xnio.StreamConnection,io.undertow.server.OpenListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].isOpen()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:98,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:104,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:108,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:115,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].shutdownWrites()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:115,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:117,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].flush()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:117,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].ioException(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:119,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:121,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ret
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].flush()'
    - '[org.xnio.StreamConnection].isOpen()'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].ioException(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].shutdownWrites()'
    - System.currentTimeMillis()
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].write(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:129,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[Object].write(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].write(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:136,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[Object].write(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:143,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:144,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:145,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[Object].writeFinal(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].writeFinal(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:160,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:161,1
    - Dst: '[org.xnio.Buffers].hasRemaining(ByteBuffer[])'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:162,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[org.xnio.Buffers].hasRemaining(ByteBuffer[])'
    - '[Object].writeFinal(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].transferFrom(java.nio.channels.FileChannel,long,long)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:177,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[Object].transferFrom(java.nio.channels.FileChannel,long,long)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:184,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleWriteTimeout(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[Object].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:191,1
    - Dst: '[Object].awaitWritable(io.undertow.conduits.WriteTimeoutStreamSinkConduit,io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:193,1
    - Dst: '[Object].awaitWritable()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
    - '[Object].awaitWritable()'
    - '[Object].awaitWritable(io.undertow.conduits.WriteTimeoutStreamSinkConduit,io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:201,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:203,1
    - Dst: '[Object].awaitWritable(io.undertow.conduits.WriteTimeoutStreamSinkConduit,io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:204,1
    - Dst: '[Object].awaitWritable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    - '[Object].awaitWritable(io.undertow.conduits.WriteTimeoutStreamSinkConduit,io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[Object].awaitWritable(long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:213,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getOption(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:213,1
    - Dst: '[io.undertow.server.OpenListener].getUndertowOptions()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:217,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:217,1
    - Dst: Math.min(io.undertow.conduits.WriteTimeoutStreamSinkConduit,io.undertow.conduits.WriteTimeoutStreamSinkConduit)
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 225
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 4
    functionsReached:
    - Math.min(io.undertow.conduits.WriteTimeoutStreamSinkConduit,io.undertow.conduits.WriteTimeoutStreamSinkConduit)
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getOption(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.OpenListener].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].terminateWrites()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:230,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[Object].terminateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].truncateWrites()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:246,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[Object].truncateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].resumeWrites()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:261,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleResumeTimeout()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].resumeWrites()'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleResumeTimeout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].suspendWrites()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:267,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 283
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[Object].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].wakeupWrites()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:287,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleResumeTimeout()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleResumeTimeout()'
    - '[Object].wakeupWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:292,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:296,1
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:302,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].executeAfter(Runnable,Integer,io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.conduits.WriteTimeoutStreamSinkConduit:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 306
    functionName: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleResumeTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/WriteTimeoutStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].getTimeout()'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].executeAfter(Runnable,Integer,io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - System.currentTimeMillis()
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].handleResumeTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].longBitMask(int,int)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:68,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:87,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:90,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - long
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.FixedLengthStreamSourceConduit
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - contentLength
    - finishListener
    - exchange
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - long
    - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,long,io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    - '[IllegalArgumentException].<init>(String)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].longBitMask(int,int)'
    linkageType: ''
    returnType: io.undertow.conduits.FixedLengthStreamSourceConduit
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,long,io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].longBitMask(int,int)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:68,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,long,io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>,null)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - long
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.FixedLengthStreamSourceConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - contentLength
    - finishListener
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - long
    - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,long,io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,long,io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>,null)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].longBitMask(int,int)'
    linkageType: ''
    returnType: io.undertow.conduits.FixedLengthStreamSourceConduit
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,long,io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:117,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:118,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:118,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:119,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:120,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].min(long,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:127,1
    - Dst: next.transferTo(long,io.undertow.conduits.FixedLengthStreamSourceConduit,java.nio.channels.FileChannel)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:127,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:129,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - next.transferTo(long,io.undertow.conduits.FixedLengthStreamSourceConduit,java.nio.channels.FileChannel)
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].min(long,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:142,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:143,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:143,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:144,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:145,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].min(long,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:152,1
    - Dst: next.transferTo(io.undertow.conduits.FixedLengthStreamSourceConduit,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:152,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:154,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:158,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:158,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].min(long,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - next.transferTo(io.undertow.conduits.FixedLengthStreamSourceConduit,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreClear(long,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:163,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:166,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:166,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:169,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:170,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>].handleEvent()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:171,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:173,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].requestEntityWasTooLarge(long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - state
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreClear(long,long)'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>].handleEvent()'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].requestEntityWasTooLarge(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].read()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:184,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:187,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:188,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:188,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:189,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:190,1
    - Dst: buffer.limit()
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:207,1
    - Dst: buffer.position()
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:207,1
    - Dst: buffer.limit(io.undertow.conduits.FixedLengthStreamSourceConduit)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:210,1
    - Dst: next.read(ByteBuffer[],int,int)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:212,1
    - Dst: buffer.limit(io.undertow.conduits.FixedLengthStreamSourceConduit)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:215,1
    - Dst: next.read(ByteBuffer[],int,int)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:220,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:222,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:226,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 228
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 228
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
    - buffer.limit(io.undertow.conduits.FixedLengthStreamSourceConduit)
    - buffer.limit()
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - next.read(ByteBuffer[],int,int)
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - buffer.position()
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].read()'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].read(ByteBuffer[],int,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dsts
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].read(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].read(ByteBuffer[],int,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].read(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:236,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:237,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:237,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:238,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:239,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:247,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:248,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:250,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:252,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:254,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:257,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:260,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:264,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 266
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 266
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].checkMaxSize(io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - '[java.nio.ByteBuffer].limit(int)'
    - next.read(java.nio.ByteBuffer)
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(long,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:269,1
    - Dst: next.isReadResumed()
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(long,long)'
    - next.isReadResumed()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:274,1
    - Dst: next.wakeupReads()
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - next.wakeupReads()
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:283,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:286,1
    - Dst: next.wakeupReads()
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:287,1
    - Dst: next.resumeReads()
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - next.wakeupReads()
    - next.resumeReads()
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,io.undertow.conduits.FixedLengthStreamSourceConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].enterShutdownReads()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:295,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(long,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:296,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitShutdownReads(long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].enterShutdownReads()'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(long,long)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitShutdownReads(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:304,1
    - Dst: next.awaitReadable()
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - next.awaitReadable()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:312,1
    - Dst: next.awaitReadable(long,java.util.concurrent.TimeUnit)
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:316,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - next.awaitReadable(long,java.util.concurrent.TimeUnit)
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].getRemaining()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].getRemaining()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].enterShutdownReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].enterShutdownReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(long,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:344,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - oldVal
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitShutdownReads(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(long,long)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitShutdownReads(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:361,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:362,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].couldNotReadContentLengthData()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:364,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].addSuppressed(Throwable)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:366,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(long,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:374,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(long,long)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:375,1
    - Dst: next.suspendReads()
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - consumed
    - readError
    argTypes:
    - long
    - Throwable
    constantsTouched: []
    func_position:
      end: 379
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 379
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(long,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - next.suspendReads()
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].anyAreSet(io.undertow.conduits.FixedLengthStreamSourceConduit,long)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].couldNotReadContentLengthData()'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].allAreClear(long,long)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].addSuppressed(Throwable)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].exitRead(long,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>].handleEvent()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>].handleEvent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].invokeFinishListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:389,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.conduits.FixedLengthStreamSourceConduit:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFixedLengthStreamSourceConduit>
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FixedLengthStreamSourceConduit.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FixedLengthStreamSourceConduit].closeConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.server.AbstractServerConnection
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.AbstractServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ReadDataStreamSourceConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - connection
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.server.AbstractServerConnection
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.AbstractServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadDataStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.ReadDataStreamSourceConduit
    signature: '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.AbstractServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:48,1
    - Dst: '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.AbstractServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.conduits.ReadDataStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadDataStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ReadDataStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:52,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.AbstractServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.conduits.ReadDataStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadDataStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ReadDataStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:57,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:59,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:60,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:61,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:62,1
    - Dst: '[io.undertow.server.AbstractServerConnection].setExtraBytes(null)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:63,1
    - Dst: '[Object].read(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.AbstractServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: '[io.undertow.conduits.ReadDataStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadDataStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
    - '[io.undertow.server.AbstractServerConnection].setExtraBytes(null)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[Object].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.ReadDataStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:73,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:75,1
    - Dst: '[org.xnio.Buffers].copy(ByteBuffer[],int,int,java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:76,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:77,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:78,1
    - Dst: '[io.undertow.server.AbstractServerConnection].setExtraBytes(null)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:79,1
    - Dst: '[Object].read(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.AbstractServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: '[io.undertow.conduits.ReadDataStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadDataStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
    - '[io.undertow.server.AbstractServerConnection].setExtraBytes(null)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[org.xnio.Buffers].copy(ByteBuffer[],int,int,java.nio.ByteBuffer)'
    - '[Object].read(ByteBuffer[],int,int)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ReadDataStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:89,1
    - Dst: '[io.undertow.conduits.ReadDataStreamSourceConduit].wakeupReads()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:90,1
    - Dst: '[Object].resumeReads()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.AbstractServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: '[io.undertow.conduits.ReadDataStreamSourceConduit].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadDataStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].resumeReads()'
    - '[io.undertow.conduits.ReadDataStreamSourceConduit].wakeupReads()'
    - '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadDataStreamSourceConduit].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:98,1
    - Dst: '[Object].awaitReadable()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.AbstractServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: '[io.undertow.conduits.ReadDataStreamSourceConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadDataStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].awaitReadable()'
    - '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadDataStreamSourceConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:106,1
    - Dst: '[Object].awaitReadable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.conduits.ReadDataStreamSourceConduit:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.AbstractServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: '[io.undertow.conduits.ReadDataStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadDataStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].awaitReadable(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadDataStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '[io.undertow.conduits.ByteActivityCallback].activity(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ByteActivityCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ByteActivityCallback].activity(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ByteActivityCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.conduits.ByteActivityCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ByteActivityCallback.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ByteActivityCallback
    signature: '[io.undertow.conduits.ByteActivityCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.conduits.ByteActivityCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.BytesReceivedStreamSourceConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - callback
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.conduits.ByteActivityCallback
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.conduits.ByteActivityCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesReceivedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.BytesReceivedStreamSourceConduit
    signature: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.conduits.ByteActivityCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:49,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesReceivedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].transferTo(long,long,java.nio.channels.FileChannel)'
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:58,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesReceivedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].read(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:67,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesReceivedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[Object].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].read(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:76,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.conduits.BytesReceivedStreamSourceConduit:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesReceivedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].read(ByteBuffer[],int,int)'
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.FinishableStreamSinkConduit:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.FinishableStreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - delegate
    - finishListener
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.conduits.FinishableStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.FinishableStreamSinkConduit
    signature: '[io.undertow.conduits.FinishableStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.writeFinal(java.nio.ByteBuffer)
      Src: io.undertow.conduits.FinishableStreamSinkConduit:46,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.FinishableStreamSinkConduit:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: '[io.undertow.conduits.FinishableStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.writeFinal(java.nio.ByteBuffer)
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.FinishableStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.writeFinal(ByteBuffer[],int,int)
      Src: io.undertow.conduits.FinishableStreamSinkConduit:57,1
    - Dst: '[org.xnio.Buffers].hasRemaining(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.FinishableStreamSinkConduit:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: '[io.undertow.conduits.FinishableStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.writeFinal(ByteBuffer[],int,int)
    - '[org.xnio.Buffers].hasRemaining(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FinishableStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].terminateWrites()'
      Src: io.undertow.conduits.FinishableStreamSinkConduit:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: '[io.undertow.conduits.FinishableStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].terminateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FinishableStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.truncateWrites()
      Src: io.undertow.conduits.FinishableStreamSinkConduit:75,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>].handleEvent()'
      Src: io.undertow.conduits.FinishableStreamSinkConduit:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: '[io.undertow.conduits.FinishableStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.truncateWrites()
    - '[io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>].handleEvent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FinishableStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.flush()
      Src: io.undertow.conduits.FinishableStreamSinkConduit:83,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>].handleEvent()'
      Src: io.undertow.conduits.FinishableStreamSinkConduit:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: '[io.undertow.conduits.FinishableStreamSinkConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.flush()
    - '[io.undertow.conduits.ConduitListener<?superFinishableStreamSinkConduit>].handleEvent()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.FinishableStreamSinkConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].safeClose(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.IdleTimeoutConduit:91,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].safeClose(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.IdleTimeoutConduit:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].doClose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].safeClose(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.conduits.IdleTimeoutConduit].safeClose(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].doClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.conduits.IdleTimeoutConduit:60,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.conduits.IdleTimeoutConduit:96,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].getConduit()'
      Src: io.undertow.conduits.IdleTimeoutConduit:96,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.conduits.IdleTimeoutConduit:97,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].getConduit()'
      Src: io.undertow.conduits.IdleTimeoutConduit:97,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.conduits.IdleTimeoutConduit:98,1
    - Dst: '[WriteReadyHandler.ChannelListenerHandler].<init>(io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.conduits.IdleTimeoutConduit:98,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler)'
      Src: io.undertow.conduits.IdleTimeoutConduit:98,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.conduits.IdleTimeoutConduit:99,1
    - Dst: '[ReadReadyHandler.ChannelListenerHandler].<init>(io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.conduits.IdleTimeoutConduit:99,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].setReadReadyHandler(ReadReadyHandler.ChannelListenerHandler)'
      Src: io.undertow.conduits.IdleTimeoutConduit:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.IdleTimeoutConduit
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].getConduit()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.conduits.IdleTimeoutConduit].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler)'
    - '[io.undertow.conduits.IdleTimeoutConduit].setReadReadyHandler(ReadReadyHandler.ChannelListenerHandler)'
    - '[ReadReadyHandler.ChannelListenerHandler].<init>(io.undertow.conduits.IdleTimeoutConduit)'
    - '[Runnable].<init>()'
    - '[WriteReadyHandler.ChannelListenerHandler].<init>(io.undertow.conduits.IdleTimeoutConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.IdleTimeoutConduit
    signature: '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.IdleTimeoutConduit:110,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].doClose()'
      Src: io.undertow.conduits.IdleTimeoutConduit:114,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.IdleTimeoutConduit:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.nio.channels.ClosedChannelException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 10
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.conduits.IdleTimeoutConduit].doClose()'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:122,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.IdleTimeoutConduit:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    - '[org.xnio.conduits.StreamSinkConduit].write(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.IdleTimeoutConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:129,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].write(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.IdleTimeoutConduit:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    - '[org.xnio.conduits.StreamSinkConduit].write(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.IdleTimeoutConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:136,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.IdleTimeoutConduit:137,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:138,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.IdleTimeoutConduit:138,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[org.xnio.conduits.StreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    - '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.IdleTimeoutConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:149,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.IdleTimeoutConduit:150,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:151,1
    - Dst: '[org.xnio.Buffers].hasRemaining(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.IdleTimeoutConduit:151,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[org.xnio.conduits.StreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    - '[org.xnio.Buffers].hasRemaining(ByteBuffer[],int,int)'
    - '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.IdleTimeoutConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:162,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.conduits.IdleTimeoutConduit:163,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:164,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    - '[org.xnio.conduits.StreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    - '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.IdleTimeoutConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:175,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.conduits.IdleTimeoutConduit:176,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:177,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    - '[org.xnio.conduits.StreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.IdleTimeoutConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:188,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].read(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.IdleTimeoutConduit:189,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:190,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    - '[org.xnio.conduits.StreamSourceConduit].read(ByteBuffer[],int,int)'
    - '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.IdleTimeoutConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:201,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].read(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.IdleTimeoutConduit:202,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:203,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    - '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
    - '[org.xnio.conduits.StreamSourceConduit].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.IdleTimeoutConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:214,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
      Src: io.undertow.conduits.IdleTimeoutConduit:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.IdleTimeoutConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:220,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
      Src: io.undertow.conduits.IdleTimeoutConduit:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].handleIdleTimeout()'
    - '[org.xnio.conduits.StreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.IdleTimeoutConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].suspendReads()'
      Src: io.undertow.conduits.IdleTimeoutConduit:226,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].isWriteResumed()'
      Src: io.undertow.conduits.IdleTimeoutConduit:228,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.conduits.IdleTimeoutConduit].isWriteResumed()'
    - '[org.xnio.conduits.StreamSourceConduit].suspendReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].terminateReads()'
      Src: io.undertow.conduits.IdleTimeoutConduit:236,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:237,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[org.xnio.conduits.StreamSourceConduit].terminateReads()'
    - '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].isReadShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.IdleTimeoutConduit].isReadShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].resumeReads()'
      Src: io.undertow.conduits.IdleTimeoutConduit:252,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].resumeReads()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].isReadResumed()'
      Src: io.undertow.conduits.IdleTimeoutConduit:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].isReadResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.IdleTimeoutConduit].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].wakeupReads()'
      Src: io.undertow.conduits.IdleTimeoutConduit:263,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
    - '[org.xnio.conduits.StreamSourceConduit].wakeupReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].awaitReadable()'
      Src: io.undertow.conduits.IdleTimeoutConduit:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].awaitReadable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.conduits.IdleTimeoutConduit:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].getReadThread()'
      Src: io.undertow.conduits.IdleTimeoutConduit:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].getReadThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].getReadThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.conduits.IdleTimeoutConduit].getReadThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
      Src: io.undertow.conduits.IdleTimeoutConduit:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ReadReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - org.xnio.conduits.ReadReadyHandler
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSourceConduit].terminateReads()'
      Src: io.undertow.conduits.IdleTimeoutConduit:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - sink
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].safeClose(org.xnio.conduits.StreamSourceConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].terminateReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].safeClose(org.xnio.conduits.StreamSourceConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].truncateWrites()'
      Src: io.undertow.conduits.IdleTimeoutConduit:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - sink
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].safeClose(org.xnio.conduits.StreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].truncateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].safeClose(org.xnio.conduits.StreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].terminateWrites()'
      Src: io.undertow.conduits.IdleTimeoutConduit:303,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:304,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[org.xnio.conduits.StreamSinkConduit].terminateWrites()'
    - '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].isWriteShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].isWriteShutdown()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.IdleTimeoutConduit].isWriteShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
      Src: io.undertow.conduits.IdleTimeoutConduit:319,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].suspendWrites()'
      Src: io.undertow.conduits.IdleTimeoutConduit:325,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].isReadResumed()'
      Src: io.undertow.conduits.IdleTimeoutConduit:327,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[org.xnio.conduits.StreamSinkConduit].suspendWrites()'
    - '[io.undertow.conduits.IdleTimeoutConduit].isReadResumed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].wakeupWrites()'
      Src: io.undertow.conduits.IdleTimeoutConduit:336,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].wakeupWrites()'
    - '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].getIdleTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:341,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.IdleTimeoutConduit:345,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:349,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,long,io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.conduits.IdleTimeoutConduit:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 357
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 5
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - System.currentTimeMillis()
    - '[io.undertow.conduits.IdleTimeoutConduit].getIdleTimeout()'
    - '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,long,io.undertow.conduits.IdleTimeoutConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].isWriteResumed()'
      Src: io.undertow.conduits.IdleTimeoutConduit:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].isWriteResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.IdleTimeoutConduit].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
      Src: io.undertow.conduits.IdleTimeoutConduit:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
      Src: io.undertow.conduits.IdleTimeoutConduit:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].getWriteThread()'
      Src: io.undertow.conduits.IdleTimeoutConduit:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].getWriteThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].getWriteThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.conduits.IdleTimeoutConduit].getWriteThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
      Src: io.undertow.conduits.IdleTimeoutConduit:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.WriteReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - org.xnio.conduits.WriteReadyHandler
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].truncateWrites()'
      Src: io.undertow.conduits.IdleTimeoutConduit:387,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
      Src: io.undertow.conduits.IdleTimeoutConduit:388,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.IdleTimeoutConduit:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[org.xnio.conduits.StreamSourceConduit].isReadShutdown()'
    - '[org.xnio.conduits.StreamSinkConduit].truncateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].flush()'
      Src: io.undertow.conduits.IdleTimeoutConduit:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].flush()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.IdleTimeoutConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkConduit].getWorker()'
      Src: io.undertow.conduits.IdleTimeoutConduit:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.conduits.IdleTimeoutConduit].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].getIdleTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.IdleTimeoutConduit].getIdleTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.IdleTimeoutConduit:414,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].isReadResumed()'
      Src: io.undertow.conduits.IdleTimeoutConduit:415,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].isWriteResumed()'
      Src: io.undertow.conduits.IdleTimeoutConduit:415,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
      Src: io.undertow.conduits.IdleTimeoutConduit:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioExecutor.Key
      - long
      - long
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.WriteReadyHandler
      - org.xnio.conduits.ReadReadyHandler
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - idleTimeout
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: '[io.undertow.conduits.IdleTimeoutConduit].setIdleTimeout(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/IdleTimeoutConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].handleResumeTimeout()'
    - '[io.undertow.conduits.IdleTimeoutConduit].isWriteResumed()'
    - '[io.undertow.conduits.IdleTimeoutConduit].isReadResumed()'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.IdleTimeoutConduit].setIdleTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>,boolean)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.HeadStreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - finishListener
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.HeadStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>,boolean)'
    linkageType: ''
    returnType: io.undertow.conduits.HeadStreamSinkConduit
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.HeadStreamSinkConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - finishListener
    - shutdownDelegate
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
    - boolean
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.HeadStreamSinkConduit
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:76,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:77,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:79,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:80,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.HeadStreamSinkConduit)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.nio.ByteBuffer].position(io.undertow.conduits.HeadStreamSinkConduit)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:85,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:86,1
    - Dst: src.remaining()
      Src: io.undertow.conduits.HeadStreamSinkConduit:91,1
    - Dst: src.position()
      Src: io.undertow.conduits.HeadStreamSinkConduit:93,1
    - Dst: src.position(io.undertow.conduits.HeadStreamSinkConduit)
      Src: io.undertow.conduits.HeadStreamSinkConduit:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - src.position()
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - src.position(io.undertow.conduits.HeadStreamSinkConduit)
    - src.remaining()
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:110,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:111,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:113,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:118,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:119,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:121,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:126,1
    - Dst: next.flush()
      Src: io.undertow.conduits.HeadStreamSinkConduit:131,1
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].exitFlush(io.undertow.conduits.HeadStreamSinkConduit,io.undertow.conduits.HeadStreamSinkConduit)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.flush()
    - '[io.undertow.conduits.HeadStreamSinkConduit].exitFlush(io.undertow.conduits.HeadStreamSinkConduit,io.undertow.conduits.HeadStreamSinkConduit)'
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:139,1
    - Dst: next.suspendWrites()
      Src: io.undertow.conduits.HeadStreamSinkConduit:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.suspendWrites()
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:147,1
    - Dst: next.resumeWrites()
      Src: io.undertow.conduits.HeadStreamSinkConduit:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.resumeWrites()
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:155,1
    - Dst: next.isWriteResumed()
      Src: io.undertow.conduits.HeadStreamSinkConduit:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.HeadStreamSinkConduit].allAreClear(int,int)'
    - next.isWriteResumed()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:160,1
    - Dst: next.wakeupWrites()
      Src: io.undertow.conduits.HeadStreamSinkConduit:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.wakeupWrites()
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,io.undertow.conduits.HeadStreamSinkConduit)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:169,1
    - Dst: next.terminateWrites()
      Src: io.undertow.conduits.HeadStreamSinkConduit:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(io.undertow.conduits.HeadStreamSinkConduit,io.undertow.conduits.HeadStreamSinkConduit)'
    - next.terminateWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:183,1
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.HeadStreamSinkConduit:185,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>].handleEvent()'
      Src: io.undertow.conduits.HeadStreamSinkConduit:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>
      - int
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - oldVal
    - flushed
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: '[io.undertow.conduits.HeadStreamSinkConduit].exitFlush(int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/HeadStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ConduitListener<?superHeadStreamSinkConduit>].handleEvent()'
    - '[io.undertow.conduits.HeadStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.HeadStreamSinkConduit].exitFlush(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].longBitMask(int,int)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:59,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:70,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:72,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - long
      - boolean
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - contentLength
    - configurable
    - propagateClose
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - long
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,long,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].longBitMask(int,int)'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,long,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - contentLength
    - propagateClose
    argTypes:
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].reset(long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].reset(long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:92,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:95,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:96,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:98,1
    - Dst: '[org.xnio.channels.FixedLengthOverflowException].<init>()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:100,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:101,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:102,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:106,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:111,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 114
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 114
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.nio.ByteBuffer].remaining()'
    - next.write(java.nio.ByteBuffer)
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    - '[java.nio.ByteBuffer].limit(int)'
    - '[org.xnio.channels.FixedLengthOverflowException].<init>()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].write()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:120,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:124,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:125,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:127,1
    - Dst: '[org.xnio.channels.FixedLengthOverflowException].<init>()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:129,1
    - Dst: srcs[i].limit()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:136,1
    - Dst: srcs[i].remaining()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:137,1
    - Dst: srcs[i].limit(int)
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:141,1
    - Dst: next.write(ByteBuffer[],int,int)
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:148,1
    - Dst: srcs[i].limit()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:155,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:158,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 160
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].write()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
    - srcs[i].limit()
    - srcs[i].limit(int)
    - next.write(ByteBuffer[],int,int)
    - srcs[i].remaining()
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
    - '[org.xnio.channels.FixedLengthOverflowException].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:185,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:186,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreClear(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:188,1
    - Dst: '[org.xnio.channels.FixedLengthOverflowException].<init>()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:189,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].min(long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:193,1
    - Dst: next.transferFrom(java.nio.channels.FileChannel,long,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:193,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].min(long)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
    - next.transferFrom(java.nio.channels.FileChannel,long,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreClear(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    - '[org.xnio.channels.FixedLengthOverflowException].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:205,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:206,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreClear(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:208,1
    - Dst: '[org.xnio.channels.FixedLengthOverflowException].<init>()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:209,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].min(long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:213,1
    - Dst: next.transferFrom(org.xnio.channels.StreamSourceChannel,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,java.nio.ByteBuffer)
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:213,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].min(long)'
    - next.transferFrom(org.xnio.channels.StreamSourceChannel,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,java.nio.ByteBuffer)
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreClear(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    - '[org.xnio.channels.FixedLengthOverflowException].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:224,1
    - Dst: next.flush()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:229,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitFlush(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitFlush(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
    - next.flush()
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreClear(long,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:240,1
    - Dst: next.isWriteResumed()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.isWriteResumed()
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreClear(long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:245,1
    - Dst: next.wakeupWrites()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.wakeupWrites()
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].enterShutdown()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:252,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(long,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:253,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].debugf(String,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:254,1
    - Dst: next.truncateWrites()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:256,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(long,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:258,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].channelFinished()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:260,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(int,int)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:263,1
    - Dst: next.terminateWrites()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 267
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].debugf(String,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(long,long)'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].channelFinished()'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].enterShutdown()'
    - next.truncateWrites()
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].allAreSet(int,int)'
    - next.terminateWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(long,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:272,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].channelFinished()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:274,1
    - Dst: '[Object].truncateWrites()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].channelFinished()'
    - '[Object].truncateWrites()'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(long,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.awaitWritable()
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.awaitWritable()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.awaitWritable(long,java.util.concurrent.TimeUnit)
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.awaitWritable(long,java.util.concurrent.TimeUnit)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].getRemaining()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].getRemaining()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - oldVal
    - consumed
    argTypes:
    - long
    - long
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitWrite(long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(long,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:307,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(long,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:310,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].channelFinished()'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - oldVal
    - flushed
    argTypes:
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitFlush(long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].channelFinished()'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(long,long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].exitFlush(long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].channelFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].channelFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:327,1
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
      Src: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - long
      - boolean
      - int
      - int
      - long
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 338
    functionName: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].enterShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFixedLengthStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,io.undertow.conduits.AbstractFixedLengthStreamSinkConduit)'
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].anyAreSet(io.undertow.conduits.AbstractFixedLengthStreamSinkConduit,long)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].enterShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:50,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceInflaterPool()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:69,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceWrappingInflaterPool()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:69,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSourceConduit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.InflatingStreamSourceConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - next
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSourceConduit
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceWrappingInflaterPool()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceInflaterPool()'
    linkageType: ''
    returnType: io.undertow.conduits.InflatingStreamSourceConduit
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:50,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceWrappingInflaterPool()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:76,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.InflatingStreamSourceConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - next
    - inflaterPool
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.util.ObjectPool<java.util.zip.Inflater>
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceWrappingInflaterPool()'
    linkageType: ''
    returnType: io.undertow.conduits.InflatingStreamSourceConduit
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:50,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.InflatingStreamSourceConduit
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - exchange
    - next
    - inflaterPool
    - inflaterWrappingPool
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.util.ObjectPool<java.util.zip.Inflater>
    - io.undertow.util.ObjectPool<java.util.zip.Inflater>
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.InflatingStreamSourceConduit
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NewInstanceObjectPool].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ObjectPool<java.util.zip.Inflater>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceInflaterPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.NewInstanceObjectPool].<init>()'
    linkageType: ''
    returnType: io.undertow.util.ObjectPool<java.util.zip.Inflater>
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceInflaterPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SimpleObjectPool].<init>(int)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ObjectPool<java.util.zip.Inflater>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - poolSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].simpleInflaterPool(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SimpleObjectPool].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.ObjectPool<java.util.zip.Inflater>
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].simpleInflaterPool(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NewInstanceObjectPool].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ObjectPool<java.util.zip.Inflater>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceWrappingInflaterPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.NewInstanceObjectPool].<init>()'
    linkageType: ''
    returnType: io.undertow.util.ObjectPool<java.util.zip.Inflater>
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].newInstanceWrappingInflaterPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SimpleObjectPool].<init>(int)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ObjectPool<java.util.zip.Inflater>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - poolSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].simpleWrappingInflaterPool(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SimpleObjectPool].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.ObjectPool<java.util.zip.Inflater>
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].simpleWrappingInflaterPool(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].isReadShutdown()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:123,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:124,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:127,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:127,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:128,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:128,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:129,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:136,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:136,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:136,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:136,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:137,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.conduits.InflatingStreamSourceConduit:138,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:141,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:144,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:148,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].readHeader(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:150,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].initializeInflater(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:153,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:154,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:154,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:154,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:154,1
    - Dst: '[java.util.zip.Inflater].setInput(io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:154,1
    - Dst: '[java.util.zip.Inflater].needsInput()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:157,1
    - Dst: '[java.util.zip.Inflater].finished()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:157,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].unexpectedEndOfCompressedInput()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:158,1
    - Dst: '[java.util.zip.Inflater].finished()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:159,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].done()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:160,1
    - Dst: '[java.util.zip.Inflater].finished()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:162,1
    - Dst: '[java.util.zip.Inflater].getRemaining()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:163,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:164,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:165,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.InflatingStreamSourceConduit)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:165,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].readFooter(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:166,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:169,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.conduits.InflatingStreamSourceConduit:170,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:171,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].done()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:173,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].readFooter(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:177,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:180,1
    - Dst: '[RuntimeException].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:184,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:186,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:186,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:186,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:186,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:188,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:188,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:188,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:188,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:188,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:188,1
    - Dst: '[java.util.zip.Inflater].inflate(io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:188,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:189,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.InflatingStreamSourceConduit)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:189,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:190,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:190,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:190,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:190,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].dataDeflated(io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:190,1
    - Dst: '[java.util.zip.Inflater].needsInput()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:191,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:192,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:195,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:195,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:196,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:196,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:197,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].done()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:204,1
    - Dst: '[java.io.IOException].<init>(io.undertow.conduits.InflatingStreamSourceConduit)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:205,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 106
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 208
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 208
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].done()'
    - '[java.util.zip.Inflater].inflate(io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit)'
    - '[java.nio.ByteBuffer].array()'
    - '[java.util.zip.Inflater].setInput(io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit)'
    - '[java.nio.ByteBuffer].arrayOffset()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.util.zip.Inflater].finished()'
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].readFooter(java.nio.ByteBuffer)'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].unexpectedEndOfCompressedInput()'
    - '[java.util.zip.Inflater].getRemaining()'
    - '[java.nio.ByteBuffer].position(io.undertow.conduits.InflatingStreamSourceConduit)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[RuntimeException].<init>()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].isReadShutdown()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    - '[java.io.IOException].<init>(io.undertow.conduits.InflatingStreamSourceConduit)'
    - '[java.nio.ByteBuffer].limit()'
    - '[java.util.zip.Inflater].needsInput()'
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].initializeInflater(java.nio.ByteBuffer)'
    - next.read(java.nio.ByteBuffer)
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].readHeader(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].dataDeflated(io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit,io.undertow.conduits.InflatingStreamSourceConduit)'
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.InflatingStreamSourceConduit)'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].isZlibHeaderPresent(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:214,1
    - Dst: '[io.undertow.util.ObjectPool<java.util.zip.Inflater>].allocate()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:215,1
    - Dst: '[io.undertow.util.ObjectPool<java.util.zip.Inflater>].allocate()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:217,1
    - Dst: '[io.undertow.util.PooledObject<java.util.zip.Inflater>].getObject()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].initializeInflater(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PooledObject<java.util.zip.Inflater>].getObject()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].isZlibHeaderPresent(java.nio.ByteBuffer)'
    - '[io.undertow.util.ObjectPool<java.util.zip.Inflater>].allocate()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].initializeInflater(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:224,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].bufferUnderflow(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:225,1
    - Dst: '[java.nio.ByteBuffer].mark()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:239,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:240,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:241,1
    - Dst: '[java.nio.ByteBuffer].reset()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].isZlibHeaderPresent(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].reset()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].bufferUnderflow(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].mark()'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].isZlibHeaderPresent(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].readFooter(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].readFooter(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].readHeader(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].readHeader(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].dataDeflated(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].dataDeflated(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:260,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:263,1
    - Dst: '[io.undertow.util.PooledObject<java.util.zip.Inflater>].close()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].done()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.util.PooledObject<java.util.zip.Inflater>].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].done()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:274,1
    - Dst: '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:274,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:276,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:284,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:284,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:286,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsts[i].hasRemaining()
      Src: io.undertow.conduits.InflatingStreamSourceConduit:295,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].read()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.InflatingStreamSourceConduit].read()'
    - dsts[i].hasRemaining()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].done()'
      Src: io.undertow.conduits.InflatingStreamSourceConduit:304,1
    - Dst: next.terminateReads()
      Src: io.undertow.conduits.InflatingStreamSourceConduit:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - java.util.zip.Inflater
      - io.undertow.util.PooledObject<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      - io.undertow.server.HttpServerExchange
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: '[io.undertow.conduits.InflatingStreamSourceConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/InflatingStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.InflatingStreamSourceConduit].done()'
    - next.terminateReads()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.InflatingStreamSourceConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - long
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.RangeStreamSinkConduit
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - start
    - end
    - originalResponseLength
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - long
    - long
    - long
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: '[io.undertow.conduits.RangeStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,long,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RangeStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.RangeStreamSinkConduit
    signature: '[io.undertow.conduits.RangeStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,long,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:54,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:55,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:55,1
    - Dst: Math.min(io.undertow.conduits.RangeStreamSinkConduit,io.undertow.conduits.RangeStreamSinkConduit)
      Src: io.undertow.conduits.RangeStreamSinkConduit:55,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:55,1
    - Dst: '[Object].write(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:59,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:62,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.RangeStreamSinkConduit)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:64,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:65,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:66,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:69,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.RangeStreamSinkConduit)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:69,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.RangeStreamSinkConduit)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:72,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:77,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:78,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:80,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.conduits.RangeStreamSinkConduit)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:80,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:84,1
    - Dst: '[io.undertow.conduits.RangeStreamSinkConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 88
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 88
    functionName: '[io.undertow.conduits.RangeStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RangeStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[Object].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].position(int)'
    - '[java.nio.ByteBuffer].position(io.undertow.conduits.RangeStreamSinkConduit)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.conduits.RangeStreamSinkConduit].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - Math.min(io.undertow.conduits.RangeStreamSinkConduit,io.undertow.conduits.RangeStreamSinkConduit)
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.RangeStreamSinkConduit)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].limit(int)'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.RangeStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf.remaining()
      Src: io.undertow.conduits.RangeStreamSinkConduit:96,1
    - Dst: '[io.undertow.conduits.RangeStreamSinkConduit].write(io.undertow.conduits.RangeStreamSinkConduit)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:97,1
    - Dst: buf.hasRemaining()
      Src: io.undertow.conduits.RangeStreamSinkConduit:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: '[io.undertow.conduits.RangeStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RangeStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - buf.hasRemaining()
    - buf.remaining()
    - '[io.undertow.conduits.RangeStreamSinkConduit].write(io.undertow.conduits.RangeStreamSinkConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.RangeStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:109,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.conduits.RangeStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RangeStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.RangeStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.RangeStreamSinkConduit:114,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.conduits.RangeStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RangeStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.RangeStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.conduits.RangeStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RangeStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.RangeStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.RangeStreamSinkConduit:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.conduits.RangeStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/RangeStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.RangeStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:51,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.AbstractFramedStreamSinkConduit
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayDeque].<init>()'
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.AbstractFramedStreamSinkConduit
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Buffers].remaining(io.undertow.conduits.AbstractFramedStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:82,1
    - Dst: '[Frame].<init>(FrameCallBack,io.undertow.conduits.AbstractFramedStreamSinkConduit,int,io.undertow.conduits.AbstractFramedStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:84,1
    - Dst: '[java.util.Deque<Frame>].add(Frame)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - FrameCallBack
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - FrameCallBack
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].queueFrame(FrameCallBack)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Buffers].remaining(io.undertow.conduits.AbstractFramedStreamSinkConduit)'
    - '[Frame].<init>(FrameCallBack,io.undertow.conduits.AbstractFramedStreamSinkConduit,int,io.undertow.conduits.AbstractFramedStreamSinkConduit)'
    - '[java.util.Deque<Frame>].add(Frame)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].queueFrame(FrameCallBack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:88,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:92,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:97,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].channelIsClosed()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:98,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doWrite(int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].channelIsClosed()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doWrite(int,int)'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:105,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].channelIsClosed()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:106,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doWrite(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].channelIsClosed()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doWrite(ByteBuffer[],int,int)'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.write(io.undertow.conduits.AbstractFramedStreamSinkConduit,int,io.undertow.conduits.AbstractFramedStreamSinkConduit)
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:137,1
    - Dst: '[java.util.Deque<Frame>].peek()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:144,1
    - Dst: '[java.util.Deque<Frame>].poll()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:150,1
    - Dst: cb.done()
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:155,1
    - Dst: '[java.util.Deque<Frame>].peek()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:160,1
    - Dst: '[java.io.IOException].<init>(io.undertow.conduits.AbstractFramedStreamSinkConduit)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:165,1
    - Dst: cb.failed(io.undertow.conduits.AbstractFramedStreamSinkConduit)
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:171,1
    - Dst: '[java.util.Deque<Frame>].clear()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:174,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - additionalData
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 181
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doWrite(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[java.io.IOException].<init>(io.undertow.conduits.AbstractFramedStreamSinkConduit)'
    - '[java.util.Deque<Frame>].clear()'
    - '[java.util.Deque<Frame>].poll()'
    - '[java.util.Deque<Frame>].peek()'
    - next.write(io.undertow.conduits.AbstractFramedStreamSinkConduit,int,io.undertow.conduits.AbstractFramedStreamSinkConduit)
    - cb.done()
    - cb.failed(io.undertow.conduits.AbstractFramedStreamSinkConduit)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doWrite(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].queuedDataLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].queuedDataLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:190,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].queueCloseFrames()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:193,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doTerminateWrites()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:197,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].finished()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doTerminateWrites()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].queueCloseFrames()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].finished()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.terminateWrites()
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doTerminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - next.terminateWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doTerminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doWrite(null,int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:208,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:213,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:213,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doTerminateWrites()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:214,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].finished()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:216,1
    - Dst: next.flush()
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].flushQueuedData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doTerminateWrites()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].finished()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].allAreClear(int,int)'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].doWrite(null,int,int)'
    - next.flush()
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].flushQueuedData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].channelIsClosed()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:226,1
    - Dst: cb.failed(io.undertow.conduits.AbstractFramedStreamSinkConduit)
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].channelIsClosed()'
    - cb.failed(io.undertow.conduits.AbstractFramedStreamSinkConduit)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].isWritesTerminated()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].isWritesTerminated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].queueCloseFrames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].queueCloseFrames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Deque<Frame>
      - long
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].finished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].finished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].done()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].done()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit.Frame:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - FrameCallBack
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - FrameCallBack
      - ByteBuffer[]
      - int
      - int
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.AbstractFramedStreamSinkConduit.Frame
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - callback
    - data
    - offs
    - len
    argTypes:
    - FrameCallBack
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.Frame].<init>(FrameCallBack,ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: io.undertow.conduits.AbstractFramedStreamSinkConduit.Frame
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.Frame].<init>(FrameCallBack,ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameCallBack
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback].<init>(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback].<init>(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameCallBack
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback].done()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback].done()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameCallBack
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBufferFrameCallback].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameCallBack
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer.close()
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameCallBack
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback].done()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - buffer.close()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback].done()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback].done()'
      Src: io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameCallBack
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/AbstractFramedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback].done()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.PooledBuffersFrameCallback].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - T
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.conduits.BytesCounter].increment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesCounter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.BytesCounter].increment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - T
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[io.undertow.conduits.BytesCounter].add(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesCounter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.BytesCounter].add(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.BytesCounter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.conduits.BytesCounter].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesCounter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.BytesCounter
    signature: '[io.undertow.conduits.BytesCounter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.CRC32].<init>()'
      Src: io.undertow.conduits.GzipStreamSinkConduit:56,1
    - Dst: '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.conduits.GzipStreamSinkConduit)'
      Src: io.undertow.conduits.GzipStreamSinkConduit:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - java.util.zip.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.GzipStreamSinkConduit
      static: false
      superClass: io.undertow.conduits.DeflatingStreamSinkConduit
    argCount: 2
    argNames:
    - conduitFactory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.CRC32].<init>()'
    - '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.conduits.GzipStreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.GzipStreamSinkConduit
    signature: '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.CRC32].<init>()'
      Src: io.undertow.conduits.GzipStreamSinkConduit:56,1
    - Dst: '[io.undertow.conduits.GzipStreamSinkConduit].newInstanceDeflaterPool(int)'
      Src: io.undertow.conduits.GzipStreamSinkConduit:66,1
    - Dst: '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.conduits.GzipStreamSinkConduit)'
      Src: io.undertow.conduits.GzipStreamSinkConduit:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - java.util.zip.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.GzipStreamSinkConduit
      static: false
      superClass: io.undertow.conduits.DeflatingStreamSinkConduit
    argCount: 3
    argNames:
    - conduitFactory
    - exchange
    - deflateLevel
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.CRC32].<init>()'
    - '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.conduits.GzipStreamSinkConduit)'
    - '[io.undertow.conduits.GzipStreamSinkConduit].newInstanceDeflaterPool(int)'
    linkageType: ''
    returnType: io.undertow.conduits.GzipStreamSinkConduit
    signature: '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.CRC32].<init>()'
      Src: io.undertow.conduits.GzipStreamSinkConduit:56,1
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.util.ObjectPool)'
      Src: io.undertow.conduits.GzipStreamSinkConduit:73,1
    - Dst: '[io.undertow.conduits.GzipStreamSinkConduit].writeHeader()'
      Src: io.undertow.conduits.GzipStreamSinkConduit:74,1
    - Dst: '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange,io.undertow.conduits.GzipStreamSinkConduit)'
      Src: io.undertow.conduits.GzipStreamSinkConduit:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      - io.undertow.util.ObjectPool
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - java.util.zip.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.GzipStreamSinkConduit
      static: false
      superClass: io.undertow.conduits.DeflatingStreamSinkConduit
    argCount: 3
    argNames:
    - conduitFactory
    - exchange
    - deflaterPool
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    - io.undertow.util.ObjectPool
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.util.ObjectPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.CRC32].<init>()'
    - '[io.undertow.conduits.GzipStreamSinkConduit].writeHeader()'
    - '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange,io.undertow.conduits.GzipStreamSinkConduit)'
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.util.ObjectPool)'
    linkageType: ''
    returnType: io.undertow.conduits.GzipStreamSinkConduit
    signature: '[io.undertow.conduits.GzipStreamSinkConduit].<init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange,io.undertow.util.ObjectPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: currentBuffer.getBuffer()
      Src: io.undertow.conduits.GzipStreamSinkConduit:79,1
    - Dst: '[io.undertow.conduits.GzipStreamSinkConduit].put(byte[])'
      Src: io.undertow.conduits.GzipStreamSinkConduit:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - java.util.zip.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.DeflatingStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[io.undertow.conduits.GzipStreamSinkConduit].writeHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.GzipStreamSinkConduit].put(byte[])'
    - currentBuffer.getBuffer()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.GzipStreamSinkConduit].writeHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.CRC32].update(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.GzipStreamSinkConduit:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - java.util.zip.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.DeflatingStreamSinkConduit
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.conduits.GzipStreamSinkConduit].postDeflate(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.CRC32].update(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.GzipStreamSinkConduit].postDeflate(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.CRC32].getValue()'
      Src: io.undertow.conduits.GzipStreamSinkConduit:90,1
    - Dst: deflater.getTotalIn()
      Src: io.undertow.conduits.GzipStreamSinkConduit:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - java.util.zip.CRC32
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: io.undertow.conduits.DeflatingStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: '[io.undertow.conduits.GzipStreamSinkConduit].getTrailer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - deflater.getTotalIn()
    - '[java.util.zip.CRC32].getValue()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.conduits.GzipStreamSinkConduit].getTrailer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:60,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:99,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:102,1
    - Dst: '[ReadReadyHandler.ChannelListenerHandler].<init>(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:102,1
    - Dst: '[org.xnio.conduits.ReadReadyHandler].<init>()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:103,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ReadTimeoutStreamSourceConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - delegate
    - connection
    - openListener
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - org.xnio.StreamConnection
    - io.undertow.server.OpenListener
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,org.xnio.StreamConnection,io.undertow.server.OpenListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    - '[org.xnio.conduits.ReadReadyHandler].<init>()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[ReadReadyHandler.ChannelListenerHandler].<init>(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[org.xnio.conduits.StreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.ReadTimeoutStreamSourceConduit
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,org.xnio.StreamConnection,io.undertow.server.OpenListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].isOpen()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:124,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:125,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:129,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getTimeout()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:132,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:136,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:140,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].readTimedOut(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:141,1
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:148,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].executeAfter(Runnable,Integer,io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ret
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 152
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 152
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].executeAfter(Runnable,Integer,io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[org.xnio.StreamConnection].isOpen()'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getTimeout()'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].readTimedOut(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
    - System.currentTimeMillis()
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:156,1
    - Dst: '[Object].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:157,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[Object].transferTo(long,long,java.nio.channels.FileChannel)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:164,1
    - Dst: '[Object].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:165,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:172,1
    - Dst: '[Object].read(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:173,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].read(ByteBuffer[],int,int)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:180,1
    - Dst: '[Object].read(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:181,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
    - '[Object].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:188,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getTimeout()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:189,1
    - Dst: '[Object].awaitReadable(io.undertow.conduits.ReadTimeoutStreamSourceConduit,io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:191,1
    - Dst: '[Object].awaitReadable()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].awaitReadable()'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getTimeout()'
    - '[Object].awaitReadable(io.undertow.conduits.ReadTimeoutStreamSourceConduit,io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:199,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getTimeout()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:200,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:202,1
    - Dst: '[Object].awaitReadable(io.undertow.conduits.ReadTimeoutStreamSourceConduit,io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:203,1
    - Dst: '[Object].awaitReadable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].awaitReadable(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getTimeout()'
    - '[Object].awaitReadable(io.undertow.conduits.ReadTimeoutStreamSourceConduit,io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:212,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getOption(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:212,1
    - Dst: '[io.undertow.server.OpenListener].getUndertowOptions()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:216,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:216,1
    - Dst: Math.min(io.undertow.conduits.ReadTimeoutStreamSourceConduit,io.undertow.conduits.ReadTimeoutStreamSourceConduit)
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:220,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getOption(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - Math.min(io.undertow.conduits.ReadTimeoutStreamSourceConduit,io.undertow.conduits.ReadTimeoutStreamSourceConduit)
    - '[io.undertow.server.OpenListener].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].getTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].resumeReads()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:227,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(int)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].handleReadTimeout(int)'
    - '[Object].resumeReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:239,1
    - Dst: '[Object].terminateReads()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:240,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].terminateReads()'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 3
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].suspendReads()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:258,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].cleanup()'
    - '[Object].suspendReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:265,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].readTimedOut(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - org.xnio.channels.ReadTimeoutException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].readTimedOut(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].checkExpired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].toString()'
      Src: io.undertow.conduits.ReadTimeoutStreamSourceConduit:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      - org.xnio.StreamConnection
      - long
      - io.undertow.server.OpenListener
      - int
      - boolean
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ReadTimeoutStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.FinishableStreamSourceConduit:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.FinishableStreamSourceConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - finishListener
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.conduits.FinishableStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.FinishableStreamSourceConduit
    signature: '[io.undertow.conduits.FinishableStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.transferTo(long,long,java.nio.channels.FileChannel)
      Src: io.undertow.conduits.FinishableStreamSourceConduit:48,1
    - Dst: '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(io.undertow.conduits.FinishableStreamSourceConduit)'
      Src: io.undertow.conduits.FinishableStreamSourceConduit:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: '[io.undertow.conduits.FinishableStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(io.undertow.conduits.FinishableStreamSourceConduit)'
    - next.transferTo(long,long,java.nio.channels.FileChannel)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FinishableStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)
      Src: io.undertow.conduits.FinishableStreamSourceConduit:57,1
    - Dst: '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(io.undertow.conduits.FinishableStreamSourceConduit)'
      Src: io.undertow.conduits.FinishableStreamSourceConduit:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: '[io.undertow.conduits.FinishableStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(io.undertow.conduits.FinishableStreamSourceConduit)'
    - next.transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FinishableStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.read(ByteBuffer[],int,int)
      Src: io.undertow.conduits.FinishableStreamSourceConduit:66,1
    - Dst: '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(io.undertow.conduits.FinishableStreamSourceConduit)'
      Src: io.undertow.conduits.FinishableStreamSourceConduit:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: '[io.undertow.conduits.FinishableStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(io.undertow.conduits.FinishableStreamSourceConduit)'
    - next.read(ByteBuffer[],int,int)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.FinishableStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.conduits.FinishableStreamSourceConduit:75,1
    - Dst: '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(io.undertow.conduits.FinishableStreamSourceConduit)'
      Src: io.undertow.conduits.FinishableStreamSourceConduit:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: '[io.undertow.conduits.FinishableStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(io.undertow.conduits.FinishableStreamSourceConduit)'
    - next.read(java.nio.ByteBuffer)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.FinishableStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>].handleEvent()'
      Src: io.undertow.conduits.FinishableStreamSourceConduit:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - consumed
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/FinishableStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ConduitListener<?superFinishableStreamSourceConduit>].handleEvent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.FinishableStreamSourceConduit].exitRead(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:44,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.DebuggingStreamSinkConduit
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.conduits.DebuggingStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.DebuggingStreamSinkConduit
    signature: '[io.undertow.conduits.DebuggingStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:57,1
    - Dst: '[Object].write(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:58,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.conduits.DebuggingStreamSinkConduit)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:62,1
    - Dst: '[java.util.List<byte[]>].add(io.undertow.conduits.DebuggingStreamSinkConduit)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: '[io.undertow.conduits.DebuggingStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].get(io.undertow.conduits.DebuggingStreamSinkConduit)'
    - '[Object].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.util.List<byte[]>].add(io.undertow.conduits.DebuggingStreamSinkConduit)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.DebuggingStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsts[i].hasRemaining()
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:72,1
    - Dst: '[io.undertow.conduits.DebuggingStreamSinkConduit].write()'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: '[io.undertow.conduits.DebuggingStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DebuggingStreamSinkConduit].write()'
    - dsts[i].hasRemaining()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DebuggingStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:81,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.conduits.DebuggingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DebuggingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:86,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.conduits.DebuggingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DebuggingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[io.undertow.conduits.DebuggingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.DebuggingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[io.undertow.conduits.DebuggingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.DebuggingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<byte[]>].size()'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:101,1
    - Dst: System.out.println(String)
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:102,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:103,1
    - Dst: '[java.util.List<byte[]>].get(io.undertow.conduits.DebuggingStreamSinkConduit)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:105,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.conduits.DebuggingStreamSinkConduit)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:105,1
    - Dst: '[org.xnio.Buffers].dump(io.undertow.conduits.DebuggingStreamSinkConduit,StringBuilder,int,int)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:105,1
    - Dst: '[RuntimeException].<init>(io.undertow.conduits.DebuggingStreamSinkConduit)'
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:107,1
    - Dst: System.out.println(StringBuilder)
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:109,1
    - Dst: System.out.println()
      Src: io.undertow.conduits.DebuggingStreamSinkConduit:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<byte[]>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: '[io.undertow.conduits.DebuggingStreamSinkConduit].dump()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/DebuggingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Buffers].dump(io.undertow.conduits.DebuggingStreamSinkConduit,StringBuilder,int,int)'
    - '[java.util.List<byte[]>].size()'
    - '[StringBuilder].<init>()'
    - '[java.util.List<byte[]>].get(io.undertow.conduits.DebuggingStreamSinkConduit)'
    - '[RuntimeException].<init>(io.undertow.conduits.DebuggingStreamSinkConduit)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.conduits.DebuggingStreamSinkConduit)'
    - System.out.println()
    - System.out.println(StringBuilder)
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.DebuggingStreamSinkConduit].dump()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:89,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:117,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:123,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].flip()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.connector.ByteBufferPool
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - io.undertow.util.Attachable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ChunkedStreamSinkConduit
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - next
    - bufferPool
    - configurable
    - passClose
    - responseHeaders
    - finishListener
    - attachable
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.connector.ByteBufferPool
    - boolean
    - boolean
    - io.undertow.util.HeaderMap
    - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
    - io.undertow.util.Attachable
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,boolean,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>,io.undertow.util.Attachable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].flip()'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.conduits.ChunkedStreamSinkConduit
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,boolean,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>,io.undertow.util.Attachable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:133,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:134,1
    - Dst: buf.remaining()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:140,1
    - Dst: srcs[length - 1].limit()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:155,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:157,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:158,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].putIntAsHexString(java.nio.ByteBuffer,io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:159,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:160,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:161,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:162,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:163,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:164,1
    - Dst: buf.remaining()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:171,1
    - Dst: buf.limit()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:174,1
    - Dst: buf.position()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:176,1
    - Dst: buf.limit(io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:176,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:183,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:184,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:186,1
    - Dst: System.arraycopy(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:194,1
    - Dst: next.write(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:196,1
    - Dst: System.arraycopy(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:203,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:204,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:205,1
    - Dst: next.writeFinal(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:206,1
    - Dst: next.write(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:208,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:210,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:213,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:213,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:215,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:218,1
    - Dst: next.write(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:226,1
    - Dst: srcs[length - 1].limit(io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:232,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 234
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 234
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - buf.limit(io.undertow.conduits.ChunkedStreamSinkConduit)
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - buf.position()
    - '[java.nio.ByteBuffer].put(byte[])'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].clear()'
    - buf.limit()
    - next.writeFinal(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - System.arraycopy(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
    - buf.remaining()
    - srcs[length - 1].limit()
    - next.write(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
    - '[org.xnio.Buffers].remaining(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit)'
    - '[java.nio.ByteBuffer].remaining()'
    - srcs[length - 1].limit(io.undertow.conduits.ChunkedStreamSinkConduit)
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].putIntAsHexString(java.nio.ByteBuffer,io.undertow.conduits.ChunkedStreamSinkConduit)'
    - next.write(ByteBuffer[],int,io.undertow.conduits.ChunkedStreamSinkConduit)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:237,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:238,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:240,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:244,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:246,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:247,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:248,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].putIntAsHexString(java.nio.ByteBuffer,io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:248,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:249,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:250,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:251,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:252,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:253,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:255,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:257,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:259,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:259,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:263,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:264,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:266,1
    - Dst: next.write(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:270,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:272,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:273,1
    - Dst: next.writeFinal(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:274,1
    - Dst: next.write(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:276,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:278,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:281,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:281,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:283,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:286,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:294,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:300,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 302
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 302
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - next.writeFinal(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - next.write(io.undertow.conduits.ChunkedStreamSinkConduit,int,io.undertow.conduits.ChunkedStreamSinkConduit)
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].put(byte[])'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.ChunkedStreamSinkConduit)'
    - next.write(java.nio.ByteBuffer)
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].putIntAsHexString(java.nio.ByteBuffer,io.undertow.conduits.ChunkedStreamSinkConduit)'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:306,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:311,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:313,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].invokeFinishListener()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:314,1
    - Dst: '[Object].truncateWrites()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].allAreClear(int,int)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].invokeFinishListener()'
    - '[Object].truncateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:334,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].terminateWrites()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:335,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].createLastChunk(boolean)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:339,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].createLastChunk(boolean)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].terminateWrites()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].doWrite(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:346,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:347,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:349,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:354,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:355,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:357,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:362,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:366,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:367,1
    - Dst: next.flush()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:368,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:369,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].invokeFinishListener()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:370,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:374,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:374,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:375,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:375,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:376,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:377,1
    - Dst: next.terminateWrites()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:378,1
    - Dst: next.flush()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:381,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:382,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].invokeFinishListener()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:383,1
    - Dst: next.flush()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 393
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].allAreClear(int,int)'
    - next.write(java.nio.ByteBuffer)
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - next.flush()
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].invokeFinishListener()'
    - next.terminateWrites()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>].handleEvent()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].invokeFinishListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>].handleEvent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].invokeFinishListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:404,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:407,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:411,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:412,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].flush()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:415,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].ioException(io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:418,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:420,1
    - Dst: next.terminateWrites()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:421,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].createLastChunk(boolean)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:424,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].flush()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:427,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].ioException(io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:430,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].debugf(String)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:434,1
    - Dst: next.truncateWrites()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 437
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].ioException(io.undertow.conduits.ChunkedStreamSinkConduit)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].anyAreSet(int,int)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].createLastChunk(boolean)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].debugf(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - next.truncateWrites()
    - next.terminateWrites()
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:440,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:441,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:443,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:444,1
    - Dst: '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:447,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:449,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:451,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<java.util.function.Supplier<io.undertow.util.HeaderMap>>)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:453,1
    - Dst: '[T].get()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:457,1
    - Dst: '[T].get()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:459,1
    - Dst: k.getHeaderName()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:461,1
    - Dst: '[T].putAll(io.undertow.conduits.ChunkedStreamSinkConduit,io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:461,1
    - Dst: trailers.size()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:467,1
    - Dst: trailer.getHeaderName()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:470,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].appendTo(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:470,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:471,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:472,1
    - Dst: val.getBytes(io.undertow.conduits.ChunkedStreamSinkConduit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:473,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:473,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:474,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:477,1
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:479,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:484,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:485,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:485,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].put(java.nio.ByteBuffer)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:486,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].flip()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:487,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.conduits.ChunkedStreamSinkConduit)'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:488,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:490,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - writeFinal
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 491
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 491
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].createLastChunk(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte[])'
    - '[T].get()'
    - '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[java.nio.ByteBuffer].allocate(io.undertow.conduits.ChunkedStreamSinkConduit)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - k.getHeaderName()
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - trailer.getHeaderName()
    - '[T].putAll(io.undertow.conduits.ChunkedStreamSinkConduit,io.undertow.conduits.ChunkedStreamSinkConduit)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].appendTo(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].put(io.undertow.conduits.ChunkedStreamSinkConduit)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].put(java.nio.ByteBuffer)'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.conduits.ChunkedStreamSinkConduit)'
    - '[java.nio.ByteBuffer].remaining()'
    - trailers.size()
    - val.getBytes(io.undertow.conduits.ChunkedStreamSinkConduit)
    - '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<java.util.function.Supplier<io.undertow.util.HeaderMap>>)'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].createLastChunk(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.awaitWritable()
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.awaitWritable()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.awaitWritable(long,java.util.concurrent.TimeUnit)
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.awaitWritable(long,java.util.concurrent.TimeUnit)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:510,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].put()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:510,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:515,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].put()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:515,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:520,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].put()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:520,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:523,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].put()'
      Src: io.undertow.conduits.ChunkedStreamSinkConduit:523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSinkConduit>
      - int
      - io.undertow.connector.ByteBufferPool
      - byte[]
      - byte[]
      - io.undertow.util.Attachable
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - v
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 525
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 525
    functionName: '[io.undertow.conduits.ChunkedStreamSinkConduit].putIntAsHexString(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].put()'
    - '[java.nio.ByteBuffer].put()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSinkConduit].putIntAsHexString(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.conduits.ByteActivityCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.BytesSentStreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - callback
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.conduits.ByteActivityCallback
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ByteActivityCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesSentStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.BytesSentStreamSinkConduit
    signature: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ByteActivityCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.transferFrom(java.nio.channels.FileChannel,long,long)
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:49,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: '[io.undertow.conduits.BytesSentStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesSentStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - next.transferFrom(java.nio.channels.FileChannel,long,long)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BytesSentStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:58,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: '[io.undertow.conduits.BytesSentStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesSentStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - next.transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BytesSentStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:67,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: '[io.undertow.conduits.BytesSentStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesSentStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - next.write(java.nio.ByteBuffer)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.BytesSentStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.write(ByteBuffer[],int,int)
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:76,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: '[io.undertow.conduits.BytesSentStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesSentStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - next.write(ByteBuffer[],int,int)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BytesSentStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.writeFinal(java.nio.ByteBuffer)
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:85,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: '[io.undertow.conduits.BytesSentStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesSentStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - next.writeFinal(java.nio.ByteBuffer)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.BytesSentStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.writeFinal(ByteBuffer[],int,int)
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:94,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.conduits.BytesSentStreamSinkConduit:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: '[io.undertow.conduits.BytesSentStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/BytesSentStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.writeFinal(ByteBuffer[],int,int)
    - '[io.undertow.conduits.ByteActivityCallback].activity(io.undertow.conduits.BytesSentStreamSinkConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.BytesSentStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:39,1
    - Dst: '[java.util.zip.CRC32].<init>()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:59,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.GzipStreamSourceConduit:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSourceConduit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - int
      - byte[]
      - java.util.zip.CRC32
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.GzipStreamSourceConduit
      static: false
      superClass: io.undertow.conduits.InflatingStreamSourceConduit
    argCount: 2
    argNames:
    - exchange
    - next
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSourceConduit
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.conduits.GzipStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[java.util.zip.CRC32].<init>()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: io.undertow.conduits.GzipStreamSourceConduit
    signature: '[io.undertow.conduits.GzipStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:39,1
    - Dst: '[java.util.zip.CRC32].<init>()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:59,1
    - Dst: '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
      Src: io.undertow.conduits.GzipStreamSourceConduit:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.util.ObjectPool<java.util.zip.Inflater>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - int
      - byte[]
      - java.util.zip.CRC32
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.GzipStreamSourceConduit
      static: false
      superClass: io.undertow.conduits.InflatingStreamSourceConduit
    argCount: 3
    argNames:
    - exchange
    - next
    - inflaterPool
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.util.ObjectPool<java.util.zip.Inflater>
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: '[io.undertow.conduits.GzipStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[java.util.zip.CRC32].<init>()'
    - '[io.undertow.conduits.InflatingStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
    linkageType: ''
    returnType: io.undertow.conduits.GzipStreamSourceConduit
    signature: '[io.undertow.conduits.GzipStreamSourceConduit].<init>(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSourceConduit,io.undertow.util.ObjectPool<java.util.zip.Inflater>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:78,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:79,1
    - Dst: '[io.undertow.conduits.GzipStreamSourceConduit].invalidGzipHeader()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:81,1
    - Dst: '[io.undertow.conduits.GzipStreamSourceConduit].invalidGzipHeader()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - int
      - byte[]
      - java.util.zip.CRC32
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.conduits.InflatingStreamSourceConduit
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: '[io.undertow.conduits.GzipStreamSourceConduit].readHeader(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.conduits.GzipStreamSourceConduit].invalidGzipHeader()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.GzipStreamSourceConduit].readHeader(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.CRC32].getValue()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:93,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:105,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:106,1
    - Dst: '[io.undertow.conduits.GzipStreamSourceConduit].invalidGZIPFooter()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:108,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:112,1
    - Dst: '[io.undertow.conduits.GzipStreamSourceConduit].invalidGZIPFooter()'
      Src: io.undertow.conduits.GzipStreamSourceConduit:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - int
      - byte[]
      - java.util.zip.CRC32
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.InflatingStreamSourceConduit
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 115
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 115
    functionName: '[io.undertow.conduits.GzipStreamSourceConduit].readFooter(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    - '[java.util.zip.CRC32].getValue()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.conduits.GzipStreamSourceConduit].invalidGZIPFooter()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.GzipStreamSourceConduit].readFooter(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.zip.CRC32].update(byte[],int,int)'
      Src: io.undertow.conduits.GzipStreamSourceConduit:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - int
      - byte[]
      - java.util.zip.CRC32
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.InflatingStreamSourceConduit
    argCount: 3
    argNames:
    - data
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.conduits.GzipStreamSourceConduit].dataDeflated(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[java.util.zip.CRC32].update(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.GzipStreamSourceConduit].dataDeflated(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - int
      - byte[]
      - java.util.zip.CRC32
      - int
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.conduits.InflatingStreamSourceConduit
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: '[io.undertow.conduits.GzipStreamSourceConduit].isZlibHeaderPresent(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/GzipStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.GzipStreamSourceConduit].isZlibHeaderPresent(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[BufferWrapper].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:69,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,BufferWrapper,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>,io.undertow.util.Attachable,null,java.io.Closeable,org.xnio.conduits.PushBackStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.PushBackStreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.util.Attachable
      - java.io.Closeable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ChunkedStreamSourceConduit
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - next
    - channel
    - pool
    - finishListener
    - attachable
    - closeable
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - org.xnio.conduits.PushBackStreamSourceConduit
    - io.undertow.connector.ByteBufferPool
    - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
    - io.undertow.util.Attachable
    - java.io.Closeable
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,org.xnio.conduits.PushBackStreamSourceConduit,io.undertow.connector.ByteBufferPool,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>,io.undertow.util.Attachable,java.io.Closeable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,BufferWrapper,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>,io.undertow.util.Attachable,null,java.io.Closeable,org.xnio.conduits.PushBackStreamSourceConduit)'
    - '[BufferWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.ChunkedStreamSourceConduit
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,org.xnio.conduits.PushBackStreamSourceConduit,io.undertow.connector.ByteBufferPool,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>,io.undertow.util.Attachable,java.io.Closeable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[BufferWrapper].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:93,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,BufferWrapper,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>,io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange,io.undertow.server.ServerConnection,null)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ChunkedStreamSourceConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - exchange
    - finishListener
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.server.HttpServerExchange
    - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.HttpServerExchange,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[BufferWrapper].<init>()'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,BufferWrapper,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>,io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange,io.undertow.server.ServerConnection,null)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: io.undertow.conduits.ChunkedStreamSourceConduit
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.HttpServerExchange,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:97,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].getMaxEntitySize(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:100,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].<init>(long)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:100,1
    - Dst: '[io.undertow.conduits.ChunkReader].<init>(io.undertow.util.Attachable,io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.util.Attachable
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - org.xnio.conduits.PushBackStreamSourceConduit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.ChunkedStreamSourceConduit
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - next
    - bufferWrapper
    - finishListener
    - attachable
    - exchange
    - closeable
    - channel
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - BufferWrapper
    - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
    - io.undertow.util.Attachable
    - io.undertow.server.HttpServerExchange
    - java.io.Closeable
    - org.xnio.conduits.PushBackStreamSourceConduit
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,BufferWrapper,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>,io.undertow.util.Attachable,io.undertow.server.HttpServerExchange,java.io.Closeable,org.xnio.conduits.PushBackStreamSourceConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].getMaxEntitySize(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.conduits.ChunkReader].<init>(io.undertow.util.Attachable,io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)'
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].<init>(long)'
    linkageType: ''
    returnType: io.undertow.conduits.ChunkedStreamSourceConduit
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,BufferWrapper,io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>,io.undertow.util.Attachable,io.undertow.server.HttpServerExchange,java.io.Closeable,org.xnio.conduits.PushBackStreamSourceConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:137,1
    - Dst: '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:137,1
    - Dst: '[org.xnio.IoUtils].safeClose(java.io.Closeable)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(java.io.Closeable)'
    - '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].getMaxEntitySize(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].getMaxEntitySize(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:152,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:152,1
    - Dst: '[org.xnio.IoUtils].safeClose(java.io.Closeable)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    - '[org.xnio.IoUtils].safeClose(java.io.Closeable)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsts[i].hasRemaining()
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:162,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].read()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].read()'
    - dsts[i].hasRemaining()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].terminateReads()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:171,1
    - Dst: '[org.xnio.conduits.PushBackStreamSourceConduit].terminateReads()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:173,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].isFinished()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:174,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:175,1
    - Dst: '[Object].terminateReads()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:176,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].chunkedChannelClosedMidChunk()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.PushBackStreamSourceConduit].terminateReads()'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].isFinished()'
    - '[Object].terminateReads()'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].chunkedChannelClosedMidChunk()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:185,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:194,1
    - Dst: '[BufferWrapper].allocate()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:196,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].getBuffer()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:197,1
    - Dst: next.read(io.undertow.conduits.ChunkedStreamSourceConduit)
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:201,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].flip()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:202,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:205,1
    - Dst: '[io.undertow.conduits.ChunkReader].readChunk(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:210,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:212,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:223,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:230,1
    - Dst: Math.min(io.undertow.conduits.ChunkedStreamSourceConduit,long)
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:230,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:231,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].limit()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:234,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].position()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:235,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].limit(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:235,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:236,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].limit(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:237,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:241,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].limit()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:242,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].position()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:243,1
    - Dst: Math.min(io.undertow.conduits.ChunkedStreamSourceConduit,io.undertow.conduits.ChunkedStreamSourceConduit)
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:243,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].limit(int)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:243,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:245,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].limit(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:247,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:256,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:258,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:259,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:263,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:270,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:273,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:282,1
    - Dst: '[io.undertow.conduits.ChunkReader].setChunkRemaining(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:287,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].hasRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:289,1
    - Dst: '[BufferWrapper].pushBack(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:290,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].close()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:292,1
    - Dst: '[org.xnio.IoUtils].safeClose(java.io.Closeable)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:296,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>].handleEvent()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:301,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 82
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 305
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 305
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[BufferWrapper].pushBack(io.undertow.conduits.ChunkedStreamSourceConduit)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].remaining()'
    - Math.min(io.undertow.conduits.ChunkedStreamSourceConduit,long)
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].close()'
    - Math.min(io.undertow.conduits.ChunkedStreamSourceConduit,io.undertow.conduits.ChunkedStreamSourceConduit)
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].getBuffer()'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].flip()'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].limit(io.undertow.conduits.ChunkedStreamSourceConduit)'
    - '[java.nio.ByteBuffer].limit(int)'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].limit(int)'
    - '[java.nio.ByteBuffer].put(io.undertow.conduits.ChunkedStreamSourceConduit)'
    - '[java.nio.ByteBuffer].limit()'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].limit()'
    - '[org.xnio.IoUtils].safeClose(java.io.Closeable)'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].hasRemaining()'
    - next.read(io.undertow.conduits.ChunkedStreamSourceConduit)
    - next.read(java.nio.ByteBuffer)
    - '[BufferWrapper].allocate()'
    - '[io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>].handleEvent()'
    - '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].limit(io.undertow.conduits.ChunkedStreamSourceConduit)'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].position()'
    - '[io.undertow.conduits.ChunkReader].readChunk(io.undertow.conduits.ChunkedStreamSourceConduit)'
    - '[io.undertow.conduits.ChunkReader].setChunkRemaining(io.undertow.conduits.ChunkedStreamSourceConduit)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - BufferWrapper
      - io.undertow.conduits.ConduitListener<?superChunkedStreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      - java.io.Closeable
      - boolean
      - boolean
      - io.undertow.conduits.ChunkReader
      - org.xnio.conduits.PushBackStreamSourceConduit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit].isFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.ChunkReader].getChunkRemaining()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit].isFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxEntitySize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].<init>(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].<init>(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].add(int)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].increment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].add(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].increment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker:123,1
    - Dst: exchange.setPersistent(boolean)
      Src: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker:125,1
    - Dst: finishListener.handleEvent(io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)
      Src: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker:126,1
    - Dst: exchange.getMaxEntitySize()
      Src: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker:127,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].requestEntityWasTooLarge(io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker:127,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].printStackTrace(io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)'
      Src: io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytesRead
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].add(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached:
    - finishListener.handleEvent(io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)
    - '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].printStackTrace(io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)'
    - exchange.setPersistent(boolean)
    - '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].requestEntityWasTooLarge(io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker)'
    - exchange.getMaxEntitySize()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit.MaxEntitySizeChecker].add(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit.BufferWrapper].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit.BufferWrapper].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pooled
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit.BufferWrapper].pushBack(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit.BufferWrapper].pushBack(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ChunkedStreamSourceConduit.BufferWrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.conduits.ChunkedStreamSourceConduit.BufferWrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/conduits/ChunkedStreamSourceConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ChunkedStreamSourceConduit.BufferWrapper
    signature: '[io.undertow.conduits.ChunkedStreamSourceConduit.BufferWrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.XnioBufferPoolAdaptor
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBufferPool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.XnioBufferPoolAdaptor].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/XnioBufferPoolAdaptor.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.XnioBufferPoolAdaptor
    signature: '[io.undertow.server.XnioBufferPoolAdaptor].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.XnioBufferPoolAdaptor:43,1
    - Dst: '[org.xnio.Pooled].<init>()'
      Src: io.undertow.server.XnioBufferPoolAdaptor:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.Pooled<java.nio.ByteBuffer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.XnioBufferPoolAdaptor].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/XnioBufferPoolAdaptor.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Pooled].<init>()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    linkageType: ''
    returnType: org.xnio.Pooled<java.nio.ByteBuffer>
    signature: '[io.undertow.server.XnioBufferPoolAdaptor].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List].of()'
      Src: io.undertow.server.RoutingHandler:120,1
    - Dst: '[RoutingMatch].<init>(io.undertow.server.RoutingHandler,null)'
      Src: io.undertow.server.RoutingHandler:120,1
    - Dst: '[RoutingMatchBuilder].<init>()'
      Src: io.undertow.server.RoutingHandler:121,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.RoutingHandler:128,1
    - Dst: '[java.util.Map].of()'
      Src: io.undertow.server.RoutingHandler:147,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.RoutingHandler:148,1
    - Dst: '[io.undertow.server.RoutingHandler].newBuilder(Object)'
      Src: io.undertow.server.RoutingHandler:148,1
    - Dst: '[io.undertow.server.RoutingHandler].build()'
      Src: io.undertow.server.RoutingHandler:148,1
    - Dst: '[Routers].<init>(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rewriteQueryParameters
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.RoutingHandler].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.RoutingHandler].build()'
    - '[java.util.HashMap].<init>()'
    - '[RoutingMatch].<init>(io.undertow.server.RoutingHandler,null)'
    - '[RoutingMatchBuilder].<init>()'
    - '[java.util.Map].of()'
    - '[io.undertow.server.RoutingHandler].newBuilder(Object)'
    - '[Object].<init>()'
    - '[java.util.List].of()'
    - '[Routers].<init>(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List].of()'
      Src: io.undertow.server.RoutingHandler:120,1
    - Dst: '[RoutingMatch].<init>(io.undertow.server.RoutingHandler,null)'
      Src: io.undertow.server.RoutingHandler:120,1
    - Dst: '[RoutingMatchBuilder].<init>()'
      Src: io.undertow.server.RoutingHandler:121,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.RoutingHandler:128,1
    - Dst: '[io.undertow.server.RoutingHandler].<init>(boolean)'
      Src: io.undertow.server.RoutingHandler:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.RoutingHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.HashMap].<init>()'
    - '[RoutingMatch].<init>(io.undertow.server.RoutingHandler,null)'
    - '[io.undertow.server.RoutingHandler].<init>(boolean)'
    - '[RoutingMatchBuilder].<init>()'
    - '[java.util.List].of()'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localFallbackHandler.handleRequest(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.RoutingHandler:159,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.RoutingHandler:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.RoutingHandler].handleFallback(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 3
    functionsReached:
    - localFallbackHandler.handleRequest(io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.handlers.ResponseCodeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RoutingHandler].handleFallback(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localInvalidMethodHandler.handleRequest(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.RoutingHandler:168,1
    - Dst: '[io.undertow.server.RoutingHandler].handleFallback(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.RoutingHandler:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.RoutingHandler].handlInvalidMethod(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - localInvalidMethodHandler.handleRequest(io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.RoutingHandler].handleFallback(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RoutingHandler].handlInvalidMethod(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.RoutingHandler:179,1
    - Dst: routers.allMethodsRouter.route(String)
      Src: io.undertow.server.RoutingHandler:178,1
    - Dst: '[io.undertow.server.RoutingHandler].getPathTemplate()'
      Src: io.undertow.server.RoutingHandler:180,1
    - Dst: '[io.undertow.server.RoutingHandler].isPresent()'
      Src: io.undertow.server.RoutingHandler:180,1
    - Dst: '[io.undertow.server.RoutingHandler].handlInvalidMethod(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.RoutingHandler:181,1
    - Dst: '[io.undertow.server.RoutingHandler].handleFallback(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.RoutingHandler:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Routers
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - routers
    - exchange
    argTypes:
    - Routers
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.RoutingHandler].handleNoMatch(Routers,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].getPathTemplate()'
    - '[io.undertow.server.RoutingHandler].handlInvalidMethod(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.RoutingHandler].isPresent()'
    - routers.allMethodsRouter.route(String)
    - '[io.undertow.server.RoutingHandler].handleFallback(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RoutingHandler].handleNoMatch(Routers,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.RoutingHandler:192,1
    - Dst: localRouters.methodRouters.get(io.undertow.util.HttpString)
      Src: io.undertow.server.RoutingHandler:191,1
    - Dst: '[io.undertow.server.RoutingHandler].handleNoMatch(io.undertow.server.RoutingHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.RoutingHandler:194,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.RoutingHandler:198,1
    - Dst: '[io.undertow.server.RoutingHandler].route(String)'
      Src: io.undertow.server.RoutingHandler:198,1
    - Dst: '[io.undertow.server.RoutingHandler].getPathTemplate()'
      Src: io.undertow.server.RoutingHandler:199,1
    - Dst: '[io.undertow.server.RoutingHandler].isEmpty()'
      Src: io.undertow.server.RoutingHandler:199,1
    - Dst: '[io.undertow.server.RoutingHandler].handleNoMatch(io.undertow.server.RoutingHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.RoutingHandler:200,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:204,1
    - Dst: '[io.undertow.server.RoutingHandler].getParameters()'
      Src: io.undertow.server.RoutingHandler:206,1
    - Dst: '[io.undertow.server.RoutingHandler].entrySet()'
      Src: io.undertow.server.RoutingHandler:206,1
    - Dst: entry.getKey()
      Src: io.undertow.server.RoutingHandler:207,1
    - Dst: entry.getValue()
      Src: io.undertow.server.RoutingHandler:207,1
    - Dst: '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:207,1
    - Dst: '[io.undertow.server.RoutingHandler].getTarget()'
      Src: io.undertow.server.RoutingHandler:211,1
    - Dst: handler.predicate.resolve(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.RoutingHandler:212,1
    - Dst: handler.handler.handleRequest(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.RoutingHandler:213,1
    - Dst: '[io.undertow.server.RoutingHandler].getTarget()'
      Src: io.undertow.server.RoutingHandler:218,1
    - Dst: '[io.undertow.server.RoutingHandler].getTarget()'
      Src: io.undertow.server.RoutingHandler:219,1
    - Dst: '[io.undertow.server.RoutingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.RoutingHandler:219,1
    - Dst: '[io.undertow.server.RoutingHandler].handleFallback(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.RoutingHandler:223,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 224
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.RoutingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - localRouters.methodRouters.get(io.undertow.util.HttpString)
    - '[io.undertow.server.RoutingHandler].isEmpty()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>,io.undertow.server.RoutingHandler)'
    - '[io.undertow.server.RoutingHandler].entrySet()'
    - '[io.undertow.server.RoutingHandler].getPathTemplate()'
    - handler.predicate.resolve(io.undertow.server.HttpServerExchange)
    - entry.getValue()
    - '[io.undertow.server.RoutingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.RoutingHandler].route(String)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - entry.getKey()
    - '[io.undertow.server.RoutingHandler].getParameters()'
    - '[io.undertow.server.RoutingHandler].getTarget()'
    - handler.handler.handleRequest(io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
    - '[io.undertow.server.RoutingHandler].handleNoMatch(io.undertow.server.RoutingHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.RoutingHandler].handleFallback(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.RoutingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.HttpString)'
      Src: io.undertow.server.RoutingHandler:236,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.RoutingHandler:238,1
    - Dst: '[io.undertow.server.RoutingHandler].newBuilder()'
      Src: io.undertow.server.RoutingHandler:240,1
    - Dst: '[io.undertow.server.RoutingHandler].updateDefaultTargetFactory(RoutingMatchBuilder)'
      Src: io.undertow.server.RoutingHandler:240,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].put(io.undertow.util.HttpString,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: '[io.undertow.server.RoutingHandler].getOrAddMethodRouterBuilder(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].updateDefaultTargetFactory(RoutingMatchBuilder)'
    - '[java.util.Objects].requireNonNull(io.undertow.util.HttpString)'
    - '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].put(io.undertow.util.HttpString,io.undertow.server.RoutingHandler)'
    - '[io.undertow.server.RoutingHandler].newBuilder()'
    - '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>
    signature: '[io.undertow.server.RoutingHandler].getOrAddMethodRouterBuilder(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.server.RoutingHandler:259,1
    - Dst: '[io.undertow.server.RoutingHandler].getOrAddMethodRouterBuilder(io.undertow.util.HttpString)'
      Src: io.undertow.server.RoutingHandler:262,1
    - Dst: '[RoutingMatchBuilder].<init>()'
      Src: io.undertow.server.RoutingHandler:264,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,RoutingMatchBuilder)'
      Src: io.undertow.server.RoutingHandler:263,1
    - Dst: '[PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>].getTemplateTarget(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.server.RoutingHandler:267,1
    - Dst: '[PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>].addTemplate(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.server.RoutingHandler:272,1
    - Dst: '[io.undertow.util.PathTemplate<T>].getTarget()'
      Src: io.undertow.server.RoutingHandler:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RoutingMatchBuilder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - template
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 274
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 274
    functionName: '[io.undertow.server.RoutingHandler].getOrAddMethodRoutingMatchBuilder(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String,RoutingMatchBuilder)'
    - '[RoutingMatchBuilder].<init>()'
    - '[PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>].addTemplate(io.undertow.util.PathTemplate<T>)'
    - '[io.undertow.util.PathTemplate<T>].getTarget()'
    - '[io.undertow.server.RoutingHandler].getOrAddMethodRouterBuilder(io.undertow.util.HttpString)'
    - '[PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>].getTemplateTarget(io.undertow.util.PathTemplate<T>)'
    - '[java.util.Objects].requireNonNull(String)'
    linkageType: ''
    returnType: RoutingMatchBuilder
    signature: '[io.undertow.server.RoutingHandler].getOrAddMethodRoutingMatchBuilder(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>(int)'
      Src: io.undertow.server.RoutingHandler:277,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].entrySet()'
      Src: io.undertow.server.RoutingHandler:281,1
    - Dst: entry.getKey()
      Src: io.undertow.server.RoutingHandler:282,1
    - Dst: entry.getValue()
      Src: io.undertow.server.RoutingHandler:282,1
    - Dst: '[io.undertow.server.RoutingHandler].build()'
      Src: io.undertow.server.RoutingHandler:282,1
    - Dst: '[java.util.HashMap].put(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:282,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
      Src: io.undertow.server.RoutingHandler:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: '[io.undertow.server.RoutingHandler].createMethodRouters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].build()'
    - entry.getValue()
    - '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
    - entry.getKey()
    - '[java.util.HashMap].put(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
    - '[java.util.HashMap].<init>(int)'
    - '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].entrySet()'
    linkageType: ''
    returnType: java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>
    signature: '[io.undertow.server.RoutingHandler].createMethodRouters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(PathTemplateRouterFactory.SimpleBuilder<Object>)'
      Src: io.undertow.server.RoutingHandler:299,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.RoutingHandler:304,1
    - Dst: item.getPathTemplate()
      Src: io.undertow.server.RoutingHandler:308,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:309,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.server.RoutingHandler:313,1
    - Dst: '[PathTemplateRouterFactory.SimpleBuilder<Object>].getTemplates()'
      Src: io.undertow.server.RoutingHandler:314,1
    - Dst: '[io.undertow.server.RoutingHandler].containsKey(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.server.RoutingHandler:314,1
    - Dst: '[PathTemplateRouterFactory.SimpleBuilder<Object>].getTemplates()'
      Src: io.undertow.server.RoutingHandler:315,1
    - Dst: '[io.undertow.util.PathTemplate<T>].getTarget()'
      Src: io.undertow.server.RoutingHandler:315,1
    - Dst: '[io.undertow.server.RoutingHandler].put(PathTemplateParser.PathTemplatePatternEqualsAdapter,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplateRouterFactory.SimpleBuilder<Object>
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.function.Consumer<PathTemplateParser.PathTemplate<A>>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - builder
    argTypes:
    - PathTemplateRouterFactory.SimpleBuilder<Object>
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: '[io.undertow.server.RoutingHandler].createAddTemplateIfAbsentConsumer(PathTemplateRouterFactory.SimpleBuilder<Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - item.getPathTemplate()
    - '[PathTemplateRouterFactory.SimpleBuilder<Object>].getTemplates()'
    - '[io.undertow.util.PathTemplateParser].parseTemplate(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
    - '[io.undertow.server.RoutingHandler].put(PathTemplateParser.PathTemplatePatternEqualsAdapter,io.undertow.server.RoutingHandler)'
    - '[io.undertow.util.PathTemplate<T>].getTarget()'
    - '[io.undertow.server.RoutingHandler].containsKey(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
    - '[Object].<init>()'
    - '[java.util.Objects].requireNonNull(PathTemplateRouterFactory.SimpleBuilder<Object>)'
    linkageType: ''
    returnType: java.util.function.Consumer<PathTemplateParser.PathTemplate<A>>
    signature: '[io.undertow.server.RoutingHandler].createAddTemplateIfAbsentConsumer(PathTemplateRouterFactory.SimpleBuilder<Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.RoutingHandler:322,1
    - Dst: '[io.undertow.server.RoutingHandler].newBuilder(Object)'
      Src: io.undertow.server.RoutingHandler:321,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].values()'
      Src: io.undertow.server.RoutingHandler:325,1
    - Dst: '[io.undertow.server.RoutingHandler].stream()'
      Src: io.undertow.server.RoutingHandler:325,1
    - Dst: '[io.undertow.server.RoutingHandler].flatMap()'
      Src: io.undertow.server.RoutingHandler:325,1
    - Dst: '[io.undertow.server.RoutingHandler].map()'
      Src: io.undertow.server.RoutingHandler:325,1
    - Dst: '[io.undertow.server.RoutingHandler].createAddTemplateIfAbsentConsumer(io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:328,1
    - Dst: '[io.undertow.server.RoutingHandler].forEach(java.util.function.Consumer<PathTemplateParser.PathTemplate<A>>)'
      Src: io.undertow.server.RoutingHandler:325,1
    - Dst: '[io.undertow.server.RoutingHandler].build()'
      Src: io.undertow.server.RoutingHandler:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouter<Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: '[io.undertow.server.RoutingHandler].createAllMethodsRouter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].build()'
    - '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].values()'
    - '[io.undertow.server.RoutingHandler].map()'
    - '[io.undertow.server.RoutingHandler].stream()'
    - '[io.undertow.server.RoutingHandler].flatMap()'
    - '[io.undertow.server.RoutingHandler].forEach(java.util.function.Consumer<PathTemplateParser.PathTemplate<A>>)'
    - '[io.undertow.server.RoutingHandler].newBuilder(Object)'
    - '[Object].<init>()'
    - '[io.undertow.server.RoutingHandler].createAddTemplateIfAbsentConsumer(io.undertow.server.RoutingHandler)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouter<Object>
    signature: '[io.undertow.server.RoutingHandler].createAllMethodsRouter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].createMethodRouters()'
      Src: io.undertow.server.RoutingHandler:334,1
    - Dst: '[io.undertow.server.RoutingHandler].createAllMethodsRouter()'
      Src: io.undertow.server.RoutingHandler:335,1
    - Dst: '[Routers].<init>(java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>,io.undertow.util.PathTemplateRouter<Object>)'
      Src: io.undertow.server.RoutingHandler:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: '[io.undertow.server.RoutingHandler].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.server.RoutingHandler].createAllMethodsRouter()'
    - '[io.undertow.server.RoutingHandler].createMethodRouters()'
    - '[Routers].<init>(java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>,io.undertow.util.PathTemplateRouter<Object>)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].build()'
      Src: io.undertow.server.RoutingHandler:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - method
    - template
    - handler
    argTypes:
    - io.undertow.util.HttpString
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.RoutingHandler].build()'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.RoutingHandler:346,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - method
    - template
    - handler
    argTypes:
    - String
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: '[io.undertow.server.RoutingHandler].add(String,String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].add(String,String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: '[io.undertow.server.RoutingHandler].get(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].get(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: '[io.undertow.server.RoutingHandler].post(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].post(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: '[io.undertow.server.RoutingHandler].put(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].put(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: '[io.undertow.server.RoutingHandler].delete(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].delete(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].getOrAddMethodRoutingMatchBuilder(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.RoutingHandler:371,1
    - Dst: '[io.undertow.server.RoutingHandler.HandlerHolder].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:372,1
    - Dst: getOrAddMethodRoutingMatchBuilder(method, template).predicateHandlers.add(io.undertow.server.RoutingHandler.HandlerHolder)
      Src: io.undertow.server.RoutingHandler:371,1
    - Dst: '[io.undertow.server.RoutingHandler].build()'
      Src: io.undertow.server.RoutingHandler:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - method
    - template
    - predicate
    - handler
    argTypes:
    - io.undertow.util.HttpString
    - String
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 375
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 375
    functionName: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.RoutingHandler.HandlerHolder].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.RoutingHandler].build()'
    - '[io.undertow.server.RoutingHandler].getOrAddMethodRoutingMatchBuilder(io.undertow.util.HttpString,String)'
    - getOrAddMethodRoutingMatchBuilder(method, template).predicateHandlers.add(io.undertow.server.RoutingHandler.HandlerHolder)
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.RoutingHandler:383,1
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - method
    - template
    - predicate
    - handler
    argTypes:
    - String
    - String
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: '[io.undertow.server.RoutingHandler].add(String,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].add(String,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - template
    - predicate
    - handler
    argTypes:
    - String
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: '[io.undertow.server.RoutingHandler].get(String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].get(String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - template
    - predicate
    - handler
    argTypes:
    - String
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: '[io.undertow.server.RoutingHandler].post(String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].post(String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - template
    - predicate
    - handler
    argTypes:
    - String
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: '[io.undertow.server.RoutingHandler].put(String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].put(String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - template
    - predicate
    - handler
    argTypes:
    - String
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: '[io.undertow.server.RoutingHandler].delete(String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].add(io.undertow.util.HttpString,String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].delete(String,io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].entrySet()'
      Src: io.undertow.server.RoutingHandler:431,1
    - Dst: outer.getKey()
      Src: io.undertow.server.RoutingHandler:433,1
    - Dst: '[io.undertow.server.RoutingHandler].getOrAddMethodRouterBuilder(io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:433,1
    - Dst: outer.getValue()
      Src: io.undertow.server.RoutingHandler:435,1
    - Dst: '[io.undertow.server.RoutingHandler].getTemplates()'
      Src: io.undertow.server.RoutingHandler:435,1
    - Dst: '[io.undertow.server.RoutingHandler].entrySet()'
      Src: io.undertow.server.RoutingHandler:435,1
    - Dst: inner.getKey()
      Src: io.undertow.server.RoutingHandler:437,1
    - Dst: '[io.undertow.server.RoutingHandler].getPattern()'
      Src: io.undertow.server.RoutingHandler:437,1
    - Dst: '[io.undertow.server.RoutingHandler].getPathTemplate()'
      Src: io.undertow.server.RoutingHandler:437,1
    - Dst: inner.getKey()
      Src: io.undertow.server.RoutingHandler:438,1
    - Dst: '[io.undertow.server.RoutingHandler].getPattern()'
      Src: io.undertow.server.RoutingHandler:438,1
    - Dst: '[io.undertow.server.RoutingHandler].getTarget()'
      Src: io.undertow.server.RoutingHandler:438,1
    - Dst: '[io.undertow.server.RoutingHandler].deepCopy()'
      Src: io.undertow.server.RoutingHandler:438,1
    - Dst: '[PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>].addTemplate(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
      Src: io.undertow.server.RoutingHandler:436,1
    - Dst: '[io.undertow.server.RoutingHandler].build()'
      Src: io.undertow.server.RoutingHandler:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.RoutingHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - routingHandler
    argTypes:
    - io.undertow.server.RoutingHandler
    constantsTouched: []
    func_position:
      end: 444
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 444
    functionName: '[io.undertow.server.RoutingHandler].addAll(io.undertow.server.RoutingHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].entrySet()'
    - '[io.undertow.server.RoutingHandler].build()'
    - outer.getValue()
    - inner.getKey()
    - '[io.undertow.server.RoutingHandler].getPathTemplate()'
    - outer.getKey()
    - '[io.undertow.server.RoutingHandler].getTemplates()'
    - '[io.undertow.server.RoutingHandler].deepCopy()'
    - '[io.undertow.server.RoutingHandler].getTarget()'
    - '[PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>].addTemplate(io.undertow.server.RoutingHandler,io.undertow.server.RoutingHandler)'
    - '[io.undertow.server.RoutingHandler].getOrAddMethodRouterBuilder(io.undertow.server.RoutingHandler)'
    - '[io.undertow.server.RoutingHandler].getPattern()'
    - '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].entrySet()'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].addAll(io.undertow.server.RoutingHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.HttpString)'
      Src: io.undertow.server.RoutingHandler:447,1
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.server.RoutingHandler:448,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.RoutingHandler:450,1
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,RoutingMatchBuilder)'
      Src: io.undertow.server.RoutingHandler:455,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.server.RoutingHandler:459,1
    - Dst: '[io.undertow.server.RoutingHandler].getTemplates()'
      Src: io.undertow.server.RoutingHandler:461,1
    - Dst: '[io.undertow.server.RoutingHandler].containsKey(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.server.RoutingHandler:461,1
    - Dst: '[io.undertow.server.RoutingHandler].getTemplates()'
      Src: io.undertow.server.RoutingHandler:465,1
    - Dst: '[io.undertow.server.RoutingHandler].remove(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.server.RoutingHandler:465,1
    - Dst: '[io.undertow.server.RoutingHandler].getTemplates()'
      Src: io.undertow.server.RoutingHandler:467,1
    - Dst: '[io.undertow.server.RoutingHandler].isEmpty()'
      Src: io.undertow.server.RoutingHandler:467,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.RoutingHandler:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 472
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 472
    functionName: '[io.undertow.server.RoutingHandler].removeIfPresent(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.RoutingHandler].isEmpty()'
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String,RoutingMatchBuilder)'
    - '[io.undertow.server.RoutingHandler].remove(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    - '[io.undertow.server.RoutingHandler].getTemplates()'
    - '[java.util.Objects].requireNonNull(io.undertow.util.HttpString)'
    - '[io.undertow.server.RoutingHandler].containsKey(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplate<T>)'
    - '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].remove(io.undertow.util.HttpString)'
    - '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].get(io.undertow.util.HttpString)'
    - '[java.util.Objects].requireNonNull(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.RoutingHandler].removeIfPresent(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.RoutingHandler].removeIfPresent(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.RoutingHandler:484,1
    - Dst: '[io.undertow.server.RoutingHandler].build()'
      Src: io.undertow.server.RoutingHandler:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: '[io.undertow.server.RoutingHandler].remove(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].removeIfPresent(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.RoutingHandler].build()'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].remove(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.server.RoutingHandler:498,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].entrySet()'
      Src: io.undertow.server.RoutingHandler:502,1
    - Dst: entry.getKey()
      Src: io.undertow.server.RoutingHandler:503,1
    - Dst: '[io.undertow.server.RoutingHandler].removeIfPresent(io.undertow.server.RoutingHandler,String)'
      Src: io.undertow.server.RoutingHandler:503,1
    - Dst: '[io.undertow.server.RoutingHandler].build()'
      Src: io.undertow.server.RoutingHandler:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: '[io.undertow.server.RoutingHandler].remove(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RoutingHandler].build()'
    - '[io.undertow.server.RoutingHandler].removeIfPresent(io.undertow.server.RoutingHandler,String)'
    - '[java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>].entrySet()'
    - entry.getKey()
    - '[java.util.Objects].requireNonNull(String)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].remove(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: '[io.undertow.server.RoutingHandler].getFallbackHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.RoutingHandler].getFallbackHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fallbackHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: '[io.undertow.server.RoutingHandler].setFallbackHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].setFallbackHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: '[io.undertow.server.RoutingHandler].getInvalidMethodHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.RoutingHandler].getInvalidMethodHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - RoutingMatch
      - RoutingMatchBuilder
      - java.util.Map<io.undertow.util.HttpString,PathTemplateRouterFactory.Builder<RoutingMatchBuilder,RoutingMatch>>
      - Routers
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - invalidMethodHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 558
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 558
    functionName: '[io.undertow.server.RoutingHandler].setInvalidMethodHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler
    signature: '[io.undertow.server.RoutingHandler].setInvalidMethodHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.predicate.Predicate)'
      Src: io.undertow.server.RoutingHandler.HandlerHolder:58,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.RoutingHandler.HandlerHolder:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.RoutingHandler.HandlerHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - predicate
    - handler
    argTypes:
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.RoutingHandler.HandlerHolder].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.server.HttpHandler)'
    - '[java.util.Objects].requireNonNull(io.undertow.predicate.Predicate)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler.HandlerHolder
    signature: '[io.undertow.server.RoutingHandler.HandlerHolder].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List].copyOf(java.util.List<HandlerHolder>)'
      Src: io.undertow.server.RoutingHandler.RoutingMatch:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<HandlerHolder>
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - List<HandlerHolder>
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.RoutingHandler.RoutingMatch
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - predicateHandlers
    - defaultHandler
    argTypes:
    - java.util.List<HandlerHolder>
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.RoutingHandler.RoutingMatch].<init>(java.util.List<HandlerHolder>,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.List].copyOf(java.util.List<HandlerHolder>)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler.RoutingMatch
    signature: '[io.undertow.server.RoutingHandler.RoutingMatch].<init>(java.util.List<HandlerHolder>,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[RoutingMatchBuilder].<init>()'
      Src: io.undertow.server.RoutingHandler.RoutingMatchBuilder:89,1
    - Dst: result.predicateHandlers.addAll(List<HandlerHolder>)
      Src: io.undertow.server.RoutingHandler.RoutingMatchBuilder:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<HandlerHolder>
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RoutingMatchBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.RoutingHandler.RoutingMatchBuilder].deepCopy()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[RoutingMatchBuilder].<init>()'
    - result.predicateHandlers.addAll(List<HandlerHolder>)
    linkageType: ''
    returnType: RoutingMatchBuilder
    signature: '[io.undertow.server.RoutingHandler.RoutingMatchBuilder].deepCopy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[RoutingMatch].<init>(List<HandlerHolder>,HttpHandler)'
      Src: io.undertow.server.RoutingHandler.RoutingMatchBuilder:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<HandlerHolder>
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RoutingMatch
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.RoutingHandler.RoutingMatchBuilder].get()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[RoutingMatch].<init>(List<HandlerHolder>,HttpHandler)'
    linkageType: ''
    returnType: RoutingMatch
    signature: '[io.undertow.server.RoutingHandler.RoutingMatchBuilder].get()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.server.RoutingHandler.RoutingMatchBuilder:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<HandlerHolder>
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RoutingHandler.RoutingMatchBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.RoutingHandler.RoutingMatchBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler.RoutingMatchBuilder
    signature: '[io.undertow.server.RoutingHandler.RoutingMatchBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>)'
      Src: io.undertow.server.RoutingHandler.Routers:113,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouter<Object>)'
      Src: io.undertow.server.RoutingHandler.Routers:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>
      - io.undertow.util.PathTemplateRouter<Object>
      classConcrete: true
      classEnum: false
      classFields:
      - Map<HttpString, PathTemplateRouter<RoutingMatch>>
      - PathTemplateRouter<Object>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.RoutingHandler.Routers
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - methodRouters
    - allMethodsRouter
    argTypes:
    - java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>
    - io.undertow.util.PathTemplateRouter<Object>
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.RoutingHandler.Routers].<init>(java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>,io.undertow.util.PathTemplateRouter<Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RoutingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>)'
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouter<Object>)'
    linkageType: ''
    returnType: io.undertow.server.RoutingHandler.Routers
    signature: '[io.undertow.server.RoutingHandler.Routers].<init>(java.util.Map<io.undertow.util.HttpString,io.undertow.util.PathTemplateRouter<RoutingMatch>>,io.undertow.util.PathTemplateRouter<Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.server.CookieStore:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.CookieStore
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.CookieStore].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 21
    functionsReached:
    - '[java.util.LinkedHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.CookieStore
    signature: '[io.undertow.server.CookieStore].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].values()'
      Src: io.undertow.server.CookieStore:51,1
    - Dst: '[io.undertow.server.CookieStore].stream()'
      Src: io.undertow.server.CookieStore:51,1
    - Dst: '[io.undertow.server.CookieStore].mapToInt()'
      Src: io.undertow.server.CookieStore:51,1
    - Dst: '[io.undertow.server.CookieStore].sum()'
      Src: io.undertow.server.CookieStore:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.CookieStore].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.CookieStore].mapToInt()'
    - '[io.undertow.server.CookieStore].sum()'
    - '[io.undertow.server.CookieStore].stream()'
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].values()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.CookieStore].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].isEmpty()'
      Src: io.undertow.server.CookieStore:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.CookieStore].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 3
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.CookieStore].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].get(String)'
      Src: io.undertow.server.CookieStore:71,1
    - Dst: '[java.util.List].of()'
      Src: io.undertow.server.CookieStore:72,1
    - Dst: '[java.util.List].copyOf(io.undertow.server.CookieStore)'
      Src: io.undertow.server.CookieStore:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.server.handlers.Cookie>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.CookieStore].get(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 5
    functionsReached:
    - '[java.util.List].of()'
    - '[java.util.List].copyOf(io.undertow.server.CookieStore)'
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].get(String)'
    linkageType: ''
    returnType: java.util.List<io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.CookieStore].get(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.CookieStore:83,1
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].get(String)'
      Src: io.undertow.server.CookieStore:83,1
    - Dst: '[io.undertow.server.CookieStore].remove(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.CookieStore:84,1
    - Dst: '[io.undertow.server.CookieStore].isEmpty()'
      Src: io.undertow.server.CookieStore:85,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.CookieStore:86,1
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].remove(String)'
      Src: io.undertow.server.CookieStore:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.CookieStore].remove(io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 2
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].remove(String)'
    - '[io.undertow.server.CookieStore].isEmpty()'
    - '[io.undertow.server.handlers.Cookie].getName()'
    - '[io.undertow.server.CookieStore].remove(io.undertow.server.handlers.Cookie)'
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].get(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.CookieStore].remove(io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.CookieStore:100,1
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].computeIfAbsent(String)'
      Src: io.undertow.server.CookieStore:100,1
    - Dst: '[io.undertow.server.CookieStore].remove(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.CookieStore:102,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.CookieStore:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.CookieStore
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.Cookie)'
    - '[io.undertow.server.CookieStore].remove(io.undertow.server.handlers.Cookie)'
    - '[io.undertow.server.handlers.Cookie].getName()'
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].computeIfAbsent(String)'
    linkageType: ''
    returnType: io.undertow.server.CookieStore
    signature: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FlatMap].<init>()'
      Src: io.undertow.server.CookieStore:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.CookieStore].asLegacyMap()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 18
    functionsReached:
    - '[FlatMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.CookieStore].asLegacyMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].isEmpty()'
      Src: io.undertow.server.CookieStore:140,1
    - Dst: '[java.util.Collections].emptyIterator()'
      Src: io.undertow.server.CookieStore:141,1
    - Dst: '[io.undertow.server.CookieStore.DelegatingIterator].<init>()'
      Src: io.undertow.server.CookieStore:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<io.undertow.server.handlers.Cookie>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.CookieStore].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyIterator()'
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].isEmpty()'
    - '[io.undertow.server.CookieStore.DelegatingIterator].<init>()'
    linkageType: ''
    returnType: java.util.Iterator<io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.CookieStore].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].getClass()'
      Src: io.undertow.server.CookieStore:148,1
    - Dst: '[io.undertow.server.CookieStore].getSimpleName()'
      Src: io.undertow.server.CookieStore:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.CookieStore].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].getClass()'
    - '[io.undertow.server.CookieStore].getSimpleName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.CookieStore].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].computeIfAbsent(String)'
      Src: io.undertow.server.CookieStore:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Deque<io.undertow.server.handlers.Cookie>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.CookieStore].getOrCreate(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].computeIfAbsent(String)'
    linkageType: ''
    returnType: java.util.Deque<io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.CookieStore].getOrCreate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].entrySet()'
      Src: io.undertow.server.CookieStore:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<Map.Entry<String,java.util.Deque<io.undertow.server.handlers.Cookie>>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.CookieStore].entrySet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 2
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<io.undertow.server.handlers.Cookie>>].entrySet()'
    linkageType: ''
    returnType: java.util.Set<Map.Entry<String,java.util.Deque<io.undertow.server.handlers.Cookie>>>
    signature: '[io.undertow.server.CookieStore].entrySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].entrySet()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:166,1
    - Dst: '[java.util.Set<Map.Entry<String,java.util.Deque<io.undertow.server.handlers.Cookie>>>].iterator()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:166,1
    - Dst: '[io.undertow.server.CookieStore.DelegatingIterator].advanceToNext()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.CookieStore
      classConcrete: true
      classEnum: false
      classFields:
      - Iterator<Map.Entry<String, Deque<Cookie>>>
      - Iterator<Cookie>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.CookieStore.DelegatingIterator
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookieStore
    argTypes:
    - io.undertow.server.CookieStore
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.CookieStore.DelegatingIterator].<init>(io.undertow.server.CookieStore)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<Map.Entry<String,java.util.Deque<io.undertow.server.handlers.Cookie>>>].iterator()'
    - '[io.undertow.server.CookieStore.DelegatingIterator].advanceToNext()'
    - '[io.undertow.server.CookieStore].entrySet()'
    linkageType: ''
    returnType: io.undertow.server.CookieStore.DelegatingIterator
    signature: '[io.undertow.server.CookieStore.DelegatingIterator].<init>(io.undertow.server.CookieStore)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Iterator<Cookie>].hasNext()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Iterator<Map.Entry<String, Deque<Cookie>>>
      - Iterator<Cookie>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.CookieStore.DelegatingIterator].hasNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 2
    functionsReached:
    - '[Iterator<Cookie>].hasNext()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.CookieStore.DelegatingIterator].hasNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore.DelegatingIterator].hasNext()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:177,1
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:178,1
    - Dst: '[Iterator<Cookie>].next()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:181,1
    - Dst: '[Iterator<Cookie>].hasNext()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:184,1
    - Dst: '[io.undertow.server.CookieStore.DelegatingIterator].advanceToNext()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Iterator<Map.Entry<String, Deque<Cookie>>>
      - Iterator<Cookie>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: '[io.undertow.server.CookieStore.DelegatingIterator].next()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore.DelegatingIterator].hasNext()'
    - '[Iterator<Cookie>].hasNext()'
    - '[java.util.NoSuchElementException].<init>()'
    - '[Iterator<Cookie>].next()'
    - '[io.undertow.server.CookieStore.DelegatingIterator].advanceToNext()'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.CookieStore.DelegatingIterator].next()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Iterator<Map.Entry<String, Deque<Cookie>>>].hasNext()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:191,1
    - Dst: '[Iterator<Map.Entry<String, Deque<Cookie>>>].next()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:192,1
    - Dst: '[io.undertow.server.CookieStore.DelegatingIterator].getValue()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:192,1
    - Dst: '[io.undertow.server.CookieStore.DelegatingIterator].iterator()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:192,1
    - Dst: '[io.undertow.server.CookieStore.DelegatingIterator].hasNext()'
      Src: io.undertow.server.CookieStore.DelegatingIterator:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Iterator<Map.Entry<String, Deque<Cookie>>>
      - Iterator<Cookie>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.CookieStore.DelegatingIterator].advanceToNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 2
    functionsReached:
    - '[Iterator<Map.Entry<String, Deque<Cookie>>>].hasNext()'
    - '[io.undertow.server.CookieStore.DelegatingIterator].hasNext()'
    - '[io.undertow.server.CookieStore.DelegatingIterator].getValue()'
    - '[Iterator<Map.Entry<String, Deque<Cookie>>>].next()'
    - '[io.undertow.server.CookieStore.DelegatingIterator].iterator()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStore.DelegatingIterator].advanceToNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.CookieStore
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.CookieStore.FlatMap
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookieStore
    argTypes:
    - io.undertow.server.CookieStore
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.CookieStore.FlatMap].<init>(io.undertow.server.CookieStore)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.CookieStore.FlatMap
    signature: '[io.undertow.server.CookieStore.FlatMap].<init>(io.undertow.server.CookieStore)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieStore.cookies.size()
      Src: io.undertow.server.CookieStore.FlatMap:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.CookieStore.FlatMap].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - cookieStore.cookies.size()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.CookieStore.FlatMap].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].isEmpty()'
      Src: io.undertow.server.CookieStore.FlatMap:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.CookieStore.FlatMap].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.CookieStore.FlatMap].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieStore.cookies.containsKey(Object)
      Src: io.undertow.server.CookieStore.FlatMap:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.CookieStore.FlatMap].containsKey(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - cookieStore.cookies.containsKey(Object)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.CookieStore.FlatMap].containsKey(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].entrySet()'
      Src: io.undertow.server.CookieStore.FlatMap:231,1
    - Dst: entry.getValue()
      Src: io.undertow.server.CookieStore.FlatMap:232,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].peekLast()'
      Src: io.undertow.server.CookieStore.FlatMap:233,1
    - Dst: '[Object].equals(io.undertow.server.CookieStore.FlatMap)'
      Src: io.undertow.server.CookieStore.FlatMap:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: '[io.undertow.server.CookieStore.FlatMap].containsValue(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[Object].equals(io.undertow.server.CookieStore.FlatMap)'
    - entry.getValue()
    - '[io.undertow.server.CookieStore.FlatMap].peekLast()'
    - '[io.undertow.server.CookieStore].entrySet()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.CookieStore.FlatMap].containsValue(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieStore.cookies.get(Object)
      Src: io.undertow.server.CookieStore.FlatMap:242,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].peekLast()'
      Src: io.undertow.server.CookieStore.FlatMap:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: '[io.undertow.server.CookieStore.FlatMap].get(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - cookieStore.cookies.get(Object)
    - '[io.undertow.server.CookieStore.FlatMap].peekLast()'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.CookieStore.FlatMap].get(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].getOrCreate(String)'
      Src: io.undertow.server.CookieStore.FlatMap:248,1
    - Dst: '[java.util.Deque<io.undertow.server.handlers.Cookie>].peekLast()'
      Src: io.undertow.server.CookieStore.FlatMap:249,1
    - Dst: '[java.util.Deque<io.undertow.server.handlers.Cookie>].clear()'
      Src: io.undertow.server.CookieStore.FlatMap:250,1
    - Dst: '[java.util.Deque<io.undertow.server.handlers.Cookie>].add(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.CookieStore.FlatMap:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: '[io.undertow.server.CookieStore.FlatMap].put(String,io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore].getOrCreate(String)'
    - '[java.util.Deque<io.undertow.server.handlers.Cookie>].clear()'
    - '[java.util.Deque<io.undertow.server.handlers.Cookie>].add(io.undertow.server.handlers.Cookie)'
    - '[java.util.Deque<io.undertow.server.handlers.Cookie>].peekLast()'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.CookieStore.FlatMap].put(String,io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieStore.cookies.remove(Object)
      Src: io.undertow.server.CookieStore.FlatMap:257,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].peekLast()'
      Src: io.undertow.server.CookieStore.FlatMap:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.CookieStore.FlatMap].remove(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - cookieStore.cookies.remove(Object)
    - '[io.undertow.server.CookieStore.FlatMap].peekLast()'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.CookieStore.FlatMap].remove(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<?extendsString,?extendsCookie>].forEach()'
      Src: io.undertow.server.CookieStore.FlatMap:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<?extendsString,?extendsCookie>
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - m
    argTypes:
    - java.util.Map<?extendsString,?extendsCookie>
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: '[io.undertow.server.CookieStore.FlatMap].putAll(java.util.Map<?extendsString,?extendsCookie>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<?extendsString,?extendsCookie>].forEach()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStore.FlatMap].putAll(java.util.Map<?extendsString,?extendsCookie>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieStore.cookies.clear()
      Src: io.undertow.server.CookieStore.FlatMap:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.CookieStore.FlatMap].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - cookieStore.cookies.clear()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.CookieStore.FlatMap].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieStore.cookies.keySet()
      Src: io.undertow.server.CookieStore.FlatMap:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: '[io.undertow.server.CookieStore.FlatMap].keySet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - cookieStore.cookies.keySet()
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.CookieStore.FlatMap].keySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieStore.cookies.values()
      Src: io.undertow.server.CookieStore.FlatMap:278,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].stream()'
      Src: io.undertow.server.CookieStore.FlatMap:278,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].map()'
      Src: io.undertow.server.CookieStore.FlatMap:278,1
    - Dst: '[java.util.stream.Collectors].toUnmodifiableList()'
      Src: io.undertow.server.CookieStore.FlatMap:280,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].collect(io.undertow.server.CookieStore.FlatMap)'
      Src: io.undertow.server.CookieStore.FlatMap:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<io.undertow.server.handlers.Cookie>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: '[io.undertow.server.CookieStore.FlatMap].values()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore.FlatMap].collect(io.undertow.server.CookieStore.FlatMap)'
    - '[java.util.stream.Collectors].toUnmodifiableList()'
    - '[io.undertow.server.CookieStore.FlatMap].map()'
    - cookieStore.cookies.values()
    - '[io.undertow.server.CookieStore.FlatMap].stream()'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.CookieStore.FlatMap].values()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieStore.cookies.entrySet()
      Src: io.undertow.server.CookieStore.FlatMap:285,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].stream()'
      Src: io.undertow.server.CookieStore.FlatMap:285,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].map()'
      Src: io.undertow.server.CookieStore.FlatMap:285,1
    - Dst: '[java.util.stream.Collectors].toUnmodifiableSet()'
      Src: io.undertow.server.CookieStore.FlatMap:287,1
    - Dst: '[io.undertow.server.CookieStore.FlatMap].collect(io.undertow.server.CookieStore.FlatMap)'
      Src: io.undertow.server.CookieStore.FlatMap:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<Entry<String,io.undertow.server.handlers.Cookie>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: '[io.undertow.server.CookieStore.FlatMap].entrySet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/CookieStore.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.CookieStore.FlatMap].collect(io.undertow.server.CookieStore.FlatMap)'
    - cookieStore.cookies.entrySet()
    - '[java.util.stream.Collectors].toUnmodifiableSet()'
    - '[io.undertow.server.CookieStore.FlatMap].map()'
    - '[io.undertow.server.CookieStore.FlatMap].stream()'
    linkageType: ''
    returnType: java.util.Set<Entry<String,io.undertow.server.handlers.Cookie>>
    signature: '[io.undertow.server.CookieStore.FlatMap].entrySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Iterator<E>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Iterator<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.ReadOnlyIterator
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - java.util.Iterator<E>
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.ReadOnlyIterator].<init>(java.util.Iterator<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ReadOnlyIterator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ReadOnlyIterator
    signature: '[io.undertow.server.ReadOnlyIterator].<init>(java.util.Iterator<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.server.ReadOnlyIterator:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Iterator<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.ReadOnlyIterator].remove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ReadOnlyIterator.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ReadOnlyIterator].remove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Iterator<E>].forEachRemaining(java.util.function.Consumer<?superE>)'
      Src: io.undertow.server.ReadOnlyIterator:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Consumer<?superE>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Iterator<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - action
    argTypes:
    - java.util.function.Consumer<?superE>
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.ReadOnlyIterator].forEachRemaining(java.util.function.Consumer<?superE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ReadOnlyIterator.java
    functionUses: 0
    functionsReached:
    - '[java.util.Iterator<E>].forEachRemaining(java.util.function.Consumer<?superE>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ReadOnlyIterator].forEachRemaining(java.util.function.Consumer<?superE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Iterator<E>].hasNext()'
      Src: io.undertow.server.ReadOnlyIterator:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Iterator<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.ReadOnlyIterator].hasNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ReadOnlyIterator.java
    functionUses: 0
    functionsReached:
    - '[java.util.Iterator<E>].hasNext()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ReadOnlyIterator].hasNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Iterator<E>].next()'
      Src: io.undertow.server.ReadOnlyIterator:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Iterator<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.ReadOnlyIterator].next()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ReadOnlyIterator.java
    functionUses: 0
    functionsReached:
    - '[java.util.Iterator<E>].next()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.server.ReadOnlyIterator].next()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.server.HttpServerExchange:100,1
    - Dst: '[RuntimePermission].<init>(String)'
      Src: io.undertow.server.HttpServerExchange:102,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:110,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:115,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:120,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:125,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:130,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.HttpServerExchange:167,1
    - Dst: '[io.undertow.server.HttpServerExchange].intBitMask(int,int)'
      Src: io.undertow.server.HttpServerExchange:272,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>(int)'
      Src: io.undertow.server.HttpServerExchange:348,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.server.HttpServerExchange:349,1
    - Dst: Long.toString(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange:349,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.server.HttpServerExchange:352,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.server.HttpServerExchange:352,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap,long)'
      Src: io.undertow.server.HttpServerExchange:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ServerConnection
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - connection
    - maxEntitySize
    argTypes:
    - io.undertow.server.ServerConnection
    - long
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].intBitMask(int,int)'
    - Long.toString(io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap,long)'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>(int)'
    - '[org.jboss.logging.Logger].getLogger()'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[RuntimePermission].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.server.HttpServerExchange:100,1
    - Dst: '[RuntimePermission].<init>(String)'
      Src: io.undertow.server.HttpServerExchange:102,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:110,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:115,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:120,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:125,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:130,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.HttpServerExchange:167,1
    - Dst: '[io.undertow.server.HttpServerExchange].intBitMask(int,int)'
      Src: io.undertow.server.HttpServerExchange:272,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>(int)'
      Src: io.undertow.server.HttpServerExchange:348,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.server.HttpServerExchange:349,1
    - Dst: Long.toString(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange:349,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection,int)'
      Src: io.undertow.server.HttpServerExchange:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ServerConnection
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - connection
    argTypes:
    - io.undertow.server.ServerConnection
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].intBitMask(int,int)'
    - Long.toString(io.undertow.server.HttpServerExchange)
    - '[io.undertow.util.AttachmentKey].create()'
    - '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>(int)'
    - '[org.jboss.logging.Logger].getLogger()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[RuntimePermission].<init>(String)'
    - '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection,int)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.server.HttpServerExchange:100,1
    - Dst: '[RuntimePermission].<init>(String)'
      Src: io.undertow.server.HttpServerExchange:102,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:110,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:115,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:120,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:125,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.HttpServerExchange:130,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.HttpServerExchange:167,1
    - Dst: '[io.undertow.server.HttpServerExchange].intBitMask(int,int)'
      Src: io.undertow.server.HttpServerExchange:272,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>(int)'
      Src: io.undertow.server.HttpServerExchange:348,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.server.HttpServerExchange:349,1
    - Dst: Long.toString(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 4
    argNames:
    - connection
    - requestHeaders
    - responseHeaders
    - maxEntitySize
    argTypes:
    - io.undertow.server.ServerConnection
    - io.undertow.util.HeaderMap
    - io.undertow.util.HeaderMap
    - long
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].intBitMask(int,int)'
    - Long.toString(io.undertow.server.HttpServerExchange)
    - '[io.undertow.util.AttachmentKey].create()'
    - '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>(int)'
    - '[org.jboss.logging.Logger].getLogger()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[RuntimePermission].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.ServerConnection,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: '[io.undertow.server.HttpServerExchange].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.server.HttpServerExchange].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: '[io.undertow.server.HttpServerExchange].isHttp09()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isHttp09()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: '[io.undertow.server.HttpServerExchange].isHttp10()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isHttp10()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: '[io.undertow.server.HttpServerExchange].isHttp11()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isHttp11()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.server.HttpServerExchange:413,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.HttpServerExchange:417,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.server.HttpServerExchange:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: '[io.undertow.server.HttpServerExchange].isSecure()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[String].equalsIgnoreCase(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - requestMethod
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - requestScheme
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: '[io.undertow.server.HttpServerExchange].getRequestId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getRequestId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: '[io.undertow.server.HttpServerExchange].getRequestURI()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 71
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - requestURI
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:500,1
    - Dst: '[io.undertow.server.HttpServerExchange].clearFlags(int)'
      Src: io.undertow.server.HttpServerExchange:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - requestURI
    - containsHost
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: '[io.undertow.server.HttpServerExchange].setRequestURI(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    - '[io.undertow.server.HttpServerExchange].clearFlags(int)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setRequestURI(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 26
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: '[io.undertow.server.HttpServerExchange].getRequestPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getRequestPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - requestPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: '[io.undertow.server.HttpServerExchange].getRelativePath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getRelativePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - relativePath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - resolvedPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: '[io.undertow.server.HttpServerExchange].getQueryString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].cleanQueryString(String)'
      Src: io.undertow.server.HttpServerExchange:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - queryString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 607
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 607
    functionName: '[io.undertow.server.HttpServerExchange].setQueryString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].cleanQueryString(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setQueryString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.HttpServerExchange:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: '[io.undertow.server.HttpServerExchange].getNonDecodedQueryString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getNonDecodedQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(String)'
      Src: io.undertow.server.HttpServerExchange:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - unencodedQueryString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: '[io.undertow.server.HttpServerExchange].setNonDecodedQueryString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setQueryString(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setNonDecodedQueryString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.HttpServerExchange:645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 17
    functionsReached:
    - '[String].length()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].cleanQueryString(String)'
      Src: io.undertow.server.HttpServerExchange:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - decodedQueryString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].cleanQueryString(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.HttpServerExchange:666,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.server.HttpServerExchange:666,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.HttpServerExchange:667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - queryString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: '[io.undertow.server.HttpServerExchange].cleanQueryString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[String].charAt(int)'
    - '[String].substring(int)'
    - '[String].length()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].cleanQueryString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.HttpServerExchange:680,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.HttpServerExchange:681,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.HttpServerExchange:683,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostAndPort()'
      Src: io.undertow.server.HttpServerExchange:683,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.HttpServerExchange:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 679
    functionDepth: 6
    functionLinenumber: 679
    functionLinenumberEnd: 685
    functionName: '[io.undertow.server.HttpServerExchange].getRequestURL()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getHostAndPort()'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getRequestURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].extractCharset(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.HttpServerExchange:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 693
    functionDepth: 6
    functionLinenumber: 693
    functionLinenumberEnd: 695
    functionName: '[io.undertow.server.HttpServerExchange].getRequestCharset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].extractCharset(io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getRequestCharset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].extractCharset(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: '[io.undertow.server.HttpServerExchange].getResponseCharset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].extractCharset(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getResponseCharset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:709,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.server.HttpServerExchange:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - headers
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 5
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: '[io.undertow.server.HttpServerExchange].extractCharset(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].extractCharset(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:730,1
    - Dst: '[String].trim()'
      Src: io.undertow.server.HttpServerExchange:731,1
    - Dst: '[String].equals(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:731,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
      Src: io.undertow.server.HttpServerExchange:732,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.server.HttpServerExchange:732,1
    - Dst: '[io.undertow.server.HttpServerExchange].startsWith(String)'
      Src: io.undertow.server.HttpServerExchange:734,1
    - Dst: '[io.undertow.server.HttpServerExchange].indexOf(char)'
      Src: io.undertow.server.HttpServerExchange:735,1
    - Dst: '[io.undertow.server.HttpServerExchange].substring(int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:735,1
    - Dst: '[io.undertow.server.HttpServerExchange].indexOf(char)'
      Src: io.undertow.server.HttpServerExchange:736,1
    - Dst: '[io.undertow.server.HttpServerExchange].indexOf(char)'
      Src: io.undertow.server.HttpServerExchange:737,1
    - Dst: '[io.undertow.server.HttpServerExchange].substring(int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 741
    functionName: '[io.undertow.server.HttpServerExchange].getHostName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 5
    functionsReached:
    - '[String].equals(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].indexOf(char)'
    - '[io.undertow.server.HttpServerExchange].startsWith(String)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[String].trim()'
    - '[io.undertow.server.HttpServerExchange].substring(int,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getHostName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:753,1
    - Dst: '[String].trim()'
      Src: io.undertow.server.HttpServerExchange:754,1
    - Dst: '[String].equals(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:754,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
      Src: io.undertow.server.HttpServerExchange:755,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.server.HttpServerExchange:756,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:756,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.HttpServerExchange:757,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.HttpServerExchange:758,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.HttpServerExchange:758,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.HttpServerExchange:759,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.HttpServerExchange:759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 752
    functionDepth: 5
    functionLinenumber: 752
    functionLinenumberEnd: 764
    functionName: '[io.undertow.server.HttpServerExchange].getHostAndPort()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 6
    functionsReached:
    - '[String].equals(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[String].equals(String)'
    - '[java.net.InetSocketAddress].getPort()'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(io.undertow.server.HttpServerExchange)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[String].trim()'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    - '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getHostAndPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:773,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.HttpServerExchange:777,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.server.HttpServerExchange:778,1
    - Dst: '[String].indexOf(char,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:778,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.server.HttpServerExchange:780,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.HttpServerExchange:784,1
    - Dst: Integer.parseInt(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange:784,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.HttpServerExchange:787,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.HttpServerExchange:787,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.HttpServerExchange:789,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.HttpServerExchange:789,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
      Src: io.undertow.server.HttpServerExchange:794,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.HttpServerExchange:794,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 795
      start: 772
    functionDepth: 5
    functionLinenumber: 772
    functionLinenumberEnd: 795
    functionName: '[io.undertow.server.HttpServerExchange].getHostPort()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[String].indexOf(char)'
    - '[String].equals(String)'
    - '[String].substring(int)'
    - '[java.net.InetSocketAddress].getPort()'
    - Integer.parseInt(io.undertow.server.HttpServerExchange)
    - '[String].indexOf(char,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    - '[String].startsWith(String)'
    - '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.HttpServerExchange].getHostPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ServerConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 804
    functionName: '[io.undertow.server.HttpServerExchange].getConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 148
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ServerConnection
    signature: '[io.undertow.server.HttpServerExchange].getConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: '[io.undertow.server.HttpServerExchange].isPersistent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 11
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isPersistent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.HttpServerExchange:815,1
    - Dst: Thread.currentThread()
      Src: io.undertow.server.HttpServerExchange:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: '[io.undertow.server.HttpServerExchange].isInIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 14
    functionsReached:
    - Thread.currentThread()
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isInIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.HttpServerExchange:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: '[io.undertow.server.HttpServerExchange].isUpgrade()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.Connectors].isEntityBodyAllowed()'
      Src: io.undertow.server.HttpServerExchange:831,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.HttpServerExchange:831,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 836
      start: 830
    functionDepth: 4
    functionLinenumber: 830
    functionLinenumberEnd: 836
    functionName: '[io.undertow.server.HttpServerExchange].getResponseBytesSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.Connectors].isEntityBodyAllowed()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange].getResponseBytesSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 844
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 844
    functionName: '[io.undertow.server.HttpServerExchange].getRequestBytesRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange].getRequestBytesRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.Connectors].isEntityBodyAllowed()'
      Src: io.undertow.server.HttpServerExchange:851,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.HttpServerExchange:851,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 4
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: '[io.undertow.server.HttpServerExchange].updateBytesSent(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.Connectors].isEntityBodyAllowed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].updateBytesSent(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 858
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 858
    functionName: '[io.undertow.server.HttpServerExchange].updateBytesRead(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].updateBytesRead(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:862,1
    - Dst: '[io.undertow.server.HttpServerExchange].clearFlags(int)'
      Src: io.undertow.server.HttpServerExchange:864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - persistent
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 867
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 867
    functionName: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 18
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    - '[io.undertow.server.HttpServerExchange].clearFlags(int)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 871
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 871
    functionName: '[io.undertow.server.HttpServerExchange].isDispatched()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isDispatched()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].clearFlags(int)'
      Src: io.undertow.server.HttpServerExchange:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: '[io.undertow.server.HttpServerExchange].unDispatch()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].clearFlags(int)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].unDispatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: '[io.undertow.server.HttpServerExchange].dispatch()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].dispatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(null,Runnable)'
      Src: io.undertow.server.HttpServerExchange:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - runnable
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: '[io.undertow.server.HttpServerExchange].dispatch(Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].dispatch(null,Runnable)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].dispatch(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isInCall()'
      Src: io.undertow.server.HttpServerExchange:920,1
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:924,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:925,1
    - Dst: '[io.undertow.server.HttpServerExchange].resumedAndDispatched()'
      Src: io.undertow.server.HttpServerExchange:926,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.HttpServerExchange:931,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.server.HttpServerExchange:931,1
    - Dst: '[org.xnio.XnioWorker].execute(Runnable)'
      Src: io.undertow.server.HttpServerExchange:931,1
    - Dst: '[java.util.concurrent.Executor].execute(Runnable)'
      Src: io.undertow.server.HttpServerExchange:933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - executor
    - runnable
    argTypes:
    - java.util.concurrent.Executor
    - Runnable
    constantsTouched: []
    func_position:
      end: 937
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 937
    functionName: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[org.xnio.XnioWorker].execute(Runnable)'
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    - '[io.undertow.server.HttpServerExchange].resumedAndDispatched()'
    - '[java.util.concurrent.Executor].execute(Runnable)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].isInCall()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(null,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.HttpServerExchange:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].dispatch(null,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.HttpServerExchange:945,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.server.HttpServerExchange:955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - executor
    - handler
    argTypes:
    - java.util.concurrent.Executor
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 957
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 957
    functionName: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[Runnable].<init>()'
    - '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,Runnable)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - executor
    argTypes:
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 971
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 971
    functionName: '[io.undertow.server.HttpServerExchange].setDispatchExecutor(java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setDispatchExecutor(java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.Executor
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: '[io.undertow.server.HttpServerExchange].getDispatchExecutor()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.Executor
    signature: '[io.undertow.server.HttpServerExchange].getDispatchExecutor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Runnable
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 987
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 987
    functionName: '[io.undertow.server.HttpServerExchange].getDispatchTask()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Runnable
    signature: '[io.undertow.server.HttpServerExchange].getDispatchTask()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 991
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 991
    functionName: '[io.undertow.server.HttpServerExchange].isInCall()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isInCall()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:995,1
    - Dst: '[io.undertow.server.HttpServerExchange].clearFlags(int)'
      Src: io.undertow.server.HttpServerExchange:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - value
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: '[io.undertow.server.HttpServerExchange].setInCall(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    - '[io.undertow.server.HttpServerExchange].clearFlags(int)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setInCall(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ServerConnection].isUpgradeSupported()'
      Src: io.undertow.server.HttpServerExchange:1012,1
    - Dst: '[io.undertow.server.HttpServerExchange].upgradeNotSupported()'
      Src: io.undertow.server.HttpServerExchange:1013,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.HttpServerExchange:1015,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1015,1
    - Dst: '[io.undertow.server.HttpServerExchange].notAnUpgradeRequest()'
      Src: io.undertow.server.HttpServerExchange:1016,1
    - Dst: '[io.undertow.server.HttpServerExchange].debugf(String)'
      Src: io.undertow.server.HttpServerExchange:1018,1
    - Dst: '[io.undertow.server.ServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.server.HttpServerExchange:1019,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.HttpServerExchange:1020,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.HttpServerExchange:1021,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.HttpServerExchange:1021,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 1023
      start: 1011
    functionDepth: 4
    functionLinenumber: 1011
    functionLinenumberEnd: 1023
    functionName: '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].notAnUpgradeRequest()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.ServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].upgradeNotSupported()'
    - '[io.undertow.server.HttpServerExchange].debugf(String)'
    - '[io.undertow.server.ServerConnection].isUpgradeSupported()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ServerConnection].isUpgradeSupported()'
      Src: io.undertow.server.HttpServerExchange:1035,1
    - Dst: '[io.undertow.server.HttpServerExchange].upgradeNotSupported()'
      Src: io.undertow.server.HttpServerExchange:1036,1
    - Dst: '[io.undertow.server.HttpServerExchange].debugf(String)'
      Src: io.undertow.server.HttpServerExchange:1038,1
    - Dst: '[io.undertow.server.ServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.server.HttpServerExchange:1039,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.HttpServerExchange:1040,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.HttpServerExchange:1041,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.HttpServerExchange:1042,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.HttpServerExchange:1043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - productName
    - listener
    argTypes:
    - String
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 1045
      start: 1034
    functionDepth: 4
    functionLinenumber: 1034
    functionLinenumberEnd: 1045
    functionName: '[io.undertow.server.HttpServerExchange].upgradeChannel(String,io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.ServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].upgradeNotSupported()'
    - '[io.undertow.server.HttpServerExchange].debugf(String)'
    - '[io.undertow.server.ServerConnection].isUpgradeSupported()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].upgradeChannel(String,io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.HttpServerExchange:1053,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1053,1
    - Dst: '[io.undertow.server.HttpServerExchange].notAConnectRequest()'
      Src: io.undertow.server.HttpServerExchange:1054,1
    - Dst: '[io.undertow.server.ServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.server.HttpServerExchange:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - connectListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 1058
      start: 1052
    functionDepth: 4
    functionLinenumber: 1052
    functionLinenumberEnd: 1058
    functionName: '[io.undertow.server.HttpServerExchange].acceptConnectRequest(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].notAConnectRequest()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.ServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].acceptConnectRequest(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isComplete()'
      Src: io.undertow.server.HttpServerExchange:1062,1
    - Dst: '[io.undertow.server.HttpServerExchange].exchangeAlreadyComplete()'
      Src: io.undertow.server.HttpServerExchange:1063,1
    - Dst: System.arraycopy(io.undertow.server.HttpServerExchange,int,ExchangeCompletionListener[],int,int)
      Src: io.undertow.server.HttpServerExchange:1071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ExchangeCompletionListener
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.ExchangeCompletionListener
    constantsTouched: []
    func_position:
      end: 1076
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1076
    functionName: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 17
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].isComplete()'
    - System.arraycopy(io.undertow.server.HttpServerExchange,int,ExchangeCompletionListener[],int,int)
    - '[io.undertow.server.HttpServerExchange].exchangeAlreadyComplete()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(io.undertow.server.HttpServerExchange,int,DefaultResponseListener[],int,io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange:1089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.DefaultResponseListener
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.DefaultResponseListener
    constantsTouched: []
    func_position:
      end: 1094
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1094
    functionName: '[io.undertow.server.HttpServerExchange].addDefaultResponseListener(io.undertow.server.DefaultResponseListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - System.arraycopy(io.undertow.server.HttpServerExchange,int,DefaultResponseListener[],int,io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].addDefaultResponseListener(io.undertow.server.DefaultResponseListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ServerConnection].getPeerAddress()'
      Src: io.undertow.server.HttpServerExchange:1105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1106
    functionName: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 13
    functionsReached:
    - '[io.undertow.server.ServerConnection].getPeerAddress()'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 1117
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1117
    functionName: '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ServerConnection].getLocalAddress()'
      Src: io.undertow.server.HttpServerExchange:1128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1129
    functionName: '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.server.ServerConnection].getLocalAddress()'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - destinationAddress
    argTypes:
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 1140
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1140
    functionName: '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1149
    functionName: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1155,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.server.HttpServerExchange:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1154
    functionDepth: 5
    functionLinenumber: 1154
    functionLinenumberEnd: 1160
    functionName: '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - Long.parseLong(String)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1169
    functionName: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 99
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1175,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.server.HttpServerExchange:1179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1174
    functionDepth: 5
    functionLinenumber: 1174
    functionLinenumberEnd: 1180
    functionName: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 11
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - Long.parseLong(String)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1189,1
    - Dst: Long.toString(long)
      Src: io.undertow.server.HttpServerExchange:1191,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - length
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 1194
      start: 1187
    functionDepth: 3
    functionLinenumber: 1187
    functionLinenumberEnd: 1194
    functionName: '[io.undertow.server.HttpServerExchange].setResponseContentLength(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - Long.toString(long)
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setResponseContentLength(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.server.HttpServerExchange:1203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.Deque<String>>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1206
    functionName: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 36
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,java.util.Deque<String>>
    signature: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.server.HttpServerExchange:1210,1
    - Dst: '[java.util.TreeMap].get(String)'
      Src: io.undertow.server.HttpServerExchange:1212,1
    - Dst: '[java.util.TreeMap].put(String)'
      Src: io.undertow.server.HttpServerExchange:1214,1
    - Dst: '[io.undertow.server.HttpServerExchange].add(String)'
      Src: io.undertow.server.HttpServerExchange:1216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - name
    - param
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1218
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1218
    functionName: '[io.undertow.server.HttpServerExchange].addQueryParam(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[java.util.TreeMap].put(String)'
    - '[io.undertow.server.HttpServerExchange].add(String)'
    - '[java.util.TreeMap].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].addQueryParam(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.server.HttpServerExchange:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.Deque<String>>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1231
    functionName: '[io.undertow.server.HttpServerExchange].getPathParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 30
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,java.util.Deque<String>>
    signature: '[io.undertow.server.HttpServerExchange].getPathParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.server.HttpServerExchange:1235,1
    - Dst: '[java.util.TreeMap].get(String)'
      Src: io.undertow.server.HttpServerExchange:1237,1
    - Dst: '[java.util.TreeMap].put(String)'
      Src: io.undertow.server.HttpServerExchange:1239,1
    - Dst: '[io.undertow.server.HttpServerExchange].add(String)'
      Src: io.undertow.server.HttpServerExchange:1241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - name
    - param
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1243
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1243
    functionName: '[io.undertow.server.HttpServerExchange].addPathParam(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[java.util.TreeMap].put(String)'
    - '[io.undertow.server.HttpServerExchange].add(String)'
    - '[java.util.TreeMap].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].addPathParam(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookieStore()'
      Src: io.undertow.server.HttpServerExchange:1251,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.HttpServerExchange:1251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1249
    functionDepth: 4
    functionLinenumber: 1249
    functionLinenumberEnd: 1252
    functionName: '[io.undertow.server.HttpServerExchange].getRequestCookies()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].requestCookieStore()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.HttpServerExchange].getRequestCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.HttpServerExchange:1261,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.HttpServerExchange:1261,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.HttpServerExchange:1261,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.HttpServerExchange:1262,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.HttpServerExchange:1262,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.HttpServerExchange:1262,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.HttpServerExchange:1263,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.server.HttpServerExchange:1263,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.HttpServerExchange:1265,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.HttpServerExchange:1265,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.HttpServerExchange:1265,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.HttpServerExchange:1266,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
      Src: io.undertow.server.HttpServerExchange:1266,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.HttpServerExchange:1268,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.HttpServerExchange:1268,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.HttpServerExchange:1268,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.HttpServerExchange:1269,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
      Src: io.undertow.server.HttpServerExchange:1269,1
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookieStore()'
      Src: io.undertow.server.HttpServerExchange:1272,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.HttpServerExchange:1272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 1274
      start: 1259
    functionDepth: 4
    functionLinenumber: 1259
    functionLinenumberEnd: 1274
    functionName: '[io.undertow.server.HttpServerExchange].setRequestCookie(io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
    - '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.Cookie)'
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    - '[String].isEmpty()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].requestCookieStore()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setRequestCookie(io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.server.HttpServerExchange:1278,1
    - Dst: cookie.getName()
      Src: io.undertow.server.HttpServerExchange:1279,1
    - Dst: '[String].equals(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1287
      start: 1276
    functionDepth: 5
    functionLinenumber: 1276
    functionLinenumberEnd: 1287
    functionName: '[io.undertow.server.HttpServerExchange].getRequestCookie(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[String].equals(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - cookie.getName()
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.HttpServerExchange].getRequestCookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookieStore()'
      Src: io.undertow.server.HttpServerExchange:1295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Iterable<io.undertow.server.handlers.Cookie>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1293
    functionDepth: 4
    functionLinenumber: 1293
    functionLinenumberEnd: 1298
    functionName: '[io.undertow.server.HttpServerExchange].requestCookies()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 10
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].requestCookieStore()'
    linkageType: ''
    returnType: Iterable<io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.HttpServerExchange].requestCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.HttpServerExchange:1307,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.HttpServerExchange:1307,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.HttpServerExchange:1307,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.HttpServerExchange:1308,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.HttpServerExchange:1308,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.HttpServerExchange:1308,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.HttpServerExchange:1309,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
      Src: io.undertow.server.HttpServerExchange:1309,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.HttpServerExchange:1311,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.HttpServerExchange:1311,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.HttpServerExchange:1311,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.HttpServerExchange:1312,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
      Src: io.undertow.server.HttpServerExchange:1312,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.HttpServerExchange:1314,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.HttpServerExchange:1314,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.HttpServerExchange:1314,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.HttpServerExchange:1315,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
      Src: io.undertow.server.HttpServerExchange:1315,1
    - Dst: '[io.undertow.server.HttpServerExchange].responseCookieStore()'
      Src: io.undertow.server.HttpServerExchange:1318,1
    - Dst: '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.HttpServerExchange:1318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 1320
      start: 1305
    functionDepth: 3
    functionLinenumber: 1305
    functionLinenumberEnd: 1320
    functionName: '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
    - '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - '[io.undertow.server.CookieStore].add(io.undertow.server.handlers.Cookie)'
    - '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    - '[String].isEmpty()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].responseCookieStore()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].responseCookieStore()'
      Src: io.undertow.server.HttpServerExchange:1328,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.server.HttpServerExchange:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: '[io.undertow.server.HttpServerExchange].getResponseCookies()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].responseCookieStore()'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.HttpServerExchange].getResponseCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].responseCookieStore()'
      Src: io.undertow.server.HttpServerExchange:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Iterable<io.undertow.server.handlers.Cookie>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    functionName: '[io.undertow.server.HttpServerExchange].responseCookies()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].responseCookieStore()'
    linkageType: ''
    returnType: Iterable<io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.server.HttpServerExchange].responseCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.HttpServerExchange:1344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.CookieStore
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1347
    functionName: '[io.undertow.server.HttpServerExchange].responseCookieStore()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.CookieStore].<init>()'
    linkageType: ''
    returnType: io.undertow.server.CookieStore
    signature: '[io.undertow.server.HttpServerExchange].responseCookieStore()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.server.HttpServerExchange:1351,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1352,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.HttpServerExchange:1352,1
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(io.undertow.util.HeaderValues,io.undertow.server.CookieStore,org.xnio.OptionMap)'
      Src: io.undertow.server.HttpServerExchange:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.CookieStore
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1349
    functionDepth: 3
    functionLinenumber: 1349
    functionLinenumberEnd: 1355
    functionName: '[io.undertow.server.HttpServerExchange].requestCookieStore()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.util.Cookies].parseRequestCookies(io.undertow.util.HeaderValues,io.undertow.server.CookieStore,org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.CookieStore
    signature: '[io.undertow.server.HttpServerExchange].requestCookieStore()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1362
    functionName: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 21
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1374,1
    - Dst: '[io.undertow.server.HttpServerExchange].clearFlags(int)'
      Src: io.undertow.server.HttpServerExchange:1375,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1380,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.HttpServerExchange:1381,1
    - Dst: '[io.undertow.conduits.EmptyStreamSourceConduit].<init>(org.xnio.XnioIoThread)'
      Src: io.undertow.server.HttpServerExchange:1381,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].<init>(io.undertow.server.HttpServerExchange,io.undertow.conduits.EmptyStreamSourceConduit)'
      Src: io.undertow.server.HttpServerExchange:1381,1
    - Dst: '[ReadDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSourceChannel)'
      Src: io.undertow.server.HttpServerExchange:1381,1
    - Dst: '[io.undertow.server.ServerConnection].getSourceChannel()'
      Src: io.undertow.server.HttpServerExchange:1384,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].getConduit()'
      Src: io.undertow.server.HttpServerExchange:1387,1
    - Dst: '[WrapperConduitFactory].<init>(io.undertow.server.HttpServerExchange,int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1387,1
    - Dst: '[WrapperConduitFactory].create()'
      Src: io.undertow.server.HttpServerExchange:1388,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].setConduit(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1388,1
    - Dst: '[ReadDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSourceChannel)'
      Src: io.undertow.server.HttpServerExchange:1390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSourceChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1372
    functionDepth: 2
    functionLinenumber: 1372
    functionLinenumberEnd: 1391
    functionName: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 10
    functionsReached:
    - '[ReadDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSourceChannel)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[WrapperConduitFactory].<init>(io.undertow.server.HttpServerExchange,int,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.ServerConnection].getSourceChannel()'
    - '[io.undertow.server.HttpServerExchange].clearFlags(int)'
    - '[io.undertow.conduits.EmptyStreamSourceConduit].<init>(org.xnio.XnioIoThread)'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].getConduit()'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].setConduit(io.undertow.server.HttpServerExchange)'
    - '[WrapperConduitFactory].create()'
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].<init>(io.undertow.server.HttpServerExchange,io.undertow.conduits.EmptyStreamSourceConduit)'
    linkageType: ''
    returnType: org.xnio.channels.StreamSourceChannel
    signature: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1395
    functionName: '[io.undertow.server.HttpServerExchange].resetRequestChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].resetRequestChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1399
    functionName: '[io.undertow.server.HttpServerExchange].isRequestChannelAvailable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isRequestChannelAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1407
    functionName: '[io.undertow.server.HttpServerExchange].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<PooledByteBuffer[]>)'
      Src: io.undertow.server.HttpServerExchange:1416,1
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1421
    functionName: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 19
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<PooledByteBuffer[]>)'
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1428
    functionName: '[io.undertow.server.HttpServerExchange].isResponseComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isResponseComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1435,1
    - Dst: '[ReadDispatchChannel].suspendReads()'
      Src: io.undertow.server.HttpServerExchange:1440,1
    - Dst: '[ReadDispatchChannel].requestDone()'
      Src: io.undertow.server.HttpServerExchange:1441,1
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:1443,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1444,1
    - Dst: '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
      Src: io.undertow.server.HttpServerExchange:1445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1447
    functionName: '[io.undertow.server.HttpServerExchange].terminateRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
    - '[ReadDispatchChannel].requestDone()'
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
    - '[ReadDispatchChannel].suspendReads()'
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].terminateRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener].<init>(ExchangeCompletionListener[],io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1454,1
    - Dst: next.exchangeEvent(io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener)
      Src: io.undertow.server.HttpServerExchange:1454,1
    - Dst: '[io.undertow.server.ServerConnection].exchangeComplete()'
      Src: io.undertow.server.HttpServerExchange:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1459
    functionName: '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - next.exchangeEvent(io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener)
    - '[io.undertow.server.ServerConnection].exchangeComplete()'
    - '[io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener].<init>(ExchangeCompletionListener[],io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ServerConnection].getSinkChannel()'
      Src: io.undertow.server.HttpServerExchange:1487,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].getConduit()'
      Src: io.undertow.server.HttpServerExchange:1492,1
    - Dst: '[WrapperStreamSinkConduitFactory].<init>(io.undertow.server.HttpServerExchange,int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1492,1
    - Dst: '[WrapperStreamSinkConduitFactory].create()'
      Src: io.undertow.server.HttpServerExchange:1493,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].setConduit(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1493,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].getConduit()'
      Src: io.undertow.server.HttpServerExchange:1495,1
    - Dst: '[io.undertow.server.ServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1495,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].setConduit(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.server.HttpServerExchange:1495,1
    - Dst: '[WriteDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSinkChannel)'
      Src: io.undertow.server.HttpServerExchange:1497,1
    - Dst: '[io.undertow.server.HttpServerExchange].startResponse()'
      Src: io.undertow.server.HttpServerExchange:1498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSinkChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1481
    functionDepth: 2
    functionLinenumber: 1481
    functionLinenumberEnd: 1500
    functionName: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 22
    functionsReached:
    - '[WriteDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSinkChannel)'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].setConduit(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.server.HttpServerExchange].startResponse()'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].getConduit()'
    - '[io.undertow.server.ServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange)'
    - '[WrapperStreamSinkConduitFactory].create()'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].setConduit(io.undertow.server.HttpServerExchange)'
    - '[WrapperStreamSinkConduitFactory].<init>(io.undertow.server.HttpServerExchange,int,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.ServerConnection].getSinkChannel()'
    linkageType: ''
    returnType: org.xnio.channels.StreamSinkChannel
    signature: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BlockingHttpExchange].getSender()'
      Src: io.undertow.server.HttpServerExchange:1512,1
    - Dst: '[io.undertow.io.AsyncSenderImpl].<init>()'
      Src: io.undertow.server.HttpServerExchange:1517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Sender
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1518
    functionName: '[io.undertow.server.HttpServerExchange].getResponseSender()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 21
    functionsReached:
    - '[io.undertow.io.AsyncSenderImpl].<init>()'
    - '[io.undertow.server.BlockingHttpExchange].getSender()'
    linkageType: ''
    returnType: io.undertow.io.Sender
    signature: '[io.undertow.server.HttpServerExchange].getResponseSender()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BlockingHttpExchange].getReceiver()'
      Src: io.undertow.server.HttpServerExchange:1522,1
    - Dst: '[io.undertow.io.AsyncReceiverImpl].<init>()'
      Src: io.undertow.server.HttpServerExchange:1527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1528
    functionName: '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.BlockingHttpExchange].getReceiver()'
    - '[io.undertow.io.AsyncReceiverImpl].<init>()'
    linkageType: ''
    returnType: io.undertow.io.Receiver
    signature: '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1535
    functionName: '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1547
    functionName: '[io.undertow.server.HttpServerExchange].getResponseCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.HttpServerExchange].getResponseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.HttpServerExchange:1559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1560
      start: 1557
    functionDepth: 2
    functionLinenumber: 1557
    functionLinenumberEnd: 1560
    functionName: '[io.undertow.server.HttpServerExchange].setResponseCode(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setResponseCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1569
    functionName: '[io.undertow.server.HttpServerExchange].getStatusCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.HttpServerExchange].getStatusCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.HttpServerExchange:1580,1
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1582,1
    - Dst: '[io.undertow.server.HttpServerExchange].responseAlreadyStarted()'
      Src: io.undertow.server.HttpServerExchange:1583,1
    - Dst: '[io.undertow.server.HttpServerExchange].isDebugEnabled()'
      Src: io.undertow.server.HttpServerExchange:1586,1
    - Dst: '[RuntimeException].<init>()'
      Src: io.undertow.server.HttpServerExchange:1587,1
    - Dst: '[io.undertow.server.HttpServerExchange].debugf(RuntimeException,String,int)'
      Src: io.undertow.server.HttpServerExchange:1587,1
    - Dst: '[io.undertow.server.HttpServerExchange].clearFlags(int)'
      Src: io.undertow.server.HttpServerExchange:1590,1
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1593
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1593
    functionName: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 57
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].responseAlreadyStarted()'
    - '[RuntimeException].<init>()'
    - '[io.undertow.server.HttpServerExchange].debugf(RuntimeException,String,int)'
    - '[io.undertow.server.HttpServerExchange].clearFlags(int)'
    - '[io.undertow.server.HttpServerExchange].isDebugEnabled()'
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
    - '[io.undertow.server.HttpServerExchange].setFlags(io.undertow.server.HttpServerExchange)'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<String>,String)'
      Src: io.undertow.server.HttpServerExchange:1605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1607
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1607
    functionName: '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<String>,String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.server.HttpServerExchange:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1615
    functionName: '[io.undertow.server.HttpServerExchange].getReasonPhrase()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<String>)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].getReasonPhrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestChannelAlreadyProvided()'
      Src: io.undertow.server.HttpServerExchange:1625,1
    - Dst: System.arraycopy(io.undertow.server.HttpServerExchange,int,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[],int,io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange:1631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
    constantsTouched: []
    func_position:
      end: 1636
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1636
    functionName: '[io.undertow.server.HttpServerExchange].addRequestWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(io.undertow.server.HttpServerExchange,int,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[],int,io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.HttpServerExchange].requestChannelAlreadyProvided()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].addRequestWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].responseChannelAlreadyProvided()'
      Src: io.undertow.server.HttpServerExchange:1646,1
    - Dst: System.arraycopy(io.undertow.server.HttpServerExchange,int,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[],int,io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange:1652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
    constantsTouched: []
    func_position:
      end: 1657
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1657
    functionName: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(io.undertow.server.HttpServerExchange,int,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[],int,io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.HttpServerExchange].responseChannelAlreadyProvided()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[DefaultBlockingHttpExchange].<init>()'
      Src: io.undertow.server.HttpServerExchange:1671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BlockingHttpExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1673
    functionName: '[io.undertow.server.HttpServerExchange].startBlocking()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[DefaultBlockingHttpExchange].<init>()'
    linkageType: ''
    returnType: io.undertow.server.BlockingHttpExchange
    signature: '[io.undertow.server.HttpServerExchange].startBlocking()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.BlockingHttpExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BlockingHttpExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - httpExchange
    argTypes:
    - io.undertow.server.BlockingHttpExchange
    constantsTouched: []
    func_position:
      end: 1693
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1693
    functionName: '[io.undertow.server.HttpServerExchange].startBlocking(io.undertow.server.BlockingHttpExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.BlockingHttpExchange
    signature: '[io.undertow.server.HttpServerExchange].startBlocking(io.undertow.server.BlockingHttpExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1702
    functionName: '[io.undertow.server.HttpServerExchange].isBlocking()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isBlocking()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].startBlockingHasNotBeenCalled()'
      Src: io.undertow.server.HttpServerExchange:1710,1
    - Dst: '[io.undertow.server.BlockingHttpExchange].getInputStream()'
      Src: io.undertow.server.HttpServerExchange:1712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1708
    functionDepth: 1
    functionLinenumber: 1708
    functionLinenumberEnd: 1713
    functionName: '[io.undertow.server.HttpServerExchange].getInputStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.BlockingHttpExchange].getInputStream()'
    - '[io.undertow.server.HttpServerExchange].startBlockingHasNotBeenCalled()'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[io.undertow.server.HttpServerExchange].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].startBlockingHasNotBeenCalled()'
      Src: io.undertow.server.HttpServerExchange:1721,1
    - Dst: '[io.undertow.server.BlockingHttpExchange].getOutputStream()'
      Src: io.undertow.server.HttpServerExchange:1723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1724
    functionName: '[io.undertow.server.HttpServerExchange].getOutputStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.BlockingHttpExchange].getOutputStream()'
    - '[io.undertow.server.HttpServerExchange].startBlockingHasNotBeenCalled()'
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[io.undertow.server.HttpServerExchange].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1731,1
    - Dst: '[WriteDispatchChannel].suspendWrites()'
      Src: io.undertow.server.HttpServerExchange:1736,1
    - Dst: '[WriteDispatchChannel].responseDone()'
      Src: io.undertow.server.HttpServerExchange:1737,1
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:1739,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1740,1
    - Dst: '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
      Src: io.undertow.server.HttpServerExchange:1741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1744
    functionName: '[io.undertow.server.HttpServerExchange].terminateResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    - '[WriteDispatchChannel].suspendWrites()'
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    - '[WriteDispatchChannel].responseDone()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].terminateResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - requestStartTime
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 1760
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1760
    functionName: '[io.undertow.server.HttpServerExchange].setRequestStartTime(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setRequestStartTime(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1772,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.BlockingHttpExchange)'
      Src: io.undertow.server.HttpServerExchange:1775,1
    - Dst: listener.handleDefaultResponse()
      Src: io.undertow.server.HttpServerExchange:1786,1
    - Dst: '[io.undertow.server.HttpServerExchange].debug(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1790,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreClear(int,int)'
      Src: io.undertow.server.HttpServerExchange:1797,1
    - Dst: '[io.undertow.server.ServerConnection].terminateRequestChannel()'
      Src: io.undertow.server.HttpServerExchange:1798,1
    - Dst: '[io.undertow.server.BlockingHttpExchange].close()'
      Src: io.undertow.server.HttpServerExchange:1804,1
    - Dst: '[io.undertow.server.HttpServerExchange].ioException(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1806,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.HttpServerExchange:1807,1
    - Dst: '[io.undertow.server.HttpServerExchange].handleUnexpectedFailure(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1809,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.HttpServerExchange:1810,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreClear(int,int)'
      Src: io.undertow.server.HttpServerExchange:1816,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.server.HttpServerExchange:1821,1
    - Dst: '[org.xnio.channels.Channels].drain(ReadDispatchChannel,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1826,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.HttpServerExchange:1834,1
    - Dst: '[ReadDispatchChannel].getReadSetter()'
      Src: io.undertow.server.HttpServerExchange:1835,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.HttpServerExchange:1836,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.server.HttpServerExchange:1843,1
    - Dst: '[org.xnio.ChannelListeners].drainListener(io.undertow.server.HttpServerExchange,org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.server.HttpServerExchange:1835,1
    - Dst: '[io.undertow.server.HttpServerExchange].set(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1835,1
    - Dst: '[ReadDispatchChannel].resumeReads()'
      Src: io.undertow.server.HttpServerExchange:1856,1
    - Dst: '[io.undertow.server.HttpServerExchange].ioException(java.io.IOException)'
      Src: io.undertow.server.HttpServerExchange:1866,1
    - Dst: '[io.undertow.server.HttpServerExchange].handleUnexpectedFailure(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1868,1
    - Dst: '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
      Src: io.undertow.server.HttpServerExchange:1870,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.HttpServerExchange:1871,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreClear(int,int)'
      Src: io.undertow.server.HttpServerExchange:1877,1
    - Dst: '[io.undertow.server.HttpServerExchange].closeAndFlushResponse()'
      Src: io.undertow.server.HttpServerExchange:1878,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1770
    functionDepth: 5
    functionLinenumber: 1770
    functionLinenumberEnd: 1881
    functionName: '[io.undertow.server.HttpServerExchange].endExchange()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 41
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].closeAndFlushResponse()'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.server.HttpServerExchange].ioException(java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].set(io.undertow.server.HttpServerExchange)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.BlockingHttpExchange)'
    - '[io.undertow.server.BlockingHttpExchange].close()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    - '[io.undertow.server.ServerConnection].terminateRequestChannel()'
    - '[io.undertow.server.HttpServerExchange].debug(String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].anyAreClear(int,int)'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[org.xnio.ChannelListeners].drainListener(io.undertow.server.HttpServerExchange,org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
    - '[org.xnio.channels.Channels].drain(ReadDispatchChannel,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].handleUnexpectedFailure(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].ioException(io.undertow.server.HttpServerExchange)'
    - listener.handleDefaultResponse()
    - '[ReadDispatchChannel].resumeReads()'
    - '[ReadDispatchChannel].getReadSetter()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].endExchange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ServerConnection].isOpen()'
      Src: io.undertow.server.HttpServerExchange:1884,1
    - Dst: '[io.undertow.server.HttpServerExchange].terminateRequest()'
      Src: io.undertow.server.HttpServerExchange:1888,1
    - Dst: '[io.undertow.server.HttpServerExchange].terminateResponse()'
      Src: io.undertow.server.HttpServerExchange:1889,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
      Src: io.undertow.server.HttpServerExchange:1893,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.HttpServerExchange:1894,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1894,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.HttpServerExchange:1894,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1894,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.HttpServerExchange:1894,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.HttpServerExchange:1894,1
    - Dst: '[io.undertow.server.Connectors].isEntityBodyAllowed()'
      Src: io.undertow.server.HttpServerExchange:1894,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.HttpServerExchange:1896,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.HttpServerExchange:1896,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.server.HttpServerExchange:1898,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreClear(int,int)'
      Src: io.undertow.server.HttpServerExchange:1899,1
    - Dst: '[WriteDispatchChannel].isOpen()'
      Src: io.undertow.server.HttpServerExchange:1899,1
    - Dst: '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
      Src: io.undertow.server.HttpServerExchange:1903,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.HttpServerExchange:1904,1
    - Dst: '[WriteDispatchChannel].shutdownWrites()'
      Src: io.undertow.server.HttpServerExchange:1907,1
    - Dst: '[WriteDispatchChannel].flush()'
      Src: io.undertow.server.HttpServerExchange:1908,1
    - Dst: '[WriteDispatchChannel].getWriteSetter()'
      Src: io.undertow.server.HttpServerExchange:1909,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.HttpServerExchange:1910,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.server.HttpServerExchange:1923,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.server.HttpServerExchange:1909,1
    - Dst: '[io.undertow.server.HttpServerExchange].set(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1909,1
    - Dst: '[WriteDispatchChannel].resumeWrites()'
      Src: io.undertow.server.HttpServerExchange:1933,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreClear(int,int)'
      Src: io.undertow.server.HttpServerExchange:1936,1
    - Dst: '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
      Src: io.undertow.server.HttpServerExchange:1938,1
    - Dst: '[io.undertow.server.HttpServerExchange].responseWasNotTerminated(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.HttpServerExchange:1939,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.HttpServerExchange:1940,1
    - Dst: '[io.undertow.server.HttpServerExchange].ioException(java.io.IOException)'
      Src: io.undertow.server.HttpServerExchange:1945,1
    - Dst: '[io.undertow.server.HttpServerExchange].handleUnexpectedFailure(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:1947,1
    - Dst: '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
      Src: io.undertow.server.HttpServerExchange:1949,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.HttpServerExchange:1951,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1883
    functionDepth: 4
    functionLinenumber: 1883
    functionLinenumberEnd: 1953
    functionName: '[io.undertow.server.HttpServerExchange].closeAndFlushResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
    - '[io.undertow.server.ServerConnection].isOpen()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.server.HttpServerExchange].ioException(java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].invokeExchangeCompleteListeners()'
    - '[io.undertow.server.HttpServerExchange].set(io.undertow.server.HttpServerExchange)'
    - '[WriteDispatchChannel].getWriteSetter()'
    - '[WriteDispatchChannel].resumeWrites()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].anyAreClear(int,int)'
    - '[io.undertow.server.HttpServerExchange].terminateRequest()'
    - '[WriteDispatchChannel].flush()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[WriteDispatchChannel].isOpen()'
    - '[io.undertow.server.HttpServerExchange].handleUnexpectedFailure(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].terminateResponse()'
    - '[io.undertow.server.Connectors].isEntityBodyAllowed()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
    - '[WriteDispatchChannel].shutdownWrites()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[io.undertow.server.HttpServerExchange].responseWasNotTerminated(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].closeAndFlushResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:1975,1
    - Dst: '[io.undertow.server.HttpServerExchange].responseAlreadyStarted()'
      Src: io.undertow.server.HttpServerExchange:1976,1
    - Dst: '[io.undertow.server.HttpServerExchange].setFlags(int)'
      Src: io.undertow.server.HttpServerExchange:1978,1
    - Dst: '[org.jboss.logging.Logger].tracef(String)'
      Src: io.undertow.server.HttpServerExchange:1980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 1982
    functionName: '[io.undertow.server.HttpServerExchange].startResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setFlags(int)'
    - '[io.undertow.server.HttpServerExchange].responseAlreadyStarted()'
    - '[io.undertow.server.HttpServerExchange].allAreSet(int,int)'
    - '[org.jboss.logging.Logger].tracef(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].startResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ServerConnection].getIoThread()'
      Src: io.undertow.server.HttpServerExchange:1985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1986
    functionName: '[io.undertow.server.HttpServerExchange].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 16
    functionsReached:
    - '[io.undertow.server.ServerConnection].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.HttpServerExchange].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.HttpServerExchange:1990,1
    - Dst: '[io.undertow.util.HeaderMap].get(String)'
      Src: io.undertow.server.HttpServerExchange:1990,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.HttpServerExchange:1991,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.server.HttpServerExchange:1992,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.HttpServerExchange:1992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1988
    functionDepth: 4
    functionLinenumber: 1988
    functionLinenumberEnd: 1996
    functionName: '[io.undertow.server.HttpServerExchange].isMultiPartExchange()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HeaderMap].get(String)'
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.util.HeaderValues].size()'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isMultiPartExchange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2003
    functionName: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestChannelAvailable()'
      Src: io.undertow.server.HttpServerExchange:2011,1
    - Dst: '[io.undertow.server.HttpServerExchange].requestChannelAlreadyProvided()'
      Src: io.undertow.server.HttpServerExchange:2012,1
    - Dst: '[io.undertow.server.ServerConnection].maxEntitySizeUpdated()'
      Src: io.undertow.server.HttpServerExchange:2015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - maxEntitySize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 2017
      start: 2010
    functionDepth: 1
    functionLinenumber: 2010
    functionLinenumberEnd: 2017
    functionName: '[io.undertow.server.HttpServerExchange].setMaxEntitySize(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].requestChannelAlreadyProvided()'
    - '[io.undertow.server.ServerConnection].maxEntitySizeUpdated()'
    - '[io.undertow.server.HttpServerExchange].isRequestChannelAvailable()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.HttpServerExchange].setMaxEntitySize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.SecurityContext
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2021
    functionName: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.SecurityContext
    signature: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.HttpServerExchange:2025,1
    - Dst: '[io.undertow.server.HttpServerExchange].checkPermission(RuntimePermission)'
      Src: io.undertow.server.HttpServerExchange:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - securityContext
    argTypes:
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 2030
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2030
    functionName: '[io.undertow.server.HttpServerExchange].setSecurityContext(io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.server.HttpServerExchange].checkPermission(RuntimePermission)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].setSecurityContext(io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.HttpServerExchange:2042,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
      Src: io.undertow.server.HttpServerExchange:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ResponseCommitListener
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.ResponseCommitListener
    constantsTouched: []
    func_position:
      end: 2049
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2049
    functionName: '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.ResponseCommitListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.ResponseCommitListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:2058,1
    - Dst: '[WriteDispatchChannel].runResume()'
      Src: io.undertow.server.HttpServerExchange:2059,1
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
      Src: io.undertow.server.HttpServerExchange:2062,1
    - Dst: '[ReadDispatchChannel].runResume()'
      Src: io.undertow.server.HttpServerExchange:2063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2067
    functionName: '[io.undertow.server.HttpServerExchange].runResumeReadWrite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[WriteDispatchChannel].runResume()'
    - '[ReadDispatchChannel].runResume()'
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].runResumeReadWrite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].anyAreSet(int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:2070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2071
    functionName: '[io.undertow.server.HttpServerExchange].isResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].anyAreSet(int,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange].isResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.HttpServerExchange:2653,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.HttpServerExchange:2653,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.HttpServerExchange:2653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2651
    functionDepth: 1
    functionLinenumber: 2651
    functionLinenumberEnd: 2654
    functionName: '[io.undertow.server.HttpServerExchange].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.HttpServerExchange].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>].compareAndSet(io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:2660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2661
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2661
    functionName: '[io.undertow.server.HttpServerExchange].setFlags(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 9
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>].compareAndSet(io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].setFlags(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>].compareAndSet(io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange:2667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - RuntimePermission
      - String
      - String
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<PooledByteBuffer[]>
      - io.undertow.util.AttachmentKey<java.util.Map<String,String>>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.server.ServerConnection
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      - int
      - ExchangeCompletionListener[]
      - DefaultResponseListener[]
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      - io.undertow.server.CookieStore
      - io.undertow.server.CookieStore
      - WriteDispatchChannel
      - ReadDispatchChannel
      - io.undertow.server.BlockingHttpExchange
      - io.undertow.util.HttpString
      - io.undertow.security.api.SecurityContext
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>
      - io.undertow.util.HttpString
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[]
      - int
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - io.undertow.io.Sender
      - io.undertow.io.Receiver
      - long
      - long
      - Runnable
      - java.util.concurrent.Executor
      - long
      - long
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - java.util.concurrent.atomic.AtomicLong
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2668
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2668
    functionName: '[io.undertow.server.HttpServerExchange].clearFlags(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 6
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.HttpServerExchange>].compareAndSet(io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange].clearFlags(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ExchangeCompletionListener[]
      - io.undertow.server.HttpServerExchange
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeCompletionListener[]
      - HttpServerExchange
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener.NextListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - list
    - exchange
    - i
    argTypes:
    - ExchangeCompletionListener[]
    - io.undertow.server.HttpServerExchange
    - int
    constantsTouched: []
    func_position:
      end: 2082
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2082
    functionName: '[io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener].<init>(ExchangeCompletionListener[],io.undertow.server.HttpServerExchange,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener
    signature: '[io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener].<init>(ExchangeCompletionListener[],io.undertow.server.HttpServerExchange,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.exchangeEvent(HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener:2088,1
    - Dst: exchange.connection.exchangeComplete(HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener:2090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeCompletionListener[]
      - HttpServerExchange
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener.NextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2092
    functionName: '[io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener].proceed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - next.exchangeEvent(HttpServerExchange)
    - exchange.connection.exchangeComplete(HttpServerExchange)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ExchangeCompleteNextListener].proceed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - UndertowOutputStream
      - Sender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BlockingHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 2104
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2104
    functionName: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].<init>(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange
    signature: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].<init>(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowInputStream].<init>(HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - UndertowOutputStream
      - Sender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BlockingHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2111
    functionName: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getInputStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.io.UndertowInputStream].<init>(HttpServerExchange)'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.UndertowOutputStream].<init>(HttpServerExchange)'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - UndertowOutputStream
      - Sender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BlockingHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.UndertowOutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2118
    functionName: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getOutputStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.io.UndertowOutputStream].<init>(HttpServerExchange)'
    linkageType: ''
    returnType: io.undertow.io.UndertowOutputStream
    signature: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getOutputStream()'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2123,1
    - Dst: '[io.undertow.io.BlockingSenderImpl].<init>(HttpServerExchange,io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange)'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - UndertowOutputStream
      - Sender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BlockingHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Sender
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2126
    functionName: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getSender()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getOutputStream()'
    - '[io.undertow.io.BlockingSenderImpl].<init>(HttpServerExchange,io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange)'
    linkageType: ''
    returnType: io.undertow.io.Sender
    signature: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getSender()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2132,1
    - Dst: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getInputStream()'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2133,1
    - Dst: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].close()'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2133,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseComplete()'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2137,1
    - Dst: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getOutputStream()'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2138,1
    - Dst: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].close()'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - UndertowOutputStream
      - Sender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - BlockingHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2128
    functionDepth: 2
    functionLinenumber: 2128
    functionLinenumberEnd: 2141
    functionName: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getInputStream()'
    - '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getOutputStream()'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.server.HttpServerExchange].isResponseComplete()'
    - '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getInputStream()'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2145,1
    - Dst: '[io.undertow.io.BlockingReceiverImpl].<init>(HttpServerExchange,io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange)'
      Src: io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange:2145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - UndertowOutputStream
      - Sender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - BlockingHttpExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.io.Receiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2146
    functionName: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getReceiver()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getInputStream()'
    - '[io.undertow.io.BlockingReceiverImpl].<init>(HttpServerExchange,io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange)'
    linkageType: ''
    returnType: io.undertow.io.Receiver
    signature: '[io.undertow.server.HttpServerExchange.DefaultBlockingHttpExchange].getReceiver()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].<init>(org.xnio.conduits.ConduitStreamSinkChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ConduitStreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange.WriteDispatchChannel
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - org.xnio.conduits.ConduitStreamSinkChannel
    constantsTouched: []
    func_position:
      end: 2164
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2164
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].<init>(org.xnio.conduits.ConduitStreamSinkChannel)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange.WriteDispatchChannel
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].allAreSet(io.undertow.server.HttpServerExchange.WriteDispatchChannel,io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2169
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].allAreSet(io.undertow.server.HttpServerExchange.WriteDispatchChannel,io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isInCall()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2173,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].setFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2174,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.WriteDispatchChannel,io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2175,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].resumedAndDispatched()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2176,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isFinished()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2178,1
    - Dst: delegate.resumeWrites()
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2171
    functionDepth: 1
    functionLinenumber: 2171
    functionLinenumberEnd: 2181
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.WriteDispatchChannel,io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isInCall()'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].setFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
    - delegate.resumeWrites()
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].resumedAndDispatched()'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2185,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].suspendWrites()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2183
    functionDepth: 2
    functionLinenumber: 2183
    functionLinenumberEnd: 2187
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isFinished()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2191,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isInCall()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2194,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].setFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2196,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.WriteDispatchChannel,io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2197,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].resumedAndDispatched()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2198,1
    - Dst: delegate.wakeupWrites()
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2189
    functionDepth: 1
    functionLinenumber: 2189
    functionLinenumberEnd: 2203
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.WriteDispatchChannel,io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isInCall()'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].setFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
    - delegate.wakeupWrites()
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].resumedAndDispatched()'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.WriteDispatchChannel,io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2207,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isWriteResumed()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2205
    functionDepth: 2
    functionLinenumber: 2205
    functionLinenumberEnd: 2208
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.WriteDispatchChannel,io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isWriteResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isWriteResumed()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2211,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isFinished()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2212,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].invokeListener()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2213,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2217,1
    - Dst: delegate.wakeupWrites()
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2218,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2220,1
    - Dst: delegate.resumeWrites()
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2221,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].invokeListener()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2210
    functionDepth: 3
    functionLinenumber: 2210
    functionLinenumberEnd: 2228
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].runResume()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isWriteResumed()'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.WriteDispatchChannel)'
    - delegate.wakeupWrites()
    - delegate.resumeWrites()
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].invokeListener()'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].isFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].runResume()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2232,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2232,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2230
    functionDepth: 1
    functionLinenumber: 2230
    functionLinenumberEnd: 2239
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].invokeListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    - '[Runnable].<init>()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].getIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].invokeListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2243,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2243,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].awaitCalledFromIoThread()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2244,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].awaitWritable()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2241
    functionDepth: 2
    functionLinenumber: 2241
    functionLinenumberEnd: 2247
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].getIoThread()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].awaitWritable()'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].awaitCalledFromIoThread()'
    - Thread.currentThread()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2251,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2251,1
    - Dst: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].awaitCalledFromIoThread()'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2252,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 2255
      start: 2249
    functionDepth: 2
    functionLinenumber: 2249
    functionLinenumberEnd: 2255
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].getIoThread()'
    - '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].awaitCalledFromIoThread()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
    - Thread.currentThread()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 2264
      start: 2257
    functionDepth: 2
    functionLinenumber: 2257
    functionLinenumberEnd: 2264
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 2273
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2273
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].write(ByteBuffer[],int,int)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2280
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2280
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].write(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].write(ByteBuffer[])'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 2287
      start: 2282
    functionDepth: 2
    functionLinenumber: 2282
    functionLinenumberEnd: 2287
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].write(ByteBuffer[])'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 2294
      start: 2289
    functionDepth: 2
    functionLinenumber: 2289
    functionLinenumberEnd: 2294
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2301
      start: 2296
    functionDepth: 2
    functionLinenumber: 2296
    functionLinenumberEnd: 2301
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(ByteBuffer[])'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 2308
      start: 2303
    functionDepth: 2
    functionLinenumber: 2303
    functionLinenumberEnd: 2308
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].writeFinal(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(ByteBuffer[])'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].writeFinal(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.server.HttpServerExchange.WriteDispatchChannel:2312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: DetachableStreamSinkChannel
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 2315
      start: 2310
    functionDepth: 2
    functionLinenumber: 2310
    functionLinenumberEnd: 2315
    functionName: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].write(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.HttpServerExchange.WriteDispatchChannel].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].<init>(org.xnio.conduits.ConduitStreamSourceChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ConduitStreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange.ReadDispatchChannel
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - org.xnio.conduits.ConduitStreamSourceChannel
    constantsTouched: []
    func_position:
      end: 2336
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2336
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].<init>(org.xnio.conduits.ConduitStreamSourceChannel)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange.ReadDispatchChannel
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].<init>(org.xnio.conduits.ConduitStreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].allAreSet(io.undertow.server.HttpServerExchange.ReadDispatchChannel,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2338
    functionDepth: 0
    functionLinenumber: 2338
    functionLinenumberEnd: 2341
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].allAreSet(io.undertow.server.HttpServerExchange.ReadDispatchChannel,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isInCall()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2346,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].setFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2347,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.ReadDispatchChannel,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2348,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].resumedAndDispatched()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2349,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2351,1
    - Dst: delegate.resumeReads()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2343
    functionDepth: 1
    functionLinenumber: 2343
    functionLinenumberEnd: 2355
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - delegate.resumeReads()
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].setFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isInCall()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].resumedAndDispatched()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.ReadDispatchChannel,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isInCall()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2358,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].setFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2360,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.ReadDispatchChannel,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2361,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].resumedAndDispatched()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2362,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2365,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].invokeListener()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2366,1
    - Dst: delegate.wakeupReads()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2357
    functionDepth: 2
    functionLinenumber: 2357
    functionLinenumberEnd: 2371
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].setFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isInCall()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
    - delegate.wakeupReads()
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].resumedAndDispatched()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.ReadDispatchChannel,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].invokeListener()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].getIoThread()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2375,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2375,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2373
    functionDepth: 1
    functionLinenumber: 2373
    functionLinenumberEnd: 2382
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].invokeListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].getIoThread()'
    - '[Runnable].<init>()'
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].invokeListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].setReadListener(null)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2386,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].setCloseListener(null)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2387,1
    - Dst: delegate.getReadSetter()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2389,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].set(null)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2389,1
    - Dst: delegate.getCloseSetter()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2390,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].set(null)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2384
    functionDepth: 1
    functionLinenumber: 2384
    functionLinenumberEnd: 2392
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].requestDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - delegate.getReadSetter()
    - '[org.xnio.conduits.ConduitStreamSourceChannel].setReadListener(null)'
    - delegate.getCloseSetter()
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].set(null)'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].setCloseListener(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].requestDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2396,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2398,1
    - Dst: '[java.nio.channels.FileChannel].transferFrom(long,long)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 2401
      start: 2394
    functionDepth: 2
    functionLinenumber: 2394
    functionLinenumberEnd: 2401
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[java.nio.channels.FileChannel].transferFrom(long,long)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2405,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].getIoThread()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2405,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].awaitCalledFromIoThread()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2406,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2408,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].awaitReadable()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2403
    functionDepth: 2
    functionLinenumber: 2403
    functionLinenumberEnd: 2412
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].awaitCalledFromIoThread()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].getIoThread()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].awaitReadable()'
    - Thread.currentThread()
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2417,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].suspendReads()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2414
    functionDepth: 2
    functionLinenumber: 2414
    functionLinenumberEnd: 2419
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].suspendReads()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2423,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2425,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2428,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2429,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2434,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2435,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2436,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2438,1
    - Dst: pooled.close()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2439,1
    - Dst: pooled.close()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2448,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].removeAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2453,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2455,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 2459
      start: 2421
    functionDepth: 2
    functionLinenumber: 2421
    functionLinenumberEnd: 2459
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].position(int)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
    - '[org.xnio.channels.StreamSinkChannel].write(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].removeAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - pooled.getBuffer()
    - pooled.close()
    - '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[java.nio.ByteBuffer].limit(int)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2463,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].getIoThread()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2463,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].awaitCalledFromIoThread()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2464,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2466,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 2470
      start: 2461
    functionDepth: 2
    functionLinenumber: 2461
    functionLinenumberEnd: 2470
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].awaitCalledFromIoThread()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].getIoThread()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
    - Thread.currentThread()
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2474,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].read(ByteBuffer[],int,int)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2476,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2482,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2483,1
    - Dst: '[org.xnio.Buffers].copy(ByteBuffer[],int,int,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2484,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2485,1
    - Dst: pooled.close()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2486,1
    - Dst: '[org.xnio.Buffers].hasRemaining(ByteBuffer[],int,int)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2489,1
    - Dst: pooled.close()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2493,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].removeAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2498,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].read(ByteBuffer[],int,int)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2504
      start: 2472
    functionDepth: 2
    functionLinenumber: 2472
    functionLinenumberEnd: 2504
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].removeAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - pooled.getBuffer()
    - '[io.undertow.channels.DetachableStreamSourceChannel].read(ByteBuffer[],int,int)'
    - pooled.close()
    - '[org.xnio.Buffers].hasRemaining(ByteBuffer[],int,int)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[org.xnio.Buffers].copy(ByteBuffer[],int,int,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].read(ByteBuffer[],int,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 1
    argNames:
    - dsts
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 2509
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2509
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].read(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].read(ByteBuffer[],int,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].read(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2513,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isOpen()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2511
    functionDepth: 2
    functionLinenumber: 2511
    functionLinenumberEnd: 2518
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isOpen()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2522,1
    - Dst: pooled.close()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2526,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].removeAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2530,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].close()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2520
    functionDepth: 2
    functionLinenumber: 2520
    functionLinenumberEnd: 2532
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].close()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].removeAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - pooled.close()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2536,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2540,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.ReadDispatchChannel,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2543,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isReadResumed()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2534
    functionDepth: 2
    functionLinenumber: 2534
    functionLinenumberEnd: 2544
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isReadResumed()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].anyAreSet(io.undertow.server.HttpServerExchange.ReadDispatchChannel,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2548,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2550,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2556,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2557,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2558,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2559,1
    - Dst: pooled.close()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2560,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2563,1
    - Dst: pooled.close()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2567,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].removeAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2572,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2574,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 2578
      start: 2546
    functionDepth: 2
    functionLinenumber: 2546
    functionLinenumberEnd: 2578
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].hasRemaining()'
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - pooled.getBuffer()
    - pooled.close()
    - '[io.undertow.channels.DetachableStreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].removeAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].getAttachment(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isReadResumed()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2581,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2582,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].invokeListener()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2583,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2587,1
    - Dst: delegate.wakeupReads()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2588,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2590,1
    - Dst: delegate.resumeReads()
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2591,1
    - Dst: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].invokeListener()'
      Src: io.undertow.server.HttpServerExchange.ReadDispatchChannel:2596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: DetachableStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2580
    functionDepth: 3
    functionLinenumber: 2580
    functionLinenumberEnd: 2598
    functionName: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].runResume()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - delegate.resumeReads()
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isReadResumed()'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].isFinished()'
    - delegate.wakeupReads()
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].clearFlags(io.undertow.server.HttpServerExchange.ReadDispatchChannel)'
    - '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].invokeListener()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpServerExchange.ReadDispatchChannel].runResume()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
      - int
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ConduitWrapper<StreamSinkConduit>[]
      - int
      - StreamSinkConduit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - wrappers
    - wrapperCount
    - exchange
    - first
    argTypes:
    - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[]
    - int
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSinkConduit
    constantsTouched: []
    func_position:
      end: 2614
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2614
    functionName: '[io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory].<init>(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[],int,io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory
    signature: '[io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory].<init>(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[],int,io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory:2619,1
    - Dst: '[io.undertow.server.ServerConnection].getSinkConduit(HttpServerExchange,StreamSinkConduit)'
      Src: io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory:2619,1
    - Dst: wrappers[position--].wrap(HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory:2621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ConduitWrapper<StreamSinkConduit>[]
      - int
      - StreamSinkConduit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2616
    functionDepth: 1
    functionLinenumber: 2616
    functionLinenumberEnd: 2623
    functionName: '[io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory].create()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - wrappers[position--].wrap(HttpServerExchange)
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getSinkConduit(HttpServerExchange,StreamSinkConduit)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.HttpServerExchange.WrapperStreamSinkConduitFactory].create()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ConduitWrapper<T>[]
      - int
      - T
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ConduitWrapper<T>[]
      - int
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange.WrapperConduitFactory
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - wrappers
    - wrapperCount
    - first
    - exchange
    argTypes:
    - io.undertow.server.ConduitWrapper<T>[]
    - int
    - T
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 2639
      start: 2634
    functionDepth: 0
    functionLinenumber: 2634
    functionLinenumberEnd: 2639
    functionName: '[io.undertow.server.HttpServerExchange.WrapperConduitFactory].<init>(io.undertow.server.ConduitWrapper<T>[],int,T,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange.WrapperConduitFactory
    signature: '[io.undertow.server.HttpServerExchange.WrapperConduitFactory].<init>(io.undertow.server.ConduitWrapper<T>[],int,T,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrappers[position--].wrap(HttpServerExchange)
      Src: io.undertow.server.HttpServerExchange.WrapperConduitFactory:2646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ConduitWrapper<T>[]
      - int
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2648
    functionName: '[io.undertow.server.HttpServerExchange.WrapperConduitFactory].create()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpServerExchange.java
    functionUses: 0
    functionsReached:
    - wrappers[position--].wrap(HttpServerExchange)
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.HttpServerExchange.WrapperConduitFactory].create()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RenegotiationRequiredException
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.RenegotiationRequiredException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RenegotiationRequiredException.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RenegotiationRequiredException
    signature: '[io.undertow.server.RenegotiationRequiredException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: io.undertow.server.RenegotiationRequiredException:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RenegotiationRequiredException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.RenegotiationRequiredException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RenegotiationRequiredException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.RenegotiationRequiredException
    signature: '[io.undertow.server.RenegotiationRequiredException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String,Throwable)'
      Src: io.undertow.server.RenegotiationRequiredException:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RenegotiationRequiredException
      static: false
      superClass: Exception
    argCount: 2
    argNames:
    - message
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.RenegotiationRequiredException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RenegotiationRequiredException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.server.RenegotiationRequiredException
    signature: '[io.undertow.server.RenegotiationRequiredException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(Throwable)'
      Src: io.undertow.server.RenegotiationRequiredException:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RenegotiationRequiredException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.RenegotiationRequiredException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RenegotiationRequiredException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.server.RenegotiationRequiredException
    signature: '[io.undertow.server.RenegotiationRequiredException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String,Throwable,boolean,boolean)'
      Src: io.undertow.server.RenegotiationRequiredException:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RenegotiationRequiredException
      static: false
      superClass: Exception
    argCount: 4
    argNames:
    - message
    - cause
    - enableSuppression
    - writableStackTrace
    argTypes:
    - String
    - Throwable
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.RenegotiationRequiredException].<init>(String,Throwable,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RenegotiationRequiredException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String,Throwable,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.server.RenegotiationRequiredException
    signature: '[io.undertow.server.RenegotiationRequiredException].<init>(String,Throwable,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String,Integer,null)'
      Src: io.undertow.server.BasicSSLSessionInfo:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      - String
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.security.cert.CertificateException
      - javax.security.cert.CertificateException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BasicSSLSessionInfo
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - sessionId
    - cypherSuite
    - certificate
    - keySize
    argTypes:
    - byte[]
    - String
    - String
    - Integer
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String,Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String,Integer,null)'
    linkageType: ''
    returnType: io.undertow.server.BasicSSLSessionInfo
    signature: '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String,Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: java.security.cert.CertificateFactory.getInstance(String)
      Src: io.undertow.server.BasicSSLSessionInfo:77,1
    - Dst: '[String].getBytes(io.undertow.server.BasicSSLSessionInfo)'
      Src: io.undertow.server.BasicSSLSessionInfo:78,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(io.undertow.server.BasicSSLSessionInfo)'
      Src: io.undertow.server.BasicSSLSessionInfo:79,1
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].generateCertificates(java.io.ByteArrayInputStream)'
      Src: io.undertow.server.BasicSSLSessionInfo:80,1
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].size()'
      Src: io.undertow.server.BasicSSLSessionInfo:81,1
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].size()'
      Src: io.undertow.server.BasicSSLSessionInfo:82,1
    - Dst: cert.getEncoded()
      Src: io.undertow.server.BasicSSLSessionInfo:88,1
    - Dst: '[javax.security.cert.X509Certificate].getInstance(io.undertow.server.BasicSSLSessionInfo)'
      Src: io.undertow.server.BasicSSLSessionInfo:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      - String
      - Integer
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.security.cert.CertificateException
      - javax.security.cert.CertificateException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BasicSSLSessionInfo
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sessionId
    - cypherSuite
    - certificate
    - keySize
    - secureProtocol
    argTypes:
    - byte[]
    - String
    - String
    - Integer
    - String
    constantsTouched: []
    func_position:
      end: 103
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String,Integer,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.server.BasicSSLSessionInfo)'
    - '[javax.security.cert.X509Certificate].getInstance(io.undertow.server.BasicSSLSessionInfo)'
    - '[io.undertow.server.BasicSSLSessionInfo].size()'
    - java.security.cert.CertificateFactory.getInstance(String)
    - cert.getEncoded()
    - '[io.undertow.server.BasicSSLSessionInfo].generateCertificates(java.io.ByteArrayInputStream)'
    - '[java.io.ByteArrayInputStream].<init>(io.undertow.server.BasicSSLSessionInfo)'
    linkageType: ''
    returnType: io.undertow.server.BasicSSLSessionInfo
    signature: '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String,Integer,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String,null)'
      Src: io.undertow.server.BasicSSLSessionInfo:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.security.cert.CertificateException
      - javax.security.cert.CertificateException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BasicSSLSessionInfo
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sessionId
    - cypherSuite
    - certificate
    argTypes:
    - byte[]
    - String
    - String
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String,null)'
    linkageType: ''
    returnType: io.undertow.server.BasicSSLSessionInfo
    signature: '[io.undertow.server.BasicSSLSessionInfo].<init>(byte[],String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,null)'
      Src: io.undertow.server.BasicSSLSessionInfo:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.security.cert.CertificateException
      - javax.security.cert.CertificateException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BasicSSLSessionInfo
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sessionId
    - cypherSuite
    - certificate
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,null)'
    linkageType: ''
    returnType: io.undertow.server.BasicSSLSessionInfo
    signature: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,Integer)'
      Src: io.undertow.server.BasicSSLSessionInfo:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.security.cert.CertificateException
      - javax.security.cert.CertificateException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BasicSSLSessionInfo
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - sessionId
    - cypherSuite
    - certificate
    - keySize
    argTypes:
    - String
    - String
    - String
    - Integer
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,String,Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,Integer)'
    linkageType: ''
    returnType: io.undertow.server.BasicSSLSessionInfo
    signature: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,String,Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,Integer,String)'
      Src: io.undertow.server.BasicSSLSessionInfo:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - Integer
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.security.cert.CertificateException
      - javax.security.cert.CertificateException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BasicSSLSessionInfo
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sessionId
    - cypherSuite
    - certificate
    - keySize
    - secureProtocol
    argTypes:
    - String
    - String
    - String
    - Integer
    - String
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,String,Integer,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,Integer,String)'
    linkageType: ''
    returnType: io.undertow.server.BasicSSLSessionInfo
    signature: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,String,Integer,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,io.undertow.server.BasicSSLSessionInfo,int,io.undertow.server.BasicSSLSessionInfo)
      Src: io.undertow.server.BasicSSLSessionInfo:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.BasicSSLSessionInfo].getSessionId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,io.undertow.server.BasicSSLSessionInfo,int,io.undertow.server.BasicSSLSessionInfo)
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.server.BasicSSLSessionInfo].getSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.BasicSSLSessionInfo].getCipherSuite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.BasicSSLSessionInfo].getCipherSuite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.SSLSessionInfo].getKeySize()'
      Src: io.undertow.server.BasicSSLSessionInfo:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.BasicSSLSessionInfo].getKeySize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.SSLSessionInfo].getKeySize()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.BasicSSLSessionInfo].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].peerUnverified()'
      Src: io.undertow.server.BasicSSLSessionInfo:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.cert.Certificate[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: '[io.undertow.server.BasicSSLSessionInfo].getPeerCertificates()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.BasicSSLSessionInfo].peerUnverified()'
    linkageType: ''
    returnType: java.security.cert.Certificate[]
    signature: '[io.undertow.server.BasicSSLSessionInfo].getPeerCertificates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].peerUnverified()'
      Src: io.undertow.server.BasicSSLSessionInfo:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: X509Certificate[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.BasicSSLSessionInfo].getPeerCertificateChain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.BasicSSLSessionInfo].peerUnverified()'
    linkageType: ''
    returnType: X509Certificate[]
    signature: '[io.undertow.server.BasicSSLSessionInfo].getPeerCertificateChain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].renegotiationNotSupported()'
      Src: io.undertow.server.BasicSSLSessionInfo:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.SslClientAuthMode
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sslClientAuthMode
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.SslClientAuthMode
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.BasicSSLSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.BasicSSLSessionInfo].renegotiationNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.BasicSSLSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.BasicSSLSessionInfo].getSSLSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.BasicSSLSessionInfo].getSSLSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.BasicSSLSessionInfo].getSecureProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.BasicSSLSessionInfo].getSecureProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HexConverter].convertFromHex(String)'
      Src: io.undertow.server.BasicSSLSessionInfo:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - String
      - java.security.cert.Certificate[]
      - X509Certificate[]
      - Integer
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.BasicSSLSessionInfo].fromHex(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BasicSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HexConverter].convertFromHex(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.server.BasicSSLSessionInfo].fromHex(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.JvmRouteHandler.JvmRouteWrapper].<init>()'
      Src: io.undertow.server.JvmRouteHandler:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - String
      - JvmRouteWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.JvmRouteHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - sessionCookieName
    - jvmRoute
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.JvmRouteHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.JvmRouteHandler.JvmRouteWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.JvmRouteHandler
    signature: '[io.undertow.server.JvmRouteHandler].<init>(io.undertow.server.HttpHandler,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.server.JvmRouteHandler:54,1
    - Dst: cookie.getName()
      Src: io.undertow.server.JvmRouteHandler:55,1
    - Dst: '[String].equals(io.undertow.server.JvmRouteHandler)'
      Src: io.undertow.server.JvmRouteHandler:55,1
    - Dst: cookie.getValue()
      Src: io.undertow.server.JvmRouteHandler:56,1
    - Dst: '[io.undertow.server.JvmRouteHandler].indexOf(char)'
      Src: io.undertow.server.JvmRouteHandler:56,1
    - Dst: cookie.getValue()
      Src: io.undertow.server.JvmRouteHandler:58,1
    - Dst: '[io.undertow.server.JvmRouteHandler].substring(int,io.undertow.server.JvmRouteHandler)'
      Src: io.undertow.server.JvmRouteHandler:58,1
    - Dst: cookie.setValue(io.undertow.server.JvmRouteHandler)
      Src: io.undertow.server.JvmRouteHandler:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(JvmRouteWrapper)'
      Src: io.undertow.server.JvmRouteHandler:62,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.JvmRouteHandler:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - String
      - JvmRouteWrapper
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.JvmRouteHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.JvmRouteHandler].substring(int,io.undertow.server.JvmRouteHandler)'
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - cookie.getName()
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(JvmRouteWrapper)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - cookie.getValue()
    - cookie.setValue(io.undertow.server.JvmRouteHandler)
    - '[io.undertow.server.JvmRouteHandler].indexOf(char)'
    - '[String].equals(io.undertow.server.JvmRouteHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.JvmRouteHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].responseCookies()'
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:70,1
    - Dst: cookie.getName()
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:71,1
    - Dst: sessionCookieName.equals(io.undertow.server.JvmRouteHandler.JvmRouteWrapper)
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:71,1
    - Dst: cookie.getValue()
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:72,1
    - Dst: '[StringBuilder].<init>(io.undertow.server.JvmRouteHandler.JvmRouteWrapper)'
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:72,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:73,1
    - Dst: '[StringBuilder].append(io.undertow.server.JvmRouteHandler.JvmRouteWrapper)'
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:74,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:75,1
    - Dst: cookie.setValue(io.undertow.server.JvmRouteHandler.JvmRouteWrapper)
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:75,1
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
      Src: io.undertow.server.JvmRouteHandler.JvmRouteWrapper:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - factory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.JvmRouteHandler.JvmRouteWrapper].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.server.JvmRouteHandler.JvmRouteWrapper)'
    - sessionCookieName.equals(io.undertow.server.JvmRouteHandler.JvmRouteWrapper)
    - '[StringBuilder].append(char)'
    - cookie.getName()
    - cookie.setValue(io.undertow.server.JvmRouteHandler.JvmRouteWrapper)
    - cookie.getValue()
    - '[StringBuilder].toString()'
    - '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
    - '[StringBuilder].<init>(io.undertow.server.JvmRouteHandler.JvmRouteWrapper)'
    - '[io.undertow.server.HttpServerExchange].responseCookies()'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.JvmRouteHandler.JvmRouteWrapper].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.JvmRouteHandler.JvmRouteWrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.JvmRouteHandler.JvmRouteWrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.JvmRouteHandler.JvmRouteWrapper
    signature: '[io.undertow.server.JvmRouteHandler.JvmRouteWrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.JvmRouteHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.JvmRouteHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.JvmRouteHandler.Builder:91,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.JvmRouteHandler.Builder:92,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.JvmRouteHandler.Builder:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.JvmRouteHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.JvmRouteHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.JvmRouteHandler.Builder:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.JvmRouteHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.JvmRouteHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.JvmRouteHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.JvmRouteHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.JvmRouteHandler.Builder:110,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.JvmRouteHandler.Builder:112,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String)'
      Src: io.undertow.server.JvmRouteHandler.Builder:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.JvmRouteHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.JvmRouteHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.JvmRouteHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.JvmRouteHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.JvmRouteHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.JvmRouteHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.JvmRouteHandler.Builder
    signature: '[io.undertow.server.JvmRouteHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.JvmRouteHandler.Wrapper
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - value
    - sessionCookieName
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.JvmRouteHandler.Wrapper].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.JvmRouteHandler.Wrapper
    signature: '[io.undertow.server.JvmRouteHandler.Wrapper].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.JvmRouteHandler].<init>(io.undertow.server.HttpHandler,String,String)'
      Src: io.undertow.server.JvmRouteHandler.Wrapper:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.JvmRouteHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/JvmRouteHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.JvmRouteHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.JvmRouteHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.DirectByteBufferDeallocator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.DirectByteBufferDeallocator
    signature: '[io.undertow.server.DirectByteBufferDeallocator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].isDirect()'
      Src: io.undertow.server.DirectByteBufferDeallocator:80,1
    - Dst: '[ThreadLocal<java.util.Queue<QueuedByteBuffer>>].get()'
      Src: io.undertow.server.DirectByteBufferDeallocator:83,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.DirectByteBufferDeallocator:85,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].peek()'
      Src: io.undertow.server.DirectByteBufferDeallocator:86,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].remove()'
      Src: io.undertow.server.DirectByteBufferDeallocator:91,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].cleanBuffer(io.undertow.server.DirectByteBufferDeallocator)'
      Src: io.undertow.server.DirectByteBufferDeallocator:92,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].peek()'
      Src: io.undertow.server.DirectByteBufferDeallocator:93,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer].<init>(java.nio.ByteBuffer)'
      Src: io.undertow.server.DirectByteBufferDeallocator:102,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].add(io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer)'
      Src: io.undertow.server.DirectByteBufferDeallocator:102,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].directBufferDeallocationFailed(io.undertow.server.DirectByteBufferDeallocator)'
      Src: io.undertow.server.DirectByteBufferDeallocator:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].free(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.DirectByteBufferDeallocator].cleanBuffer(io.undertow.server.DirectByteBufferDeallocator)'
    - '[io.undertow.server.DirectByteBufferDeallocator].directBufferDeallocationFailed(io.undertow.server.DirectByteBufferDeallocator)'
    - '[io.undertow.server.DirectByteBufferDeallocator].peek()'
    - '[java.nio.ByteBuffer].isDirect()'
    - '[ThreadLocal<java.util.Queue<QueuedByteBuffer>>].get()'
    - System.currentTimeMillis()
    - '[io.undertow.server.DirectByteBufferDeallocator].remove()'
    - '[io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer].<init>(java.nio.ByteBuffer)'
    - '[io.undertow.server.DirectByteBufferDeallocator].add(io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DirectByteBufferDeallocator].free(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Method].invoke(sun.misc.Unsafe,java.nio.ByteBuffer)'
      Src: io.undertow.server.DirectByteBufferDeallocator:113,1
    - Dst: '[Method].invoke(java.nio.ByteBuffer)'
      Src: io.undertow.server.DirectByteBufferDeallocator:115,1
    - Dst: '[Method].invoke(io.undertow.server.DirectByteBufferDeallocator)'
      Src: io.undertow.server.DirectByteBufferDeallocator:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions:
      - InvocationTargetException
      - IllegalAccessException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].cleanBuffer(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 0
    functionsReached:
    - '[Method].invoke(io.undertow.server.DirectByteBufferDeallocator)'
    - '[Method].invoke(sun.misc.Unsafe,java.nio.ByteBuffer)'
    - '[Method].invoke(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DirectByteBufferDeallocator].cleanBuffer(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.DirectByteBufferDeallocator:122,1
    - Dst: '[java.security.PrivilegedAction].<init>()'
      Src: io.undertow.server.DirectByteBufferDeallocator:123,1
    - Dst: '[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)'
      Src: io.undertow.server.DirectByteBufferDeallocator:123,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].getUnsafe0()'
      Src: io.undertow.server.DirectByteBufferDeallocator:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: sun.misc.Unsafe
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].getUnsafe()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[java.security.PrivilegedAction].<init>()'
    - '[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)'
    - '[io.undertow.server.DirectByteBufferDeallocator].getUnsafe0()'
    linkageType: ''
    returnType: sun.misc.Unsafe
    signature: '[io.undertow.server.DirectByteBufferDeallocator].getUnsafe()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unsafe.class.getDeclaredField(String)
      Src: io.undertow.server.DirectByteBufferDeallocator:134,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].setAccessible(boolean)'
      Src: io.undertow.server.DirectByteBufferDeallocator:135,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].get(null)'
      Src: io.undertow.server.DirectByteBufferDeallocator:136,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.DirectByteBufferDeallocator)'
      Src: io.undertow.server.DirectByteBufferDeallocator:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: sun.misc.Unsafe
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].getUnsafe0()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 1
    functionsReached:
    - Unsafe.class.getDeclaredField(String)
    - '[io.undertow.server.DirectByteBufferDeallocator].setAccessible(boolean)'
    - '[io.undertow.server.DirectByteBufferDeallocator].get(null)'
    - '[RuntimeException].<init>(String,io.undertow.server.DirectByteBufferDeallocator)'
    linkageType: ''
    returnType: sun.misc.Unsafe
    signature: '[io.undertow.server.DirectByteBufferDeallocator].getUnsafe0()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.DirectByteBufferDeallocator:143,1
    - Dst: '[java.security.PrivilegedAction].<init>()'
      Src: io.undertow.server.DirectByteBufferDeallocator:144,1
    - Dst: '[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)'
      Src: io.undertow.server.DirectByteBufferDeallocator:144,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].getAccesibleMethod0(String,String)'
      Src: io.undertow.server.DirectByteBufferDeallocator:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Method
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - className
    - methodName
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].getAccesibleMethod(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[io.undertow.server.DirectByteBufferDeallocator].getAccesibleMethod0(String,String)'
    - '[java.security.PrivilegedAction].<init>()'
    - '[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)'
    linkageType: ''
    returnType: Method
    signature: '[io.undertow.server.DirectByteBufferDeallocator].getAccesibleMethod(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Class.forName(String)
      Src: io.undertow.server.DirectByteBufferDeallocator:156,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].getMethod(String)'
      Src: io.undertow.server.DirectByteBufferDeallocator:156,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].setAccessible(boolean)'
      Src: io.undertow.server.DirectByteBufferDeallocator:157,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.DirectByteBufferDeallocator)'
      Src: io.undertow.server.DirectByteBufferDeallocator:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Method
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - className
    - methodName
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].getAccesibleMethod0(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 1
    functionsReached:
    - Class.forName(String)
    - '[io.undertow.server.DirectByteBufferDeallocator].setAccessible(boolean)'
    - '[io.undertow.server.DirectByteBufferDeallocator].getMethod(String)'
    - '[RuntimeException].<init>(String,io.undertow.server.DirectByteBufferDeallocator)'
    linkageType: ''
    returnType: Method
    signature: '[io.undertow.server.DirectByteBufferDeallocator].getAccesibleMethod0(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.DirectByteBufferDeallocator:165,1
    - Dst: '[java.security.PrivilegedAction].<init>()'
      Src: io.undertow.server.DirectByteBufferDeallocator:166,1
    - Dst: '[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)'
      Src: io.undertow.server.DirectByteBufferDeallocator:166,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].getDeclaredMethod0(sun.misc.Unsafe,String,io.undertow.server.DirectByteBufferDeallocator)'
      Src: io.undertow.server.DirectByteBufferDeallocator:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - sun.misc.Unsafe
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Method
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - tmpUnsafe
    - methodName
    argTypes:
    - sun.misc.Unsafe
    - String
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].getDeclaredMethod(sun.misc.Unsafe,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - '[java.security.PrivilegedAction].<init>()'
    - '[io.undertow.server.DirectByteBufferDeallocator].getDeclaredMethod0(sun.misc.Unsafe,String,io.undertow.server.DirectByteBufferDeallocator)'
    - '[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)'
    linkageType: ''
    returnType: Method
    signature: '[io.undertow.server.DirectByteBufferDeallocator].getDeclaredMethod(sun.misc.Unsafe,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[sun.misc.Unsafe].getClass()'
      Src: io.undertow.server.DirectByteBufferDeallocator:178,1
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].getDeclaredMethod(String,io.undertow.server.DirectByteBufferDeallocator)'
      Src: io.undertow.server.DirectByteBufferDeallocator:178,1
    - Dst: '[Method].setAccessible(boolean)'
      Src: io.undertow.server.DirectByteBufferDeallocator:179,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.server.DirectByteBufferDeallocator)'
      Src: io.undertow.server.DirectByteBufferDeallocator:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - sun.misc.Unsafe
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      - Method
      - Method
      - ThreadLocal<java.util.Queue<QueuedByteBuffer>>
      - sun.misc.Unsafe
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Method
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - tmpUnsafe
    - methodName
    argTypes:
    - sun.misc.Unsafe
    - String
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.DirectByteBufferDeallocator].getDeclaredMethod0(sun.misc.Unsafe,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.server.DirectByteBufferDeallocator)'
    - '[io.undertow.server.DirectByteBufferDeallocator].getDeclaredMethod(String,io.undertow.server.DirectByteBufferDeallocator)'
    - '[sun.misc.Unsafe].getClass()'
    - '[Method].setAccessible(boolean)'
    linkageType: ''
    returnType: Method
    signature: '[io.undertow.server.DirectByteBufferDeallocator].getDeclaredMethod0(sun.misc.Unsafe,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - ByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer].<init>(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DirectByteBufferDeallocator.java
    functionUses: 1
    functionsReached:
    - System.currentTimeMillis()
    linkageType: ''
    returnType: io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer
    signature: '[io.undertow.server.DirectByteBufferDeallocator.QueuedByteBuffer].<init>(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ConnectorStatistics[]
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.AggregateConnectorStatistics
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connectorStatistics
    argTypes:
    - ConnectorStatistics[]
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: '[io.undertow.server.AggregateConnectorStatistics].<init>(ConnectorStatistics[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.AggregateConnectorStatistics
    signature: '[io.undertow.server.AggregateConnectorStatistics].<init>(ConnectorStatistics[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getRequestCount()
      Src: io.undertow.server.AggregateConnectorStatistics:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getRequestCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getRequestCount()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getRequestCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getBytesSent()
      Src: io.undertow.server.AggregateConnectorStatistics:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getBytesSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getBytesSent()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getBytesSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getBytesReceived()
      Src: io.undertow.server.AggregateConnectorStatistics:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getBytesReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getBytesReceived()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getBytesReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getErrorCount()
      Src: io.undertow.server.AggregateConnectorStatistics:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getErrorCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getErrorCount()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getErrorCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getProcessingTime()
      Src: io.undertow.server.AggregateConnectorStatistics:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getProcessingTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getProcessingTime()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getProcessingTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getMaxProcessingTime()
      Src: io.undertow.server.AggregateConnectorStatistics:81,1
    - Dst: Math.max(io.undertow.server.AggregateConnectorStatistics,io.undertow.server.AggregateConnectorStatistics)
      Src: io.undertow.server.AggregateConnectorStatistics:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getMaxProcessingTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - Math.max(io.undertow.server.AggregateConnectorStatistics,io.undertow.server.AggregateConnectorStatistics)
    - c.getMaxProcessingTime()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getMaxProcessingTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.reset()
      Src: io.undertow.server.AggregateConnectorStatistics:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.AggregateConnectorStatistics].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.reset()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AggregateConnectorStatistics].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getActiveConnections()
      Src: io.undertow.server.AggregateConnectorStatistics:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getActiveConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getActiveConnections()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getActiveConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getMaxActiveConnections()
      Src: io.undertow.server.AggregateConnectorStatistics:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getMaxActiveConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getMaxActiveConnections()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getMaxActiveConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getActiveRequests()
      Src: io.undertow.server.AggregateConnectorStatistics:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getActiveRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getActiveRequests()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getActiveRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c.getMaxActiveRequests()
      Src: io.undertow.server.AggregateConnectorStatistics:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConnectorStatistics[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.AggregateConnectorStatistics].getMaxActiveRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AggregateConnectorStatistics.java
    functionUses: 0
    functionsReached:
    - c.getMaxActiveRequests()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.AggregateConnectorStatistics].getMaxActiveRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - additionalData
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.DelegateOpenListener].handleEvent(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DelegateOpenListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DelegateOpenListener].handleEvent(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.DelegateOpenListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.DelegateOpenListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DelegateOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.DelegateOpenListener
    signature: '[io.undertow.server.DelegateOpenListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.DefaultResponseListener].handleDefaultResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultResponseListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.DefaultResponseListener].handleDefaultResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.DefaultResponseListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.DefaultResponseListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultResponseListener.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.DefaultResponseListener
    signature: '[io.undertow.server.DefaultResponseListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:51,1
    - Dst: '[io.undertow.server.RenegotiationRequiredException].<init>()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectionSSLSessionInfo
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - serverConnection
    argTypes:
    - org.xnio.channels.SslChannel
    - io.undertow.server.protocol.http.HttpServerConnection
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].<init>(org.xnio.channels.SslChannel,io.undertow.server.protocol.http.HttpServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.RenegotiationRequiredException].<init>()'
    - '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.ConnectionSSLSessionInfo
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].<init>(org.xnio.channels.SslChannel,io.undertow.server.protocol.http.HttpServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:68,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].getId()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].getSessionId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ConnectionSSLSessionInfo].getId()'
    - '[org.xnio.channels.SslChannel].getSslSession()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].getSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:73,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].getCipherSuite()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].getCipherSuite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.SslChannel].getSslSession()'
    - '[io.undertow.server.ConnectionSSLSessionInfo].getCipherSuite()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].getCipherSuite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:85,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].getPeerCertificates()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:85,1
    - Dst: '[org.xnio.channels.SslChannel].getOption(io.undertow.server.ConnectionSSLSessionInfo)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Certificate[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].getPeerCertificates()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.SslChannel].getSslSession()'
    - '[org.xnio.channels.SslChannel].getOption(io.undertow.server.ConnectionSSLSessionInfo)'
    - '[io.undertow.server.ConnectionSSLSessionInfo].getPeerCertificates()'
    linkageType: ''
    returnType: Certificate[]
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].getPeerCertificates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:111,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].getPeerCertificateChain()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:111,1
    - Dst: '[org.xnio.channels.SslChannel].getOption(io.undertow.server.ConnectionSSLSessionInfo)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: X509Certificate[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].getPeerCertificateChain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.SslChannel].getSslSession()'
    - '[org.xnio.channels.SslChannel].getOption(io.undertow.server.ConnectionSSLSessionInfo)'
    - '[io.undertow.server.ConnectionSSLSessionInfo].getPeerCertificateChain()'
    linkageType: ''
    returnType: X509Certificate[]
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].getPeerCertificateChain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:129,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].getProtocol()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:129,1
    - Dst: '[String].equals(io.undertow.server.ConnectionSSLSessionInfo)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:129,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiationNotSupported()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:132,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:136,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateNoRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:137,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateBufferRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.SslClientAuthMode
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sslClientAuthMode
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.SslClientAuthMode
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ConnectionSSLSessionInfo].getProtocol()'
    - '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateNoRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    - '[String].equals(io.undertow.server.ConnectionSSLSessionInfo)'
    - '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateBufferRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[org.xnio.channels.SslChannel].getSslSession()'
    - '[io.undertow.server.ConnectionSSLSessionInfo].renegotiationNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].getSSLSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.SslChannel].getSslSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].getSSLSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:150,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].getProtocol()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].getSecureProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.SslChannel].getSslSession()'
    - '[io.undertow.server.ConnectionSSLSessionInfo].getProtocol()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].getSecureProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:156,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:156,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:156,1
    - Dst: '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:158,1
    - Dst: '[io.undertow.server.Connectors].getExistingRequestChannel(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:163,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:165,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:169,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:169,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:169,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:173,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:173,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:181,1
    - Dst: '[org.xnio.channels.Channels].readBlocking(org.xnio.channels.StreamSourceChannel,java.nio.ByteBuffer)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:182,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:183,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:184,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:191,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:191,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:191,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:195,1
    - Dst: '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.server.ConnectionSSLSessionInfo)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:200,1
    - Dst: '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:202,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateNoRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:204,1
    - Dst: '[java.nio.ByteBuffer].close()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:209,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.SslClientAuthMode
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newAuthMode
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.SslClientAuthMode
    constantsTouched: []
    func_position:
      end: 217
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateBufferRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.server.ConnectionSSLSessionInfo)'
    - '[io.undertow.server.Connectors].getExistingRequestChannel(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateNoRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].close()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[org.xnio.channels.Channels].readBlocking(org.xnio.channels.StreamSourceChannel,java.nio.ByteBuffer)'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateBufferRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].resetChannel()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:220,1
    - Dst: '[org.xnio.channels.SslChannel].getOption(io.undertow.server.ConnectionSSLSessionInfo)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:222,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].<init>()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:224,1
    - Dst: '[org.xnio.channels.SslChannel].getHandshakeSetter()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:225,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].set(io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:225,1
    - Dst: '[org.xnio.channels.SslChannel].setOption(io.undertow.server.ConnectionSSLSessionInfo,org.xnio.SslClientAuthMode)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:227,1
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:228,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].invalidate()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:228,1
    - Dst: '[org.xnio.channels.SslChannel].startHandshake()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:229,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:230,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].flush()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:230,1
    - Dst: '[java.nio.ByteBuffer].wrap()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:231,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.ConnectionSSLSessionInfo:232,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].isDone()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:233,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].isOpen()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:233,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.ConnectionSSLSessionInfo:233,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getSourceChannel()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:234,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].read(io.undertow.server.ConnectionSSLSessionInfo)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:234,1
    - Dst: '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:236,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].isDone()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:238,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getSourceChannel()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:239,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].awaitReadable(io.undertow.server.ConnectionSSLSessionInfo,io.undertow.server.ConnectionSSLSessionInfo)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:239,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].isDone()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:242,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].isOpen()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:243,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:244,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].rengotiationTimedOut()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:245,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:247,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].rengotiationFailed()'
      Src: io.undertow.server.ConnectionSSLSessionInfo:248,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].restoreChannel(io.undertow.server.ConnectionSSLSessionInfo)'
      Src: io.undertow.server.ConnectionSSLSessionInfo:254,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.SslClientAuthMode
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      - long
      - org.xnio.channels.SslChannel
      - io.undertow.server.protocol.http.HttpServerConnection
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newAuthMode
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.SslClientAuthMode
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateNoRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.ConnectionSSLSessionInfo].awaitReadable(io.undertow.server.ConnectionSSLSessionInfo,io.undertow.server.ConnectionSSLSessionInfo)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getSourceChannel()'
    - '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].<init>()'
    - '[io.undertow.server.ConnectionSSLSessionInfo].set(io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter)'
    - '[io.undertow.server.ConnectionSSLSessionInfo].rengotiationFailed()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].resetChannel()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
    - '[javax.net.ssl.SSLPeerUnverifiedException].<init>(String)'
    - '[org.xnio.channels.SslChannel].startHandshake()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].restoreChannel(io.undertow.server.ConnectionSSLSessionInfo)'
    - '[java.nio.ByteBuffer].wrap()'
    - '[io.undertow.server.ConnectionSSLSessionInfo].rengotiationTimedOut()'
    - '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].isDone()'
    - System.currentTimeMillis()
    - '[org.xnio.channels.SslChannel].getSslSession()'
    - '[org.xnio.channels.SslChannel].setOption(io.undertow.server.ConnectionSSLSessionInfo,org.xnio.SslClientAuthMode)'
    - '[io.undertow.server.ConnectionSSLSessionInfo].read(io.undertow.server.ConnectionSSLSessionInfo)'
    - '[org.xnio.channels.SslChannel].getOption(io.undertow.server.ConnectionSSLSessionInfo)'
    - '[io.undertow.server.ConnectionSSLSessionInfo].flush()'
    - '[io.undertow.server.ConnectionSSLSessionInfo].invalidate()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].isOpen()'
    - '[org.xnio.channels.SslChannel].getHandshakeSetter()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectionSSLSessionInfo].renegotiateNoRequest(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].isDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].isDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.SslChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.SslChannel
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].handleEvent(org.xnio.channels.SslChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].handleEvent(org.xnio.channels.SslChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectionSSLSessionInfo.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter
    signature: '[io.undertow.server.ConnectionSSLSessionInfo.SslHandshakeWaiter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,Listener>].get(String)'
      Src: io.undertow.server.ListenerRegistry:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,Listener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Listener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.ListenerRegistry].getListener(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,Listener>].get(String)'
    linkageType: ''
    returnType: Listener
    signature: '[io.undertow.server.ListenerRegistry].getListener(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ListenerRegistry.Listener].getName()'
      Src: io.undertow.server.ListenerRegistry:49,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,Listener>].putIfAbsent(io.undertow.server.ListenerRegistry,Listener)'
      Src: io.undertow.server.ListenerRegistry:49,1
    - Dst: '[io.undertow.server.ListenerRegistry.Listener].getName()'
      Src: io.undertow.server.ListenerRegistry:50,1
    - Dst: '[io.undertow.server.ListenerRegistry].listenerAlreadyRegistered(io.undertow.server.ListenerRegistry)'
      Src: io.undertow.server.ListenerRegistry:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Listener
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,Listener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - Listener
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.ListenerRegistry].addListener(Listener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ListenerRegistry].listenerAlreadyRegistered(io.undertow.server.ListenerRegistry)'
    - '[io.undertow.server.ListenerRegistry.Listener].getName()'
    - '[java.util.concurrent.ConcurrentMap<String,Listener>].putIfAbsent(io.undertow.server.ListenerRegistry,Listener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ListenerRegistry].addListener(Listener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,Listener>].remove(String)'
      Src: io.undertow.server.ListenerRegistry:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,Listener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.ListenerRegistry].removeListener(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,Listener>].remove(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ListenerRegistry].removeListener(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.ListenerRegistry:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,Listener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ListenerRegistry
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ListenerRegistry].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.ListenerRegistry
    signature: '[io.undertow.server.ListenerRegistry].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.ListenerRegistry.Listener:68,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
      Src: io.undertow.server.ListenerRegistry.Listener:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - java.net.InetSocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ListenerRegistry.Listener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - protocol
    - name
    - serverName
    - bindAddress
    argTypes:
    - String
    - String
    - String
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.ListenerRegistry.Listener].<init>(String,String,String,java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.ListenerRegistry.Listener
    signature: '[io.undertow.server.ListenerRegistry.Listener].<init>(String,String,String,java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.ListenerRegistry.Listener].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ListenerRegistry.Listener].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.ListenerRegistry.Listener].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ListenerRegistry.Listener].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.ListenerRegistry.Listener].getServerName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ListenerRegistry.Listener].getServerName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.ListenerRegistry.Listener].getBindAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.ListenerRegistry.Listener].getBindAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<String, Object>].keySet()'
      Src: io.undertow.server.ListenerRegistry.Listener:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.ListenerRegistry.Listener].getContextKeys()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Map<String, Object>].keySet()'
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.server.ListenerRegistry.Listener].getContextKeys()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<String, Object>].remove(String)'
      Src: io.undertow.server.ListenerRegistry.Listener:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.ListenerRegistry.Listener].removeContextInformation(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Map<String, Object>].remove(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.ListenerRegistry.Listener].removeContextInformation(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<String, Object>].put(String,Object)'
      Src: io.undertow.server.ListenerRegistry.Listener:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.ListenerRegistry.Listener].setContextInformation(String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Map<String, Object>].put(String,Object)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.ListenerRegistry.Listener].setContextInformation(String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<String, Object>].get(String)'
      Src: io.undertow.server.ListenerRegistry.Listener:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.ListenerRegistry.Listener].getContextInformation(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Map<String, Object>].get(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.ListenerRegistry.Listener].getContextInformation(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Set<HttpUpgradeMetadata>].add(HttpUpgradeMetadata)'
      Src: io.undertow.server.ListenerRegistry.Listener:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - HttpUpgradeMetadata
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - upgradeMetadata
    argTypes:
    - HttpUpgradeMetadata
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.ListenerRegistry.Listener].addHttpUpgradeMetadata(HttpUpgradeMetadata)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Set<HttpUpgradeMetadata>].add(HttpUpgradeMetadata)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ListenerRegistry.Listener].addHttpUpgradeMetadata(HttpUpgradeMetadata)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Set<HttpUpgradeMetadata>].remove(HttpUpgradeMetadata)'
      Src: io.undertow.server.ListenerRegistry.Listener:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - HttpUpgradeMetadata
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - upgradeMetadata
    argTypes:
    - HttpUpgradeMetadata
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.ListenerRegistry.Listener].removeHttpUpgradeMetadata(HttpUpgradeMetadata)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Set<HttpUpgradeMetadata>].remove(HttpUpgradeMetadata)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ListenerRegistry.Listener].removeHttpUpgradeMetadata(HttpUpgradeMetadata)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableSet(Set<HttpUpgradeMetadata>)'
      Src: io.undertow.server.ListenerRegistry.Listener:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - InetSocketAddress
      - Map<String, Object>
      - Set<HttpUpgradeMetadata>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<HttpUpgradeMetadata>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.ListenerRegistry.Listener].getHttpUpgradeMetadata()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(Set<HttpUpgradeMetadata>)'
    linkageType: ''
    returnType: java.util.Set<HttpUpgradeMetadata>
    signature: '[io.undertow.server.ListenerRegistry.Listener].getHttpUpgradeMetadata()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.ListenerRegistry.HttpUpgradeMetadata:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - Map<String, Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ListenerRegistry.HttpUpgradeMetadata
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - protocol
    - subProtocol
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.ListenerRegistry.HttpUpgradeMetadata
    signature: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - Map<String, Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - Map<String, Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].getSubProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].getSubProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<String, Object>].keySet()'
      Src: io.undertow.server.ListenerRegistry.HttpUpgradeMetadata:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - Map<String, Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].getContextKeys()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Map<String, Object>].keySet()'
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].getContextKeys()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<String, Object>].remove(String)'
      Src: io.undertow.server.ListenerRegistry.HttpUpgradeMetadata:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - Map<String, Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].removeContextInformation(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Map<String, Object>].remove(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].removeContextInformation(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<String, Object>].put(String,Object)'
      Src: io.undertow.server.ListenerRegistry.HttpUpgradeMetadata:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - Map<String, Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].setContextInformation(String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Map<String, Object>].put(String,Object)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].setContextInformation(String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<String, Object>].get(String)'
      Src: io.undertow.server.ListenerRegistry.HttpUpgradeMetadata:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - Map<String, Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].getContextInformation(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ListenerRegistry.java
    functionUses: 0
    functionsReached:
    - '[Map<String, Object>].get(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.ListenerRegistry.HttpUpgradeMetadata].getContextInformation(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.ResponseCommitListener].beforeCommit(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ResponseCommitListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ResponseCommitListener].beforeCommit(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ResponseCommitListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ResponseCommitListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ResponseCommitListener.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ResponseCommitListener
    signature: '[io.undertow.server.ResponseCommitListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Pool<java.nio.ByteBuffer>].allocate()'
      Src: io.undertow.server.XnioByteBufferPool:40,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].getResource()'
      Src: io.undertow.server.XnioByteBufferPool:41,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].remaining()'
      Src: io.undertow.server.XnioByteBufferPool:41,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].getResource()'
      Src: io.undertow.server.XnioByteBufferPool:42,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].hasArray()'
      Src: io.undertow.server.XnioByteBufferPool:42,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].free()'
      Src: io.undertow.server.XnioByteBufferPool:43,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,io.undertow.server.XnioByteBufferPool)'
      Src: io.undertow.server.XnioByteBufferPool:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - io.undertow.connector.ByteBufferPool
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.XnioByteBufferPool
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pool
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/XnioByteBufferPool.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.XnioByteBufferPool].hasArray()'
    - '[io.undertow.server.XnioByteBufferPool].remaining()'
    - '[io.undertow.server.XnioByteBufferPool].free()'
    - '[org.xnio.Pool<java.nio.ByteBuffer>].allocate()'
    - '[io.undertow.server.XnioByteBufferPool].getResource()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,io.undertow.server.XnioByteBufferPool)'
    linkageType: ''
    returnType: io.undertow.server.XnioByteBufferPool
    signature: '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Pool<java.nio.ByteBuffer>].allocate()'
      Src: io.undertow.server.XnioByteBufferPool:53,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].<init>()'
      Src: io.undertow.server.XnioByteBufferPool:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - io.undertow.connector.ByteBufferPool
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.XnioByteBufferPool].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/XnioByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].<init>()'
    - '[org.xnio.Pool<java.nio.ByteBuffer>].allocate()'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.XnioByteBufferPool].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - io.undertow.connector.ByteBufferPool
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.XnioByteBufferPool].getArrayBackedPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/XnioByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.XnioByteBufferPool].getArrayBackedPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - io.undertow.connector.ByteBufferPool
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.XnioByteBufferPool].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/XnioByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.XnioByteBufferPool].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - io.undertow.connector.ByteBufferPool
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.XnioByteBufferPool].getBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/XnioByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.XnioByteBufferPool].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - io.undertow.connector.ByteBufferPool
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.XnioByteBufferPool].isDirect()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/XnioByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.XnioByteBufferPool].isDirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - NextListener
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - nextListener
    argTypes:
    - io.undertow.server.HttpServerExchange
    - NextListener
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.ExchangeCompletionListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ExchangeCompletionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ExchangeCompletionListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ExchangeCompletionListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ExchangeCompletionListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ExchangeCompletionListener.java
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ExchangeCompletionListener
    signature: '[io.undertow.server.ExchangeCompletionListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ExchangeCompletionListener.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ExchangeCompletionListener.NextListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ExchangeCompletionListener.NextListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ExchangeCompletionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ExchangeCompletionListener.NextListener
    signature: '[io.undertow.server.ExchangeCompletionListener.NextListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.ServerConnection].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ServerConnection].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.ServerConnection].getProtocolRequestId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ServerConnection].getProtocolRequestId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.Pool<java.nio.ByteBuffer>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.ServerConnection].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.Pool<java.nio.ByteBuffer>
    signature: '[io.undertow.server.ServerConnection].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.ServerConnection].getByteBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.ServerConnection].getByteBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.ServerConnection].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.ServerConnection].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.ServerConnection].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.ServerConnection].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.ServerConnection].isContinueResponseSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].isContinueResponseSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.ServerConnection].terminateRequestChannel(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection].terminateRequestChannel(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.ServerConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.ServerConnection].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.ServerConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.ServerConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.ServerConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.ServerConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.ServerConnection].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.ServerConnection].getSslSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.ServerConnection].getSslSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: '[io.undertow.server.ServerConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.ServerConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.ServerConnection].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: A
    signature: '[io.undertow.server.ServerConnection].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.ServerConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.ServerConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.ServerConnection].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: A
    signature: '[io.undertow.server.ServerConnection].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.ServerConnection].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.ServerConnection].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.ServerConnection].getBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.ServerConnection].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.SSLSessionInfo
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.SSLSessionInfo
    signature: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.SSLSessionInfo
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - sessionInfo
    argTypes:
    - io.undertow.server.SSLSessionInfo
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: '[io.undertow.server.ServerConnection].setSslSessionInfo(io.undertow.server.SSLSessionInfo)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection].setSslSessionInfo(io.undertow.server.SSLSessionInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - CloseListener
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - CloseListener
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.ServerConnection].addCloseListener(CloseListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection].addCloseListener(CloseListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.ServerConnection].upgradeChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.server.ServerConnection].upgradeChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.ConduitStreamSinkChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.ServerConnection].getSinkChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.ConduitStreamSinkChannel
    signature: '[io.undertow.server.ServerConnection].getSinkChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.ConduitStreamSourceChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '[io.undertow.server.ServerConnection].getSourceChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.ConduitStreamSourceChannel
    signature: '[io.undertow.server.ServerConnection].getSourceChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - exchange
    - conduit
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSinkConduit
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: '[io.undertow.server.ServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.ServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: '[io.undertow.server.ServerConnection].isUpgradeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].isUpgradeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: '[io.undertow.server.ServerConnection].isConnectSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].isConnectSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.ServerConnection].exchangeComplete(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection].exchangeComplete(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - upgradeListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: '[io.undertow.server.ServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - connectListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: '[io.undertow.server.ServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: '[io.undertow.server.ServerConnection].maxEntitySizeUpdated(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection].maxEntitySizeUpdated(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.ServerConnection].getTransportProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.ServerConnection].getTransportProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HeaderMap
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 3
    argNames:
    - path
    - method
    - requestHeaders
    argTypes:
    - String
    - io.undertow.util.HttpString
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HeaderMap
      - io.undertow.server.HttpHandler
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 4
    argNames:
    - path
    - method
    - requestHeaders
    - handler
    argTypes:
    - String
    - io.undertow.util.HttpString
    - io.undertow.util.HeaderMap
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: '[io.undertow.server.ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: '[io.undertow.server.ServerConnection].isPushSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].isPushSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: '[io.undertow.server.ServerConnection].isRequestTrailerFieldsSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.ServerConnection].isRequestTrailerFieldsSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>(int)'
      Src: io.undertow.server.ServerConnection:50,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.server.ServerConnection:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLong
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ServerConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ServerConnection].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLong].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
    linkageType: ''
    returnType: io.undertow.server.ServerConnection
    signature: '[io.undertow.server.ServerConnection].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ServerConnection
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - io.undertow.server.ServerConnection
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: '[io.undertow.server.ServerConnection.CloseListener].closed(io.undertow.server.ServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ServerConnection.CloseListener].closed(io.undertow.server.ServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ServerConnection.CloseListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ServerConnection.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ServerConnection.CloseListener
    signature: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '[io.undertow.server.HandlerWrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HandlerWrapper.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.HandlerWrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.HandlerWrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HandlerWrapper.java
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.HandlerWrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.TruncatedResponseException
      static: false
      superClass: java.io.IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.TruncatedResponseException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/TruncatedResponseException.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.TruncatedResponseException
    signature: '[io.undertow.server.TruncatedResponseException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.server.TruncatedResponseException:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.TruncatedResponseException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - msg
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.TruncatedResponseException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/TruncatedResponseException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.TruncatedResponseException
    signature: '[io.undertow.server.TruncatedResponseException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.server.TruncatedResponseException:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.TruncatedResponseException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.TruncatedResponseException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/TruncatedResponseException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.server.TruncatedResponseException
    signature: '[io.undertow.server.TruncatedResponseException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String,Throwable)'
      Src: io.undertow.server.TruncatedResponseException:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.TruncatedResponseException
      static: false
      superClass: java.io.IOException
    argCount: 2
    argNames:
    - msg
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.TruncatedResponseException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/TruncatedResponseException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.server.TruncatedResponseException
    signature: '[io.undertow.server.TruncatedResponseException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpHandler.java
    functionUses: 92
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.HttpHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpHandler.java
    functionUses: 152
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.HttpHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
      Src: io.undertow.server.ConnectorStatisticsImpl:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getRequestCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getRequestCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
      Src: io.undertow.server.ConnectorStatisticsImpl:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getBytesSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getBytesSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
      Src: io.undertow.server.ConnectorStatisticsImpl:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getBytesReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getBytesReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
      Src: io.undertow.server.ConnectorStatisticsImpl:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getErrorCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getErrorCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
      Src: io.undertow.server.ConnectorStatisticsImpl:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getProcessingTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getProcessingTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
      Src: io.undertow.server.ConnectorStatisticsImpl:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getMaxProcessingTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getMaxProcessingTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
      Src: io.undertow.server.ConnectorStatisticsImpl:115,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
      Src: io.undertow.server.ConnectorStatisticsImpl:116,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
      Src: io.undertow.server.ConnectorStatisticsImpl:117,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
      Src: io.undertow.server.ConnectorStatisticsImpl:118,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
      Src: io.undertow.server.ConnectorStatisticsImpl:119,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
      Src: io.undertow.server.ConnectorStatisticsImpl:120,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
      Src: io.undertow.server.ConnectorStatisticsImpl:121,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
      Src: io.undertow.server.ConnectorStatisticsImpl:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].set(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].addAndGet(long)'
      Src: io.undertow.server.ConnectorStatisticsImpl:127,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].addAndGet(long)'
      Src: io.undertow.server.ConnectorStatisticsImpl:128,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].incrementAndGet()'
      Src: io.undertow.server.ConnectorStatisticsImpl:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - bytesSent
    - bytesReceived
    - error
    argTypes:
    - long
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].requestFinished(long,long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].addAndGet(long)'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].incrementAndGet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl].requestFinished(long,long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].addAndGet(long)'
      Src: io.undertow.server.ConnectorStatisticsImpl:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].updateBytesSent(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].addAndGet(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl].updateBytesSent(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].addAndGet(long)'
      Src: io.undertow.server.ConnectorStatisticsImpl:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].updateBytesReceived(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].addAndGet(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl].updateBytesReceived(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].incrementAndGet()'
      Src: io.undertow.server.ConnectorStatisticsImpl:143,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].incrementAndGet()'
      Src: io.undertow.server.ConnectorStatisticsImpl:144,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].compareAndSet(long,io.undertow.server.ConnectorStatisticsImpl)'
      Src: io.undertow.server.ConnectorStatisticsImpl:151,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.ConnectorStatisticsImpl:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].setup(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 3
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].compareAndSet(long,io.undertow.server.ConnectorStatisticsImpl)'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].incrementAndGet()'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl].setup(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ByteActivityCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].sentAccumulator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ByteActivityCallback
    signature: '[io.undertow.server.ConnectorStatisticsImpl].sentAccumulator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.conduits.ByteActivityCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].receivedAccumulator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ByteActivityCallback
    signature: '[io.undertow.server.ConnectorStatisticsImpl].receivedAccumulator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getActiveConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getActiveConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getMaxActiveConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getMaxActiveConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].incrementAndGet()'
      Src: io.undertow.server.ConnectorStatisticsImpl:189,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].compareAndSet(long,io.undertow.server.ConnectorStatisticsImpl)'
      Src: io.undertow.server.ConnectorStatisticsImpl:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].incrementConnectionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 3
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].compareAndSet(long,io.undertow.server.ConnectorStatisticsImpl)'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].incrementAndGet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl].incrementConnectionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].decrementAndGet()'
      Src: io.undertow.server.ConnectorStatisticsImpl:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].decrementConnectionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>].decrementAndGet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl].decrementConnectionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getActiveRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getActiveRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].getMaxActiveRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatisticsImpl].getMaxActiveRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:31,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:32,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:33,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:34,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:35,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:36,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:37,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:38,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:39,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.ConnectorStatisticsImpl:40,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.ConnectorStatisticsImpl:53,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator].<init>()'
      Src: io.undertow.server.ConnectorStatisticsImpl:80,1
    - Dst: '[BytesReceivedAccumulator].<init>()'
      Src: io.undertow.server.ConnectorStatisticsImpl:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.ConnectorStatisticsImpl>
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.conduits.ByteActivityCallback
      - io.undertow.conduits.ByteActivityCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.ConnectorStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatisticsImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ConnectorStatisticsImpl].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator].<init>()'
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[BytesReceivedAccumulator].<init>()'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatisticsImpl
    signature: '[io.undertow.server.ConnectorStatisticsImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytesSentUpdater.addAndGet(io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator,long)
      Src: io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ByteActivityCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator].activity(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - bytesSentUpdater.addAndGet(io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator,long)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator].activity(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ByteActivityCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator
    signature: '[io.undertow.server.ConnectorStatisticsImpl.BytesSentAccumulator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytesReceivedUpdater.addAndGet(io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator,long)
      Src: io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ByteActivityCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator].activity(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached:
    - bytesReceivedUpdater.addAndGet(io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator,long)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator].activity(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ByteActivityCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatisticsImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator
    signature: '[io.undertow.server.ConnectorStatisticsImpl.BytesReceivedAccumulator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.server.AbstractServerConnection:52,1
    - Dst: '[CloseSetter].<init>()'
      Src: io.undertow.server.AbstractServerConnection:71,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.AbstractServerConnection:73,1
    - Dst: '[io.undertow.server.AbstractServerConnection].getConduit()'
      Src: io.undertow.server.AbstractServerConnection:73,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.AbstractServerConnection:74,1
    - Dst: '[io.undertow.server.AbstractServerConnection].getConduit()'
      Src: io.undertow.server.AbstractServerConnection:74,1
    - Dst: '[org.xnio.StreamConnection].setCloseListener(CloseSetter)'
      Src: io.undertow.server.AbstractServerConnection:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.AbstractServerConnection
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 5
    argNames:
    - channel
    - bufferPool
    - rootHandler
    - undertowOptions
    - bufferSize
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - io.undertow.server.HttpHandler
    - org.xnio.OptionMap
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.AbstractServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 2
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    - '[org.xnio.StreamConnection].setCloseListener(CloseSetter)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.AbstractServerConnection].getConduit()'
    - '[CloseSetter].<init>()'
    linkageType: ''
    returnType: io.undertow.server.AbstractServerConnection
    signature: '[io.undertow.server.AbstractServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].getByteBufferPool()'
      Src: io.undertow.server.AbstractServerConnection:85,1
    - Dst: '[io.undertow.server.XnioBufferPoolAdaptor].<init>(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.server.AbstractServerConnection:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.Pool<java.nio.ByteBuffer>
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.AbstractServerConnection].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractServerConnection].getByteBufferPool()'
    - '[io.undertow.server.XnioBufferPoolAdaptor].<init>(io.undertow.connector.ByteBufferPool)'
    linkageType: ''
    returnType: org.xnio.Pool<java.nio.ByteBuffer>
    signature: '[io.undertow.server.AbstractServerConnection].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.AbstractServerConnection].getRootHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.AbstractServerConnection].getRootHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.AbstractServerConnection].getByteBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.AbstractServerConnection].getByteBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.AbstractServerConnection].getChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.server.AbstractServerConnection].getChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<io.undertow.server.ServerConnection>
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.AbstractServerConnection].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<io.undertow.server.ServerConnection>
    signature: '[io.undertow.server.AbstractServerConnection].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getWorker()'
      Src: io.undertow.server.AbstractServerConnection:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.AbstractServerConnection].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.AbstractServerConnection].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.server.AbstractServerConnection:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.AbstractServerConnection].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.AbstractServerConnection].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].isOpen()'
      Src: io.undertow.server.AbstractServerConnection:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.AbstractServerConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.AbstractServerConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.server.AbstractServerConnection:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.AbstractServerConnection].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].supportsOption(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.AbstractServerConnection].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getOption(org.xnio.Option<T>)'
      Src: io.undertow.server.AbstractServerConnection:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.AbstractServerConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getOption(org.xnio.Option<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.AbstractServerConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.server.AbstractServerConnection:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.AbstractServerConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].setOption(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.AbstractServerConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].close()'
      Src: io.undertow.server.AbstractServerConnection:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.AbstractServerConnection].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.server.AbstractServerConnection:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.AbstractServerConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getPeerAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.AbstractServerConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress(Class<A>)'
      Src: io.undertow.server.AbstractServerConnection:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.AbstractServerConnection].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getPeerAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.server.AbstractServerConnection].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getLocalAddress()'
      Src: io.undertow.server.AbstractServerConnection:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.AbstractServerConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.AbstractServerConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getLocalAddress(Class<A>)'
      Src: io.undertow.server.AbstractServerConnection:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.AbstractServerConnection].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getLocalAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.server.AbstractServerConnection].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.AbstractServerConnection].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.AbstractServerConnection].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.AbstractServerConnection].getBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.AbstractServerConnection].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.AbstractServerConnection:196,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.AbstractServerConnection:196,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.AbstractServerConnection:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 5
    functionsReached:
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.AbstractServerConnection].getExtraBytes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - extraBytes
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '[io.undertow.server.AbstractServerConnection].setExtraBytes(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection].setExtraBytes(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSourceConduit
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.AbstractServerConnection].getOriginalSourceConduit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.StreamSourceConduit
    signature: '[io.undertow.server.AbstractServerConnection].getOriginalSourceConduit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '[io.undertow.server.AbstractServerConnection].getOriginalSinkConduit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.AbstractServerConnection].getOriginalSinkConduit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.AbstractServerConnection:230,1
    - Dst: '[io.undertow.server.AbstractServerConnection].getConduit()'
      Src: io.undertow.server.AbstractServerConnection:230,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.AbstractServerConnection:230,1
    - Dst: '[io.undertow.server.AbstractServerConnection].getConduit()'
      Src: io.undertow.server.AbstractServerConnection:230,1
    - Dst: '[io.undertow.server.AbstractServerConnection.ConduitState].<init>(io.undertow.server.AbstractServerConnection,io.undertow.server.AbstractServerConnection)'
      Src: io.undertow.server.AbstractServerConnection:230,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.AbstractServerConnection:231,1
    - Dst: '[io.undertow.server.AbstractServerConnection].setConduit(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.server.AbstractServerConnection:231,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.AbstractServerConnection:232,1
    - Dst: '[io.undertow.server.AbstractServerConnection].setConduit(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.server.AbstractServerConnection:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConduitState
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '[io.undertow.server.AbstractServerConnection].resetChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.AbstractServerConnection.ConduitState].<init>(io.undertow.server.AbstractServerConnection,io.undertow.server.AbstractServerConnection)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.AbstractServerConnection].setConduit(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.server.AbstractServerConnection].getConduit()'
    - '[io.undertow.server.AbstractServerConnection].setConduit(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: ConduitState
    signature: '[io.undertow.server.AbstractServerConnection].resetChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.AbstractServerConnection:241,1
    - Dst: '[io.undertow.server.AbstractServerConnection].setConduit(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.server.AbstractServerConnection:241,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.AbstractServerConnection:242,1
    - Dst: '[io.undertow.server.AbstractServerConnection].setConduit(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.server.AbstractServerConnection:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: '[io.undertow.server.AbstractServerConnection].clearChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.AbstractServerConnection].setConduit(org.xnio.conduits.StreamSourceConduit)'
    - '[io.undertow.server.AbstractServerConnection].setConduit(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection].clearChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.AbstractServerConnection:251,1
    - Dst: '[io.undertow.server.AbstractServerConnection].setConduit(io.undertow.server.AbstractServerConnection)'
      Src: io.undertow.server.AbstractServerConnection:251,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.AbstractServerConnection:252,1
    - Dst: '[io.undertow.server.AbstractServerConnection].setConduit(io.undertow.server.AbstractServerConnection)'
      Src: io.undertow.server.AbstractServerConnection:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ConduitState
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - state
    argTypes:
    - ConduitState
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: '[io.undertow.server.AbstractServerConnection].restoreChannel(ConduitState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.AbstractServerConnection].setConduit(io.undertow.server.AbstractServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection].restoreChannel(ConduitState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ConduitState
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: true
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - state
    argTypes:
    - ConduitState
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: '[io.undertow.server.AbstractServerConnection].sink(ConduitState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.AbstractServerConnection].sink(ConduitState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ConduitState
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSourceConduit
      static: true
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - state
    argTypes:
    - ConduitState
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: '[io.undertow.server.AbstractServerConnection].source(ConduitState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.StreamSourceConduit
    signature: '[io.undertow.server.AbstractServerConnection].source(ConduitState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<CloseListener>].add(CloseListener)'
      Src: io.undertow.server.AbstractServerConnection:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - CloseListener
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - listener
    argTypes:
    - CloseListener
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.AbstractServerConnection].addCloseListener(CloseListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<CloseListener>].add(CloseListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection].addCloseListener(CloseListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.AbstractServerConnection:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.ConduitStreamSinkChannel
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '[io.undertow.server.AbstractServerConnection].getSinkChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    linkageType: ''
    returnType: org.xnio.conduits.ConduitStreamSinkChannel
    signature: '[io.undertow.server.AbstractServerConnection].getSinkChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.AbstractServerConnection:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.ConduitStreamSourceChannel
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '[io.undertow.server.AbstractServerConnection].getSourceChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSourceChannel()'
    linkageType: ''
    returnType: org.xnio.conduits.ConduitStreamSourceChannel
    signature: '[io.undertow.server.AbstractServerConnection].getSourceChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].upgradeNotSupported()'
      Src: io.undertow.server.AbstractServerConnection:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - upgradeListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: '[io.undertow.server.AbstractServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.AbstractServerConnection].upgradeNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.StreamConnection
      - CloseSetter
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.conduits.StreamSinkConduit
      - java.util.List<CloseListener>
      - io.undertow.server.HttpServerExchange
      - int
      - io.undertow.server.XnioBufferPoolAdaptor
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: '[io.undertow.server.AbstractServerConnection].maxEntitySizeUpdated(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection].maxEntitySizeUpdated(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - StreamSourceConduit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.AbstractServerConnection.ConduitState
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - sink
    - source
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - org.xnio.conduits.StreamSourceConduit
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: '[io.undertow.server.AbstractServerConnection.ConduitState].<init>(org.xnio.conduits.StreamSinkConduit,org.xnio.conduits.StreamSourceConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.AbstractServerConnection.ConduitState
    signature: '[io.undertow.server.AbstractServerConnection.ConduitState].<init>(org.xnio.conduits.StreamSinkConduit,org.xnio.conduits.StreamSourceConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<?superServerConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener<? super ServerConnection>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - org.xnio.ChannelListener<?superServerConnection>
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: '[io.undertow.server.AbstractServerConnection.CloseSetter].set(org.xnio.ChannelListener<?superServerConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection.CloseSetter].set(org.xnio.ChannelListener<?superServerConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: l.closed(io.undertow.server.AbstractServerConnection.CloseSetter)
      Src: io.undertow.server.AbstractServerConnection.CloseSetter:310,1
    - Dst: '[io.undertow.server.AbstractServerConnection.CloseSetter].exceptionInvokingCloseListener(io.undertow.server.AbstractServerConnection.CloseSetter,io.undertow.server.AbstractServerConnection.CloseSetter)'
      Src: io.undertow.server.AbstractServerConnection.CloseSetter:312,1
    - Dst: current.endExchange()
      Src: io.undertow.server.AbstractServerConnection.CloseSetter:316,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.server.AbstractServerConnection.CloseSetter,ChannelListener<?
        super ServerConnection>)'
      Src: io.undertow.server.AbstractServerConnection.CloseSetter:318,1
    - Dst: extraBytes.close()
      Src: io.undertow.server.AbstractServerConnection.CloseSetter:321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener<? super ServerConnection>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: '[io.undertow.server.AbstractServerConnection.CloseSetter].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached:
    - l.closed(io.undertow.server.AbstractServerConnection.CloseSetter)
    - extraBytes.close()
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.server.AbstractServerConnection.CloseSetter,ChannelListener<?
      super ServerConnection>)'
    - '[io.undertow.server.AbstractServerConnection.CloseSetter].exceptionInvokingCloseListener(io.undertow.server.AbstractServerConnection.CloseSetter,io.undertow.server.AbstractServerConnection.CloseSetter)'
    - current.endExchange()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.AbstractServerConnection.CloseSetter].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener<? super ServerConnection>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.AbstractServerConnection.CloseSetter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.AbstractServerConnection.CloseSetter].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/AbstractServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.AbstractServerConnection.CloseSetter
    signature: '[io.undertow.server.AbstractServerConnection.CloseSetter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<T>
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - factory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<T>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.ConduitWrapper].wrap(io.undertow.util.ConduitFactory<T>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConduitWrapper.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.ConduitWrapper].wrap(io.undertow.util.ConduitFactory<T>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConduitWrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ConduitWrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConduitWrapper.java
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConduitWrapper
    signature: '[io.undertow.server.ConduitWrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.BlockingHttpExchange].getInputStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BlockingHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[io.undertow.server.BlockingHttpExchange].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.OutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.BlockingHttpExchange].getOutputStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BlockingHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.io.OutputStream
    signature: '[io.undertow.server.BlockingHttpExchange].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.io.Sender
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.BlockingHttpExchange].getSender()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BlockingHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Sender
    signature: '[io.undertow.server.BlockingHttpExchange].getSender()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.BlockingHttpExchange].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BlockingHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.BlockingHttpExchange].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.io.Receiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.BlockingHttpExchange].getReceiver()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BlockingHttpExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.io.Receiver
    signature: '[io.undertow.server.BlockingHttpExchange].getReceiver()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.BlockingHttpExchange
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.BlockingHttpExchange].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/BlockingHttpExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.BlockingHttpExchange
    signature: '[io.undertow.server.BlockingHttpExchange].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.Connectors:83,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.Connectors:83,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.Connectors:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].responseCookies()'
      Src: io.undertow.server.Connectors:84,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.Connectors:85,1
    - Dst: '[io.undertow.server.Connectors].getCookieString(io.undertow.server.Connectors,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:85,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.Connectors:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.Connectors].flattenCookies(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.Connectors].getCookieString(io.undertow.server.Connectors,io.undertow.server.Connectors)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].responseCookies()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].flattenCookies(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.Connectors:97,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.Connectors:97,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.Connectors:97,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.Connectors:98,1
    - Dst: '[io.undertow.server.Connectors].getCookieString(io.undertow.server.handlers.Cookie,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:98,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.Connectors:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - cookie
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.Connectors].addCookie(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.Connectors].getCookieString(io.undertow.server.handlers.Cookie,io.undertow.server.Connectors)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].addCookie(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<PooledByteBuffer[]>)'
      Src: io.undertow.server.Connectors:108,1
    - Dst: System.arraycopy(io.undertow.server.Connectors,int,io.undertow.server.Connectors,int,io.undertow.server.Connectors)
      Src: io.undertow.server.Connectors:112,1
    - Dst: System.arraycopy(io.undertow.server.Connectors,int,io.undertow.server.Connectors,int,io.undertow.server.Connectors)
      Src: io.undertow.server.Connectors:119,1
    - Dst: System.arraycopy(io.undertow.server.Connectors,int,io.undertow.server.Connectors,io.undertow.server.Connectors,io.undertow.server.Connectors)
      Src: io.undertow.server.Connectors:120,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<PooledByteBuffer[]>,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:122,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<PooledByteBuffer[]>,io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<PooledByteBuffer[]>)'
    - System.arraycopy(io.undertow.server.Connectors,int,io.undertow.server.Connectors,int,io.undertow.server.Connectors)
    - System.arraycopy(io.undertow.server.Connectors,int,io.undertow.server.Connectors,io.undertow.server.Connectors,io.undertow.server.Connectors)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].terminateRequest()'
      Src: io.undertow.server.Connectors:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 10
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].terminateRequest()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].terminateResponse()'
      Src: io.undertow.server.Connectors:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '[io.undertow.server.Connectors].terminateResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].terminateResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].terminateResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].resetRequestChannel()'
      Src: io.undertow.server.Connectors:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.Connectors].resetRequestChannel(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].resetRequestChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].resetRequestChannel(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.Connectors].addRfc6265ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.Connectors:157,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].adjustedCookieVersion(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.Connectors:159,1
    - Dst: '[io.undertow.server.Connectors].addVersion0ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.Connectors:161,1
    - Dst: '[io.undertow.server.Connectors].addVersion1ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.Connectors:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - cookie
    - enableRfc6265Validation
    argTypes:
    - io.undertow.server.handlers.Cookie
    - boolean
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.Connectors].getCookieString(io.undertow.server.handlers.Cookie,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.Connectors].addVersion1ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
    - '[io.undertow.util.LegacyCookieSupport].adjustedCookieVersion(io.undertow.server.handlers.Cookie)'
    - '[io.undertow.server.Connectors].addVersion0ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
    - '[io.undertow.server.Connectors].addRfc6265ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.Connectors].getCookieString(io.undertow.server.handlers.Cookie,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.nanoTime()
      Src: io.undertow.server.Connectors:170,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestStartTime(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 3
    functionsReached:
    - System.nanoTime()
    - '[io.undertow.server.HttpServerExchange].setRequestStartTime(io.undertow.server.Connectors)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
      Src: io.undertow.server.Connectors:174,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestStartTime(long)'
      Src: io.undertow.server.Connectors:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - existing
    - newExchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setRequestStartTime(long)'
    - '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.Connectors:178,1
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.server.Connectors:178,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:179,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.Connectors:180,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.Connectors:181,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:181,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.Connectors:183,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:184,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.Connectors:185,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:185,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.Connectors:187,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:188,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.Connectors:189,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:189,1
    - Dst: '[io.undertow.server.handlers.Cookie].isSecure()'
      Src: io.undertow.server.Connectors:191,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:192,1
    - Dst: '[io.undertow.server.handlers.Cookie].isHttpOnly()'
      Src: io.undertow.server.Connectors:194,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:195,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:197,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:201,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:202,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:203,1
    - Dst: '[StringBuilder].append(Integer)'
      Src: io.undertow.server.Connectors:203,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.server.Connectors:209,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:210,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.Connectors:211,1
    - Dst: '[java.util.Date].setTime(int)'
      Src: io.undertow.server.Connectors:212,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:213,1
    - Dst: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:214,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:214,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:215,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.Connectors:216,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.server.Connectors:217,1
    - Dst: '[java.util.Date].setTime(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:217,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:218,1
    - Dst: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:219,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:219,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.server.Connectors:223,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:224,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.server.Connectors:225,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:225,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:225,1
    - Dst: '[io.undertow.server.handlers.Cookie].getComment()'
      Src: io.undertow.server.Connectors:227,1
    - Dst: '[io.undertow.server.handlers.Cookie].getComment()'
      Src: io.undertow.server.Connectors:227,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.Connectors:227,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:228,1
    - Dst: '[io.undertow.server.handlers.Cookie].getComment()'
      Src: io.undertow.server.Connectors:229,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:229,1
    - Dst: '[io.undertow.server.handlers.Cookie].isSameSite()'
      Src: io.undertow.server.Connectors:231,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:232,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:232,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.Connectors:232,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:233,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:234,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:234,1
    - Dst: '[io.undertow.server.Connectors].appendAttributes(io.undertow.server.handlers.Cookie,StringBuilder)'
      Src: io.undertow.server.Connectors:237,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.Connectors:238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 239
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 239
    functionName: '[io.undertow.server.Connectors].addRfc6265ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[java.util.Date].setTime(int)'
    - '[io.undertow.server.handlers.Cookie].getName()'
    - '[java.util.Date].getTime()'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - '[io.undertow.server.Connectors].appendAttributes(io.undertow.server.handlers.Cookie,StringBuilder)'
    - '[StringBuilder].<init>(String)'
    - '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
    - '[io.undertow.server.handlers.Cookie].isHttpOnly()'
    - '[io.undertow.server.handlers.Cookie].isSameSite()'
    - '[String].isEmpty()'
    - '[io.undertow.server.handlers.Cookie].isSecure()'
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[StringBuilder].toString()'
    - '[java.util.Date].setTime(io.undertow.server.Connectors)'
    - '[io.undertow.server.handlers.Cookie].getComment()'
    - '[java.util.Date].<init>()'
    - '[StringBuilder].append(Integer)'
    - '[io.undertow.server.handlers.Cookie].getMaxAge()'
    - '[io.undertow.server.handlers.Cookie].getExpires()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.Connectors].addRfc6265ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.Connectors:242,1
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.server.Connectors:242,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:243,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.Connectors:244,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.Connectors:245,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
      Src: io.undertow.server.Connectors:245,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.Connectors:248,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:249,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.Connectors:250,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
      Src: io.undertow.server.Connectors:250,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.Connectors:252,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:253,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.Connectors:254,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
      Src: io.undertow.server.Connectors:254,1
    - Dst: '[io.undertow.server.handlers.Cookie].isSecure()'
      Src: io.undertow.server.Connectors:256,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:257,1
    - Dst: '[io.undertow.server.handlers.Cookie].isHttpOnly()'
      Src: io.undertow.server.Connectors:259,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:260,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.server.Connectors:262,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:263,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.server.Connectors:264,1
    - Dst: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:264,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:264,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:265,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:269,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:270,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:271,1
    - Dst: '[StringBuilder].append(Integer)'
      Src: io.undertow.server.Connectors:271,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:273,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.Connectors:274,1
    - Dst: '[java.util.Date].setTime(int)'
      Src: io.undertow.server.Connectors:275,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:276,1
    - Dst: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:277,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:277,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:278,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.Connectors:279,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.server.Connectors:280,1
    - Dst: '[java.util.Date].setTime(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:280,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:281,1
    - Dst: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:282,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:282,1
    - Dst: '[io.undertow.server.handlers.Cookie].isSameSite()'
      Src: io.undertow.server.Connectors:285,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:286,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:286,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.Connectors:286,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:287,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:288,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:288,1
    - Dst: '[io.undertow.server.Connectors].appendAttributes(io.undertow.server.handlers.Cookie,StringBuilder)'
      Src: io.undertow.server.Connectors:291,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.Connectors:292,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 294
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 294
    functionName: '[io.undertow.server.Connectors].addVersion0ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[java.util.Date].setTime(int)'
    - '[io.undertow.server.handlers.Cookie].getName()'
    - '[java.util.Date].getTime()'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - '[io.undertow.server.Connectors].appendAttributes(io.undertow.server.handlers.Cookie,StringBuilder)'
    - '[StringBuilder].<init>(String)'
    - '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
    - '[io.undertow.server.handlers.Cookie].isHttpOnly()'
    - '[io.undertow.server.handlers.Cookie].isSameSite()'
    - '[String].isEmpty()'
    - '[io.undertow.server.handlers.Cookie].isSecure()'
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
    - '[StringBuilder].toString()'
    - '[java.util.Date].setTime(io.undertow.server.Connectors)'
    - '[java.util.Date].<init>()'
    - '[StringBuilder].append(Integer)'
    - '[io.undertow.server.handlers.Cookie].getMaxAge()'
    - '[io.undertow.server.handlers.Cookie].getExpires()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.Connectors].addVersion0ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.Connectors:298,1
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.server.Connectors:298,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:299,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.Connectors:300,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.Connectors:301,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
      Src: io.undertow.server.Connectors:301,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:303,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.Connectors:304,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:305,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.Connectors:306,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
      Src: io.undertow.server.Connectors:306,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.Connectors:308,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:309,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.Connectors:310,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
      Src: io.undertow.server.Connectors:310,1
    - Dst: '[io.undertow.server.handlers.Cookie].isDiscard()'
      Src: io.undertow.server.Connectors:312,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:313,1
    - Dst: '[io.undertow.server.handlers.Cookie].isSecure()'
      Src: io.undertow.server.Connectors:315,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:316,1
    - Dst: '[io.undertow.server.handlers.Cookie].isHttpOnly()'
      Src: io.undertow.server.Connectors:318,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:319,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:321,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:325,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:326,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:327,1
    - Dst: '[StringBuilder].append(Integer)'
      Src: io.undertow.server.Connectors:327,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.server.Connectors:333,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:334,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.Connectors:335,1
    - Dst: '[java.util.Date].setTime(int)'
      Src: io.undertow.server.Connectors:336,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:337,1
    - Dst: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:338,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:338,1
    - Dst: '[io.undertow.server.handlers.Cookie].getMaxAge()'
      Src: io.undertow.server.Connectors:339,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.Connectors:340,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.server.Connectors:341,1
    - Dst: '[java.util.Date].setTime(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:341,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:342,1
    - Dst: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:343,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:343,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.server.Connectors:347,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:348,1
    - Dst: '[io.undertow.server.handlers.Cookie].getExpires()'
      Src: io.undertow.server.Connectors:349,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.Connectors:349,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:349,1
    - Dst: '[io.undertow.server.handlers.Cookie].getComment()'
      Src: io.undertow.server.Connectors:351,1
    - Dst: '[io.undertow.server.handlers.Cookie].getComment()'
      Src: io.undertow.server.Connectors:351,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.Connectors:351,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:352,1
    - Dst: '[io.undertow.server.handlers.Cookie].getComment()'
      Src: io.undertow.server.Connectors:353,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
      Src: io.undertow.server.Connectors:353,1
    - Dst: '[io.undertow.server.handlers.Cookie].isSameSite()'
      Src: io.undertow.server.Connectors:355,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:356,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:356,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.Connectors:356,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:357,1
    - Dst: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
      Src: io.undertow.server.Connectors:358,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:358,1
    - Dst: '[io.undertow.server.Connectors].appendAttributes(io.undertow.server.handlers.Cookie,StringBuilder)'
      Src: io.undertow.server.Connectors:361,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.Connectors:362,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 363
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 363
    functionName: '[io.undertow.server.Connectors].addVersion1ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[java.util.Date].setTime(int)'
    - '[io.undertow.server.handlers.Cookie].getName()'
    - '[java.util.Date].getTime()'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - '[io.undertow.server.Connectors].appendAttributes(io.undertow.server.handlers.Cookie,StringBuilder)'
    - '[StringBuilder].<init>(String)'
    - '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
    - '[io.undertow.server.handlers.Cookie].isHttpOnly()'
    - '[io.undertow.server.handlers.Cookie].isSameSite()'
    - '[String].isEmpty()'
    - '[io.undertow.server.handlers.Cookie].isSecure()'
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
    - '[StringBuilder].toString()'
    - '[java.util.Date].setTime(io.undertow.server.Connectors)'
    - '[io.undertow.server.handlers.Cookie].getComment()'
    - '[java.util.Date].<init>()'
    - '[io.undertow.server.handlers.Cookie].isDiscard()'
    - '[StringBuilder].append(Integer)'
    - '[io.undertow.server.handlers.Cookie].getMaxAge()'
    - '[io.undertow.server.handlers.Cookie].getExpires()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.Connectors].addVersion1ResponseCookieToExchange(io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setInCall(boolean)'
      Src: io.undertow.server.Connectors:367,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.Connectors:368,1
    - Dst: '[io.undertow.server.HttpServerExchange].setInCall(boolean)'
      Src: io.undertow.server.Connectors:369,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResumed()'
      Src: io.undertow.server.Connectors:370,1
    - Dst: '[io.undertow.server.HttpServerExchange].isDispatched()'
      Src: io.undertow.server.Connectors:371,1
    - Dst: '[io.undertow.server.Connectors].resumedAndDispatched()'
      Src: io.undertow.server.Connectors:373,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.Connectors:374,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.Connectors:375,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDispatchTask()'
      Src: io.undertow.server.Connectors:378,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDispatchExecutor()'
      Src: io.undertow.server.Connectors:379,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDispatchExecutor(null)'
      Src: io.undertow.server.Connectors:380,1
    - Dst: '[io.undertow.server.HttpServerExchange].unDispatch()'
      Src: io.undertow.server.Connectors:381,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.Connectors:383,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.server.Connectors:383,1
    - Dst: executor.execute(Runnable)
      Src: io.undertow.server.Connectors:385,1
    - Dst: '[io.undertow.server.Connectors].debug(String,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:387,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.Connectors:388,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.Connectors:389,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.Connectors:393,1
    - Dst: '[io.undertow.server.HttpServerExchange].runResumeReadWrite()'
      Src: io.undertow.server.Connectors:395,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.Connectors,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:398,1
    - Dst: '[io.undertow.server.HttpServerExchange].setInCall(boolean)'
      Src: io.undertow.server.Connectors:399,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.Connectors:400,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.Connectors:402,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.Connectors:404,1
    - Dst: '[io.undertow.server.Connectors].ioException(java.io.IOException)'
      Src: io.undertow.server.Connectors:408,1
    - Dst: '[io.undertow.server.Connectors].undertowRequestFailed(io.undertow.server.Connectors,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.Connectors:410,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.Connectors:412,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - handler
    - exchange
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 414
      start: 365
    functionDepth: 6
    functionLinenumber: 365
    functionLinenumberEnd: 414
    functionName: '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.HttpHandler,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getDispatchTask()'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[io.undertow.server.HttpServerExchange].isResumed()'
    - '[io.undertow.server.HttpServerExchange].isDispatched()'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.Connectors].resumedAndDispatched()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.Connectors,io.undertow.server.Connectors)'
    - '[io.undertow.server.Connectors].undertowRequestFailed(io.undertow.server.Connectors,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setInCall(boolean)'
    - '[io.undertow.server.HttpServerExchange].unDispatch()'
    - executor.execute(Runnable)
    - '[io.undertow.server.HttpServerExchange].runResumeReadWrite()'
    - '[io.undertow.server.HttpServerExchange].getDispatchExecutor()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.Connectors].ioException(java.io.IOException)'
    - '[io.undertow.server.Connectors].debug(String,io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].setDispatchExecutor(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.HttpHandler,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.Connectors:426,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.Connectors:426,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>)'
      Src: io.undertow.server.Connectors:426,1
    - Dst: '[io.undertow.util.URLUtils].getSlashDecodingFlag(boolean,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:426,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.Connectors:427,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.Connectors:427,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.Connectors:427,1
    - Dst: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,StringBuilder,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:427,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - String
      - boolean
      - boolean
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - exchange
    - encodedPath
    - charset
    - decode
    - allowEncodedSlash
    - decodeBuffer
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - String
    - boolean
    - boolean
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[RuntimeException].<init>(io.undertow.server.Connectors)'
    - '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,StringBuilder,io.undertow.server.Connectors)'
    - '[io.undertow.util.URLUtils].getSlashDecodingFlag(boolean,io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.Connectors:444,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.Connectors:444,1
    - Dst: '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
      Src: io.undertow.server.Connectors:445,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
      Src: io.undertow.server.Connectors:447,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.Connectors:448,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.Connectors:451,1
    - Dst: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,io.undertow.server.Connectors,io.undertow.server.Connectors,boolean,StringBuilder,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.ParameterLimitException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - encodedPath
    - decodeBuffer
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,io.undertow.server.Connectors,io.undertow.server.Connectors,boolean,StringBuilder,io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
    - '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,boolean,StringBuilder,int)'
      Src: io.undertow.server.Connectors:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - String
      - boolean
      - boolean
      - StringBuilder
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.ParameterLimitException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 7
    argNames:
    - exchange
    - encodedPath
    - charset
    - decode
    - decodeSlashFlag
    - decodeBuffer
    - maxParameters
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - String
    - boolean
    - boolean
    - StringBuilder
    - int
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 4
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,StringBuilder,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,boolean,StringBuilder,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,StringBuilder,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.Connectors:485,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.Connectors:485,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.Connectors:486,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.Connectors:488,1
    - Dst: '[String].length()'
      Src: io.undertow.server.Connectors:490,1
    - Dst: '[String].charAt(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:491,1
    - Dst: '[io.undertow.server.Connectors].isRequestTargetChar(byte)'
      Src: io.undertow.server.Connectors:492,1
    - Dst: '[io.undertow.server.Connectors].invalidCharacterInRequestTarget(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:493,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:493,1
    - Dst: '[String].substring(io.undertow.server.Connectors,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:497,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.server.Connectors,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.Connectors:499,1
    - Dst: '[StringBuilder].append(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:503,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.Connectors:504,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:505,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:506,1
    - Dst: '[String].substring(int,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:508,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.server.Connectors,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.Connectors:508,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
      Src: io.undertow.server.Connectors:509,1
    - Dst: '[String].substring(int,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:511,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:511,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.Connectors:514,1
    - Dst: '[io.undertow.server.Connectors].length()'
      Src: io.undertow.server.Connectors:516,1
    - Dst: '[io.undertow.server.Connectors].charAt(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:517,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.server.Connectors,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.Connectors:525,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
      Src: io.undertow.server.Connectors:526,1
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:528,1
    - Dst: '[io.undertow.util.URLUtils].parseQueryString(io.undertow.server.Connectors,io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.server.Connectors:530,1
    - Dst: '[String].substring(io.undertow.server.Connectors,io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:534,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.server.Connectors,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.Connectors:536,1
    - Dst: '[StringBuilder].append(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:540,1
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.Connectors:542,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
      Src: io.undertow.server.Connectors:543,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
      Src: io.undertow.server.Connectors:545,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.Connectors:548,1
    - Dst: '[io.undertow.util.URLUtils].parsePathParams(io.undertow.server.Connectors,io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.server.Connectors:548,1
    - Dst: '[String].substring(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:556,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.server.Connectors,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.Connectors:558,1
    - Dst: '[StringBuilder].append(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:562,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.Connectors:563,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:564,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:565,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
      Src: io.undertow.server.Connectors:566,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - String
      - boolean
      - boolean
      - boolean
      - StringBuilder
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.ParameterLimitException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 8
    argNames:
    - exchange
    - encodedPath
    - charset
    - decode
    - decodeQueryString
    - decodeSlashFlag
    - decodeBuffer
    - maxParameters
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - String
    - boolean
    - boolean
    - boolean
    - StringBuilder
    - int
    constantsTouched: []
    func_position:
      end: 567
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 567
    functionName: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,boolean,StringBuilder,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[String].substring(int,io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
    - '[String].substring(io.undertow.server.Connectors)'
    - '[String].substring(int)'
    - '[io.undertow.server.Connectors].length()'
    - '[io.undertow.server.Connectors].isRequestTargetChar(byte)'
    - '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
    - '[io.undertow.util.URLUtils].parseQueryString(io.undertow.server.Connectors,io.undertow.server.HttpServerExchange,String,boolean,int)'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[String].length()'
    - '[String].substring(io.undertow.server.Connectors,io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.server.Connectors)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.URLUtils].decode(io.undertow.server.Connectors,String,boolean,boolean,StringBuilder)'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.server.Connectors)'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(io.undertow.server.Connectors)'
    - '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
    - '[io.undertow.util.URLUtils].parsePathParams(io.undertow.server.Connectors,io.undertow.server.HttpServerExchange,String,boolean,int)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.Connectors].invalidCharacterInRequestTarget(io.undertow.server.Connectors)'
    - '[io.undertow.server.Connectors].charAt(io.undertow.server.Connectors)'
    - '[String].charAt(io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.server.Connectors)'
    - '[io.undertow.util.BadRequestException].<init>(io.undertow.server.Connectors)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.Connectors)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,boolean,StringBuilder,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSourceChannel
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: '[io.undertow.server.Connectors].getExistingRequestChannel(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.StreamSourceChannel
    signature: '[io.undertow.server.Connectors].getExistingRequestChannel(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.Connectors:580,1
    - Dst: '[io.undertow.server.Connectors].isEntityBodyAllowed(int)'
      Src: io.undertow.server.Connectors:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: '[io.undertow.server.Connectors].isEntityBodyAllowed(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.Connectors].isEntityBodyAllowed(int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.Connectors].isEntityBodyAllowed(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: '[io.undertow.server.Connectors].isEntityBodyAllowed(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.Connectors].isEntityBodyAllowed(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].updateBytesSent(long)'
      Src: io.undertow.server.Connectors:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - bytes
    argTypes:
    - io.undertow.server.HttpServerExchange
    - long
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 5
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].updateBytesSent(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].updateResponseBytesSent(io.undertow.server.HttpServerExchange,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].updateBytesRead(long)'
      Src: io.undertow.server.Connectors:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - bytes
    argTypes:
    - io.undertow.server.HttpServerExchange
    - long
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: '[io.undertow.server.Connectors].updateRequestBytesRead(io.undertow.server.HttpServerExchange,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].updateBytesRead(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].updateRequestBytesRead(io.undertow.server.HttpServerExchange,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.Connectors:603,1
    - Dst: '[io.undertow.server.ServerConnection].getSinkChannel()'
      Src: io.undertow.server.Connectors:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.ConduitStreamSinkChannel
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: '[io.undertow.server.Connectors].getConduitSinkChannel(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getSinkChannel()'
    linkageType: ''
    returnType: org.xnio.conduits.ConduitStreamSinkChannel
    signature: '[io.undertow.server.Connectors].getConduitSinkChannel(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.server.Connectors:611,1
    - Dst: '[io.undertow.util.HttpString].byteAt(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:613,1
    - Dst: '[io.undertow.util.ParserUtils].isTokenChar(byte)'
      Src: io.undertow.server.Connectors:614,1
    - Dst: '[io.undertow.server.Connectors].invalidToken(byte)'
      Src: io.undertow.server.Connectors:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: '[io.undertow.server.Connectors].verifyToken(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.ParserUtils].isTokenChar(byte)'
    - '[io.undertow.util.HttpString].length()'
    - '[io.undertow.util.HttpString].byteAt(io.undertow.server.Connectors)'
    - '[io.undertow.server.Connectors].invalidToken(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].verifyToken(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].isTokenChar(byte)'
      Src: io.undertow.server.Connectors:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: '[io.undertow.server.Connectors].isValidTokenCharacter(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ParserUtils].isTokenChar(byte)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.Connectors].isValidTokenCharacter(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].isSchemeChar(byte)'
      Src: io.undertow.server.Connectors:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 629
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 629
    functionName: '[io.undertow.server.Connectors].isValidSchemeCharacter(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].isSchemeChar(byte)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.Connectors].isValidSchemeCharacter(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.Connectors:636,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.Connectors:637,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.Connectors:640,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.Connectors:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 646
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 646
    functionName: '[io.undertow.server.Connectors].areRequestHeadersValid(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.Connectors].areRequestHeadersValid(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].getAttributes()'
      Src: io.undertow.server.Connectors:649,1
    - Dst: '[java.util.Map<String,String>].entrySet()'
      Src: io.undertow.server.Connectors:649,1
    - Dst: entry.getKey()
      Src: io.undertow.server.Connectors:650,1
    - Dst: '[java.util.Set<String>].contains(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:650,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.Connectors:653,1
    - Dst: entry.getKey()
      Src: io.undertow.server.Connectors:654,1
    - Dst: '[io.undertow.server.Connectors].append(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:653,1
    - Dst: entry.getValue()
      Src: io.undertow.server.Connectors:655,1
    - Dst: '[io.undertow.server.Connectors].isBlank()'
      Src: io.undertow.server.Connectors:655,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.Connectors:656,1
    - Dst: entry.getValue()
      Src: io.undertow.server.Connectors:657,1
    - Dst: '[io.undertow.server.Connectors].append(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - cookie
    - header
    argTypes:
    - io.undertow.server.handlers.Cookie
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 660
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 660
    functionName: '[io.undertow.server.Connectors].appendAttributes(io.undertow.server.handlers.Cookie,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.Connectors].isBlank()'
    - '[StringBuilder].append(char)'
    - '[io.undertow.server.handlers.Cookie].getAttributes()'
    - entry.getValue()
    - entry.getKey()
    - '[io.undertow.server.Connectors].append(io.undertow.server.Connectors)'
    - '[java.util.Set<String>].contains(io.undertow.server.Connectors)'
    - '[java.util.Map<String,String>].entrySet()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.Connectors].appendAttributes(io.undertow.server.handlers.Cookie,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeSet].<init>(io.undertow.server.Connectors)'
      Src: io.undertow.server.Connectors:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.Connectors
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.Connectors].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/Connectors.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>(io.undertow.server.Connectors)'
    linkageType: ''
    returnType: io.undertow.server.Connectors
    signature: '[io.undertow.server.Connectors].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RequestStatistics
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '[io.undertow.server.RequestStatistics].<init>(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.RequestStatistics
    signature: '[io.undertow.server.RequestStatistics].<init>(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseBytesSent()'
      Src: io.undertow.server.RequestStatistics:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.RequestStatistics].getBytesSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseBytesSent()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.RequestStatistics].getBytesSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
      Src: io.undertow.server.RequestStatistics:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.RequestStatistics].getBytesReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.RequestStatistics].getBytesReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
      Src: io.undertow.server.RequestStatistics:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.RequestStatistics].getStartTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.RequestStatistics].getStartTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.RequestStatistics:43,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.RequestStatistics:43,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.RequestStatistics:43,1
    - Dst: System.nanoTime()
      Src: io.undertow.server.RequestStatistics:44,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
      Src: io.undertow.server.RequestStatistics:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.RequestStatistics].getProcessingTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - System.nanoTime()
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[io.undertow.server.HttpServerExchange].getRequestStartTime()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.RequestStatistics].getProcessingTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.RequestStatistics:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.RequestStatistics].getQueryString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.RequestStatistics].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.RequestStatistics:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.RequestStatistics].getUri()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.RequestStatistics].getUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.RequestStatistics:59,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.RequestStatistics:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.RequestStatistics].getMethod()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.RequestStatistics].getMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.RequestStatistics:63,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.RequestStatistics:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.RequestStatistics].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.util.HttpString].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.RequestStatistics].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.server.RequestStatistics:67,1
    - Dst: '[java.net.InetSocketAddress].toString()'
      Src: io.undertow.server.RequestStatistics:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.RequestStatistics].getRemoteAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestStatistics.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetSocketAddress].toString()'
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.RequestStatistics].getRemoteAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.SSLSessionInfo:52,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.SSLSessionInfo:54,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.SSLSessionInfo:56,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:59,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:61,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:63,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:65,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:67,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:69,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:71,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:73,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.SSLSessionInfo:75,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cipherSuite
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.SSLSessionInfo].calculateKeySize(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 1
    functionsReached:
    - '[String].contains(String)'
    - '[String].startsWith(String)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.SSLSessionInfo].calculateKeySize(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.SSLSessionInfo].getSessionId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.server.SSLSessionInfo].getSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.lang.String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.SSLSessionInfo].getCipherSuite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.lang.String
    signature: '[io.undertow.server.SSLSessionInfo].getCipherSuite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.SSLSessionInfo].getCipherSuite()'
      Src: io.undertow.server.SSLSessionInfo:91,1
    - Dst: '[io.undertow.server.SSLSessionInfo].calculateKeySize(java.lang.String)'
      Src: io.undertow.server.SSLSessionInfo:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.SSLSessionInfo].getKeySize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.SSLSessionInfo].calculateKeySize(java.lang.String)'
    - '[io.undertow.server.SSLSessionInfo].getCipherSuite()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.SSLSessionInfo].getKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.security.cert.Certificate[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.security.cert.Certificate[]
    signature: '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.security.cert.X509Certificate[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.SSLSessionInfo].getPeerCertificateChain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.security.cert.X509Certificate[]
    signature: '[io.undertow.server.SSLSessionInfo].getPeerCertificateChain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.SslClientAuthMode
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sslClientAuthMode
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.SslClientAuthMode
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.SSLSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.SSLSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.SSLSessionInfo].getSSLSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.SSLSessionInfo].getSSLSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.SSLSessionInfo].getSSLSession()'
      Src: io.undertow.server.SSLSessionInfo:135,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSSLSession()'
      Src: io.undertow.server.SSLSessionInfo:135,1
    - Dst: '[javax.net.ssl.SSLSession].getProtocol()'
      Src: io.undertow.server.SSLSessionInfo:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.SSLSessionInfo].getSecureProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.SSLSessionInfo].getSSLSession()'
    - '[javax.net.ssl.SSLSession].getProtocol()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.SSLSessionInfo].getSecureProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.SSLSessionInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.SSLSessionInfo].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/SSLSessionInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.SSLSessionInfo
    signature: '[io.undertow.server.SSLSessionInfo].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.OpenListener].getRootHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/OpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.OpenListener].getRootHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.OpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/OpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.OpenListener].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.OpenListener].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/OpenListener.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.OpenListener].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - undertowOptions
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.OpenListener].setUndertowOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/OpenListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.OpenListener].setUndertowOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.OpenListener].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/OpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.OpenListener].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.ConnectorStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.OpenListener].getConnectorStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/OpenListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatistics
    signature: '[io.undertow.server.OpenListener].getConnectorStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.OpenListener].closeConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/OpenListener.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.OpenListener].closeConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.OpenListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.OpenListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/OpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.OpenListener
    signature: '[io.undertow.server.OpenListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.ConnectorStatistics].getRequestCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getRequestCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.ConnectorStatistics].getBytesSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getBytesSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.ConnectorStatistics].getBytesReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getBytesReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.ConnectorStatistics].getErrorCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getErrorCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.ConnectorStatistics].getProcessingTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getProcessingTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.ConnectorStatistics].getMaxProcessingTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getMaxProcessingTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.ConnectorStatistics].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.ConnectorStatistics].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.ConnectorStatistics].getActiveConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getActiveConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.ConnectorStatistics].getMaxActiveConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getMaxActiveConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.ConnectorStatistics].getActiveRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getActiveRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.ConnectorStatistics].getMaxActiveRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.ConnectorStatistics].getMaxActiveRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.ConnectorStatistics].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/ConnectorStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatistics
    signature: '[io.undertow.server.ConnectorStatistics].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamConnection
    - exchange
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.HttpUpgradeListener].handleUpgrade(org.xnio.StreamConnection,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpUpgradeListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.HttpUpgradeListener].handleUpgrade(org.xnio.StreamConnection,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpUpgradeListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.HttpUpgradeListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/HttpUpgradeListener.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpUpgradeListener
    signature: '[io.undertow.server.HttpUpgradeListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>()'
      Src: io.undertow.server.RequestTooBigException:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RequestTooBigException
      static: false
      superClass: java.io.IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: '[io.undertow.server.RequestTooBigException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestTooBigException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>()'
    linkageType: ''
    returnType: io.undertow.server.RequestTooBigException
    signature: '[io.undertow.server.RequestTooBigException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.server.RequestTooBigException:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RequestTooBigException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: '[io.undertow.server.RequestTooBigException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestTooBigException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.RequestTooBigException
    signature: '[io.undertow.server.RequestTooBigException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String,Throwable)'
      Src: io.undertow.server.RequestTooBigException:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RequestTooBigException
      static: false
      superClass: java.io.IOException
    argCount: 2
    argNames:
    - message
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: '[io.undertow.server.RequestTooBigException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestTooBigException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.server.RequestTooBigException
    signature: '[io.undertow.server.RequestTooBigException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.server.RequestTooBigException:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RequestTooBigException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '[io.undertow.server.RequestTooBigException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/RequestTooBigException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.server.RequestTooBigException
    signature: '[io.undertow.server.RequestTooBigException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocalCache].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:44,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:46,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:47,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.DefaultByteBufferPool:58,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.DefaultByteBufferPool:62,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.server.DefaultByteBufferPool:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.DefaultByteBufferPool
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - direct
    - bufferSize
    argTypes:
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 8
    functionsReached:
    - '[ThreadLocalCache].<init>()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    linkageType: ''
    returnType: io.undertow.server.DefaultByteBufferPool
    signature: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocalCache].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:44,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:46,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:47,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.DefaultByteBufferPool:58,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.DefaultByteBufferPool:62,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int,int)'
      Src: io.undertow.server.DefaultByteBufferPool:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.DefaultByteBufferPool
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - direct
    - bufferSize
    - maximumPoolSize
    - threadLocalCacheSize
    - leakDecetionPercent
    argTypes:
    - boolean
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 3
    functionsReached:
    - '[ThreadLocalCache].<init>()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int,int)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    linkageType: ''
    returnType: io.undertow.server.DefaultByteBufferPool
    signature: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocalCache].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:44,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:46,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:47,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.DefaultByteBufferPool:58,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.DefaultByteBufferPool:62,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int,int)'
      Src: io.undertow.server.DefaultByteBufferPool:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.DefaultByteBufferPool
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - direct
    - bufferSize
    - maximumPoolSize
    - threadLocalCacheSize
    argTypes:
    - boolean
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 10
    functionsReached:
    - '[ThreadLocalCache].<init>()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int,int)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    linkageType: ''
    returnType: io.undertow.server.DefaultByteBufferPool
    signature: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.DefaultByteBufferPool].getBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.DefaultByteBufferPool].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.DefaultByteBufferPool].isDirect()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.DefaultByteBufferPool].isDirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].poolIsClosed()'
      Src: io.undertow.server.DefaultByteBufferPool:119,1
    - Dst: '[ThreadLocalCache].get()'
      Src: io.undertow.server.DefaultByteBufferPool:124,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].poll()'
      Src: io.undertow.server.DefaultByteBufferPool:126,1
    - Dst: '[ThreadLocalData].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool:128,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].poolIsClosed()'
      Src: io.undertow.server.DefaultByteBufferPool:131,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].cleanupThreadLocalData()'
      Src: io.undertow.server.DefaultByteBufferPool:133,1
    - Dst: '[WeakReference].<init>(ThreadLocalData)'
      Src: io.undertow.server.DefaultByteBufferPool:134,1
    - Dst: '[java.util.List<WeakReference<ThreadLocalData>>].add(WeakReference)'
      Src: io.undertow.server.DefaultByteBufferPool:134,1
    - Dst: '[ThreadLocalCache].set(ThreadLocalData)'
      Src: io.undertow.server.DefaultByteBufferPool:135,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>].poll()'
      Src: io.undertow.server.DefaultByteBufferPool:141,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>].decrementAndGet()'
      Src: io.undertow.server.DefaultByteBufferPool:143,1
    - Dst: '[java.nio.ByteBuffer].allocateDirect(int)'
      Src: io.undertow.server.DefaultByteBufferPool:149,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.server.DefaultByteBufferPool:151,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].clear()'
      Src: io.undertow.server.DefaultByteBufferPool:159,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].<init>(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.server.DefaultByteBufferPool:160,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.DefaultByteBufferPool].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.DefaultByteBufferPool].poll()'
    - '[ThreadLocalData].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>].decrementAndGet()'
    - '[java.util.List<WeakReference<ThreadLocalData>>].add(WeakReference)'
    - '[io.undertow.server.DefaultByteBufferPool].cleanupThreadLocalData()'
    - '[WeakReference].<init>(ThreadLocalData)'
    - '[ThreadLocalCache].set(ThreadLocalData)'
    - '[ThreadLocalCache].get()'
    - '[java.nio.ByteBuffer].allocateDirect(int)'
    - '[io.undertow.server.DefaultByteBufferPool].clear()'
    - '[java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>].poll()'
    - '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].<init>(io.undertow.server.DefaultByteBufferPool)'
    - '[io.undertow.server.DefaultByteBufferPool].poolIsClosed()'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.DefaultByteBufferPool].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.DefaultByteBufferPool].getArrayBackedPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.DefaultByteBufferPool].getArrayBackedPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<WeakReference<ThreadLocalData>>].size()'
      Src: io.undertow.server.DefaultByteBufferPool:171,1
    - Dst: '[java.util.List<WeakReference<ThreadLocalData>>].get(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.server.DefaultByteBufferPool:176,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].get()'
      Src: io.undertow.server.DefaultByteBufferPool:177,1
    - Dst: '[java.util.List<WeakReference<ThreadLocalData>>].set(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.server.DefaultByteBufferPool:178,1
    - Dst: '[java.util.List<WeakReference<ThreadLocalData>>].remove(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.server.DefaultByteBufferPool:183,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>].addAndGet(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.server.DefaultByteBufferPool:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.DefaultByteBufferPool].cleanupThreadLocalData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>].addAndGet(io.undertow.server.DefaultByteBufferPool)'
    - '[java.util.List<WeakReference<ThreadLocalData>>].remove(io.undertow.server.DefaultByteBufferPool)'
    - '[java.util.List<WeakReference<ThreadLocalData>>].set(io.undertow.server.DefaultByteBufferPool)'
    - '[java.util.List<WeakReference<ThreadLocalData>>].get(io.undertow.server.DefaultByteBufferPool)'
    - '[java.util.List<WeakReference<ThreadLocalData>>].size()'
    - '[io.undertow.server.DefaultByteBufferPool].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool].cleanupThreadLocalData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].free(java.nio.ByteBuffer)'
      Src: io.undertow.server.DefaultByteBufferPool:191,1
    - Dst: '[ThreadLocalCache].get()'
      Src: io.undertow.server.DefaultByteBufferPool:194,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].size()'
      Src: io.undertow.server.DefaultByteBufferPool:198,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].add(java.nio.ByteBuffer)'
      Src: io.undertow.server.DefaultByteBufferPool:199,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].queueIfUnderMax(java.nio.ByteBuffer)'
      Src: io.undertow.server.DefaultByteBufferPool:204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 205
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.DefaultByteBufferPool].freeInternal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.DefaultByteBufferPool].size()'
    - '[io.undertow.server.DefaultByteBufferPool].add(java.nio.ByteBuffer)'
    - '[io.undertow.server.DefaultByteBufferPool].queueIfUnderMax(java.nio.ByteBuffer)'
    - '[ThreadLocalCache].get()'
    - '[io.undertow.server.DirectByteBufferDeallocator].free(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool].freeInternal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DirectByteBufferDeallocator].free(java.nio.ByteBuffer)'
      Src: io.undertow.server.DefaultByteBufferPool:212,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>].compareAndSet(io.undertow.server.DefaultByteBufferPool,int)'
      Src: io.undertow.server.DefaultByteBufferPool:215,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>].add(java.nio.ByteBuffer)'
      Src: io.undertow.server.DefaultByteBufferPool:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.DefaultByteBufferPool].queueIfUnderMax(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>].add(java.nio.ByteBuffer)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>].compareAndSet(io.undertow.server.DefaultByteBufferPool,int)'
    - '[io.undertow.server.DirectByteBufferDeallocator].free(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool].queueIfUnderMax(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>].clear()'
      Src: io.undertow.server.DefaultByteBufferPool:225,1
    - Dst: ref.get()
      Src: io.undertow.server.DefaultByteBufferPool:229,1
    - Dst: ref.clear()
      Src: io.undertow.server.DefaultByteBufferPool:230,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].clear()'
      Src: io.undertow.server.DefaultByteBufferPool:232,1
    - Dst: '[ThreadLocalCache].remove(io.undertow.server.DefaultByteBufferPool)'
      Src: io.undertow.server.DefaultByteBufferPool:233,1
    - Dst: '[java.util.List<WeakReference<ThreadLocalData>>].clear()'
      Src: io.undertow.server.DefaultByteBufferPool:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: '[io.undertow.server.DefaultByteBufferPool].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<WeakReference<ThreadLocalData>>].clear()'
    - ref.get()
    - '[io.undertow.server.DefaultByteBufferPool].clear()'
    - ref.clear()
    - '[ThreadLocalCache].remove(io.undertow.server.DefaultByteBufferPool)'
    - '[java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].close()'
      Src: io.undertow.server.DefaultByteBufferPool:243,1
    - Dst: '[Object].finalize()'
      Src: io.undertow.server.DefaultByteBufferPool:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocalCache
      - java.util.List<WeakReference<ThreadLocalData>>
      - java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer>
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.DefaultByteBufferPool>
      - boolean
      - io.undertow.server.DefaultByteBufferPool
      classPublic: true
      concrete: true
      exceptions:
      - Throwable
      interfaces:
      - io.undertow.connector.ByteBufferPool
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: '[io.undertow.server.DefaultByteBufferPool].finalize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.DefaultByteBufferPool].close()'
    - '[Object].finalize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool].finalize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer:256,1
    - Dst: '[LeakDetector].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.DefaultByteBufferPool
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - DefaultByteBufferPool
      - LeakDetector
      - ByteBuffer
      - int
      - AtomicIntegerFieldUpdater<DefaultPooledBuffer>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pool
    - buffer
    - detectLeaks
    argTypes:
    - io.undertow.server.DefaultByteBufferPool
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].<init>(io.undertow.server.DefaultByteBufferPool,java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[LeakDetector].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer
    signature: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].<init>(io.undertow.server.DefaultByteBufferPool,java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].bufferAlreadyFreed()'
      Src: io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DefaultByteBufferPool
      - LeakDetector
      - ByteBuffer
      - int
      - AtomicIntegerFieldUpdater<DefaultPooledBuffer>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].getBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].bufferAlreadyFreed()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].getBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicIntegerFieldUpdater<DefaultPooledBuffer>].compareAndSet(int,int)'
      Src: io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer:277,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].freeInternal(io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer)'
      Src: io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DefaultByteBufferPool
      - LeakDetector
      - ByteBuffer
      - int
      - AtomicIntegerFieldUpdater<DefaultPooledBuffer>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[AtomicIntegerFieldUpdater<DefaultPooledBuffer>].compareAndSet(int,int)'
    - '[io.undertow.server.DefaultByteBufferPool].freeInternal(io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DefaultByteBufferPool
      - LeakDetector
      - ByteBuffer
      - int
      - AtomicIntegerFieldUpdater<DefaultPooledBuffer>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DefaultByteBufferPool
      - LeakDetector
      - ByteBuffer
      - int
      - AtomicIntegerFieldUpdater<DefaultPooledBuffer>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.DefaultByteBufferPool.DefaultPooledBuffer].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reclaimedThreadLocalsUpdater.incrementAndGet(io.undertow.server.DefaultByteBufferPool.ThreadLocalData)
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalData:307,1
    - Dst: '[ArrayDeque<ByteBuffer>].poll()'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalData:311,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalData].queueIfUnderMax(io.undertow.server.DefaultByteBufferPool.ThreadLocalData)'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalData:312,1
    - Dst: '[Object].finalize()'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalData:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ArrayDeque<ByteBuffer>
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Throwable
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 318
    functionName: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalData].finalize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.DefaultByteBufferPool.ThreadLocalData].queueIfUnderMax(io.undertow.server.DefaultByteBufferPool.ThreadLocalData)'
    - '[ArrayDeque<ByteBuffer>].poll()'
    - '[Object].finalize()'
    - reclaimedThreadLocalsUpdater.incrementAndGet(io.undertow.server.DefaultByteBufferPool.ThreadLocalData)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalData].finalize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayDeque].<init>(io.undertow.server.DefaultByteBufferPool.ThreadLocalData)'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalData:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ArrayDeque<ByteBuffer>
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.DefaultByteBufferPool.ThreadLocalData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalData].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayDeque].<init>(io.undertow.server.DefaultByteBufferPool.ThreadLocalData)'
    linkageType: ''
    returnType: io.undertow.server.DefaultByteBufferPool.ThreadLocalData
    signature: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalData].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].<init>(String)'
      Src: io.undertow.server.DefaultByteBufferPool.LeakDetector:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.DefaultByteBufferPool.LeakDetector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: '[io.undertow.server.DefaultByteBufferPool.LeakDetector].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[Throwable].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.DefaultByteBufferPool.LeakDetector
    signature: '[io.undertow.server.DefaultByteBufferPool.LeakDetector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.server.DefaultByteBufferPool.LeakDetector:334,1
    - Dst: '[Object].finalize()'
      Src: io.undertow.server.DefaultByteBufferPool.LeakDetector:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Throwable
      classPublic: false
      concrete: true
      exceptions:
      - Throwable
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: '[io.undertow.server.DefaultByteBufferPool.LeakDetector].finalize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[Object].finalize()'
    - '[Throwable].printStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool.LeakDetector].finalize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:349,1
    - Dst: '[Map<Thread, ThreadLocalData>].get(io.undertow.server.DefaultByteBufferPool.ThreadLocalCache)'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Thread, ThreadLocalData>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: ThreadLocalData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalCache].get()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[Map<Thread, ThreadLocalData>].get(io.undertow.server.DefaultByteBufferPool.ThreadLocalCache)'
    - Thread.currentThread()
    linkageType: ''
    returnType: ThreadLocalData
    signature: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalCache].get()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:353,1
    - Dst: '[Map<Thread, ThreadLocalData>].put(io.undertow.server.DefaultByteBufferPool.ThreadLocalCache,ThreadLocalData)'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ThreadLocalData
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Thread, ThreadLocalData>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - threadLocalData
    argTypes:
    - ThreadLocalData
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalCache].set(ThreadLocalData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[Map<Thread, ThreadLocalData>].put(io.undertow.server.DefaultByteBufferPool.ThreadLocalCache,ThreadLocalData)'
    - Thread.currentThread()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalCache].set(ThreadLocalData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<Thread, ThreadLocalData>].entrySet()'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:358,1
    - Dst: entry.getValue()
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:359,1
    - Dst: '[ThreadLocalData].equals(io.undertow.server.DefaultByteBufferPool.ThreadLocalCache)'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:359,1
    - Dst: entry.getKey()
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:360,1
    - Dst: entry.getValue()
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:360,1
    - Dst: '[Map<Thread, ThreadLocalData>].remove(io.undertow.server.DefaultByteBufferPool.ThreadLocalCache,io.undertow.server.DefaultByteBufferPool.ThreadLocalCache)'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - ThreadLocalData
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Thread, ThreadLocalData>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - threadLocalData
    argTypes:
    - ThreadLocalData
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalCache].remove(ThreadLocalData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[Map<Thread, ThreadLocalData>].remove(io.undertow.server.DefaultByteBufferPool.ThreadLocalCache,io.undertow.server.DefaultByteBufferPool.ThreadLocalCache)'
    - entry.getValue()
    - entry.getKey()
    - '[Map<Thread, ThreadLocalData>].entrySet()'
    - '[ThreadLocalData].equals(io.undertow.server.DefaultByteBufferPool.ThreadLocalCache)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalCache].remove(ThreadLocalData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.WeakHashMap].<init>()'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:346,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.WeakHashMap)'
      Src: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Thread, ThreadLocalData>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalCache].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/DefaultByteBufferPool.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].synchronizedMap(java.util.WeakHashMap)'
    - '[java.util.WeakHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.DefaultByteBufferPool.ThreadLocalCache
    signature: '[io.undertow.server.DefaultByteBufferPool.ThreadLocalCache].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:60,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(org.xnio.channels.ConnectedChannel,long,long,Runnable)'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ParseTimeoutUpdater
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - requestParseTimeout
    - requestIdleTimeout
    argTypes:
    - org.xnio.channels.ConnectedChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(org.xnio.channels.ConnectedChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(org.xnio.channels.ConnectedChannel,long,long,Runnable)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.ParseTimeoutUpdater
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(org.xnio.channels.ConnectedChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ParseTimeoutUpdater
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - channel
    - requestParseTimeout
    - requestIdleTimeout
    - closeTask
    argTypes:
    - org.xnio.channels.ConnectedChannel
    - long
    - long
    - Runnable
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(org.xnio.channels.ConnectedChannel,long,long,Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.ParseTimeoutUpdater
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(org.xnio.channels.ConnectedChannel,long,long,Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].handleSchedule(long)'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].connectionIdle()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].handleSchedule(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].connectionIdle()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:95,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:101,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.server.protocol.ParseTimeoutUpdater,io.undertow.server.protocol.ParseTimeoutUpdater,io.undertow.server.protocol.ParseTimeoutUpdater)'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:107,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].debug(String,io.undertow.server.protocol.ParseTimeoutUpdater)'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].handleSchedule(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 2
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.server.protocol.ParseTimeoutUpdater,io.undertow.server.protocol.ParseTimeoutUpdater,io.undertow.server.protocol.ParseTimeoutUpdater)'
    - System.currentTimeMillis()
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].debug(String,io.undertow.server.protocol.ParseTimeoutUpdater)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].handleSchedule(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].handleSchedule(long)'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].failedParse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].handleSchedule(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].failedParse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].requestStarted()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].requestStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.ConnectedChannel].isOpen()'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:139,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:144,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.server.protocol.ParseTimeoutUpdater,io.undertow.server.protocol.ParseTimeoutUpdater,io.undertow.server.protocol.ParseTimeoutUpdater)'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:146,1
    - Dst: '[org.xnio.channels.ConnectedChannel].getPeerAddress()'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:149,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].parseRequestTimedOut(io.undertow.server.protocol.ParseTimeoutUpdater)'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:149,1
    - Dst: '[org.xnio.channels.ConnectedChannel].getPeerAddress()'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:151,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].debugf(String,io.undertow.server.protocol.ParseTimeoutUpdater)'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:151,1
    - Dst: '[Runnable].run()'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.server.protocol.ParseTimeoutUpdater,io.undertow.server.protocol.ParseTimeoutUpdater,io.undertow.server.protocol.ParseTimeoutUpdater)'
    - '[org.xnio.channels.ConnectedChannel].isOpen()'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].parseRequestTimedOut(io.undertow.server.protocol.ParseTimeoutUpdater)'
    - System.currentTimeMillis()
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].debugf(String,io.undertow.server.protocol.ParseTimeoutUpdater)'
    - '[Runnable].run()'
    - '[org.xnio.channels.ConnectedChannel].getPeerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].close()'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ServerConnection
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - io.undertow.server.ServerConnection
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].closed(io.undertow.server.ServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].closed(io.undertow.server.ServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.protocol.ParseTimeoutUpdater:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.channels.ConnectedChannel
      - long
      - long
      - XnioExecutor.Key
      - long
      - boolean
      - int
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - ServerConnection.CloseListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.protocol.ParseTimeoutUpdater].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ParseTimeoutUpdater.java
    functionUses: 1
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ParseTimeoutUpdater].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.connector.PooledByteBuffer,boolean,null)'
      Src: io.undertow.server.protocol.framed.SendFrameHeader:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - reminingInBuffer
    - byteBuffer
    - anotherFrameRequired
    argTypes:
    - int
    - io.undertow.connector.PooledByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.connector.PooledByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/SendFrameHeader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.connector.PooledByteBuffer,boolean,null)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.connector.PooledByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - reminingInBuffer
    - byteBuffer
    - anotherFrameRequired
    - trailer
    argTypes:
    - int
    - io.undertow.connector.PooledByteBuffer
    - boolean
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.connector.PooledByteBuffer,boolean,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/SendFrameHeader.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.connector.PooledByteBuffer,boolean,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - reminingInBuffer
    - byteBuffer
    argTypes:
    - int
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/SendFrameHeader.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/SendFrameHeader.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/SendFrameHeader.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.protocol.framed.SendFrameHeader].getTrailer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/SendFrameHeader.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.server.protocol.framed.SendFrameHeader].getTrailer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.protocol.framed.SendFrameHeader].getRemainingInBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/SendFrameHeader.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.framed.SendFrameHeader].getRemainingInBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.protocol.framed.SendFrameHeader].isAnotherFrameRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/SendFrameHeader.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.SendFrameHeader].isAnotherFrameRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:99,1
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:103,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:109,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:119,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:127,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:128,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:131,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:138,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:140,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:141,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled.FreeNotifier].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:161,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:181,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:208,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:211,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:211,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:212,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:214,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].argumentCannotBeNull(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:218,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].argumentCannotBeNull(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:221,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].createIdleTimeoutChannel(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:223,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:224,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:224,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:225,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:225,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:230,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:231,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:232,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReadSetter()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:232,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].set(null)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:232,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:233,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendReads()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:233,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:235,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReadSetter()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:235,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:235,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].set(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:235,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:236,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getWriteSetter()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:236,1
    - Dst: '[FrameWriteListener].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:236,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].set(FrameWriteListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:236,1
    - Dst: '[FrameCloseListener].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:237,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:238,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getCloseSetter()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:238,1
    - Dst: '[org.xnio.ChannelListener.Setter<?extendsAbstractFramedChannel>].set(FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:238,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:239,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getCloseSetter()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:239,1
    - Dst: '[org.xnio.ChannelListener.Setter<?extendsAbstractFramedChannel>].set(FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:239,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:240,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.OptionMap
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedChannel
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - connectedStreamChannel
    - bufferPool
    - framePriority
    - readData
    - settings
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - io.undertow.server.protocol.framed.FramePriority<C,R,S>
    - io.undertow.connector.PooledByteBuffer
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 242
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.framed.FramePriority<C,R,S>,io.undertow.connector.PooledByteBuffer,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[FrameWriteListener].<init>()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].argumentCannotBeNull(String)'
    - '[java.util.LinkedList].<init>()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.ArrayDeque].<init>()'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].<init>()'
    - '[Runnable].<init>()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReadSetter()'
    - '[io.undertow.util.ReferenceCountedPooled.FreeNotifier].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].set(FrameWriteListener)'
    - '[org.xnio.ChannelListener.Setter<?extendsAbstractFramedChannel>].set(FrameCloseListener)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].set(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].createIdleTimeoutChannel(org.xnio.StreamConnection)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].set(null)'
    - '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getWriteSetter()'
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    - '[Object].<init>()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
    - '[FrameCloseListener].<init>()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getCloseSetter()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendReads()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedChannel
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.framed.FramePriority<C,R,S>,io.undertow.connector.PooledByteBuffer,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.IdleTimeoutConduit
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connectedStreamChannel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].createIdleTimeoutChannel(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
    linkageType: ''
    returnType: io.undertow.conduits.IdleTimeoutConduit
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].createIdleTimeoutChannel(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<Runnable>].add(Runnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:253,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:255,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:255,1
    - Dst: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor].execute(Runnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - task
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runInIoThread(Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getIoThread()'
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    - '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor].execute(Runnable)'
    - '[java.util.concurrent.LinkedBlockingDeque<Runnable>].add(Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runInIoThread(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:268,1
    - Dst: Thread.currentThread()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:268,1
    - Dst: '[Runnable].run()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:269,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runInIoThread(Runnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - task
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runNowOrInIoThread(Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getIoThread()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].runInIoThread(Runnable)'
    - '[Runnable].run()'
    - Thread.currentThread()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runNowOrInIoThread(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getLocalAddress()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getLocalAddress(Class<A>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getLocalAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getWorker()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].supportsOption(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getOption(org.xnio.Option<T>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getOption(org.xnio.Option<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].setOption(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].isOpen()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getPeerAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress(Class<A>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getPeerAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getPeerAddress()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getSourceAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getPeerAddress()'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getSourceAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getLocalAddress()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getDestinationAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getLocalAddress()'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getDestinationAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pooled.close()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:367,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:370,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendReads()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:370,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:371,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].shutdownReads()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:371,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].allocateReferenceCountedBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:379,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].isFreed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:383,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].tryUnfree()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:385,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].allocateReferenceCountedBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:386,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:391,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:391,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:393,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:393,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:394,1
    - Dst: '[java.nio.ByteBuffer].compact()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:394,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:399,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:399,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:399,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].lastDataRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:407,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameReceived()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:409,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:412,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].markReadsBroken(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:412,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:414,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:414,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:417,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:417,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:420,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:420,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:421,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:421,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].createView()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:425,1
    - Dst: '[R].dataReady(null,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:426,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:429,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameReceived()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:433,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].createView(int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:440,1
    - Dst: '[R].dataReady(null,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:443,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:446,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:459,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].parseFrame(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:459,1
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:462,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:462,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:462,1
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:463,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:463,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:463,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].createView()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:464,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:465,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:465,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:465,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:465,1
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:467,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].createView(int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:467,1
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getExistingChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:469,1
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:471,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:471,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:471,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>].dataReady(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:474,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameReceived()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:475,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleLastFrame(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:476,1
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:480,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:480,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:480,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:481,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameReceived()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:487,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleLastFrame(R)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:488,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:491,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].isFreed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:501,1
    - Dst: '[org.xnio.StreamConnection].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:504,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].markReadsBroken(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:509,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].isOpen()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:516,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:518,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:518,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:519,1
    - Dst: '[java.nio.ByteBuffer].capacity()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:519,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:525,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].isFreed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:534,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:536,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].isFreed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:538,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:543,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:544,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].debugf(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:546,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:548,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].wakeupReads()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:548,1
    - Dst: '[org.xnio.StreamConnection].isWriteShutdown()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:551,1
    - Dst: '[org.xnio.StreamConnection].isReadShutdown()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:551,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:552,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 163
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: R
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 555
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].receive()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].markReadsBroken(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
    - '[io.undertow.util.ReferenceCountedPooled].tryUnfree()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.server.protocol.framed.FrameHeaderData].getExistingChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].debugf(String)'
    - '[io.undertow.util.ReferenceCountedPooled].createView()'
    - '[io.undertow.util.ReferenceCountedPooled].isOpen()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].compact()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleLastFrame(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].markReadsBroken(java.nio.channels.ClosedChannelException)'
    - '[io.undertow.util.ReferenceCountedPooled].createView(int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].shutdownReads()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.util.ReferenceCountedPooled].isFreed()'
    - '[java.nio.ByteBuffer].position(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[io.undertow.util.ReferenceCountedPooled].close()'
    - '[java.nio.ByteBuffer].limit()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].lastDataRead()'
    - '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[java.nio.ByteBuffer].capacity()'
    - '[org.xnio.StreamConnection].isWriteShutdown()'
    - pooled.close()
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    - '[org.xnio.StreamConnection].close()'
    - '[R].dataReady(null,io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].allocateReferenceCountedBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>].dataReady(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[org.xnio.StreamConnection].isReadShutdown()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].parseFrame(java.nio.ByteBuffer)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendReads()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].wakeupReads()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleLastFrame(R)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameReceived()'
    linkageType: ''
    returnType: R
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].receive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReceivers()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:563,1
    - Dst: '[java.util.HashSet].<init>(java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:563,1
    - Dst: r.markStreamBroken()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - newChannel
    argTypes:
    - io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleLastFrame(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>>)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReceivers()'
    - r.markStreamBroken()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleLastFrame(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:575,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:583,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isTraceEnabled()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:585,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].tracef(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:586,1
    - Dst: '[UpdateResumeState].<init>(null,null,null)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:590,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runNowOrInIoThread(UpdateResumeState)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:590,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].compareAndSet(io.undertow.server.protocol.framed.AbstractFramedChannel,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:595,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:598,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:599,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.ReferenceCountedPooled
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 604
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].allocateReferenceCountedBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].tracef(String)'
    - '[UpdateResumeState].<init>(null,null,null)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].compareAndSet(io.undertow.server.protocol.framed.AbstractFramedChannel,int)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].get()'
    - '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].runNowOrInIoThread(UpdateResumeState)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isTraceEnabled()'
    linkageType: ''
    returnType: io.undertow.util.ReferenceCountedPooled
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].allocateReferenceCountedBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].lastDataRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].lastDataRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: false
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: R
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frameHeaderData
    - frameData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 620
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 620
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: false
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.FrameHeaderData
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 629
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 629
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].parseFrame(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.FrameHeaderData
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].parseFrame(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<S>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:632,1
    - Dst: '[io.undertow.server.protocol.framed.FramePriority<C,R,S>].frameAdded(null,java.util.List<S>,java.util.Deque<S>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:633,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flushSenders()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 636
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].recalculateHeldFrames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.Deque<S>].isEmpty()'
    - '[io.undertow.server.protocol.framed.FramePriority<C,R,S>].frameAdded(null,java.util.List<S>,java.util.Deque<S>)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].flushSenders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].recalculateHeldFrames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].recursiveCallToFlushingSenders()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:647,1
    - Dst: '[java.util.Deque<S>].poll()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:653,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].preWrite()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:654,1
    - Dst: '[io.undertow.server.protocol.framed.FramePriority<C,R,S>].insertFrame(io.undertow.server.protocol.framed.AbstractFramedChannel,java.util.List<S>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:655,1
    - Dst: '[java.util.Deque<S>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:656,1
    - Dst: '[io.undertow.server.protocol.framed.FramePriority<C,R,S>].frameAdded(io.undertow.server.protocol.framed.AbstractFramedChannel,java.util.List<S>,java.util.Deque<S>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:657,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].addReadyForFlushTask()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:661,1
    - Dst: '[java.util.Deque<S>].add(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:662,1
    - Dst: '[java.util.List<S>].listIterator()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:667,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].hasNext()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:668,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].next()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:669,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isReadyForFlush()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:670,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrame()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:675,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:682,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flush()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:682,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:683,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:683,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:686,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].markWritesBroken(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:687,1
    - Dst: '[java.util.List<S>].listIterator()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:693,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].next()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:696,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getFrameHeader()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:698,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getByteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:699,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getTrailer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:700,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:702,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:704,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:704,1
    - Dst: '[org.xnio.Buffers].remaining(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:708,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:711,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].write(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:711,1
    - Dst: '[java.util.List<S>].get(int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:717,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getFrameHeader()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:718,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getByteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:718,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getFrameHeader()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:719,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getTrailer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:719,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:720,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:720,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:721,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:721,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:721,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:722,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flushComplete()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:725,1
    - Dst: '[java.util.List<S>].remove(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:726,1
    - Dst: '[java.util.List<S>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:729,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:729,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flush()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:729,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:730,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:730,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:732,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:732,1
    - Dst: '[java.util.List<S>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:734,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:736,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].shutdownWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:736,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:737,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flush()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:737,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:738,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,null)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:738,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setWriteListener(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:738,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:739,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:739,1
    - Dst: '[java.util.List<S>].size()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:741,1
    - Dst: '[UpdateResumeState].<init>(null,null,boolean)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:742,1
    - Dst: '[UpdateResumeState].run()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:742,1
    - Dst: '[java.util.List<S>].size()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:743,1
    - Dst: '[UpdateResumeState].<init>(null,null,boolean)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:744,1
    - Dst: '[UpdateResumeState].run()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:744,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:748,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].markWritesBroken(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:749,1
    - Dst: '[java.util.Deque<S>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:753,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runInIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:754,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 757
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 757
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flushSenders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].write(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[UpdateResumeState].run()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendWrites()'
    - '[java.util.List<S>].remove(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[java.util.Deque<S>].poll()'
    - '[org.xnio.Buffers].remaining(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrame()'
    - '[java.util.Deque<S>].add(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getFrameHeader()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].hasNext()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].flush()'
    - '[java.util.List<S>].get(int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isReadyForFlush()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].shutdownWrites()'
    - '[java.util.List<S>].size()'
    - '[java.util.Deque<S>].isEmpty()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeWrites()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getByteBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].flushComplete()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,null)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getTrailer()'
    - '[java.util.List<S>].isEmpty()'
    - '[io.undertow.server.protocol.framed.FramePriority<C,R,S>].insertFrame(io.undertow.server.protocol.framed.AbstractFramedChannel,java.util.List<S>)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].addReadyForFlushTask()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].next()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].markWritesBroken(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].preWrite()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].recursiveCallToFlushingSenders()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].setWriteListener(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[java.util.List<S>].listIterator()'
    - '[UpdateResumeState].<init>(null,null,boolean)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].hasRemaining()'
    - '[io.undertow.server.protocol.framed.FramePriority<C,R,S>].frameAdded(io.undertow.server.protocol.framed.AbstractFramedChannel,java.util.List<S>,java.util.Deque<S>)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].runInIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flushSenders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:760,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].awaitWritable()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 761
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 761
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].awaitWritable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:764,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - unit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 765
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 765
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<S>].contains(S)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:776,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isWritesBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:777,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:777,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isOpen()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:777,1
    - Dst: '[S].isBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:777,1
    - Dst: '[S].isOpen()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:777,1
    - Dst: '[org.xnio.IoUtils].safeClose(S)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:778,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].channelIsClosed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:779,1
    - Dst: '[java.util.Deque<S>].add(S)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:781,1
    - Dst: '[S].isBufferFull()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:783,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flush()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:784,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - S
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 786
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 786
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].queueFrame(S)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[S].isBroken()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isWritesBroken()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].flush()'
    - '[S].isOpen()'
    - '[java.util.Deque<S>].add(S)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isOpen()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].channelIsClosed()'
    - '[org.xnio.IoUtils].safeClose(S)'
    - '[java.util.Deque<S>].contains(S)'
    - '[S].isBufferFull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].queueFrame(S)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runNowOrInIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 792
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].runNowOrInIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 799
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 799
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isLastFrameSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleBrokenSourceChannel(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleBrokenSourceChannel(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleBrokenSinkChannel(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleBrokenSinkChannel(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener.Setter<C>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 822
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 822
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReceiveSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener.Setter<C>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReceiveSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UpdateResumeState].<init>(null,null,null)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:834,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runNowOrInIoThread(UpdateResumeState)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendReceives()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].runNowOrInIoThread(UpdateResumeState)'
    - '[UpdateResumeState].<init>(null,null,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendReceives()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UpdateResumeState].<init>(null,null,null)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:847,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].runInIoThread(UpdateResumeState)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 848
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 848
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeReceives()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[UpdateResumeState].<init>(null,null,null)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].runInIoThread(UpdateResumeState)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeReceives()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localReadData.isFreed()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:853,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:854,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].wakeupReads()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:854,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:856,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeReads()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 858
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].doResume()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].wakeupReads()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - localReadData.isFreed()
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].doResume()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 862
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 862
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isReceivesResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isReceivesResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isTraceEnabled()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:869,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:870,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].tracef(java.nio.channels.ClosedChannelException,String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:870,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:872,1
    - Dst: localReadData.close()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:875,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].closeSubChannels()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 879
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 879
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - localReadData.close()
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].closeSubChannels()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isTraceEnabled()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].tracef(java.nio.channels.ClosedChannelException,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener.Setter<?extendsAbstractFramedChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener.Setter<?extendsAbstractFramedChannel>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].compareAndSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:895,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isDebugEnabled()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:896,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:897,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].debugf(java.nio.channels.ClosedChannelException,String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:897,1
    - Dst: '[R].markStreamBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:900,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReceivers()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:902,1
    - Dst: '[java.util.ArrayList].<init>(java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:902,1
    - Dst: r.markStreamBroken()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:903,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleBrokenSourceChannel(Throwable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:906,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:907,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:907,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].closeSubChannels()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 910
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 910
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].markReadsBroken(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].<init>(java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>>)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReceivers()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleBrokenSourceChannel(Throwable)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isDebugEnabled()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[R].markStreamBroken()'
    - r.markStreamBroken()
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].compareAndSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].debugf(java.nio.channels.ClosedChannelException,String)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].closeSubChannels()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].markReadsBroken(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 916
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 916
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].closeSubChannels()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].closeSubChannels()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].compareAndSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:930,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isDebugEnabled()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:931,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:932,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].debugf(java.nio.channels.ClosedChannelException,String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:932,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleBrokenSinkChannel(Throwable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:934,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:935,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:935,1
    - Dst: '[org.xnio.StreamConnection].markBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:938,1
    - Dst: '[java.util.List<S>].clear()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:940,1
    - Dst: '[org.xnio.StreamConnection].markBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:942,1
    - Dst: '[java.util.Deque<S>].clear()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:944,1
    - Dst: '[org.xnio.StreamConnection].markBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:946,1
    - Dst: '[java.util.Deque<S>].clear()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 951
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 951
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].markWritesBroken(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].isDebugEnabled()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[java.util.Deque<S>].clear()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].safeClose(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].compareAndSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].debugf(java.nio.channels.ClosedChannelException,String)'
    - '[java.util.List<S>].clear()'
    - '[org.xnio.StreamConnection].markBroken()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].handleBrokenSinkChannel(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].markWritesBroken(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isWritesBroken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isWritesBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 959
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 959
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isReadsBroken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isReadsBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:963,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:967,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 968
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 968
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:971,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].wakeupWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 972
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 972
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].wakeupWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.channels.StreamSourceChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 976
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 976
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getSourceChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSourceChannel()'
    linkageType: ''
    returnType: org.xnio.channels.StreamSourceChannel
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getSourceChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].notifyFrameReadComplete(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].notifyFrameReadComplete(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1023
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isReadsSuspended()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isReadsSuspended()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1142
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReceivers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C,R,S>>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getReceivers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].setIdleTimeout(long)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 3
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setIdleTimeout(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].setIdleTimeout(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setIdleTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].getIdleTimeout()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getIdleTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.IdleTimeoutConduit].getIdleTimeout()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getIdleTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.FramePriority<C,R,S>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1154
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getFramePriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.FramePriority<C,R,S>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getFramePriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<org.xnio.ChannelListener<C>>].add(org.xnio.ChannelListener<C>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<C>
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - task
    argTypes:
    - org.xnio.ChannelListener<C>
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].addCloseTask(org.xnio.ChannelListener<C>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<org.xnio.ChannelListener<C>>].add(org.xnio.ChannelListener<C>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].addCloseTask(org.xnio.ChannelListener<C>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1162,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getClass()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1163,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getSimpleName()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1163,1
    - Dst: '[StringBuilder].append(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1163,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1163,1
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1165,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1163,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1163,1
    - Dst: '[org.xnio.StreamConnection].getLocalAddress()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1167,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1163,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1163,1
    - Dst: '[StringBuilder].append()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1170,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1170,1
    - Dst: '[java.util.List<S>].toString()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1172,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1170,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1170,1
    - Dst: '[java.util.Deque<S>].toString()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1174,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1170,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1170,1
    - Dst: '[java.util.Deque<S>].toString()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1176,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(io.undertow.server.protocol.framed.AbstractFramedChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1170,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1180
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(String)'
    - '[java.util.List<S>].toString()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getSimpleName()'
    - '[StringBuilder].toString()'
    - '[java.util.Deque<S>].toString()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].getClass()'
    - '[StringBuilder].append(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[org.xnio.StreamConnection].getPeerAddress()'
    - '[org.xnio.StreamConnection].getLocalAddress()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel].append(io.undertow.server.protocol.framed.AbstractFramedChannel)'
    - '[StringBuilder].append()'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1184
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getUnderlyingConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getUnderlyingConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel:1188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ChannelExceptionHandler<org.xnio.channels.SuspendableWriteChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1194
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].writeExceptionHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    linkageType: ''
    returnType: org.xnio.ChannelExceptionHandler<org.xnio.channels.SuspendableWriteChannel>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].writeExceptionHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1198
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isRequireExplicitFlush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].isRequireExplicitFlush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requireExplicitFlush
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 1202
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1202
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setRequireExplicitFlush(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].setRequireExplicitFlush(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - org.xnio.StreamConnection
      - io.undertow.conduits.IdleTimeoutConduit
      - ChannelListener.SimpleSetter<C>
      - ChannelListener.SimpleSetter<C>
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.framed.FramePriority<C,R,S>
      - java.util.List<S>
      - java.util.Deque<S>
      - java.util.Deque<S>
      - long
      - R
      - boolean
      - boolean
      - boolean
      - Object
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - io.undertow.util.ReferenceCountedPooled
      - java.util.List<org.xnio.ChannelListener<C>>
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel>
      - java.util.concurrent.LinkedBlockingDeque<Runnable>
      - Runnable
      - org.xnio.OptionMap
      - boolean
      - boolean
      - int
      - int
      - ReferenceCountedPooled.FreeNotifier
      - org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.ConnectedChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1206
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getSettings()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel].getSettings()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: taskRunQueue.poll()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:991,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].run()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:992,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].isReadsSuspended()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:996,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:997,1
    - Dst: receiveSetter.get()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:1000,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener,io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:1005,1
    - Dst: localReadData.isFreed()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:1012,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].isOpen()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:1012,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].runInIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener:1013,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 1018
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1018
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].isOpen()'
    - taskRunQueue.poll()
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].run()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].isReadsSuspended()'
    - localReadData.isFreed()
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    - receiveSetter.get()
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].runInIoThread()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener,io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameReadListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener].flushSenders()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 1029
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1029
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener].flushSenders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameWriteListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1042,1
    - Dst: '[org.xnio.channels.CloseableChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1042,1
    - Dst: '[org.xnio.channels.CloseableChannel].getWorker()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1042,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].isShutdown()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1042,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].runInIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1043,1
    - Dst: localReadData.isFreed()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1056,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1058,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].runInIoThread(Runnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1058,1
    - Dst: receiver.isOpen()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1093,1
    - Dst: receiver.isReadResumed()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1093,1
    - Dst: receiver.getReadSetter()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1094,1
    - Dst: '[SimpleSetter].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1094,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener,io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1094,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1101,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1102,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1103,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].getReceivers()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1104,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1104,1
    - Dst: channel.markBroken()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1108,1
    - Dst: channel.markBroken()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1113,1
    - Dst: channel.markBroken()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1117,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1120,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(C,io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1126,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].closeSubChannels()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1130,1
    - Dst: localReadData.close()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1132,1
    - Dst: closeSetter.get()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1136,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(C,io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener:1136,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 74
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.CloseableChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - org.xnio.channels.CloseableChannel
    constantsTouched: []
    func_position:
      end: 1139
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1139
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].handleEvent(org.xnio.channels.CloseableChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].runInIoThread()'
    - '[Runnable].<init>()'
    - receiver.getReadSetter()
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].isShutdown()'
    - channel.markBroken()
    - '[SimpleSetter].get()'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].closeSubChannels()'
    - closeSetter.get()
    - localReadData.close()
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].runInIoThread(Runnable)'
    - receiver.isReadResumed()
    - '[org.xnio.channels.CloseableChannel].getWorker()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
    - '[org.xnio.channels.CloseableChannel].getIoThread()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(C,io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
    - '[java.util.ArrayList].<init>(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
    - localReadData.isFreed()
    - receiver.isOpen()
    - Thread.currentThread()
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener,io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener)'
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].getReceivers()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].handleEvent(org.xnio.channels.CloseableChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel.FrameCloseListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Boolean
      - Boolean
      - Boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Boolean
      - Boolean
      - Boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - user
    - buffers
    - frames
    argTypes:
    - Boolean
    - Boolean
    - Boolean
    constantsTouched: []
    func_position:
      end: 1218
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1218
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState].<init>(Boolean,Boolean,Boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState].<init>(Boolean,Boolean,Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel.getSourceChannel()
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState:1236,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState].suspendReads()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState:1236,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState].doResume()'
      Src: io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState:1238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Boolean
      - Boolean
      - Boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1240
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState].doResume()'
    - channel.getSourceChannel()
    - '[io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState].suspendReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedChannel.UpdateResumeState].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.ShutdownFallbackExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/ShutdownFallbackExecutor.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.ShutdownFallbackExecutor
    signature: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingQueue].<init>()'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor:44,1
    - Dst: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].<init>()'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor:45,1
    - Dst: '[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,int,io.undertow.server.protocol.framed.ShutdownFallbackExecutor,java.util.concurrent.LinkedBlockingQueue,io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory)'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor:42,1
    - Dst: '[java.util.concurrent.ThreadPoolExecutor].execute(Runnable)'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.Executor
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - runnable
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor].execute(Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/ShutdownFallbackExecutor.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingQueue].<init>()'
    - '[java.util.concurrent.ThreadPoolExecutor].<init>(int,int,int,io.undertow.server.protocol.framed.ShutdownFallbackExecutor,java.util.concurrent.LinkedBlockingQueue,io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory)'
    - '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].<init>()'
    - '[java.util.concurrent.ThreadPoolExecutor].execute(Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor].execute(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadFactory].newThread(Runnable)'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory:58,1
    - Dst: '[AtomicLong].getAndIncrement()'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory:59,1
    - Dst: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].setName(String)'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory:59,1
    - Dst: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].setDaemon(boolean)'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLong
      - ThreadFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ThreadFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Thread
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - r
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].newThread(Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/ShutdownFallbackExecutor.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].setDaemon(boolean)'
    - '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].setName(String)'
    - '[ThreadFactory].newThread(Runnable)'
    - '[AtomicLong].getAndIncrement()'
    linkageType: ''
    returnType: Thread
    signature: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].newThread(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory:53,1
    - Dst: '[java.util.concurrent.Executors].defaultThreadFactory()'
      Src: io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLong
      - ThreadFactory
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ThreadFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/ShutdownFallbackExecutor.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.Executors].defaultThreadFactory()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory
    signature: '[io.undertow.server.protocol.framed.ShutdownFallbackExecutor.ShutdownFallbackThreadFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocateDirect(int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:81,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:81,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:84,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:85,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:87,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:150,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - C
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - C
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].<init>(C)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    - '[java.nio.ByteBuffer].allocateDirect(int)'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].<init>()'
    - '[Object].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].<init>(C)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.FileChannel].transferTo(long,long)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].createFrameHeader()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:184,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,null)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,null)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].createFrameHeader()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].allAreClear(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:198,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].preWriteTransform(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].preWrite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].allAreClear(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].preWriteTransform(io.undertow.connector.PooledByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].preWrite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - body
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].preWriteTransform(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].preWriteTransform(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].resumeWritesInternal(boolean)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].resumeWritesInternal(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].resumeWritesInternal(boolean)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].resumeWritesInternal(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>].compareAndSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:235,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:236,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:236,1
    - Dst: '[C].runInIoThread(Runnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:236,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 276
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].resumeWritesInternal(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - '[C].runInIoThread(Runnable)'
    - '[Runnable].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>].compareAndSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].resumeWritesInternal(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].queueFinalFrame()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:281,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].shutdownWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].queueFinalFrame()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].shutdownWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].allAreClear(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:292,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendWriteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:294,1
    - Dst: '[C].queueFrame(S)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].queueFinalFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].allAreClear(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendWriteBuffer()'
    - '[C].queueFrame(S)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].queueFinalFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFinalFrameQueued()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFinalFrameQueued()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].awaitWritable(long,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].awaitWritable(long,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:318,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:318,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].awaitCalledFromIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:319,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:322,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:328,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:329,1
    - Dst: '[Object].wait(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:329,1
    - Dst: Thread.currentThread()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:332,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].interrupt()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:332,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:333,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - l
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 339
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 339
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].awaitCalledFromIoThread()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].interrupt()'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    - Thread.currentThread()
    - '[Object].wait(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    - '[java.io.InterruptedIOException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[C].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[C].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioExecutor
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsS>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsS>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsS>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsS>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[C].getWorker()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[C].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[C].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 4
    functionsReached:
    - '[C].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:368,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:372,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:384,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].queueFinalFrame()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:385,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:388,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFlushRequiredOnEmptyBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:391,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:391,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:391,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleBufferFull()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:392,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 396
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleBufferFull()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelIsClosed()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].queueFinalFrame()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFlushRequiredOnEmptyBuffer()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFlushRequiredOnEmptyBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFlushRequiredOnEmptyBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:404,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:408,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:409,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:410,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleBufferFull()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleBufferFull()'
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteBuffer()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].write(ByteBuffer[],int,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].write(ByteBuffer[],int,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:424,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:430,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:432,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:437,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:438,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleBufferFull()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:439,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 443
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 443
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleBufferFull()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteBuffer()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:446,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:450,1
    - Dst: '[C].getBufferPool()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:450,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].allocate()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:450,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 458
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
    - '[C].getBufferPool()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].allocate()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWritesShutdown()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:469,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:470,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendInternal(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:472,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].flush()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pooled
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 477
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 477
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].send(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].flush()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWritesShutdown()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendInternal(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].send(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pooled
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 486
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendInternal(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendInternal(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:490,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:491,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].bodyIsSetAndNotReadyForFlush()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 500
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].bodyIsSetAndNotReadyForFlush()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].safeToSend()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:512,1
    - Dst: '[C].getOption(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:512,1
    - Dst: TimeUnit.MILLISECONDS.toNanos(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getAwaitWritableTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - TimeUnit.MILLISECONDS.toNanos(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)
    - '[C].getOption(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getAwaitWritableTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.Channels].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.Channels].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].writeFinal(ByteBuffer[],int,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].writeFinal(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].writeFinal(ByteBuffer[],int,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].writeFinal(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.Channels].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.Channels].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendWriteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:542,1
    - Dst: '[C].queueFrame(S)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 547
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleBufferFull()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendWriteBuffer()'
    - '[C].queueFrame(S)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleBufferFull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:550,1
    - Dst: localWriteBuffer.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:554,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].flip()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:554,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendInternal(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:555,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].failedToSendAfterBeingSafe()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 559
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendWriteBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].flip()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].failedToSendAfterBeingSafe()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteBuffer()'
    - localWriteBuffer.getBuffer()
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendInternal(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].sendWriteBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isLastFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isLastFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isReadyForFlush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isReadyForFlush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWritesShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWritesShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].allAreClear(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].allAreClear(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:588,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:594,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:599,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:603,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:606,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:607,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:607,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:610,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelForciblyClosed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:612,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:614,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:615,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteListener()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:615,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,org.xnio.ChannelListener)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:615,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:617,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:619,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 621
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteListener()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelForciblyClosed()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,org.xnio.ChannelListener)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWrites()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFirstDataWritten()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:634,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:635,1
    - Dst: '[C].markWritesBroken(null)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:635,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:637,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelForciblyClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFirstDataWritten()'
    - '[C].markWritesBroken(null)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelForciblyClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tOption
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - tOption
    - t
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:657,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:658,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
    - '[IllegalStateException].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getRemainingInBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:675,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].isAnotherFrameRequired()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:677,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:683,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:683,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:683,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:683,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:684,1
    - Dst: '[java.nio.ByteBuffer].compact()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:684,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].queueFinalFrame()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:696,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].isAnotherFrameRequired()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:698,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:701,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:706,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:712,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:714,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:720,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:721,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:721,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:730,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:731,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:732,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:735,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteListener()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:735,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,S,org.xnio.ChannelListener<?superS>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:735,1
    - Dst: '[ChannelListener.SimpleSetter<S>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:738,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:740,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,S,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:740,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleFlushComplete(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:742,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:744,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 670
    functionDepth: 4
    functionLinenumber: 670
    functionLinenumberEnd: 747
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].flushComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,S,org.xnio.ChannelListener<?superS>)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
    - '[java.nio.ByteBuffer].compact()'
    - '[ChannelListener.SimpleSetter<S>].get()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleFlushComplete(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].getRemainingInBuffer()'
    - '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,S,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
    - '[java.nio.ByteBuffer].limit()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].isAnotherFrameRequired()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].queueFinalFrame()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteListener()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].flushComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - finalFrame
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 751
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 751
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleFlushComplete(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].handleFlushComplete(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 755
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFirstDataWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isFirstDataWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWrites()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:760,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:761,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:762,1
    - Dst: '[ChannelListener.SimpleSetter<S>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:763,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:765,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,S,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:765,1
    - Dst: '[ChannelListener.SimpleSetter<S>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:768,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:770,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,S,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:770,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:773,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:775,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:776,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:776,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:781,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 789
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].markBroken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getIoThread()'
    - '[ChannelListener.SimpleSetter<S>].get()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.XnioIoThread,S,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isWriteResumed()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWrites()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].markBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter<S>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ChannelListener<?superS>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 793
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 793
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - '[ChannelListener.SimpleSetter<S>].get()'
    linkageType: ''
    returnType: org.xnio.ChannelListener<?superS>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getWriteListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].notifyAll()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 805
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 4
    functionsReached:
    - '[Object].notifyAll()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].wakeupWaiters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: C
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 809
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isBroken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 817
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isBufferFull()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isBufferFull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 828
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 828
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 4
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].removeHandle()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:833,1
    - Dst: '[C].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:833,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].executeAfter(TimeoutRunnable,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 836
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 836
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].addHandle(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].executeAfter(TimeoutRunnable,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel,io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    - '[C].getIoThread()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].addHandle(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getAwaitWritableTimeout()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:846,1
    - Dst: System.nanoTime()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:847,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].addHandle(long)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.connector.PooledByteBuffer
      - C
      - ChannelListener.SimpleSetter<S>
      - ChannelListener.SimpleSetter<S>
      - Object
      - XnioExecutor.Key
      - long
      - TimeoutRunnable
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      - int
      - boolean
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 851
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 851
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].addReadyForFlushTask()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getAwaitWritableTimeout()'
    - System.nanoTime()
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].addHandle(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].addReadyForFlushTask()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - AbstractFramedStreamSinkChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
    constantsTouched: []
    func_position:
      end: 870
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 870
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].<init>(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].<init>(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.nanoTime()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:874,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isReadyForFlush()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:879,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isOpen()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:879,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:879,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].addHandle(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:884,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getAwaitWritableTimeout()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:890,1
    - Dst: TimeUnit.NANOSECONDS.toMillis(long)
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:890,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].noFrameflushInTimeout(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:890,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelForciblyClosed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:892,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].debugf(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable,String)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:894,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].markBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable:895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AbstractFramedStreamSinkChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 897
      start: 872
    functionDepth: 4
    functionLinenumber: 872
    functionLinenumberEnd: 897
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - System.nanoTime()
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].getAwaitWritableTimeout()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].addHandle(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable)'
    - TimeUnit.NANOSECONDS.toMillis(long)
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isReadyForFlush()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].markBroken()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isBroken()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].channelForciblyClosed()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel].isOpen()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].noFrameflushInTimeout(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].debugf(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.TimeoutRunnable].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:56,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:57,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:60,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - C
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - framedChannel
    argTypes:
    - C
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].<init>(C)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[java.util.LinkedList].<init>()'
    - '[Object].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].<init>(C)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:56,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:57,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:60,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:85,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:105,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:105,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:106,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].dataReady(null,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - C
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - framedChannel
    - data
    - frameDataRemaining
    argTypes:
    - C
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].<init>(C,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].dataReady(null,io.undertow.connector.PooledByteBuffer)'
    - '[Object].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].<init>(C,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:117,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:120,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:126,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:133,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:133,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:135,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:135,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:136,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit(int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:136,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:138,1
    - Dst: '[java.nio.channels.FileChannel].write(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,long)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:138,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:140,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:140,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:141,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:145,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:154,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 156
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[java.nio.channels.FileChannel].write(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,long)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit(int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - localData.getBuffer()
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].remaining()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:160,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].hasRemaining()'
    - localData.getBuffer()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:167,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:170,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:172,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:172,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:177,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:182,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:182,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:183,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:183,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:185,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:185,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:186,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit(int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:186,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:188,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:188,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:189,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:189,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:192,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:193,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:193,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:194,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:196,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:196,1
    - Dst: localData.getBuffer()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:200,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:200,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:201,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:204,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:204,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:209,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:215,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - streamSinkChannel
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 217
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].hasRemaining()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit()'
    - '[org.xnio.channels.StreamSinkChannel].write(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[java.nio.ByteBuffer].position(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].limit(int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
    - '[java.nio.ByteBuffer].flip()'
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - localData.getBuffer()
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].remaining()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getMaxStreamSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getMaxStreamSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleStreamTooLarge()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxStreamSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].setMaxStreamSize(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleStreamTooLarge()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].setMaxStreamSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleStreamTooLarge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.IoUtils].safeClose()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleStreamTooLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].complete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].complete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,int,ChannelListener[],int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<R>
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channelListener
    argTypes:
    - org.xnio.ChannelListener<R>
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].addCloseTask(org.xnio.ChannelListener<R>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,int,ChannelListener[],int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].addCloseTask(org.xnio.ChannelListener<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:292,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:294,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFramedChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:296,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:296,1
    - Dst: '[C].runInIoThread(Runnable)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:296,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 334
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 334
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 4
    functionsReached:
    - '[C].runInIoThread(Runnable)'
    - '[Runnable].<init>()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFramedChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter<?extendsR>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ChannelListener<?superR>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getReadListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[ChannelListener.SimpleSetter<?extendsR>].get()'
    linkageType: ''
    returnType: org.xnio.ChannelListener<?superR>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getReadListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].shutdownReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].shutdownReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:350,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFramedChannel()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:354,1
    - Dst: '[C].notifyFrameReadComplete()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:354,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].lastFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[C].notifyFrameReadComplete()'
    - '[java.util.Deque<FrameData>].isEmpty()'
    - '[org.xnio.IoUtils].safeClose()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFramedChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].lastFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isLastFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isLastFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:365,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:365,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].awaitCalledFromIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:366,1
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:368,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:368,1
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:370,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:370,1
    - Dst: '[Object].wait()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:373,1
    - Dst: Thread.currentThread()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:375,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].interrupt()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:375,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:376,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 383
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[Object].wait()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getIoThread()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].interrupt()'
    - '[java.util.Deque<FrameData>].isEmpty()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].awaitCalledFromIoThread()'
    - Thread.currentThread()
    - '[java.io.InterruptedIOException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:387,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:387,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].awaitCalledFromIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:388,1
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:390,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:390,1
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:392,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:392,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:395,1
    - Dst: '[Object].wait(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:395,1
    - Dst: Thread.currentThread()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:397,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].interrupt()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:397,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:398,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - l
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getIoThread()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].interrupt()'
    - '[java.util.Deque<FrameData>].isEmpty()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].awaitCalledFromIoThread()'
    - Thread.currentThread()
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    - '[Object].wait(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[java.io.InterruptedIOException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:414,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:415,1
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:419,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData].<init>(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:420,1
    - Dst: '[java.util.Deque<FrameData>].add(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:420,1
    - Dst: '[Object].notifyAll()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:423,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:428,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:429,1
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:432,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleStreamTooLarge()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerData
    - frameData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 437
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 437
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].dataReady(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData].<init>(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
    - '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[java.util.Deque<FrameData>].add(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData)'
    - '[java.util.Deque<FrameData>].isEmpty()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleStreamTooLarge()'
    - '[Object].notifyAll()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].dataReady(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frameData
    - frameDataRemaining
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].updateFrameDataRemaining(io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].updateFrameDataRemaining(io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - lastFragmentOfFrame
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].processFrameData(io.undertow.connector.PooledByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].processFrameData(io.undertow.connector.PooledByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[C].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getReadThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[C].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioExecutor
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getReadThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsR>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getReadSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsR>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getReadSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsR>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsR>
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[C].getWorker()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[C].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[C].getIoThread()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 2
    functionsReached:
    - '[C].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tOption
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - tOption
    - t
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:494,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:497,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:502,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:508,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:508,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:510,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:511,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:511,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:512,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:512,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:514,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:514,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:516,1
    - Dst: '[org.xnio.Buffers].copy(int,ByteBuffer[],int,int,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:516,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:518,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:518,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:519,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:524,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 526
      start: 492
    functionDepth: 4
    functionLinenumber: 492
    functionLinenumberEnd: 526
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[org.xnio.Buffers].copy(int,ByteBuffer[],int,int,java.nio.ByteBuffer)'
    - '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].limit(int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].read(ByteBuffer[],int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dsts
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].read(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].read(ByteBuffer[],int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].read(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:535,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:538,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:541,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:546,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:552,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:552,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:554,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:555,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:555,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:556,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:556,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:556,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:556,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:558,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:558,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:560,1
    - Dst: '[org.xnio.Buffers].copy(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:560,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:562,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:562,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:563,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:569,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].markStreamBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:571,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 574
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 574
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[org.xnio.Buffers].copy(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,java.nio.ByteBuffer,java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].markStreamBroken()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].decrementFrameDataRemaining()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:577,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].channelIsClosed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:578,1
    - Dst: '[java.util.Deque<FrameData>].poll()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:582,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFrameData()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:584,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:586,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:586,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:587,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFrameHeaderData()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:590,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFrameHeaderData()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:591,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFrameLength()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:591,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFrameHeaderData()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:592,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:592,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].updateFrameDataRemaining(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,long)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:595,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:596,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].remaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:596,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].processFrameData(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:598,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:600,1
    - Dst: '[java.io.IOException].<init>(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:601,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].ioException(java.io.IOException)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:601,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].markStreamBroken()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 608
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].channelIsClosed()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFrameLength()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].remaining()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].hasRemaining()'
    - '[java.util.Deque<FrameData>].poll()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFrameHeaderData()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFrameData()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].markStreamBroken()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].ioException(java.io.IOException)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].updateFrameDataRemaining(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,long)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].processFrameData(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel,int)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getBuffer()'
    - '[java.io.IOException].<init>(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].beforeRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:612,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:612,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:613,1
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:619,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:620,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].complete()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:622,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:623,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:624,1
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:631,1
    - Dst: '[C].notifyFrameReadComplete()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:632,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 637
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[C].notifyFrameReadComplete()'
    - '[java.util.Deque<FrameData>].isEmpty()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].complete()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].exitRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].allAreClear(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].allAreClear(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:646,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:651,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].allAreClear(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:655,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].channelForciblyClosed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:657,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:660,1
    - Dst: '[java.util.Deque<FrameData>].isEmpty()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:663,1
    - Dst: '[java.util.Deque<FrameData>].poll()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:664,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:664,1
    - Dst: '[ChannelListener.SimpleSetter<?extendsR>].get()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:667,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<?superAbstractFramedStreamSourceChannel<C,R,S>>)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:667,1
    - Dst: closeListeners[i].handleEvent()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:670,1
    - Dst: '[Object].notifyAll()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 679
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[java.util.Deque<FrameData>].poll()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].channelForciblyClosed()'
    - '[java.util.Deque<FrameData>].isEmpty()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].allAreClear(int,io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel)'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
    - '[ChannelListener.SimpleSetter<?extendsR>].get()'
    - '[Object].notifyAll()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<?superAbstractFramedStreamSourceChannel<C,R,S>>)'
    - closeListeners[i].handleEvent()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 684
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].channelForciblyClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].channelForciblyClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: C
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 688
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFramedChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getFramedChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getReadFrameCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].getReadFrameCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:699,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:707,1
    - Dst: frame.frameData.close()
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:714,1
    - Dst: '[java.util.Deque<FrameData>].clear()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:716,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isReadResumed()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:717,1
    - Dst: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:718,1
    - Dst: '[Object].notifyAll()'
      Src: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel:721,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - ChannelListener.SimpleSetter<?extendsR>
      - ChannelListener.SimpleSetter<?extendsR>
      - C
      - java.util.Deque<FrameData>
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - int
      - long
      - Object
      - int
      - boolean
      - int
      - long
      - long
      - ChannelListener[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 724
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].markStreamBroken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].anyAreSet(int,int)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.util.Deque<FrameData>].clear()'
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].isReadResumed()'
    - frame.frameData.close()
    - '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].resumeReadsInternal(boolean)'
    - '[Object].notifyAll()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel].markStreamBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - FrameHeaderData
      - PooledByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frameHeaderData
    - frameData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData].<init>(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData].<init>(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FrameHeaderData
      - PooledByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.FrameHeaderData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData].getFrameHeaderData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.FrameHeaderData
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData].getFrameHeaderData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FrameHeaderData
      - PooledByteBuffer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 742
    functionName: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData].getFrameData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.FrameData].getFrameData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/FrameHeaderData.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.server.protocol.framed.FrameHeaderData].getExistingChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/FrameHeaderData.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
    signature: '[io.undertow.server.protocol.framed.FrameHeaderData].getExistingChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.FrameHeaderData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.framed.FrameHeaderData].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/FrameHeaderData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.FrameHeaderData
    signature: '[io.undertow.server.protocol.framed.FrameHeaderData].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - S
      - java.util.List<S>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - newFrame
    - pendingFrames
    argTypes:
    - S
    - java.util.List<S>
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.protocol.framed.FramePriority].insertFrame(S,java.util.List<S>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/FramePriority.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.framed.FramePriority].insertFrame(S,java.util.List<S>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - S
      - java.util.List<S>
      - java.util.Deque<S>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - addedFrame
    - pendingFrames
    - holdFrames
    argTypes:
    - S
    - java.util.List<S>
    - java.util.Deque<S>
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.protocol.framed.FramePriority].frameAdded(S,java.util.List<S>,java.util.Deque<S>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/FramePriority.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.framed.FramePriority].frameAdded(S,java.util.List<S>,java.util.Deque<S>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.FramePriority
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.framed.FramePriority].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/framed/FramePriority.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.FramePriority
    signature: '[io.undertow.server.protocol.framed.FramePriority].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:79,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:85,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - org.xnio.OptionMap
      - io.undertow.server.DelegateOpenListener
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - bufferPool
    - undertowOptions
    - httpListener
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    - org.xnio.OptionMap
    - io.undertow.server.DelegateOpenListener
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,io.undertow.server.DelegateOpenListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
    - '[java.util.HashMap].<init>()'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    - '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[java.util.Arrays].asList(String,String)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,io.undertow.server.DelegateOpenListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:79,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:85,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,null,null)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bufferPool
    - undertowOptions
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>()'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    - '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[java.util.Arrays].asList(String,String)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,null,null)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:79,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:85,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:104,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.server.XnioByteBufferPool,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - org.xnio.OptionMap
      - String
      - io.undertow.server.DelegateOpenListener
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - bufferPool
    - undertowOptions
    - fallbackProtocol
    - fallbackListener
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    - org.xnio.OptionMap
    - String
    - io.undertow.server.DelegateOpenListener
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    - '[java.util.HashMap].<init>()'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    - '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[java.util.Arrays].asList(String,String)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.server.XnioByteBufferPool,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:79,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:85,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - io.undertow.server.DelegateOpenListener
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - bufferPool
    - undertowOptions
    - httpListener
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - io.undertow.server.DelegateOpenListener
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.server.DelegateOpenListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>()'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    - '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
    - '[java.util.Arrays].asList(String,String)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.server.DelegateOpenListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:79,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:85,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http.AlpnOpenListener,null,null)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bufferPool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashMap].<init>()'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    - '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http.AlpnOpenListener,null,null)'
    - '[java.util.Arrays].asList(String,String)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:79,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:85,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,null,null)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bufferPool
    - undertowOptions
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>()'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    - '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,null,null)'
    - '[java.util.Arrays].asList(String,String)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:80,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:79,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:85,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:123,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.DelegateOpenListener,int)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - String
      - io.undertow.server.DelegateOpenListener
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - bufferPool
    - undertowOptions
    - fallbackProtocol
    - fallbackListener
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - String
    - io.undertow.server.DelegateOpenListener
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashMap].<init>()'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[java.util.HashSet].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.DelegateOpenListener,int)'
    - '[java.util.Arrays].asList(String,String)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String,io.undertow.server.DelegateOpenListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].getRootHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].getRootHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,ListenerEntry>].entrySet()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:137,1
    - Dst: delegate.getValue()
      Src: io.undertow.server.protocol.http.AlpnOpenListener:138,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 2
    functionsReached:
    - '[java.util.Map<String,ListenerEntry>].entrySet()'
    - delegate.getValue()
    - '[io.undertow.server.protocol.http.AlpnOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].argumentCannotBeNull(String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:150,1
    - Dst: '[java.util.Map<String,ListenerEntry>].entrySet()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:153,1
    - Dst: delegate.getValue()
      Src: io.undertow.server.protocol.http.AlpnOpenListener:154,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:154,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - undertowOptions
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].setUndertowOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,ListenerEntry>].entrySet()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].argumentCannotBeNull(String)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - delegate.getValue()
    - '[io.undertow.server.protocol.http.AlpnOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].setUndertowOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:167,1
    - Dst: '[java.util.Map<String,ListenerEntry>].entrySet()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:168,1
    - Dst: l.getValue()
      Src: io.undertow.server.protocol.http.AlpnOpenListener:169,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].getConnectorStatistics()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:169,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.ConnectorStatistics)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:171,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:174,1
    - Dst: '[io.undertow.server.AggregateConnectorStatistics].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].getConnectorStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,ListenerEntry>].entrySet()'
    - '[java.util.ArrayList].add(io.undertow.server.ConnectorStatistics)'
    - '[io.undertow.server.AggregateConnectorStatistics].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[java.util.ArrayList].toArray()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].getConnectorStatistics()'
    - l.getValue()
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatistics
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].getConnectorStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,ListenerEntry>].entrySet()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:181,1
    - Dst: i.getValue()
      Src: io.undertow.server.protocol.http.AlpnOpenListener:182,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].closeConnections()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].closeConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,ListenerEntry>].entrySet()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].closeConnections()'
    - i.getValue()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].closeConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].<init>(io.undertow.server.DelegateOpenListener,int,String)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:225,1
    - Dst: '[java.util.Map<String,ListenerEntry>].put(String,io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:225,1
    - Dst: '[java.util.Map<String,ListenerEntry>].values()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:226,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:226,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:227,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:228,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:229,1
    - Dst: '[java.util.ArrayList].get(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.DelegateOpenListener
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - listener
    - weight
    argTypes:
    - String
    - io.undertow.server.DelegateOpenListener
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.DelegateOpenListener,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 3
    functionsReached:
    - '[java.util.Map<String,ListenerEntry>].put(String,io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry)'
    - '[java.util.ArrayList].get(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[java.util.ArrayList].<init>(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[java.util.Collections].sort(java.util.ArrayList)'
    - '[java.util.Map<String,ListenerEntry>].values()'
    - '[java.util.ArrayList].size()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].<init>(io.undertow.server.DelegateOpenListener,int,String)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].addProtocol(String,io.undertow.server.DelegateOpenListener,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].isTraceEnabled()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:237,1
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:238,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].tracef(String,io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:238,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslConduit(org.xnio.ssl.SslConnection)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:240,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:241,1
    - Dst: '[java.util.concurrent.CompletableFuture].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:244,1
    - Dst: '[java.util.function.Function].<init>()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:245,1
    - Dst: '[SSLConduitUpdater].<init>(io.undertow.protocols.ssl.SslConduit,java.util.function.Function)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:245,1
    - Dst: '[io.undertow.protocols.alpn.ALPNManager].registerEngineCallback(javax.net.ssl.SSLEngine,SSLConduitUpdater)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:245,1
    - Dst: '[AlpnConnectionListener].<init>(org.xnio.StreamConnection,java.util.concurrent.CompletableFuture)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:311,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:312,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener].setReadListener(AlpnConnectionListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:312,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:313,1
    - Dst: '[AlpnConnectionListener].handleEvent(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:313,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 315
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 315
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].isTraceEnabled()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].tracef(String,io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[SSLConduitUpdater].<init>(io.undertow.protocols.ssl.SslConduit,java.util.function.Function)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener].setReadListener(AlpnConnectionListener)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[java.util.function.Function].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslConduit(org.xnio.ssl.SslConnection)'
    - '[java.util.concurrent.CompletableFuture].<init>()'
    - '[org.xnio.StreamConnection].getPeerAddress()'
    - '[AlpnConnectionListener].handleEvent(io.undertow.server.protocol.http.AlpnOpenListener)'
    - '[io.undertow.protocols.alpn.ALPNManager].registerEngineCallback(javax.net.ssl.SSLEngine,SSLConduitUpdater)'
    - '[AlpnConnectionListener].<init>(org.xnio.StreamConnection,java.util.concurrent.CompletableFuture)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getEnabledProtocols()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:320,1
    - Dst: '[java.util.Set<String>].contains(io.undertow.server.protocol.http.AlpnOpenListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:323,1
    - Dst: '[javax.net.ssl.SSLEngine].getEnabledCipherSuites()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener:332,1
    - Dst: i.equals(String)
      Src: io.undertow.server.protocol.http.AlpnOpenListener:334,1
    - Dst: i.equals(String)
      Src: io.undertow.server.protocol.http.AlpnOpenListener:334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.Set<String>
      - io.undertow.protocols.alpn.ALPNManager
      - io.undertow.connector.ByteBufferPool
      - java.util.Map<String,ListenerEntry>
      - String[]
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - engine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 339
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 339
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener].engineSupportsHTTP2(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<String>].contains(io.undertow.server.protocol.http.AlpnOpenListener)'
    - i.equals(String)
    - '[javax.net.ssl.SSLEngine].getEnabledProtocols()'
    - '[javax.net.ssl.SSLEngine].getEnabledCipherSuites()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener].engineSupportsHTTP2(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.DelegateOpenListener
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - DelegateOpenListener
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - listener
    - weight
    - protocol
    argTypes:
    - io.undertow.server.DelegateOpenListener
    - int
    - String
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].<init>(io.undertow.server.DelegateOpenListener,int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].<init>(io.undertow.server.DelegateOpenListener,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DelegateOpenListener].equals(io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry:206,1
    - Dst: '[String].equals(io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - DelegateOpenListener
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.DelegateOpenListener].equals(io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry)'
    - '[String].equals(io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DelegateOpenListener].hashCode()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry:212,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DelegateOpenListener
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.DelegateOpenListener].hashCode()'
    - '[String].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.compare(io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry,io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry)
      Src: io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ListenerEntry
      classConcrete: true
      classEnum: false
      classFields:
      - DelegateOpenListener
      - int
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - ListenerEntry
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].compareTo(ListenerEntry)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - Integer.compare(io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry,io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.ListenerEntry].compareTo(ListenerEntry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - java.util.concurrent.CompletableFuture<SelectedAlpn>
      classConcrete: true
      classEnum: false
      classFields:
      - StreamConnection
      - CompletableFuture<SelectedAlpn>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - selectedAlpn
    argTypes:
    - org.xnio.StreamConnection
    - java.util.concurrent.CompletableFuture<SelectedAlpn>
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].<init>(org.xnio.StreamConnection,java.util.concurrent.CompletableFuture<SelectedAlpn>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].<init>(org.xnio.StreamConnection,java.util.concurrent.CompletableFuture<SelectedAlpn>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bufferPool.allocate()
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:352,1
    - Dst: '[StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:356,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].getBuffer()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:356,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].read(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:356,1
    - Dst: '[org.xnio.IoUtils].safeClose(StreamConnection)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:358,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].getBuffer()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:361,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].flip()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:361,1
    - Dst: this.selectedAlpn.getNow(null)
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:362,1
    - Dst: selectedAlpn.provider.getSelectedProtocol(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:365,1
    - Dst: selected.isEmpty()
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:371,1
    - Dst: '[StreamConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:374,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].noALPNFallback(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:374,1
    - Dst: '[org.xnio.IoUtils].safeClose(StreamConnection)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:375,1
    - Dst: listeners.get(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:378,1
    - Dst: listeners.get(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:380,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:382,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].set(null)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:382,1
    - Dst: listener.handleEvent(StreamConnection,io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:383,1
    - Dst: '[StreamConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:388,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].noALPNFallback(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:388,1
    - Dst: '[org.xnio.IoUtils].safeClose(StreamConnection)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:389,1
    - Dst: listeners.get(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:392,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:393,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].set(null)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:393,1
    - Dst: listener.handleEvent(StreamConnection,io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:394,1
    - Dst: '[StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:398,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].resumeReads()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:398,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].ioException(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:404,1
    - Dst: '[org.xnio.IoUtils].safeClose(StreamConnection)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:405,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].handleUnexpectedFailure(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:407,1
    - Dst: '[org.xnio.IoUtils].safeClose(StreamConnection)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:408,1
    - Dst: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].close()'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener:411,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - StreamConnection
      - CompletableFuture<SelectedAlpn>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 414
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 414
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - selected.isEmpty()
    - '[StreamConnection].getSourceChannel()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].handleUnexpectedFailure(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].getBuffer()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].read(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
    - listener.handleEvent(StreamConnection,io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].ioException(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].flip()'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].set(null)'
    - selectedAlpn.provider.getSelectedProtocol(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].close()'
    - listeners.get(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].resumeReads()'
    - bufferPool.allocate()
    - '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].noALPNFallback(io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener)'
    - '[StreamConnection].getPeerAddress()'
    - this.selectedAlpn.getNow(null)
    - '[org.xnio.IoUtils].safeClose(StreamConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.AlpnConnectionListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - io.undertow.protocols.alpn.ALPNProvider
      classConcrete: true
      classEnum: false
      classFields:
      - SSLEngine
      - ALPNProvider
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener.SelectedAlpn
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - engine
    - provider
    argTypes:
    - javax.net.ssl.SSLEngine
    - io.undertow.protocols.alpn.ALPNProvider
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.SelectedAlpn].<init>(javax.net.ssl.SSLEngine,io.undertow.protocols.alpn.ALPNProvider)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener.SelectedAlpn
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.SelectedAlpn].<init>(javax.net.ssl.SSLEngine,io.undertow.protocols.alpn.ALPNProvider)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SslConduit
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      classConcrete: true
      classEnum: false
      classFields:
      - SslConduit
      - Function<SSLEngine, SSLEngine>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - conduit
    - underlying
    argTypes:
    - io.undertow.protocols.ssl.SslConduit
    - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater].<init>(io.undertow.protocols.ssl.SslConduit,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater].<init>(io.undertow.protocols.ssl.SslConduit,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Function<SSLEngine, SSLEngine>].apply(javax.net.ssl.SSLEngine)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater:438,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].setSslEngine(io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater)'
      Src: io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields:
      - SslConduit
      - Function<SSLEngine, SSLEngine>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - engine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: '[io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater].apply(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/AlpnOpenListener.java
    functionUses: 0
    functionsReached:
    - '[Function<SSLEngine, SSLEngine>].apply(javax.net.ssl.SSLEngine)'
    - '[io.undertow.protocols.ssl.SslConduit].setSslEngine(io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.server.protocol.http.AlpnOpenListener.SSLConduitUpdater].apply(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - boolean
      - boolean
      - StringBuilder
      - StringBuilder
      - StringBuilder
      - byte
      - boolean
      - io.undertow.util.HttpString
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.protocol.http.RequestState].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestState.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.RequestState].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.http.RequestState:86,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.http.RequestState:87,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.http.RequestState:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - boolean
      - boolean
      - StringBuilder
      - StringBuilder
      - StringBuilder
      - byte
      - boolean
      - io.undertow.util.HttpString
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.protocol.http.RequestState].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestState.java
    functionUses: 6
    functionsReached:
    - '[StringBuilder].setLength(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestState].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(byte,byte)'
      Src: io.undertow.server.protocol.http.RequestState:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - boolean
      - boolean
      - StringBuilder
      - StringBuilder
      - StringBuilder
      - byte
      - boolean
      - io.undertow.util.HttpString
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - newState
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.protocol.http.RequestState].setNext(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestState.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestState].setNext(byte,byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestState].setNext(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.http.RequestState:107,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.http.RequestState:108,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.http.RequestState:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - boolean
      - boolean
      - StringBuilder
      - StringBuilder
      - StringBuilder
      - byte
      - boolean
      - io.undertow.util.HttpString
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - newState
    - newSubstate
    argTypes:
    - byte
    - byte
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.protocol.http.RequestState].setNext(byte,byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestState.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].setLength(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestState].setNext(byte,byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.http.RequestState:65,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.http.RequestState:66,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.http.RequestState:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - boolean
      - boolean
      - StringBuilder
      - StringBuilder
      - StringBuilder
      - byte
      - boolean
      - io.undertow.util.HttpString
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.RequestState
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http.RequestState].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestState.java
    functionUses: 44
    functionsReached:
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.RequestState
    signature: '[io.undertow.server.protocol.http.RequestState].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:59,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpOpenListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pool
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,io.undertow.server.protocol.http.HttpOpenListener)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpOpenListener
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:59,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:80,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.XnioByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpOpenListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pool
    - undertowOptions
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.server.XnioByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpOpenListener
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:59,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpOpenListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http.HttpOpenListener)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpOpenListener
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:59,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:90,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:91,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:91,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:92,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:93,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].<init>()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:94,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpOpenListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pool
    - undertowOptions
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.http.RequestParser].instance(org.xnio.OptionMap)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.ConnectorStatisticsImpl].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpOpenListener
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].handleEvent(org.xnio.StreamConnection,null)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpOpenListener].handleEvent(org.xnio.StreamConnection,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].isTraceEnabled()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:105,1
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:106,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].tracef(String,io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:106,1
    - Dst: '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:111,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:112,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:114,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:115,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:115,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:116,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:116,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:119,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:119,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].getConduit()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:119,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpOpenListener,org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:119,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:119,1
    - Dst: '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:121,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:123,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:123,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].getConduit()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:123,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpOpenListener,org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:123,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:123,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:126,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].ioException(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:127,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:129,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].handleUnexpectedFailure(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:130,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:133,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:133,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].getConduit()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:133,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].sentAccumulator()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:133,1
    - Dst: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpOpenListener,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:133,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:133,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:134,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:134,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].getConduit()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:134,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].receivedAccumulator()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:134,1
    - Dst: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpOpenListener,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:134,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:134,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:137,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].<init>(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:138,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:142,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:142,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:143,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:145,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].incrementConnectionCount()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:149,1
    - Dst: '[java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>].add(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:152,1
    - Dst: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:153,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].addCloseListener(io.undertow.server.ServerConnection.CloseListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:153,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:159,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:160,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:161,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:161,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:162,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].handleEvent(io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:162,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - buffer
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 163
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].handleEvent(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    - '[java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>].add(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
    - '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpOpenListener,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].ioException(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpOpenListener,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.server.ConnectorStatisticsImpl].sentAccumulator()'
    - '[io.undertow.server.ConnectorStatisticsImpl].receivedAccumulator()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].handleUnexpectedFailure(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].getConduit()'
    - '[io.undertow.server.ConnectorStatisticsImpl].incrementConnectionCount()'
    - '[org.xnio.StreamConnection].getPeerAddress()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpOpenListener,org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].isTraceEnabled()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].tracef(String,io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpOpenListener,org.xnio.StreamConnection)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].addCloseListener(io.undertow.server.ServerConnection.CloseListener)'
    - '[io.undertow.server.protocol.http.HttpReadListener].handleEvent(io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.http.HttpReadListener].<init>(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.RequestParser)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].handleEvent(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].getRootHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].getRootHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].argumentCannotBeNull(String)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:183,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].instance(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:186,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - undertowOptions
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].setUndertowOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].instance(org.xnio.OptionMap)'
    - '[io.undertow.server.protocol.http.HttpOpenListener].argumentCannotBeNull(String)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].setUndertowOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].getConnectorStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatistics
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].getConnectorStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i.getIoThread()
      Src: io.undertow.server.protocol.http.HttpOpenListener:206,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.http.HttpOpenListener:206,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].execute(Runnable)'
      Src: io.undertow.server.protocol.http.HttpOpenListener:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.server.protocol.http.HttpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.http.RequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.protocol.http.HttpOpenListener].closeConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpOpenListener.java
    functionUses: 0
    functionsReached:
    - i.getIoThread()
    - '[Runnable].<init>()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].execute(Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpOpenListener].closeConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.HttpReadListener:64,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].<init>()'
      Src: io.undertow.server.protocol.http.HttpReadListener:71,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.protocol.http.HttpReadListener:87,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:97,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:97,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:98,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Long>,long)'
      Src: io.undertow.server.protocol.http.HttpReadListener:98,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:99,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpReadListener:99,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:100,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Boolean>,Boolean)'
      Src: io.undertow.server.protocol.http.HttpReadListener:100,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:101,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Integer>)'
      Src: io.undertow.server.protocol.http.HttpReadListener:101,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:102,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Integer>)'
      Src: io.undertow.server.protocol.http.HttpReadListener:102,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:106,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].addCloseListener(io.undertow.server.protocol.ParseTimeoutUpdater)'
      Src: io.undertow.server.protocol.http.HttpReadListener:107,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:109,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].contains(org.xnio.Option<Boolean>)'
      Src: io.undertow.server.protocol.http.HttpReadListener:109,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].configurationNotSupported(String)'
      Src: io.undertow.server.protocol.http.HttpReadListener:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.HttpReadListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - connection
    - parser
    - connectorStatistics
    argTypes:
    - io.undertow.server.protocol.http.HttpServerConnection
    - io.undertow.server.protocol.http.RequestParser
    - io.undertow.server.ConnectorStatisticsImpl
    constantsTouched: []
    func_position:
      end: 112
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].<init>(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.RequestParser,io.undertow.server.ConnectorStatisticsImpl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Integer>,int)'
    - '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Long>,long)'
    - '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Integer>)'
    - '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].addCloseListener(io.undertow.server.protocol.ParseTimeoutUpdater)'
    - '[io.undertow.server.protocol.http.HttpReadListener].configurationNotSupported(String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.server.protocol.http.HttpReadListener].contains(org.xnio.Option<Boolean>)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Boolean>,Boolean)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.RequestState].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpReadListener
    signature: '[io.undertow.server.protocol.http.HttpReadListener].<init>(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.RequestParser,io.undertow.server.ConnectorStatisticsImpl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestState].reset()'
      Src: io.undertow.server.protocol.http.HttpReadListener:115,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].connectionIdle()'
      Src: io.undertow.server.protocol.http.HttpReadListener:118,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setCurrentExchange(null)'
      Src: io.undertow.server.protocol.http.HttpReadListener:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpServerConnection].setCurrentExchange(null)'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].connectionIdle()'
    - '[io.undertow.server.protocol.http.RequestState].reset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].get()'
      Src: io.undertow.server.protocol.http.HttpReadListener:124,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].compareAndSet(int,int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:127,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:129,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:131,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].handleEventWithNoRunningRequest(org.xnio.conduits.ConduitStreamSourceChannel)'
      Src: io.undertow.server.protocol.http.HttpReadListener:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ConduitStreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.conduits.ConduitStreamSourceChannel
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 8
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].handleEvent(org.xnio.conduits.ConduitStreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpReadListener].handleEventWithNoRunningRequest(org.xnio.conduits.ConduitStreamSourceChannel)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].get()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].compareAndSet(int,int)'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].suspendReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpReadListener].handleEvent(org.xnio.conduits.ConduitStreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpReadListener:140,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSourceConduit()'
      Src: io.undertow.server.protocol.http.HttpReadListener:141,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].isReadShutdown()'
      Src: io.undertow.server.protocol.http.HttpReadListener:141,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
      Src: io.undertow.server.protocol.http.HttpReadListener:141,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].isWriteShutdown()'
      Src: io.undertow.server.protocol.http.HttpReadListener:141,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].debug(String)'
      Src: io.undertow.server.protocol.http.HttpReadListener:142,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:143,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:144,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.http.HttpReadListener:149,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].allocate()'
      Src: io.undertow.server.protocol.http.HttpReadListener:149,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].debug(String,io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:151,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:153,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:154,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.server.protocol.http.HttpReadListener:157,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].clear()'
      Src: io.undertow.server.protocol.http.HttpReadListener:165,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].read(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:167,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].debug(String,io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:169,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:170,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].remaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:174,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].failedParse()'
      Src: io.undertow.server.protocol.http.HttpReadListener:179,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].handleFailedRead(org.xnio.conduits.ConduitStreamSourceChannel,io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:181,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(null)'
      Src: io.undertow.server.protocol.http.HttpReadListener:188,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].flip()'
      Src: io.undertow.server.protocol.http.HttpReadListener:190,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].remaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:192,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.http.HttpServerConnection,long)'
      Src: io.undertow.server.protocol.http.HttpReadListener:194,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:196,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].isComplete()'
      Src: io.undertow.server.protocol.http.HttpReadListener:197,1
    - Dst: '[io.undertow.util.Cookies].isCrumbsAssemplyDisabled()'
      Src: io.undertow.server.protocol.http.HttpReadListener:199,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpReadListener:200,1
    - Dst: '[io.undertow.util.Cookies].assembleCrumbs(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.protocol.http.HttpReadListener:200,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:204,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:206,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].remaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:208,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.http.HttpReadListener:211,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].requestHeaderWasTooLarge(io.undertow.server.protocol.http.HttpReadListener,int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:211,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:212,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,null)'
      Src: io.undertow.server.protocol.http.HttpReadListener:212,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].isComplete()'
      Src: io.undertow.server.protocol.http.HttpReadListener:215,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].requestStarted()'
      Src: io.undertow.server.protocol.http.HttpReadListener:217,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSourceConduit()'
      Src: io.undertow.server.protocol.http.HttpReadListener:219,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:219,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme()'
      Src: io.undertow.server.protocol.http.HttpReadListener:222,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:224,1
    - Dst: '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:227,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.HttpReadListener:230,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].handleHttp2PriorKnowledge(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:231,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.HttpReadListener:236,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:238,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getPeerAddress()'
      Src: io.undertow.server.protocol.http.HttpReadListener:238,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].debugf(String,io.undertow.server.protocol.http.HttpReadListener,io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpReadListener:238,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:239,1
    - Dst: '[java.io.IOException].<init>()'
      Src: io.undertow.server.protocol.http.HttpReadListener:239,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,java.io.IOException)'
      Src: io.undertow.server.protocol.http.HttpReadListener:239,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].setupRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:243,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setCurrentExchange(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:244,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].setup(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:246,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getSslSession()'
      Src: io.undertow.server.protocol.http.HttpReadListener:248,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:254,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpReadListener:257,1
    - Dst: '[io.undertow.server.Connectors].areRequestHeadersValid(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.protocol.http.HttpReadListener:257,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:258,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].invalidHeaders()'
      Src: io.undertow.server.protocol.http.HttpReadListener:258,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:258,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getRootHandler()'
      Src: io.undertow.server.protocol.http.HttpReadListener:263,1
    - Dst: '[io.undertow.server.HandlerWrapper].wrap(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:263,1
    - Dst: '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.HttpHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:263,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:265,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:265,1
    - Dst: pooled.close()
      Src: io.undertow.server.protocol.http.HttpReadListener:268,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 109
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ConduitStreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.conduits.ConduitStreamSourceChannel
    constantsTouched: []
    func_position:
      end: 270
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 270
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].handleEventWithNoRunningRequest(org.xnio.conduits.ConduitStreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpReadListener].debug(String,io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,null)'
    - '[io.undertow.util.Cookies].isCrumbsAssemplyDisabled()'
    - '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.Cookies].assembleCrumbs(io.undertow.util.HeaderMap)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
    - '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.http.HttpServerConnection,long)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getSslSession()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.server.protocol.http.RequestState].isComplete()'
    - '[io.undertow.server.ConnectorStatisticsImpl].setup(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpReadListener].remaining()'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].failedParse()'
    - '[io.undertow.server.Connectors].areRequestHeadersValid(io.undertow.util.HeaderMap)'
    - '[io.undertow.server.protocol.http.HttpReadListener].invalidHeaders()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[java.io.IOException].<init>()'
    - '[io.undertow.server.protocol.http.HttpReadListener].handleFailedRead(org.xnio.conduits.ConduitStreamSourceChannel,io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSourceConduit()'
    - '[io.undertow.server.protocol.http.HttpReadListener].debug(String)'
    - '[io.undertow.server.protocol.http.HttpReadListener].allocate()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
    - '[io.undertow.server.HandlerWrapper].wrap(io.undertow.server.protocol.http.HttpReadListener)'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].suspendReads()'
    - '[io.undertow.server.protocol.http.HttpReadListener].suspendReads()'
    - '[io.undertow.server.protocol.http.HttpReadListener].debugf(String,io.undertow.server.protocol.http.HttpReadListener,io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setCurrentExchange(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpReadListener].isWriteShutdown()'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.server.protocol.http.HttpReadListener)'
    - pooled.getBuffer()
    - '[io.undertow.server.protocol.http.HttpReadListener].flip()'
    - '[io.undertow.server.protocol.http.HttpReadListener].handleHttp2PriorKnowledge(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getRootHandler()'
    - pooled.close()
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].requestStarted()'
    - '[io.undertow.server.protocol.http.RequestParser].handle(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.HttpHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpReadListener].getPeerAddress()'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].read(io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,java.io.IOException)'
    - '[io.undertow.server.protocol.http.HttpReadListener].isReadShutdown()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getPeerAddress()'
    - '[io.undertow.server.protocol.http.HttpReadListener].requestHeaderWasTooLarge(io.undertow.server.protocol.http.HttpReadListener,int)'
    - '[io.undertow.server.protocol.http.HttpReadListener].hasRemaining()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(null)'
    - '[io.undertow.server.protocol.http.HttpReadListener].clear()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getByteBufferPool()'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].setupRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpReadListener].handleEventWithNoRunningRequest(org.xnio.conduits.ConduitStreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.HttpReadListener:273,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpReadListener:273,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:273,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpReadListener:273,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:274,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].handleHttp2PriorKnowledge(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpReadListener:274,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:277,1
    - Dst: '[java.io.IOException].<init>()'
      Src: io.undertow.server.protocol.http.HttpReadListener:277,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,java.io.IOException)'
      Src: io.undertow.server.protocol.http.HttpReadListener:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pooled
    - httpServerExchange
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].handleHttp2PriorKnowledge(io.undertow.connector.PooledByteBuffer,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.http.HttpReadListener].get(org.xnio.Option<Boolean>,boolean)'
    - '[java.io.IOException].<init>()'
    - '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(io.undertow.server.protocol.http.HttpReadListener,java.io.IOException)'
    - '[io.undertow.server.protocol.http.HttpReadListener].handleHttp2PriorKnowledge(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpReadListener].handleHttp2PriorKnowledge(io.undertow.connector.PooledByteBuffer,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].setReadListener()'
      Src: io.undertow.server.protocol.http.HttpReadListener:284,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].resumeReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:285,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ConduitStreamSourceChannel
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - res
    argTypes:
    - org.xnio.conduits.ConduitStreamSourceChannel
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].handleFailedRead(org.xnio.conduits.ConduitStreamSourceChannel,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitStreamSourceChannel].resumeReads()'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].setReadListener()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpReadListener].handleFailedRead(org.xnio.conduits.ConduitStreamSourceChannel,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].failedToParseRequest(Throwable)'
      Src: io.undertow.server.protocol.http.HttpReadListener:292,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:293,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:293,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
      Src: io.undertow.server.protocol.http.HttpReadListener:294,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:306,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - connection
    - exception
    argTypes:
    - org.xnio.StreamConnection
    - Throwable
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(org.xnio.StreamConnection,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.util.StringWriteChannelListener].setup(io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.util.StringWriteChannelListener].<init>(String)'
    - '[io.undertow.server.protocol.http.HttpReadListener].suspendReads()'
    - '[io.undertow.server.protocol.http.HttpReadListener].failedToParseRequest(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpReadListener].sendBadRequestAndClose(org.xnio.StreamConnection,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].clearChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:310,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setCurrentExchange(null)'
      Src: io.undertow.server.protocol.http.HttpReadListener:311,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.http.HttpReadListener:313,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].isUpgradeOrConnect(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:313,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:314,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpReadListener:315,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.protocol.http.HttpReadListener:318,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
      Src: io.undertow.server.protocol.http.HttpReadListener:320,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:321,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:321,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:322,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].resumeReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:322,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:323,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSourceConduit()'
      Src: io.undertow.server.protocol.http.HttpReadListener:326,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].isReadShutdown()'
      Src: io.undertow.server.protocol.http.HttpReadListener:326,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
      Src: io.undertow.server.protocol.http.HttpReadListener:326,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].isWriteShutdown()'
      Src: io.undertow.server.protocol.http.HttpReadListener:326,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:327,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:327,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:328,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].suspendWrites()'
      Src: io.undertow.server.protocol.http.HttpReadListener:328,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:329,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].compareAndSet(int,int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:332,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
      Src: io.undertow.server.protocol.http.HttpReadListener:334,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:335,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:335,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:336,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].resumeReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:336,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:338,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.protocol.http.HttpReadListener:346,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:347,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
      Src: io.undertow.server.protocol.http.HttpReadListener:348,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getIoThread()'
      Src: io.undertow.server.protocol.http.HttpReadListener:350,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].execute()'
      Src: io.undertow.server.protocol.http.HttpReadListener:350,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
      Src: io.undertow.server.protocol.http.HttpReadListener:353,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].isWriteShutdown()'
      Src: io.undertow.server.protocol.http.HttpReadListener:353,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:354,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:354,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:355,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].suspendWrites()'
      Src: io.undertow.server.protocol.http.HttpReadListener:355,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:356,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].compareAndSet(int,int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:358,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
      Src: io.undertow.server.protocol.http.HttpReadListener:360,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:361,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:361,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
      Src: io.undertow.server.protocol.http.HttpReadListener:363,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDispatchExecutor()'
      Src: io.undertow.server.protocol.http.HttpReadListener:368,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpReadListener:370,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.server.protocol.http.HttpReadListener:370,1
    - Dst: '[org.xnio.XnioWorker].execute()'
      Src: io.undertow.server.protocol.http.HttpReadListener:372,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.http.HttpReadListener:375,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpReadListener:376,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpReadListener:377,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].close()'
      Src: io.undertow.server.protocol.http.HttpReadListener:377,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(null)'
      Src: io.undertow.server.protocol.http.HttpReadListener:378,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:380,1
    - Dst: '[io.undertow.util.ConnectionUtils].cleanClose(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:380,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpReadListener:383,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:384,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:384,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:384,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:384,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getConduit()'
      Src: io.undertow.server.protocol.http.HttpReadListener:384,1
    - Dst: '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:384,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].setConduit(io.undertow.conduits.ReadDataStreamSourceConduit)'
      Src: io.undertow.server.protocol.http.HttpReadListener:384,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:387,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:387,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].flush()'
      Src: io.undertow.server.protocol.http.HttpReadListener:387,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:388,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:388,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpReadListener:388,1
    - Dst: '[io.undertow.util.ClosingChannelExceptionHandler].<init>(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:393,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,io.undertow.util.ClosingChannelExceptionHandler)'
      Src: io.undertow.server.protocol.http.HttpReadListener:388,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].setWriteListener(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:388,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:394,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:394,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].resumeWrites()'
      Src: io.undertow.server.protocol.http.HttpReadListener:394,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUpgradeListener()'
      Src: io.undertow.server.protocol.http.HttpReadListener:397,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:397,1
    - Dst: '[io.undertow.server.HttpUpgradeListener].handleUpgrade(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpReadListener:397,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].ioException(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:399,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:400,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].handleUnexpectedFailure(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:402,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpReadListener:403,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 97
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 406
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 406
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpReadListener].getConduit()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.protocol.http.HttpReadListener].setWriteListener(io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[io.undertow.server.protocol.http.HttpReadListener].execute()'
    - '[io.undertow.server.protocol.http.HttpReadListener].flush()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - '[io.undertow.server.protocol.http.HttpReadListener].resumeWrites()'
    - '[io.undertow.server.protocol.http.HttpReadListener].getIoThread()'
    - '[io.undertow.server.protocol.http.HttpReadListener].suspendWrites()'
    - '[io.undertow.server.protocol.http.HttpReadListener].resumeReads()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,io.undertow.util.ClosingChannelExceptionHandler)'
    - '[io.undertow.server.HttpUpgradeListener].handleUpgrade(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpReadListener].ioException(io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.protocol.http.HttpReadListener].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].set(int)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSourceConduit()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>].compareAndSet(int,int)'
    - '[io.undertow.server.protocol.http.HttpReadListener].getSinkChannel()'
    - '[io.undertow.util.ConnectionUtils].cleanClose(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.util.ClosingChannelExceptionHandler].<init>(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.protocol.http.HttpReadListener].suspendReads()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].clearChannel()'
    - '[org.xnio.XnioWorker].execute()'
    - '[io.undertow.server.protocol.http.HttpReadListener].newRequest()'
    - '[io.undertow.server.protocol.http.HttpReadListener].isWriteShutdown()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getUpgradeListener()'
    - '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
    - '[io.undertow.server.protocol.http.HttpReadListener].close()'
    - '[io.undertow.server.protocol.http.HttpReadListener].isUpgradeOrConnect(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getDispatchExecutor()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.protocol.http.HttpReadListener].handleUnexpectedFailure(io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setCurrentExchange(null)'
    - '[io.undertow.server.protocol.http.HttpReadListener].setConduit(io.undertow.conduits.ReadDataStreamSourceConduit)'
    - '[io.undertow.server.protocol.http.HttpReadListener].isReadShutdown()'
    - '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isUpgrade()'
      Src: io.undertow.server.protocol.http.HttpReadListener:409,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.HttpReadListener:409,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpReadListener:409,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpReadListener:409,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].isConnectHandled()'
      Src: io.undertow.server.protocol.http.HttpReadListener:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].isUpgradeOrConnect(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].isUpgrade()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].isConnectHandled()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpReadListener].isUpgradeOrConnect(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:414,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:414,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].handleEvent(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpReadListener].getSourceChannel()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.http.HttpReadListener].handleEvent(io.undertow.server.protocol.http.HttpReadListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpReadListener].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:420,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:423,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpReadListener:424,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:424,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpReadListener:425,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:425,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:425,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpReadListener:426,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.HttpReadListener:426,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].put(io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:426,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpReadListener:430,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:430,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpReadListener:433,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].doHttp2PriRead(org.xnio.StreamConnection,io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:436,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].getReadSetter()'
      Src: io.undertow.server.protocol.http.HttpReadListener:437,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpReadListener:437,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].set(org.xnio.ChannelListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:437,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].resumeReads()'
      Src: io.undertow.server.protocol.http.HttpReadListener:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - connection
    - serverConnection
    - readData
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.server.protocol.http.HttpServerConnection
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 453
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 453
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].handleHttp2PriorKnowledge(org.xnio.StreamConnection,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpReadListener].doHttp2PriRead(org.xnio.StreamConnection,io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.HttpReadListener)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.protocol.http.HttpReadListener].put(io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.HttpReadListener].getReadSetter()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.http.HttpReadListener].hasRemaining()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.HttpReadListener].resumeReads()'
    - '[io.undertow.server.protocol.http.HttpReadListener].set(org.xnio.ChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpReadListener].handleHttp2PriorKnowledge(org.xnio.StreamConnection,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:456,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpReadListener:457,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpReadListener:457,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpReadListener:461,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpReadListener:465,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.HttpReadListener:467,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].http2PriRequestFailed()'
      Src: io.undertow.server.protocol.http.HttpReadListener:468,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.http.HttpReadListener:472,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:472,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.server.protocol.http.HttpReadListener,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,io.undertow.server.protocol.http.HttpReadListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:472,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getRootHandler()'
      Src: io.undertow.server.protocol.http.HttpReadListener:473,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpReadListener:473,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getBufferSize()'
      Src: io.undertow.server.protocol.http.HttpReadListener:473,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener,null)'
      Src: io.undertow.server.protocol.http.HttpReadListener:473,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
      Src: io.undertow.server.protocol.http.HttpReadListener:474,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http.HttpReadListener:474,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
      Src: io.undertow.server.protocol.http.HttpReadListener:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - byte[]
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.protocol.http.RequestParser
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - boolean
      - boolean
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.http.HttpReadListener>
      - io.undertow.server.ConnectorStatisticsImpl
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - connection
    - buffer
    - serverConnection
    - extraData
    argTypes:
    - org.xnio.StreamConnection
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.HttpServerConnection
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 477
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 477
    functionName: '[io.undertow.server.protocol.http.HttpReadListener].doHttp2PriRead(org.xnio.StreamConnection,java.nio.ByteBuffer,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
    - '[io.undertow.server.protocol.http.HttpReadListener].read(java.nio.ByteBuffer)'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>(io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener,io.undertow.server.protocol.http.HttpReadListener,null)'
    - '[io.undertow.server.protocol.http.HttpReadListener].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.HttpReadListener].http2PriRequestFailed()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getRootHandler()'
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.server.protocol.http.HttpReadListener,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,io.undertow.server.protocol.http.HttpReadListener)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getBufferSize()'
    - '[java.nio.ByteBuffer].get()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getByteBufferPool()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpReadListener].doHttp2PriRead(org.xnio.StreamConnection,java.nio.ByteBuffer,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - pool
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:74,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:75,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:77,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:82,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:87,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:88,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:90,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:91,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:98,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:100,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:102,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:104,1
    - Dst: '[org.xnio.Buffers].copy(java.nio.ByteBuffer,ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:106,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBufferWithUserData(ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBufferWithUserData(ByteBuffer[],int,int)'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
    - '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[org.xnio.Buffers].copy(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:115,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:116,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:118,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:119,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:126,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:128,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:129,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:129,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:130,1
    - Dst: '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:131,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBufferWithUserData(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 136
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBufferWithUserData(int,int)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:149,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:150,1
    - Dst: next.write(ByteBuffer[],int,int)
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:152,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:154,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:159,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:161,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:163,1
    - Dst: byteBuffers[i].remaining()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:169,1
    - Dst: next.write(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit,int,io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:175,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:179,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:187,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - byteBuffers
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBufferWithUserData(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - next.write(ByteBuffer[],int,int)
    - byteBuffers[i].remaining()
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - next.write(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit,int,io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBufferWithUserData(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:205,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:205,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].allAreClear(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:205,1
    - Dst: next.flush()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:206,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushPipelinedData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
    - next.flush()
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].allAreClear(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushPipelinedData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:215,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:215,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].getSinkChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:215,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setConduit()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setupPipelineBuffer(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].getSinkChannel()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setConduit()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setupPipelineBuffer(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.flush()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:220,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:222,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:223,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:225,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:227,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:228,1
    - Dst: next.flush()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:232,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 239
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
    - next.write(java.nio.ByteBuffer)
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - next.flush()
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:244,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:244,1
    - Dst: next.awaitWritable(long,java.util.concurrent.TimeUnit)
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].hasRemaining()'
    - next.awaitWritable(long,java.util.concurrent.TimeUnit)
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:254,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:254,1
    - Dst: next.awaitWritable()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].hasRemaining()'
    - next.awaitWritable()
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:263,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:264,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:267,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreClear(int,int)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:268,1
    - Dst: next.terminateWrites()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:270,1
    - Dst: next.flush()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 275
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreSet(int,int)'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushBuffer()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].anyAreClear(int,int)'
    - next.flush()
    - next.terminateWrites()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.terminateWrites()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.terminateWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.truncateWrites()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:288,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - next.truncateWrites()
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:300,1
    - Dst: connection.getExtraBytes()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:301,1
    - Dst: '[io.undertow.server.HttpServerExchange].isUpgrade()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:301,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].performFlush(io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:302,1
    - Dst: connection.getReadListener()
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:304,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].exchangeComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].exchangeComplete(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 2
    functionsReached:
    - connection.getExtraBytes()
    - '[io.undertow.server.HttpServerExchange].isUpgrade()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].exchangeComplete(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].performFlush(io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
    - connection.getReadListener()
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].exchangeComplete(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].resetChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:310,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushPipelinedData()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:311,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:312,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].getSinkChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:313,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:313,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setWriteListener(org.xnio.ChannelListener)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:313,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:332,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].getSinkChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:332,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].resumeWrites()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:332,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].restoreChannel(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:335,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getReadListener()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:336,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:336,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].ioException(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:339,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:340,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:340,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].handleUnexpectedFailure(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:342,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:343,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit:343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.http.HttpServerConnection
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - connection
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.protocol.http.HttpServerConnection
    constantsTouched: []
    func_position:
      end: 345
      start: 308
    functionDepth: 6
    functionLinenumber: 308
    functionLinenumberEnd: 345
    functionName: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].performFlush(io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http.HttpServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpServerConnection].restoreChannel(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getReadListener()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].resetChannel()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setWriteListener(org.xnio.ChannelListener)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].ioException(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].getSinkChannel()'
    - '[io.undertow.server.protocol.http.HttpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].flushPipelinedData()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].resumeWrites()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].handleUnexpectedFailure(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].performFlush(io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http.HttpServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.HttpContinue:74,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpContinue:74,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.protocol.http.HttpContinue:74,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpContinue:74,1
    - Dst: '[io.undertow.server.ServerConnection].isContinueResponseSupported()'
      Src: io.undertow.server.protocol.http.HttpContinue:74,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.server.protocol.http.HttpContinue:74,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpContinue:78,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.protocol.http.HttpContinue:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.ServerConnection].isContinueResponseSupported()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
    - '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpContinue:83,1
    - Dst: header.equalsIgnoreCase(String)
      Src: io.undertow.server.protocol.http.HttpContinue:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - requestHeaders
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 4
    functionsReached:
    - header.equalsIgnoreCase(String)
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.server.protocol.http.HttpContinue:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.protocol.http.HttpContinue].isContinueResponseSent(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpContinue].isContinueResponseSent(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
      Src: io.undertow.server.protocol.http.HttpContinue:105,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].cannotSendContinueResponse()'
      Src: io.undertow.server.protocol.http.HttpContinue:106,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,null,io.undertow.server.protocol.http.HttpContinue)'
      Src: io.undertow.server.protocol.http.HttpContinue:106,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].internalSendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
      Src: io.undertow.server.protocol.http.HttpContinue:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - callback
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.protocol.http.HttpContinue].sendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
    - '[io.undertow.server.protocol.http.HttpContinue].internalSendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    - '[io.undertow.server.protocol.http.HttpContinue].cannotSendContinueResponse()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,null,io.undertow.server.protocol.http.HttpContinue)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpContinue].sendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
      Src: io.undertow.server.protocol.http.HttpContinue:119,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].cannotSendContinueResponse()'
      Src: io.undertow.server.protocol.http.HttpContinue:120,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.server.protocol.http.HttpContinue:122,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].<init>()'
      Src: io.undertow.server.protocol.http.HttpContinue:124,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpContinue:142,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpContinue:142,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpContinue:143,1
    - Dst: '[io.undertow.server.ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpContinue:143,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpContinue:144,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.protocol.http.HttpContinue:145,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.protocol.http.HttpContinue:145,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
      Src: io.undertow.server.protocol.http.HttpContinue:145,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http.HttpContinue:146,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpContinue:147,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http.HttpContinue:149,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.server.protocol.http.HttpContinue:151,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].<init>()'
      Src: io.undertow.server.protocol.http.HttpContinue:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ContinueResponseSender
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 174
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 174
    functionName: '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].<init>()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    - '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
    - '[io.undertow.server.protocol.http.HttpContinue].cannotSendContinueResponse()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: ContinueResponseSender
    signature: '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpContinue:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.protocol.http.HttpContinue].markContinueResponseSent(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpContinue].markContinueResponseSent(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
      Src: io.undertow.server.protocol.http.HttpContinue:192,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].cannotSendContinueResponse()'
      Src: io.undertow.server.protocol.http.HttpContinue:193,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.server.protocol.http.HttpContinue:195,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpContinue:198,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpContinue:198,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpContinue:199,1
    - Dst: '[io.undertow.server.ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpContinue:199,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpContinue:200,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.protocol.http.HttpContinue:201,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.protocol.http.HttpContinue:201,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
      Src: io.undertow.server.protocol.http.HttpContinue:201,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http.HttpContinue:202,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpContinue:203,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http.HttpContinue:205,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http.HttpContinue:207,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,int)'
      Src: io.undertow.server.protocol.http.HttpContinue:207,1
    - Dst: '[io.undertow.server.HttpServerExchange].startBlocking()'
      Src: io.undertow.server.protocol.http.HttpContinue:208,1
    - Dst: '[io.undertow.server.HttpServerExchange].getOutputStream()'
      Src: io.undertow.server.protocol.http.HttpContinue:209,1
    - Dst: '[java.io.OutputStream].close()'
      Src: io.undertow.server.protocol.http.HttpContinue:209,1
    - Dst: '[io.undertow.server.HttpServerExchange].getInputStream()'
      Src: io.undertow.server.protocol.http.HttpContinue:210,1
    - Dst: '[java.io.InputStream].close()'
      Src: io.undertow.server.protocol.http.HttpContinue:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: '[io.undertow.server.protocol.http.HttpContinue].sendContinueResponseBlocking(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].startBlocking()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
    - '[io.undertow.server.protocol.http.HttpContinue].cannotSendContinueResponse()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,int)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    - '[io.undertow.server.ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
    - '[java.io.OutputStream].close()'
    - '[io.undertow.server.HttpServerExchange].getOutputStream()'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getInputStream()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.io.InputStream].close()'
    - '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpContinue].sendContinueResponseBlocking(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http.HttpContinue:219,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpContinue:220,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.protocol.http.HttpContinue:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 6
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.protocol.http.HttpContinue].rejectExchange(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpContinue].rejectExchange(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.server.protocol.http.HttpContinue:226,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,null)'
      Src: io.undertow.server.protocol.http.HttpContinue:227,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpContinue:230,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpContinue:230,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpContinue:231,1
    - Dst: '[io.undertow.server.ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpContinue:231,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpContinue:232,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.protocol.http.HttpContinue:233,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.protocol.http.HttpContinue:233,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
      Src: io.undertow.server.protocol.http.HttpContinue:233,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http.HttpContinue:234,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpContinue:235,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http.HttpContinue:237,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.server.protocol.http.HttpContinue:239,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.server.protocol.http.HttpContinue:241,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.server.protocol.http.HttpContinue:242,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.server.protocol.http.HttpContinue:243,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpContinue:244,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.server.protocol.http.HttpContinue:255,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.server.protocol.http.HttpContinue:243,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].set(io.undertow.server.protocol.http.HttpContinue)'
      Src: io.undertow.server.protocol.http.HttpContinue:243,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.server.protocol.http.HttpContinue:266,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch()'
      Src: io.undertow.server.protocol.http.HttpContinue:267,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,null)'
      Src: io.undertow.server.protocol.http.HttpContinue:269,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,null,io.undertow.server.protocol.http.HttpContinue)'
      Src: io.undertow.server.protocol.http.HttpContinue:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - callback
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 5
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: '[io.undertow.server.protocol.http.HttpContinue].internalSendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    - '[io.undertow.server.ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,null)'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,null,io.undertow.server.protocol.http.HttpContinue)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.protocol.http.HttpContinue].set(io.undertow.server.protocol.http.HttpContinue)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    - '[io.undertow.server.HttpServerExchange].dispatch()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpContinue].internalSendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.protocol.http.HttpContinue:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpContinue
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http.HttpContinue].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpContinue
    signature: '[io.undertow.server.protocol.http.HttpContinue].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpContinue.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender
    signature: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.HttpTransferEncoding
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpTransferEncoding
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:65,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:66,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:67,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:68,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:70,1
    - Dst: connection.getPipelineBuffer()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:72,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].setupPipelineBuffer(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:74,1
    - Dst: connection.getChannel()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:76,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:76,1
    - Dst: connection.getReadDataStreamSourceConduit()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:77,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].setConduit(io.undertow.server.protocol.http.HttpTransferEncoding)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:77,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].persistentConnection(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:79,1
    - Dst: connection.getExtraBytes()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:83,1
    - Dst: connection.getUndertowOptions()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:85,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:85,1
    - Dst: connection.getOriginalSinkConduit()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:86,1
    - Dst: connection.getByteBufferPool()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:86,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.protocol.http.HttpTransferEncoding)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:86,1
    - Dst: connection.setPipelineBuffer(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:87,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setupPipelineBuffer(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:88,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:91,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleRequestEncoding(io.undertow.server.HttpServerExchange,String,String,io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit,boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:93,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:96,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:98,1
    - Dst: connection.getExtraBytes()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:98,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].setReadListener(null)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:100,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].suspendReads()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 104
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].setupRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 1
    functionsReached:
    - connection.getExtraBytes()
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.protocol.http.HttpTransferEncoding)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].getSourceChannel()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
    - connection.getPipelineBuffer()
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].handleRequestEncoding(io.undertow.server.HttpServerExchange,String,String,io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit,boolean)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].persistentConnection(io.undertow.server.HttpServerExchange,String)'
    - connection.getOriginalSinkConduit()
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setupPipelineBuffer(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - connection.getUndertowOptions()
    - connection.getReadDataStreamSourceConduit()
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - connection.getChannel()
    - connection.setPipelineBuffer(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].setupPipelineBuffer(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].setReadListener(null)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].suspendReads()'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].setConduit(io.undertow.server.protocol.http.HttpTransferEncoding)'
    - connection.getByteBufferPool()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].setupRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:110,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:112,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:113,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:113,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:113,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].getConduit()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:114,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].chunkedDrainListener(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:114,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.HttpServerExchange,io.undertow.conduits.ConduitListener<io.undertow.conduits.ChunkedStreamSourceConduit>)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:114,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].setConduit(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:114,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:117,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:119,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:121,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:124,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:124,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:124,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].getConduit()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:125,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].fixedLengthStreamSourceConduitWrapper(long,io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:125,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].setConduit(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:125,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:129,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:135,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:137,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:137,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:138,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:138,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.protocol.http.HttpTransferEncoding)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:138,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setPipelineBuffer(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:139,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setupPipelineBuffer(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:140,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:144,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - exchange
    - transferEncodingHeader
    - contentLengthHeader
    - connection
    - pipeliningBuffer
    - persistentConnection
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - String
    - io.undertow.server.protocol.http.HttpServerConnection
    - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
    - boolean
    constantsTouched: []
    func_position:
      end: 151
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleRequestEncoding(io.undertow.server.HttpServerExchange,String,String,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.protocol.http.HttpTransferEncoding)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].getSourceChannel()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getUndertowOptions()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].getConduit()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].setupPipelineBuffer(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getOriginalSinkConduit()'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].setConduit(org.xnio.conduits.StreamSourceConduit)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].chunkedDrainListener(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].setConduit(io.undertow.conduits.ChunkedStreamSourceConduit)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].fixedLengthStreamSourceConduitWrapper(long,io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.HttpServerExchange)'
    - '[org.jboss.logging.Logger].trace(String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setPipelineBuffer(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getByteBufferPool()'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.server.HttpServerExchange,io.undertow.conduits.ConduitListener<io.undertow.conduits.ChunkedStreamSourceConduit>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleRequestEncoding(io.undertow.server.HttpServerExchange,String,String,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isHttp11()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:154,1
    - Dst: '[io.undertow.util.HttpString].equalToString(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:155,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHttp10()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:156,1
    - Dst: '[io.undertow.util.HttpString].equalToString(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:158,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - connectionHeader
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].persistentConnection(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 1
    functionsReached:
    - '[org.jboss.logging.Logger].trace(String)'
    - '[io.undertow.util.HttpString].equalToString(String)'
    - '[io.undertow.server.HttpServerExchange].isHttp10()'
    - '[io.undertow.server.HttpServerExchange].isHttp11()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].persistentConnection(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].fixedLengthDrainListener(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:168,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,long,io.undertow.conduits.ConduitListener<io.undertow.conduits.FixedLengthStreamSourceConduit>,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSourceConduit
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - contentLength
    - conduit
    - exchange
    argTypes:
    - long
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].fixedLengthStreamSourceConduitWrapper(long,org.xnio.conduits.StreamSourceConduit,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,long,io.undertow.conduits.ConduitListener<io.undertow.conduits.FixedLengthStreamSourceConduit>,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].fixedLengthDrainListener(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSourceConduit
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].fixedLengthStreamSourceConduitWrapper(long,org.xnio.conduits.StreamSourceConduit,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.ConduitListener<io.undertow.conduits.FixedLengthStreamSourceConduit>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].fixedLengthDrainListener(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.ConduitListener].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.ConduitListener<io.undertow.conduits.FixedLengthStreamSourceConduit>
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].fixedLengthDrainListener(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.ConduitListener<io.undertow.conduits.ChunkedStreamSourceConduit>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].chunkedDrainListener(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.ConduitListener].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.ConduitListener<io.undertow.conduits.ChunkedStreamSourceConduit>
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].chunkedDrainListener(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].terminateResponseListener(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.conduits.ConduitListener].<init>()'
    linkageType: ''
    returnType: io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].terminateResponseListener(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.DateUtils].addDateHeaderIfRequired(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:205,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:207,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:207,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:208,1
    - Dst: serverConnection.getResponseConduit()
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:210,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].reset(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:211,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].terminateResponseListener(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:217,1
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:217,1
    - Dst: '[io.undertow.server.Connectors].isEntityBodyAllowed(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:218,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:220,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:220,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:221,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:221,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].terminateResponseListener(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:222,1
    - Dst: '[io.undertow.conduits.HeadStreamSinkConduit].<init>(io.undertow.conduits.HeadStreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:222,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:226,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:228,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:229,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:232,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:234,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:235,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:235,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:236,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:237,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:237,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:238,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:240,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:240,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:240,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:241,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:241,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:244,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:246,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleFixedLength(io.undertow.server.HttpServerExchange,boolean,io.undertow.conduits.HeadStreamSinkConduit,io.undertow.util.HeaderMap,String,io.undertow.server.protocol.http.HttpTransferEncoding)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:248,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:254,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].terminateResponseListener(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:256,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleResponseConduit(io.undertow.server.HttpServerExchange,boolean,io.undertow.conduits.HeadStreamSinkConduit,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:256,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 257
      start: 204
    functionDepth: 6
    functionLinenumber: 204
    functionLinenumberEnd: 257
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].createSinkConduit(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].tryFromString(String)'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].handleFixedLength(io.undertow.server.HttpServerExchange,boolean,io.undertow.conduits.HeadStreamSinkConduit,io.undertow.util.HeaderMap,String,io.undertow.server.protocol.http.HttpTransferEncoding)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - serverConnection.getResponseConduit()
    - '[io.undertow.conduits.HeadStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpTransferEncoding,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].terminateResponseListener(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].reset(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.conduits.HeadStreamSinkConduit].<init>(io.undertow.conduits.HeadStreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
    - '[io.undertow.server.Connectors].isEntityBodyAllowed(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.DateUtils].addDateHeaderIfRequired(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].handleResponseConduit(io.undertow.server.HttpServerExchange,boolean,io.undertow.conduits.HeadStreamSinkConduit,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,String)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].createSinkConduit(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:261,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getFixedLengthStreamSinkConduit()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:266,1
    - Dst: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].reset(long,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:267,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.server.protocol.http.HttpServerConnection
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - exchange
    - headRequest
    - channel
    - responseHeaders
    - contentLengthHeader
    - connection
    argTypes:
    - io.undertow.server.HttpServerExchange
    - boolean
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.util.HeaderMap
    - String
    - io.undertow.server.protocol.http.HttpServerConnection
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleFixedLength(io.undertow.server.HttpServerExchange,boolean,org.xnio.conduits.StreamSinkConduit,io.undertow.util.HeaderMap,String,io.undertow.server.protocol.http.HttpServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getFixedLengthStreamSinkConduit()'
    - '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].reset(long,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleFixedLength(io.undertow.server.HttpServerExchange,boolean,org.xnio.conduits.StreamSinkConduit,io.undertow.util.HeaderMap,String,io.undertow.server.protocol.http.HttpServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isHttp11()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:279,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:280,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:281,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:281,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:286,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:286,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:286,1
    - Dst: '[io.undertow.conduits.FinishableStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:291,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:294,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:295,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:295,1
    - Dst: '[io.undertow.conduits.FinishableStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:299,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleExplicitTransferEncoding(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.util.HeaderMap,String,boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:304,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - boolean
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.util.HeaderMap
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - exchange
    - headRequest
    - channel
    - responseHeaders
    - finishListener
    - transferEncodingHeader
    argTypes:
    - io.undertow.server.HttpServerExchange
    - boolean
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.util.HeaderMap
    - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
    - String
    constantsTouched: []
    func_position:
      end: 306
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 306
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleResponseConduit(io.undertow.server.HttpServerExchange,boolean,org.xnio.conduits.StreamSinkConduit,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.conduits.FinishableStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].handleExplicitTransferEncoding(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.util.HeaderMap,String,boolean)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].isHttp11()'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleResponseConduit(io.undertow.server.HttpServerExchange,boolean,org.xnio.conduits.StreamSinkConduit,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:309,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:310,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:314,1
    - Dst: '[io.undertow.conduits.PreChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:316,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:318,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:318,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:318,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:325,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:327,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:328,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:328,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].terminateResponseListener(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:329,1
    - Dst: '[io.undertow.conduits.FinishableStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.util.HeaderMap
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - exchange
    - channel
    - finishListener
    - responseHeaders
    - transferEncodingHeader
    - headRequest
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.util.HeaderMap
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 331
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 331
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleExplicitTransferEncoding(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.util.HeaderMap,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].terminateResponseListener(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.conduits.FinishableStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>)'
    - '[io.undertow.conduits.PreChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<Boolean>)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[org.jboss.logging.Logger].trace(String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].handleExplicitTransferEncoding(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.util.HeaderMap,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:341,1
    - Dst: '[NumberFormatException].<init>(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:344,1
    - Dst: '[String].charAt(io.undertow.server.protocol.http.HttpTransferEncoding)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:349,1
    - Dst: '[NumberFormatException].<init>(String)'
      Src: io.undertow.server.protocol.http.HttpTransferEncoding:352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 359
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 359
    functionName: '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpTransferEncoding.java
    functionUses: 5
    functionsReached:
    - '[NumberFormatException].<init>(String)'
    - '[String].length()'
    - '[String].charAt(io.undertow.server.protocol.http.HttpTransferEncoding)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.HttpTransferEncoding].parsePositiveLong(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.HttpResponseConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - pool
    - connection
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.connector.ByteBufferPool
    - io.undertow.server.protocol.http.HttpServerConnection
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http.HttpServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpResponseConduit
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http.HttpServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.HttpResponseConduit
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - pool
    - connection
    - exchange
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.connector.ByteBufferPool
    - io.undertow.server.protocol.http.HttpServerConnection
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpResponseConduit
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].reset(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].reset(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:130,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:137,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:142,1
    - Dst: next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,int)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:150,1
    - Dst: System.arraycopy(Object,int,io.undertow.server.protocol.http.HttpResponseConduit,int,int)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:157,1
    - Dst: next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,int)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:158,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:165,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].processStatefulWrite(int,Object,int,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:168,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:173,1
    - Dst: '[io.undertow.server.Connectors].flattenCookies(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:175,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:178,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:180,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:184,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:186,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:187,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:188,1
    - Dst: protocol.length()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:191,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:191,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:192,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].truncateWrites()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:194,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].protocolTooLargeForBuffer(String)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:195,1
    - Dst: protocol.appendTo(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:197,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:199,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:200,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:202,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:203,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:204,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:205,1
    - Dst: '[io.undertow.server.HttpServerExchange].getReasonPhrase()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:207,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:209,1
    - Dst: '[String].length()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:211,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:211,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:212,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].truncateWrites()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:214,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].reasonPhraseToLargeForBuffer(String)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:215,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].writeString(java.nio.ByteBuffer,String)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:217,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:218,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:218,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:220,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:221,1
    - Dst: '[io.undertow.util.HeaderMap].fastIterateNonEmpty()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:222,1
    - Dst: '[io.undertow.util.HeaderMap].fiCurrent(long)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:224,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:226,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:227,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:229,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:239,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].processStatefulWrite(int,Object,int,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:240,1
    - Dst: '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:242,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:243,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:243,1
    - Dst: '[io.undertow.util.HeaderValues].get()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:244,1
    - Dst: '[String].length()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:246,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:254,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].processStatefulWrite(int,Object,int,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:255,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].writeString(java.nio.ByteBuffer,String)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:257,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:258,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:258,1
    - Dst: '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:260,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:262,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:262,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:263,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:271,1
    - Dst: next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,io.undertow.server.protocol.http.HttpResponseConduit)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:283,1
    - Dst: System.arraycopy(Object,int,io.undertow.server.protocol.http.HttpResponseConduit,io.undertow.server.protocol.http.HttpResponseConduit,int)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:293,1
    - Dst: next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,io.undertow.server.protocol.http.HttpResponseConduit)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:294,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:301,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:306,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 199
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - Object
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - state
    - userData
    - pos
    - length
    argTypes:
    - int
    - Object
    - int
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 310
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].processWrite(int,Object,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - protocol.length()
    - '[io.undertow.util.HttpString].length()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].reasonPhraseToLargeForBuffer(String)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].processStatefulWrite(int,Object,int,int)'
    - protocol.appendTo(java.nio.ByteBuffer)
    - System.arraycopy(Object,int,io.undertow.server.protocol.http.HttpResponseConduit,int,int)
    - '[io.undertow.util.StatusCodes].getReason(int)'
    - '[io.undertow.util.HeaderMap].fiCurrent(long)'
    - '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.util.HeaderMap].fastIterateNonEmpty()'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].put(byte)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[String].length()'
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.util.HeaderValues].get()'
    - '[String].isEmpty()'
    - '[io.undertow.server.Connectors].flattenCookies(io.undertow.server.HttpServerExchange)'
    - System.arraycopy(Object,int,io.undertow.server.protocol.http.HttpResponseConduit,io.undertow.server.protocol.http.HttpResponseConduit,int)
    - next.write(java.nio.ByteBuffer)
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.server.HttpServerExchange].getReasonPhrase()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].truncateWrites()'
    - '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
    - '[io.undertow.util.HeaderValues].getHeaderName()'
    - next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,io.undertow.server.protocol.http.HttpResponseConduit)
    - '[io.undertow.server.protocol.http.HttpResponseConduit].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].flip()'
    - next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,int)
    - '[io.undertow.server.protocol.http.HttpResponseConduit].writeString(java.nio.ByteBuffer,String)'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].protocolTooLargeForBuffer(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].processWrite(int,Object,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:316,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:317,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].isOpen()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:317,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:317,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:319,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:319,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].isOpen()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].freeContinueResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].freeContinueResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:335,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:337,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.server.protocol.http.HttpResponseConduit)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:340,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - string
    argTypes:
    - java.nio.ByteBuffer
    - String
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].writeString(java.nio.ByteBuffer,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 1
    functionsReached:
    - '[String].charAt(int)'
    - '[String].length()'
    - '[java.nio.ByteBuffer].put(io.undertow.server.protocol.http.HttpResponseConduit)'
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].writeString(java.nio.ByteBuffer,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:352,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:361,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:363,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:367,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:369,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:370,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:375,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:376,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:378,1
    - Dst: '[io.undertow.util.HttpString].byteAt()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:379,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:379,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:381,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:383,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:392,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:393,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:399,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:400,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:402,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:411,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:412,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:414,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:418,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:419,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:421,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:430,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:431,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:433,1
    - Dst: '[io.undertow.util.HeaderValues].get()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:434,1
    - Dst: '[String].length()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:439,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:441,1
    - Dst: '[String].charAt()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:442,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:442,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:444,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:446,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:455,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:456,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:460,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:461,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:462,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:465,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:466,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:467,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:470,1
    - Dst: '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:471,1
    - Dst: '[io.undertow.util.HeaderMap].fiCurrent(long)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:472,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:477,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:478,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:481,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:482,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:483,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:486,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:490,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:494,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:498,1
    - Dst: next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,io.undertow.server.protocol.http.HttpResponseConduit)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:502,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:503,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:506,1
    - Dst: System.arraycopy(Object,int,io.undertow.server.protocol.http.HttpResponseConduit,int,int)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:510,1
    - Dst: next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,io.undertow.server.protocol.http.HttpResponseConduit)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:512,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:513,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:516,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:518,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:527,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:528,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:531,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:534,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:535,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:538,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:539,1
    - Dst: '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:542,1
    - Dst: '[io.undertow.util.HeaderMap].fiCurrent(long)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:543,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:551,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:552,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:555,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:559,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:560,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:563,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:567,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:571,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:575,1
    - Dst: next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,io.undertow.server.protocol.http.HttpResponseConduit)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:579,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:580,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:583,1
    - Dst: System.arraycopy(Object,int,io.undertow.server.protocol.http.HttpResponseConduit,int,int)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:587,1
    - Dst: next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,io.undertow.server.protocol.http.HttpResponseConduit)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:589,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:590,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:593,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:599,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:603,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 198
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - Object
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - state
    - userData
    - pos
    - len
    argTypes:
    - int
    - Object
    - int
    - int
    constantsTouched: []
    func_position:
      end: 607
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 607
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].processStatefulWrite(int,Object,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].length()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.util.HeaderMap].fiCurrent(long)'
    - System.arraycopy(Object,int,io.undertow.server.protocol.http.HttpResponseConduit,int,int)
    - '[java.nio.ByteBuffer].put(byte)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[String].length()'
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.util.HeaderValues].get()'
    - next.write(java.nio.ByteBuffer)
    - '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
    - '[io.undertow.util.HeaderValues].getHeaderName()'
    - next.write(io.undertow.server.protocol.http.HttpResponseConduit,int,io.undertow.server.protocol.http.HttpResponseConduit)
    - '[io.undertow.util.HttpString].byteAt()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
    - '[IllegalStateException].<init>()'
    - '[String].charAt()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].processStatefulWrite(int,Object,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:611,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:613,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:622,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - String
      - io.undertow.util.HeaderValues
      - int
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - buffer
    - string
    - headerValues
    - charIndex
    - fiCookie
    - valueIdx
    argTypes:
    - java.nio.ByteBuffer
    - String
    - io.undertow.util.HeaderValues
    - int
    - long
    - int
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].flip()'
    - next.write(java.nio.ByteBuffer)
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].flushHeaderBuffer(java.nio.ByteBuffer,String,io.undertow.util.HeaderValues,int,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:635,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].processWrite(int,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:636,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:640,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].allAreSet(io.undertow.server.protocol.http.HttpResponseConduit,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:641,1
    - Dst: next.terminateWrites()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:642,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:643,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:647,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:654,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 657
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 657
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpResponseConduit].allAreSet(io.undertow.server.protocol.http.HttpResponseConduit,int)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.nio.ByteBuffer].remaining()'
    - next.write(java.nio.ByteBuffer)
    - '[io.undertow.server.protocol.http.HttpResponseConduit].processWrite(int,java.nio.ByteBuffer)'
    - next.terminateWrites()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].write(ByteBuffer[],int,io.undertow.server.protocol.http.HttpResponseConduit)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 661
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 661
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpResponseConduit].write(ByteBuffer[],int,io.undertow.server.protocol.http.HttpResponseConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:671,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].processWrite(int,ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:672,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:674,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].allAreSet(io.undertow.server.protocol.http.HttpResponseConduit,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:678,1
    - Dst: next.terminateWrites()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:679,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:680,1
    - Dst: next.write()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:685,1
    - Dst: next.write(ByteBuffer[],int,int)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:685,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:687,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 692
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 692
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - next.write()
    - '[io.undertow.server.protocol.http.HttpResponseConduit].allAreSet(io.undertow.server.protocol.http.HttpResponseConduit,int)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.Buffers].remaining(ByteBuffer[],int,int)'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].processWrite(int,ByteBuffer[],int,int)'
    - next.write(ByteBuffer[],int,int)
    - next.terminateWrites()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:698,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:698,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:701,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:707,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:707,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:708,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:714,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:714,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:714,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:716,1
    - Dst: '[java.nio.channels.FileChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:718,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:719,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:723,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:725,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:728,1
    - Dst: next.transferFrom(java.nio.channels.FileChannel,long,long)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:733,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:736,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 739
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 739
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - next.transferFrom(java.nio.channels.FileChannel,long,long)
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.nio.channels.FileChannel].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:744,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:744,1
    - Dst: next.transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.http.HttpResponseConduit:746,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 752
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 752
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - next.transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:757,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 762
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 762
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:767,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 772
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 772
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].processWrite(int,null)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:779,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].allAreSet(io.undertow.server.protocol.http.HttpResponseConduit,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:783,1
    - Dst: next.terminateWrites()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:784,1
    - Dst: next.flush()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:788,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:790,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 795
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 795
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpResponseConduit].allAreSet(io.undertow.server.protocol.http.HttpResponseConduit,int)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    - next.flush()
    - next.terminateWrites()
    - '[io.undertow.server.protocol.http.HttpResponseConduit].processWrite(int,null)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].allAreClear(io.undertow.server.protocol.http.HttpResponseConduit,int)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:801,1
    - Dst: next.terminateWrites()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:802,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpResponseConduit].allAreClear(io.undertow.server.protocol.http.HttpResponseConduit,int)'
    - next.terminateWrites()
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.truncateWrites()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:814,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:816,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:820,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 827
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 827
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - next.truncateWrites()
    - '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.getWorker()
      Src: io.undertow.server.protocol.http.HttpResponseConduit:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - next.getWorker()
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:836,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpResponseConduit:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.protocol.http.HttpServerConnection
      - int
      - long
      - String
      - io.undertow.util.HeaderValues
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.server.HttpServerExchange
      - ByteBuffer[]
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 842
    functionName: '[io.undertow.server.protocol.http.HttpResponseConduit].freeBuffers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].bufferDone()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpResponseConduit].freeBuffers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].isIncompleteHeader(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 2
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].isIncompleteHeader(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:56,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].isIncompleteHeader(io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:59,1
    - Dst: '[java.nio.BufferUnderflowException].<init>()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:60,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:63,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:64,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:65,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreTLSRecord(io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer,io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer,io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer,io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<Integer>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].parseClientHello(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].isIncompleteHeader(io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer)'
    - '[java.nio.BufferUnderflowException].<init>()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].get()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreTLSRecord(io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer,io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer,io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer,io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer)'
    linkageType: ''
    returnType: java.util.List<Integer>
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].parseClientHello(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].notHandshakeRecord()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:103,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:107,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:108,1
    - Dst: '[java.nio.BufferUnderflowException].<init>()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:109,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreHandshake(java.nio.ByteBuffer,byte,byte,int)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:114,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].invalidHandshakeRecord()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - byte
      - byte
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<Integer>
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - input
    - firstByte
    - secondByte
    - thirdByte
    argTypes:
    - java.nio.ByteBuffer
    - byte
    - byte
    - byte
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreTLSRecord(java.nio.ByteBuffer,byte,byte,byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].invalidHandshakeRecord()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].notHandshakeRecord()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.BufferUnderflowException].<init>()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreHandshake(java.nio.ByteBuffer,byte,byte,int)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: java.util.List<Integer>
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreTLSRecord(java.nio.ByteBuffer,byte,byte,byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:153,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].expectedClientHello()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:155,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt24(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:159,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].multiRecordSSLHandshake()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:164,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:167,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].position()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:168,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].limit(io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:168,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreRecord(io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - byte
      - byte
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<Integer>
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - input
    - recordMajorVersion
    - recordMinorVersion
    - recordLength
    argTypes:
    - java.nio.ByteBuffer
    - byte
    - byte
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreHandshake(java.nio.ByteBuffer,byte,byte,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt24(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreRecord(io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].multiRecordSSLHandshake()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].expectedClientHello()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].position()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].limit(io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer)'
    linkageType: ''
    returnType: java.util.List<Integer>
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreHandshake(java.nio.ByteBuffer,byte,byte,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:202,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:203,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:212,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector8(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:216,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:220,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:221,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:223,1
    - Dst: '[java.util.ArrayList].add(int)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:223,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector8(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:228,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:229,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreExtensions(java.nio.ByteBuffer,java.util.ArrayList)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<Integer>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 233
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreRecord(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreExtensions(java.nio.ByteBuffer,java.util.ArrayList)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector8(java.nio.ByteBuffer)'
    - '[java.util.ArrayList].add(int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.util.ArrayList].<init>()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: java.util.List<Integer>
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreRecord(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:249,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:251,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:252,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector(java.nio.ByteBuffer,int)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.util.List<Integer>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<Integer>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - input
    - ciphers
    argTypes:
    - java.nio.ByteBuffer
    - java.util.List<Integer>
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreExtensions(java.nio.ByteBuffer,java.util.List<Integer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector(java.nio.ByteBuffer,int)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: java.util.List<Integer>
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].exploreExtensions(java.nio.ByteBuffer,java.util.List<Integer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt8(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt8(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:269,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 3
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt16(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:273,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:273,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt24(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt24(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt8(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:278,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector(java.nio.ByteBuffer,int)'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector8(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector(java.nio.ByteBuffer,int)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].getInt8(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector8(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNOfferedClientHelloExplorer.java
    functionUses: 2
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].processByteVector(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.protocol.http.HttpAttachments:37,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.protocol.http.HttpAttachments:49,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.protocol.http.HttpAttachments:62,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.protocol.http.HttpAttachments:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>
      - io.undertow.util.AttachmentKey<java.util.function.Supplier<io.undertow.util.HeaderMap>>
      - io.undertow.util.AttachmentKey<Boolean>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpAttachments
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http.HttpAttachments].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpAttachments.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpAttachments
    signature: '[io.undertow.server.protocol.http.HttpAttachments].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.server.protocol.http.ALPNLimitingSSLEngine,io.undertow.server.protocol.http.ALPNLimitingSSLEngine,int,int)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.ALPNLimitingSSLEngine
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - delegate
    - invalidAlpnRunnable
    argTypes:
    - javax.net.ssl.SSLEngine
    - Runnable
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].<init>(javax.net.ssl.SSLEngine,Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.server.protocol.http.ALPNLimitingSSLEngine,io.undertow.server.protocol.http.ALPNLimitingSSLEngine,int,int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.ALPNLimitingSSLEngine
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].<init>(javax.net.ssl.SSLEngine,Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getPeerHost()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getPeerHost()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getPeerHost()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getPeerHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getPeerPort()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getPeerPort()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getPeerPort()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getPeerPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - java.nio.ByteBuffer
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].wrap(ByteBuffer[],int,io.undertow.server.protocol.http.ALPNLimitingSSLEngine,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - srcs
    - dst
    argTypes:
    - ByteBuffer[]
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].wrap(ByteBuffer[],java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].wrap(ByteBuffer[],int,io.undertow.server.protocol.http.ALPNLimitingSSLEngine,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].wrap(ByteBuffer[],java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:75,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].isIncompleteHeader(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:77,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].parseClientHello(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:81,1
    - Dst: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].limitCiphers(java.util.List<Integer>)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:83,1
    - Dst: '[javax.net.ssl.SSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - java.nio.ByteBuffer
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].limitCiphers(java.util.List<Integer>)'
    - '[javax.net.ssl.SSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].isIncompleteHeader(java.nio.ByteBuffer)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].parseClientHello(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].run()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:102,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:104,1
    - Dst: '[javax.net.ssl.SSLEngine].getEnabledCipherSuites()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:105,1
    - Dst: '[io.undertow.server.protocol.http.ALPNBannedCiphers].isAllowed(io.undertow.server.protocol.http.ALPNLimitingSSLEngine)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:106,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.protocol.http.ALPNLimitingSSLEngine)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:107,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:110,1
    - Dst: '[javax.net.ssl.SSLEngine].setEnabledCipherSuites(io.undertow.server.protocol.http.ALPNLimitingSSLEngine)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<Integer>
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - clientCiphers
    argTypes:
    - java.util.List<Integer>
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].limitCiphers(java.util.List<Integer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNBannedCiphers].isAllowed(io.undertow.server.protocol.http.ALPNLimitingSSLEngine)'
    - '[javax.net.ssl.SSLEngine].setEnabledCipherSuites(io.undertow.server.protocol.http.ALPNLimitingSSLEngine)'
    - '[java.util.ArrayList].toArray()'
    - '[java.util.ArrayList].add(io.undertow.server.protocol.http.ALPNLimitingSSLEngine)'
    - '[javax.net.ssl.SSLEngine].getEnabledCipherSuites()'
    - '[java.util.ArrayList].<init>()'
    - '[Runnable].run()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].limitCiphers(java.util.List<Integer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,io.undertow.server.protocol.http.ALPNLimitingSSLEngine)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - src
    - dsts
    argTypes:
    - java.nio.ByteBuffer
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,io.undertow.server.protocol.http.ALPNLimitingSSLEngine)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getHandshakeSession()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getHandshakeSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getHandshakeSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getHandshakeSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getSSLParameters()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLParameters
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getSSLParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getSSLParameters()'
    linkageType: ''
    returnType: javax.net.ssl.SSLParameters
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getSSLParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].setSSLParameters(javax.net.ssl.SSLParameters)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLParameters
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - sslParameters
    argTypes:
    - javax.net.ssl.SSLParameters
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setSSLParameters(javax.net.ssl.SSLParameters)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].setSSLParameters(javax.net.ssl.SSLParameters)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setSSLParameters(javax.net.ssl.SSLParameters)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 4
    argNames:
    - srcs
    - 'off'
    - len
    - dst
    argTypes:
    - ByteBuffer[]
    - int
    - int
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:142,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].isIncompleteHeader(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:145,1
    - Dst: '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].parseClientHello(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:149,1
    - Dst: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].limitCiphers(java.util.List<Integer>)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:151,1
    - Dst: '[javax.net.ssl.SSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 4
    argNames:
    - byteBuffer
    - byteBuffers
    - i
    - i1
    argTypes:
    - java.nio.ByteBuffer
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].limitCiphers(java.util.List<Integer>)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].parseClientHello(java.nio.ByteBuffer)'
    - '[io.undertow.server.protocol.http.ALPNOfferedClientHelloExplorer].isIncompleteHeader(java.nio.ByteBuffer)'
    - '[javax.net.ssl.SSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getDelegatedTask()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Runnable
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getDelegatedTask()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getDelegatedTask()'
    linkageType: ''
    returnType: Runnable
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getDelegatedTask()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].closeInbound()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].closeInbound()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].closeInbound()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].closeInbound()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].isInboundDone()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].isInboundDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].isInboundDone()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].isInboundDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].closeOutbound()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].closeOutbound()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].closeOutbound()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].closeOutbound()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].isOutboundDone()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].isOutboundDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].isOutboundDone()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].isOutboundDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getSupportedCipherSuites()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getSupportedCipherSuites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getSupportedCipherSuites()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getSupportedCipherSuites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getEnabledCipherSuites()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getEnabledCipherSuites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getEnabledCipherSuites()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getEnabledCipherSuites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].setEnabledCipherSuites(String[])'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - strings
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setEnabledCipherSuites(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].setEnabledCipherSuites(String[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setEnabledCipherSuites(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getSupportedProtocols()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getSupportedProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getSupportedProtocols()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getSupportedProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getEnabledProtocols()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getEnabledProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getEnabledProtocols()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getEnabledProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].setEnabledProtocols(String[])'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - strings
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setEnabledProtocols(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].setEnabledProtocols(String[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setEnabledProtocols(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getSession()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].beginHandshake()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].beginHandshake()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].beginHandshake()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].beginHandshake()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getHandshakeStatus()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SSLEngineResult.HandshakeStatus
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getHandshakeStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getHandshakeStatus()'
    linkageType: ''
    returnType: SSLEngineResult.HandshakeStatus
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getHandshakeStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - b
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setUseClientMode(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setUseClientMode(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getUseClientMode()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getUseClientMode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getUseClientMode()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getUseClientMode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].setNeedClientAuth(boolean)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - b
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setNeedClientAuth(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].setNeedClientAuth(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setNeedClientAuth(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getNeedClientAuth()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getNeedClientAuth()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getNeedClientAuth()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getNeedClientAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].setWantClientAuth(boolean)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - b
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setWantClientAuth(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].setWantClientAuth(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setWantClientAuth(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getWantClientAuth()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getWantClientAuth()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getWantClientAuth()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getWantClientAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].setEnableSessionCreation(boolean)'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - b
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setEnableSessionCreation(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].setEnableSessionCreation(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].setEnableSessionCreation(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getEnableSessionCreation()'
      Src: io.undertow.server.protocol.http.ALPNLimitingSSLEngine:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngine
      - Runnable
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getEnableSessionCreation()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNLimitingSSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getEnableSessionCreation()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNLimitingSSLEngine].getEnableSessionCreation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,int,boolean,boolean)'
      Src: io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      static: false
      superClass: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
    argCount: 3
    argNames:
    - next
    - configurable
    - propagateClose
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,int,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
    signature: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].reset(long)'
      Src: io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
    argCount: 2
    argNames:
    - contentLength
    - exchange
    argTypes:
    - long
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].reset(long,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].reset(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].reset(long,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].channelFinished()'
      Src: io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].clearExchange()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].channelFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].clearExchange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.Connectors].terminateResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].channelFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.Connectors].terminateResponse(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].channelFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(int,float,boolean)'
      Src: io.undertow.server.protocol.http.CacheMap:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - float
      - long
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.CacheMap
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.protocol.http.CacheMap].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/CacheMap.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(int,float,boolean)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.CacheMap
    signature: '[io.undertow.server.protocol.http.CacheMap].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.CacheMap].size()'
      Src: io.undertow.server.protocol.http.CacheMap:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Map.Entry<K,V>
      classConcrete: true
      classEnum: false
      classFields:
      - float
      - long
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - eldest
    argTypes:
    - Map.Entry<K,V>
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.protocol.http.CacheMap].removeEldestEntry(Map.Entry<K,V>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/CacheMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.CacheMap].size()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.CacheMap].removeEldestEntry(Map.Entry<K,V>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:72,1
    - Dst: '[io.undertow.server.ConnectionSSLSessionInfo].<init>()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:74,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:76,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getConduit()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:76,1
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].<init>(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:76,1
    - Dst: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpResponseConduit,boolean,boolean)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:78,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:79,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getConduit()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:79,1
    - Dst: '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:79,1
    - Dst: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:81,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].addCloseListener(io.undertow.server.ServerConnection.CloseListener)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - int
      - io.undertow.server.ConnectorStatisticsImpl
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpServerConnection
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 6
    argNames:
    - channel
    - bufferPool
    - rootHandler
    - undertowOptions
    - bufferSize
    - connectorStatistics
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - io.undertow.server.HttpHandler
    - org.xnio.OptionMap
    - int
    - io.undertow.server.ConnectorStatisticsImpl
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int,io.undertow.server.ConnectorStatisticsImpl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    - '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.ConnectionSSLSessionInfo].<init>()'
    - '[io.undertow.server.protocol.http.HttpResponseConduit].<init>(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getConduit()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].addCloseListener(io.undertow.server.ServerConnection.CloseListener)'
    - '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpResponseConduit,boolean,boolean)'
    - '[io.undertow.server.AbstractServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpServerConnection
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int,io.undertow.server.ConnectorStatisticsImpl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:94,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].outOfBandResponseOnlyAllowedFor100Continue()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:95,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].resetChannel()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:97,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:98,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:99,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:99,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:100,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:100,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:100,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.util.HeaderValues)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:100,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:102,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:102,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:103,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:103,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:104,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:104,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String,boolean)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:104,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:105,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:105,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:106,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:106,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:107,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:107,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:107,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:108,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,int)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:108,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:109,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:111,1
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:112,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:112,1
    - Dst: channel.getSourceChannel()
      Src: io.undertow.server.protocol.http.HttpServerConnection:131,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].source(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:131,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setConduit(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:131,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:132,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 139
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,int)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].resetChannel()'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(String,boolean)'
    - '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
    - channel.getSourceChannel()
    - '[io.undertow.server.protocol.http.HttpServerConnection].outOfBandResponseOnlyAllowedFor100Continue()'
    - '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.util.HeaderValues)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
    - '[io.undertow.server.HttpServerExchange].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].source(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setConduit(io.undertow.server.protocol.http.HttpServerConnection)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].isContinueResponseSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].isContinueResponseSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:148,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:149,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:149,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].terminateRequestChannel(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpServerConnection].getChannel()'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getSourceChannel()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http.HttpServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].terminateRequestChannel(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:160,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:161,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:163,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:164,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:165,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:167,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:167,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].remaining()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:167,1
    - Dst: '[java.nio.ByteBuffer].compact()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:169,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:170,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:171,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].close()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:172,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:173,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:176,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].remaining()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:176,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:177,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:178,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.server.protocol.http.HttpServerConnection,int,io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:178,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].remaining()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:179,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].get(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:179,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].close()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:180,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:181,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:182,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:183,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - unget
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].ungetRequestBytes(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpServerConnection].close()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.util.ImmediatePooledByteBuffer)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setExtraBytes(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getBuffer()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getExtraBytes()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].get(io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.HttpServerConnection,io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].remaining()'
    - '[java.nio.ByteBuffer].get(io.undertow.server.protocol.http.HttpServerConnection,int,io.undertow.server.protocol.http.HttpServerConnection)'
    - '[java.nio.ByteBuffer].put(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].flip()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[java.nio.ByteBuffer].compact()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].ungetRequestBytes(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.SSLSessionInfo
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getSslSessionInfo()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.SSLSessionInfo
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getSslSessionInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.SSLSessionInfo
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - sessionInfo
    argTypes:
    - io.undertow.server.SSLSessionInfo
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].setSslSessionInfo(io.undertow.server.SSLSessionInfo)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].setSslSessionInfo(io.undertow.server.SSLSessionInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.SslChannel].getSslSession()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getSslSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.SslChannel].getSslSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getSslSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].clearChannel()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:207,1
    - Dst: channel.getSourceChannel()
      Src: io.undertow.server.protocol.http.HttpServerConnection:209,1
    - Dst: channel.getSourceChannel()
      Src: io.undertow.server.protocol.http.HttpServerConnection:209,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getConduit()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:209,1
    - Dst: '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:209,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].setConduit(io.undertow.conduits.ReadDataStreamSourceConduit)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].upgradeChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached:
    - channel.getSourceChannel()
    - '[io.undertow.server.protocol.http.HttpServerConnection].getConduit()'
    - '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].clearChannel()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].setConduit(io.undertow.conduits.ReadDataStreamSourceConduit)'
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].upgradeChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:216,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:216,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:218,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:219,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:219,1
    - Dst: '[io.undertow.server.protocol.http.HttpTransferEncoding].createSinkConduit(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 2
    argNames:
    - exchange
    - conduit
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSinkConduit
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 7
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpTransferEncoding].createSinkConduit(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].isUpgradeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].isUpgradeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].isConnectSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].isConnectSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.http.HttpReadListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - readListener
    argTypes:
    - io.undertow.server.protocol.http.HttpReadListener
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].setReadListener(io.undertow.server.protocol.http.HttpReadListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].clearExchange()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:241,1
    - Dst: '[io.undertow.server.protocol.http.HttpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:244,1
    - Dst: '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].exchangeComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 6
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].exchangeComplete(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].clearExchange()'
    - '[io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit].exchangeComplete(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].exchangeComplete(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.HttpReadListener
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getReadListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpReadListener
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getReadListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.conduits.ReadDataStreamSourceConduit
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getReadDataStreamSourceConduit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.conduits.ReadDataStreamSourceConduit
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getReadDataStreamSourceConduit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getPipelineBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getPipelineBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.HttpResponseConduit
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getResponseConduit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.HttpResponseConduit
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getResponseConduit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getFixedLengthStreamSinkConduit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getFixedLengthStreamSinkConduit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpUpgradeListener
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getUpgradeListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpUpgradeListener
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getUpgradeListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - upgradeListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - connectListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].setCurrentExchange(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].setCurrentExchange(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpResponseConduit].<init>(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit,io.undertow.server.protocol.http.HttpServerConnection)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:291,1
    - Dst: '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpResponseConduit,boolean,boolean)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - pipelineBuffer
    argTypes:
    - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].setPipelineBuffer(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpResponseConduit].<init>(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit,io.undertow.server.protocol.http.HttpServerConnection)'
    - '[io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit].<init>(io.undertow.server.protocol.http.HttpResponseConduit,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].setPipelineBuffer(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].getTransportProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].getTransportProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: current.getRequestHeaders()
      Src: io.undertow.server.protocol.http.HttpServerConnection:306,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:306,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.HttpServerConnection:310,1
    - Dst: '[io.undertow.server.protocol.http.HttpServerConnection].equalsIgnoreCase(String)'
      Src: io.undertow.server.protocol.http.HttpServerConnection:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].isRequestTrailerFieldsSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 0
    functionsReached:
    - current.getRequestHeaders()
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.protocol.http.HttpServerConnection].equalsIgnoreCase(String)'
    - '[io.undertow.server.protocol.http.HttpServerConnection].getFirst(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].isRequestTrailerFieldsSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.protocol.http.HttpReadListener
      - io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
      - io.undertow.server.protocol.http.HttpResponseConduit
      - io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
      - io.undertow.conduits.ReadDataStreamSourceConduit
      - io.undertow.server.HttpUpgradeListener
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: '[io.undertow.server.protocol.http.HttpServerConnection].isConnectHandled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/HttpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.HttpServerConnection].isConnectHandled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.ALPNBannedCiphers.Key].<init>(byte,byte)'
      Src: io.undertow.server.protocol.http.ALPNBannedCiphers:663,1
    - Dst: '[java.util.Map<Key,String>].get(io.undertow.server.protocol.http.ALPNBannedCiphers.Key)'
      Src: io.undertow.server.protocol.http.ALPNBannedCiphers:663,1
    - Dst: '[java.util.Set<String>].contains(io.undertow.server.protocol.http.ALPNBannedCiphers)'
      Src: io.undertow.server.protocol.http.ALPNBannedCiphers:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,Key>
      - java.util.Map<Key,String>
      - java.util.Set<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - b1
    - b2
    argTypes:
    - byte
    - byte
    constantsTouched: []
    func_position:
      end: 669
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 669
    functionName: '[io.undertow.server.protocol.http.ALPNBannedCiphers].isAllowed(byte,byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNBannedCiphers.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<String>].contains(io.undertow.server.protocol.http.ALPNBannedCiphers)'
    - '[java.util.Map<Key,String>].get(io.undertow.server.protocol.http.ALPNBannedCiphers.Key)'
    - '[io.undertow.server.protocol.http.ALPNBannedCiphers.Key].<init>(byte,byte)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNBannedCiphers].isAllowed(byte,byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<String>].contains(String)'
      Src: io.undertow.server.protocol.http.ALPNBannedCiphers:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,Key>
      - java.util.Map<Key,String>
      - java.util.Set<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: '[io.undertow.server.protocol.http.ALPNBannedCiphers].isAllowed(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNBannedCiphers.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<String>].contains(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.ALPNBannedCiphers].isAllowed(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,Key>
      - java.util.Map<Key,String>
      - java.util.Set<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http.ALPNBannedCiphers
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.http.ALPNBannedCiphers].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNBannedCiphers.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.ALPNBannedCiphers
    signature: '[io.undertow.server.protocol.http.ALPNBannedCiphers].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.ALPNBannedCiphers.Key
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - b1
    - b2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.protocol.http.ALPNBannedCiphers.Key].<init>(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/ALPNBannedCiphers.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http.ALPNBannedCiphers.Key
    signature: '[io.undertow.server.protocol.http.ALPNBannedCiphers.Key].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.http.RequestParser:106,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.http.RequestParser:107,1
    - Dst: '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http.RequestParser:108,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.RequestParser:109,1
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.server.protocol.http.RequestParser:110,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:110,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http.RequestParser:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.RequestParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.protocol.http.RequestParser].<init>(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - StandardCharsets.UTF_8.name()
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>,io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.RequestParser
    signature: '[io.undertow.server.protocol.http.RequestParser].<init>(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestParser].<init>(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http.RequestParser:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http.RequestParser
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.protocol.http.RequestParser].instance(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].<init>(org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http.RequestParser
    signature: '[io.undertow.server.protocol.http.RequestParser].instance(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseMethod(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:119,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:120,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseRequestTarget(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:121,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseVersion(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:123,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:124,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].isComplete()'
      Src: io.undertow.server.protocol.http.RequestParser:124,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseFieldName(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:125,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseFieldValue(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.protocol.http.RequestParser].handle(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].parseMethod(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.RequestParser].parseVersion(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.RequestParser].parseRequestTarget(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.RequestParser].parseFieldName(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.RequestState].isComplete()'
    - '[io.undertow.server.protocol.http.RequestParser].parseFieldValue(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].handle(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:131,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:137,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:138,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isTokenChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:141,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:141,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].getMaximumRequestMethodLength()'
      Src: io.undertow.server.protocol.http.RequestParser:141,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:143,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:144,1
    - Dst: sb.toString()
      Src: io.undertow.server.protocol.http.RequestParser:146,1
    - Dst: '[io.undertow.util.Methods].fromString(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:147,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:147,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:149,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.protocol.http.RequestParser].parseMethod(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - sb.length()
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
    - sb.toString()
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestParser].isTokenChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].getMaximumRequestMethodLength()'
    - '[io.undertow.util.Methods].fromString(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parseMethod(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:156,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.RequestParser:165,1
    - Dst: '[io.undertow.util.Methods.PRI].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:165,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.RequestParser:165,1
    - Dst: '[io.undertow.util.Methods.OPTIONS].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:165,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http.RequestParser:168,1
    - Dst: '[io.undertow.util.Methods.CONNECT].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:168,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isAlphaChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:171,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:174,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.http.RequestParser:176,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.server.protocol.http.RequestParser:176,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:180,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parsePath(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:182,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseScheme(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:184,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseHost(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:185,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parsePort(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:186,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parsePath(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:187,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseHost(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:189,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parsePort(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:190,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parsePath(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:191,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parsePath(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:193,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:194,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 196
      start: 155
    functionDepth: 5
    functionLinenumber: 155
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.protocol.http.RequestParser].parseRequestTarget(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].parseHost(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
    - '[io.undertow.util.Methods.CONNECT].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.RequestParser].parsePort(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
    - '[IllegalStateException].<init>()'
    - '[java.nio.ByteBuffer].position(int)'
    - '[io.undertow.util.Methods.PRI].equals(io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.RequestParser].isAlphaChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.Methods.OPTIONS].equals(io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestParser].parsePath(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.RequestParser].parseScheme(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
    - '[io.undertow.util.BadRequestException].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parseRequestTarget(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:199,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:205,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:206,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:209,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isProtocolChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:209,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:211,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:212,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].getProtocolLength()'
      Src: io.undertow.server.protocol.http.RequestParser:212,1
    - Dst: sb.toString()
      Src: io.undertow.server.protocol.http.RequestParser:217,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.RequestParser:218,1
    - Dst: '[String].equals(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:218,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:218,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.RequestParser:219,1
    - Dst: '[String].equals(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:219,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:219,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.RequestParser:220,1
    - Dst: '[String].equals(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:220,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:220,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http.RequestParser:221,1
    - Dst: '[String].equals(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:221,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:221,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isTraceEnabled()'
      Src: io.undertow.server.protocol.http.RequestParser:223,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].tracef(String,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:224,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http.RequestParser:226,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:229,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:231,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 233
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.protocol.http.RequestParser].parseVersion(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].isProtocolChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.HttpString].toString()'
    - sb.length()
    - '[String].equals(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].tracef(String,io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].isTraceEnabled()'
    - '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[io.undertow.server.protocol.http.RequestParser].getProtocolLength()'
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - sb.toString()
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parseVersion(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:236,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:242,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:243,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isTokenChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:246,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:248,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:249,1
    - Dst: sb.toString()
      Src: io.undertow.server.protocol.http.RequestParser:251,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:253,1
    - Dst: '[io.undertow.util.Headers].fromCache(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:254,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:255,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:257,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:260,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:262,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:264,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 266
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 266
    functionName: '[io.undertow.server.protocol.http.RequestParser].parseFieldName(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.Headers].fromCache(io.undertow.server.protocol.http.RequestParser)'
    - sb.length()
    - '[io.undertow.util.HttpString].<init>(io.undertow.server.protocol.http.RequestParser)'
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - sb.toString()
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestParser].isTokenChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parseFieldName(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:269,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:275,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:276,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:279,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:279,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isVisibleAsciiChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:281,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isObsoleteChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:281,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:283,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:284,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:287,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isVisibleAsciiChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:287,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isObsoleteChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:287,1
    - Dst: sb.append(char)
      Src: io.undertow.server.protocol.http.RequestParser:289,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:290,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:292,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:292,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:294,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:303,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:305,1
    - Dst: sb.toString()
      Src: io.undertow.server.protocol.http.RequestParser:306,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].getBytes(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:306,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar()'
      Src: io.undertow.server.protocol.http.RequestParser:307,1
    - Dst: sb.append(char)
      Src: io.undertow.server.protocol.http.RequestParser:307,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isTokenChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:310,1
    - Dst: sb.toString()
      Src: io.undertow.server.protocol.http.RequestParser:312,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].trim()'
      Src: io.undertow.server.protocol.http.RequestParser:312,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addHeader(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:313,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:315,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:316,1
    - Dst: sb.toString()
      Src: io.undertow.server.protocol.http.RequestParser:320,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].trim()'
      Src: io.undertow.server.protocol.http.RequestParser:320,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addHeader(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:321,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:323,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:326,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 328
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 328
    functionName: '[io.undertow.server.protocol.http.RequestParser].parseFieldValue(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - sb.length()
    - '[io.undertow.server.protocol.http.RequestParser].isObsoleteChar(io.undertow.server.protocol.http.RequestParser)'
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(byte)'
    - sb.append(char)
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].isVisibleAsciiChar(io.undertow.server.protocol.http.RequestParser)'
    - sb.toString()
    - '[io.undertow.server.protocol.http.RequestParser].getBytes(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestParser].isTokenChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].isSpaceOrTabChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].trim()'
    - '[io.undertow.server.protocol.http.RequestParser].addHeader(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parseFieldValue(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:331,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:337,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:338,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isSchemeChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:341,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:343,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:346,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:350,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:354,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:359,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - state
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    constantsTouched: []
    func_position:
      end: 361
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 361
    functionName: '[io.undertow.server.protocol.http.RequestParser].parseScheme(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestParser].isSchemeChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parseScheme(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:364,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:370,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:371,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDigitChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:378,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:380,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDNSNameChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:382,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:384,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:385,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:387,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:389,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDNSNameChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:390,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:392,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.http.RequestParser:395,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.server.protocol.http.RequestParser:395,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isIPv4AddressChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:400,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:402,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:403,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:405,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDNSNameChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:407,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:409,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.http.RequestParser:413,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.server.protocol.http.RequestParser:413,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isIPv6AddressChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:418,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:420,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:423,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:427,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:428,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - state
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    constantsTouched: []
    func_position:
      end: 430
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 430
    functionName: '[io.undertow.server.protocol.http.RequestParser].parseHost(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.BadRequestException].<init>()'
    - '[io.undertow.server.protocol.http.RequestParser].isDigitChar(io.undertow.server.protocol.http.RequestParser)'
    - '[IllegalStateException].<init>()'
    - '[java.nio.ByteBuffer].position(int)'
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[io.undertow.server.protocol.http.RequestParser].isIPv4AddressChar(io.undertow.server.protocol.http.RequestParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestParser].isDNSNameChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].isIPv6AddressChar(io.undertow.server.protocol.http.RequestParser)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parseHost(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:433,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:440,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:441,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:446,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDigitChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:448,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:450,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDigitChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:452,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDigitChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:452,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:454,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDigitChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:456,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDigitChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:456,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.http.RequestParser:460,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.server.protocol.http.RequestParser:460,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:462,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.http.RequestParser:466,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.server.protocol.http.RequestParser:466,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:468,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:470,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - state
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    constantsTouched: []
    func_position:
      end: 472
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 472
    functionName: '[io.undertow.server.protocol.http.RequestParser].parsePort(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].isDigitChar(io.undertow.server.protocol.http.RequestParser)'
    - sb.length()
    - '[java.nio.ByteBuffer].position(int)'
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestParser].isDigitChar(byte)'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parsePort(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:475,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:477,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parsePathSegments(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:478,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parsePathParameters(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:479,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:481,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].parseQueryParameters(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: '[io.undertow.server.protocol.http.RequestParser].parsePath(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].parsePathParameters(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.RequestParser].parsePathSegments(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.RequestParser].parseQueryParameters(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parsePath(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:487,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:493,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:494,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:498,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:500,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isDoubleDotSegmentCandidate(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:501,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:503,1
    - Dst: sb.substring(int)
      Src: io.undertow.server.protocol.http.RequestParser:506,1
    - Dst: '[StringBuilder].append(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:506,1
    - Dst: '[StringBuilder].append(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:508,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:509,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:510,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPathSegmentChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:515,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:517,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:520,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:522,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:526,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:528,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isRequestTargetChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:530,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:534,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:537,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:539,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:543,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:545,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:547,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:551,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:555,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:557,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:559,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:560,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 59
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 562
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 562
    functionName: '[io.undertow.server.protocol.http.RequestParser].parsePathSegments(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].isPathSegmentChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - sb.length()
    - '[IllegalStateException].<init>()'
    - '[StringBuilder].append(io.undertow.server.protocol.http.RequestParser)'
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.RequestParser].isDoubleDotSegmentCandidate(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
    - '[io.undertow.server.protocol.http.RequestParser].isRequestTargetChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
    - sb.substring(int)
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parsePathSegments(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:565,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:571,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:572,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:575,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:577,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:580,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
      Src: io.undertow.server.protocol.http.RequestParser:584,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:585,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:586,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:590,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:593,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:594,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:595,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPathSegmentChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:598,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:600,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:603,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:605,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:606,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:613,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:614,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:615,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:617,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:621,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:622,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:623,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:625,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isRequestTargetChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:627,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:631,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:634,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:636,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 638
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 638
    functionName: '[io.undertow.server.protocol.http.RequestParser].parsePathParameters(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].isPathSegmentChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - sb.length()
    - '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.RequestParser].isRequestTargetChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parsePathParameters(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:641,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.http.RequestParser:647,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.http.RequestParser:648,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
      Src: io.undertow.server.protocol.http.RequestParser:651,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:653,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:656,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
      Src: io.undertow.server.protocol.http.RequestParser:660,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:661,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:662,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:666,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:667,1
    - Dst: sb.length()
      Src: io.undertow.server.protocol.http.RequestParser:668,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isPathSegmentChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:671,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:673,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:676,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].addQuery(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http.RequestParser:677,1
    - Dst: '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:679,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isRequestTargetChar(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:681,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:685,1
    - Dst: sb.append(io.undertow.server.protocol.http.RequestParser)
      Src: io.undertow.server.protocol.http.RequestParser:688,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:690,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 692
      start: 640
    functionDepth: 3
    functionLinenumber: 640
    functionLinenumberEnd: 692
    functionName: '[io.undertow.server.protocol.http.RequestParser].parseQueryParameters(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].isPathSegmentChar(io.undertow.server.protocol.http.RequestParser)'
    - sb.length()
    - '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
    - '[io.undertow.server.protocol.http.RequestParser].addQuery(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    - sb.append(io.undertow.server.protocol.http.RequestParser)
    - '[io.undertow.server.protocol.http.RequestState].setNext(io.undertow.server.protocol.http.RequestParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.http.RequestParser].isRequestTargetChar(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestState)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].parseQueryParameters(java.nio.ByteBuffer,io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isHexDigitChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:695,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isHexDigitChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:700,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isHexDigitChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:703,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isHexDigitChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:703,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].isHexDigitChar(byte)'
      Src: io.undertow.server.protocol.http.RequestParser:706,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.http.RequestParser:708,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - io.undertow.server.protocol.http.RequestState
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - nextByte
    - state
    argTypes:
    - byte
    - io.undertow.server.protocol.http.RequestState
    constantsTouched: []
    func_position:
      end: 711
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 711
    functionName: '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(byte,io.undertow.server.protocol.http.RequestState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.BadRequestException].<init>()'
    - '[io.undertow.server.protocol.http.RequestParser].isHexDigitChar(byte)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.RequestParser].isPercentEncodedSequenceChar(byte,io.undertow.server.protocol.http.RequestState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - io.undertow.server.protocol.http.RequestState
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - nextByte
    - state
    argTypes:
    - byte
    - io.undertow.server.protocol.http.RequestState
    constantsTouched: []
    func_position:
      end: 725
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 725
    functionName: '[io.undertow.server.protocol.http.RequestParser].isDoubleDotSegmentCandidate(byte,io.undertow.server.protocol.http.RequestState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http.RequestParser].isDoubleDotSegmentCandidate(byte,io.undertow.server.protocol.http.RequestState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.protocol.http.RequestParser:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - io.undertow.server.protocol.http.RequestState
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - value
    - urlDecodeRequired
    - state
    - slashDecodingFlag
    - formEncoded
    argTypes:
    - String
    - boolean
    - io.undertow.server.protocol.http.RequestState
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 733
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 733
    functionName: '[io.undertow.server.protocol.http.RequestParser].decode(String,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http.RequestParser].decode(String,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.http.RequestParser:737,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].substring(int)'
      Src: io.undertow.server.protocol.http.RequestParser:738,1
    - Dst: '[StringBuilder].append(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:738,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].toString()'
      Src: io.undertow.server.protocol.http.RequestParser:738,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].decode(boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
      Src: io.undertow.server.protocol.http.RequestParser:739,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath()'
      Src: io.undertow.server.protocol.http.RequestParser:740,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath()'
      Src: io.undertow.server.protocol.http.RequestParser:741,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
      Src: io.undertow.server.protocol.http.RequestParser:743,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:744,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:746,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - state
    - exchange
    argTypes:
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 748
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 748
    functionName: '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setRequestPath()'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(String,io.undertow.server.protocol.http.RequestParser)'
    - '[StringBuilder].append(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.protocol.http.RequestParser].decode(boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].toString()'
    - '[io.undertow.server.protocol.http.RequestParser].substring(int)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].addPaths(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.protocol.http.RequestParser:751,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].tooManyQueryParameters(int)'
      Src: io.undertow.server.protocol.http.RequestParser:754,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].tooManyPathParameters(int)'
      Src: io.undertow.server.protocol.http.RequestParser:755,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
      Src: io.undertow.server.protocol.http.RequestParser:758,1
    - Dst: '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:762,1
    - Dst: value.split(String)
      Src: io.undertow.server.protocol.http.RequestParser:764,1
    - Dst: '[io.undertow.server.HttpServerExchange].addPathParam(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:765,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - state
    - exchange
    argTypes:
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 768
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 768
    functionName: '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
    - '[io.undertow.server.HttpServerExchange].addPathParam(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.protocol.http.RequestParser,io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.server.protocol.http.RequestParser].tooManyPathParameters(int)'
    - '[io.undertow.server.protocol.http.RequestParser].tooManyQueryParameters(int)'
    - '[StringBuilder].length()'
    - value.split(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].addParam(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.http.RequestParser:771,1
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:772,1
    - Dst: '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
      Src: io.undertow.server.protocol.http.RequestParser:774,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
      Src: io.undertow.server.protocol.http.RequestParser:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - state
    - exchange
    argTypes:
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 777
    functionName: '[io.undertow.server.protocol.http.RequestParser].addQuery(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].toString()'
    - '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
    - '[io.undertow.server.protocol.http.RequestParser].decode(io.undertow.server.protocol.http.RequestParser,boolean,io.undertow.server.protocol.http.RequestState,boolean,boolean)'
    - '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.server.protocol.http.RequestParser)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].addQuery(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.RequestParser].tooManyHeaders(int)'
      Src: io.undertow.server.protocol.http.RequestParser:781,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(io.undertow.server.protocol.http.RequestParser)'
      Src: io.undertow.server.protocol.http.RequestParser:781,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http.RequestParser:784,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http.RequestParser:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.http.RequestState
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      - boolean
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - state
    - builder
    - headerValue
    argTypes:
    - io.undertow.server.protocol.http.RequestState
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 785
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 785
    functionName: '[io.undertow.server.protocol.http.RequestParser].addHeader(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http/RequestParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.BadRequestException].<init>(io.undertow.server.protocol.http.RequestParser)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.protocol.http.RequestParser].tooManyHeaders(int)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http.RequestParser].addHeader(io.undertow.server.protocol.http.RequestState,io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:71,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:73,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:73,1
    - Dst: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:89,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpOpenListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pool
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,io.undertow.server.protocol.ajp.AjpOpenListener)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpOpenListener
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:71,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:73,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:73,1
    - Dst: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:89,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:101,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.server.XnioByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpOpenListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pool
    - undertowOptions
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String)'
    - '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.server.XnioByteBufferPool,org.xnio.OptionMap)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpOpenListener
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:71,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:73,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:73,1
    - Dst: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:89,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpOpenListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.ajp.AjpOpenListener)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpOpenListener
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:71,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:73,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:73,1
    - Dst: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:89,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:111,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:112,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:112,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:113,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].createAjpRequestParser(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:114,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:115,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpOpenListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pool
    - undertowOptions
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].createAjpRequestParser(org.xnio.OptionMap)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.ConnectorStatisticsImpl].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpOpenListener
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].isTraceEnabled()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:121,1
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:122,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].tracef(String,io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:122,1
    - Dst: '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:127,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:128,1
    - Dst: '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:130,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:131,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:131,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:132,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:132,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:135,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:135,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:135,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:135,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:135,1
    - Dst: '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:137,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:139,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:139,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:139,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:139,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:139,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:142,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].ioException(io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:143,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:146,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:146,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:146,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].sentAccumulator()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:146,1
    - Dst: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:146,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:146,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:147,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:147,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:147,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].receivedAccumulator()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:147,1
    - Dst: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:147,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:147,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].incrementConnectionCount()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:148,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:151,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].<init>(io.undertow.server.protocol.ajp.AjpServerConnection,String,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:152,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].addCloseListener(ServerConnection.CloseListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:154,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setAjpReadListener(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:156,1
    - Dst: '[java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>].add(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:158,1
    - Dst: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:159,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].addCloseListener(io.undertow.server.ServerConnection.CloseListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:159,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].startRequest()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:167,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:168,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].setReadListener(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:168,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:169,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].handleEvent(io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:169,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 170
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].setReadListener(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].getConduit()'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[io.undertow.server.ConnectorStatisticsImpl].sentAccumulator()'
    - '[io.undertow.server.ConnectorStatisticsImpl].receivedAccumulator()'
    - '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].addCloseListener(ServerConnection.CloseListener)'
    - '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setAjpReadListener(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].<init>(io.undertow.server.protocol.ajp.AjpServerConnection,String,io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].isTraceEnabled()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].addCloseListener(io.undertow.server.ServerConnection.CloseListener)'
    - '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.ajp.AjpOpenListener)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.IdleTimeoutConduit)'
    - '[java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>].add(io.undertow.server.protocol.ajp.AjpServerConnection)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].startRequest()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.ConnectorStatisticsImpl].incrementConnectionCount()'
    - '[org.xnio.StreamConnection].getPeerAddress()'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].tracef(String,io.undertow.server.protocol.ajp.AjpOpenListener)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,org.xnio.StreamConnection)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].handleEvent(io.undertow.server.protocol.ajp.AjpOpenListener)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].ioException(io.undertow.server.protocol.ajp.AjpOpenListener)'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[io.undertow.conduits.IdleTimeoutConduit].<init>(org.xnio.StreamConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].getRootHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].getRootHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].argumentCannotBeNull(String)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:190,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:193,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].createAjpRequestParser(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - undertowOptions
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].setUndertowOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].createAjpRequestParser(org.xnio.OptionMap)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].setUndertowOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:204,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpOpenListener].securedAjpListenerWithoutSecret()'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:205,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:209,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.server.protocol.ajp.AjpOpenListener,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:210,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:211,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:212,1
    - Dst: '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:213,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:214,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:218,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener,boolean,io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener,String)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpRequestParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - undertowOptions
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].createAjpRequestParser(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener,boolean,io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener,String)'
    - '[org.xnio.OptionMap].get(io.undertow.server.protocol.ajp.AjpOpenListener,io.undertow.server.protocol.ajp.AjpOpenListener)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[org.xnio.OptionMap].get(io.undertow.server.protocol.ajp.AjpOpenListener,boolean)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
    - '[String].isEmpty()'
    - '[io.undertow.server.protocol.ajp.AjpOpenListener].securedAjpListenerWithoutSecret()'
    - '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpRequestParser
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].createAjpRequestParser(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].getConnectorStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatistics
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].getConnectorStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.ajp.AjpOpenListener)'
      Src: io.undertow.server.protocol.ajp.AjpOpenListener:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].closeConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.ajp.AjpOpenListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].closeConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].getScheme()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].getScheme()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      - String
      - String
      - java.util.Set<io.undertow.server.protocol.ajp.AjpServerConnection>
      - io.undertow.connector.ByteBufferPool
      - int
      - String
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - ServerConnection.CloseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.OpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.protocol.ajp.AjpOpenListener].setScheme(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpOpenListener].setScheme(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean,null,null)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - int
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - boolean
      - int
      - int
      - boolean
      - java.util.regex.Pattern
      - String
      - HttpString[]
      - int
      - int
      - int
      - int
      - HttpString[]
      - String[]
      - java.util.Set<String>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpRequestParser
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - encoding
    - doDecode
    - maxParameters
    - maxHeaders
    - slashDecodingFlag
    - allowUnescapedCharactersInUrl
    argTypes:
    - String
    - boolean
    - int
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean,null,null)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpRequestParser
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean,String,null)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - int
      - int
      - boolean
      - boolean
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - boolean
      - int
      - int
      - boolean
      - java.util.regex.Pattern
      - String
      - HttpString[]
      - int
      - int
      - int
      - int
      - HttpString[]
      - String[]
      - java.util.Set<String>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpRequestParser
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - encoding
    - doDecode
    - maxParameters
    - maxHeaders
    - slashDecodingFlag
    - allowUnescapedCharactersInUrl
    - allowedRequestAttributesPattern
    argTypes:
    - String
    - boolean
    - int
    - int
    - boolean
    - boolean
    - String
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean,String,null)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpRequestParser
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:205,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - int
      - int
      - boolean
      - boolean
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - boolean
      - int
      - int
      - boolean
      - java.util.regex.Pattern
      - String
      - HttpString[]
      - int
      - int
      - int
      - int
      - HttpString[]
      - String[]
      - java.util.Set<String>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpRequestParser
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - encoding
    - doDecode
    - maxParameters
    - maxHeaders
    - slashDecodingFlag
    - allowUnescapedCharactersInUrl
    - allowedRequestAttributesPattern
    - secret
    argTypes:
    - String
    - boolean
    - int
    - int
    - boolean
    - boolean
    - String
    - String
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    - '[String].isEmpty()'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpRequestParser
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser].<init>(String,boolean,int,int,boolean,boolean,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:214,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse16BitInteger(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:219,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].wrongMagicNumber(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:224,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:224,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse16BitInteger(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:229,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:238,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:242,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:251,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:255,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestMethod()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:257,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:259,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:264,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:267,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:267,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:274,1
    - Dst: result.value.indexOf(char)
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:276,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].decode(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:278,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:282,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:284,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:286,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:287,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:289,1
    - Dst: result.value.substring(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.protocol.ajp.AjpRequestParser)
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:293,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].decode(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:294,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:294,1
    - Dst: result.value.substring(int)
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:295,1
    - Dst: '[io.undertow.util.URLUtils].parsePathParams(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.HttpServerExchange,String,io.undertow.server.protocol.ajp.AjpRequestParser,int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:295,1
    - Dst: result.value.indexOf(char,int)
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:296,1
    - Dst: result.value.length()
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:297,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].failedToParseRequest(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:299,1
    - Dst: result.value.length()
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:302,1
    - Dst: result.value.substring(io.undertow.server.protocol.ajp.AjpRequestParser)
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:303,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].decode(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:304,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:304,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:306,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:308,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:310,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:312,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:313,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:321,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:330,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:337,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse16BitInteger(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:346,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:355,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:359,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:361,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:363,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse16BitInteger(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:368,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].tooManyHeaders(int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:375,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:375,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].failedToParseRequest(io.undertow.util.BadRequestException)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:375,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:384,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:393,1
    - Dst: '[io.undertow.server.Connectors].verifyToken(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:394,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:397,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:404,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:404,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:413,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:417,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:434,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:446,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse16BitInteger(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:447,1
    - Dst: Integer.toString(io.undertow.server.protocol.ajp.AjpRequestParser)
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:452,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:455,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].decode(io.undertow.server.protocol.ajp.AjpRequestParser,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:464,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].failedToParseRequest(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:466,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:475,1
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:477,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:478,1
    - Dst: '[io.undertow.util.URLUtils].parseQueryString(io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:483,1
    - Dst: '[io.undertow.util.URLUtils].parseQueryString(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:485,1
    - Dst: '[io.undertow.util.URLUtils].parseQueryString(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:488,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].failedToParseRequest(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:491,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:494,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<String>,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:495,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<String>,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:496,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:497,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<String>,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:498,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:499,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:500,1
    - Dst: '[io.undertow.server.Connectors].verifyToken(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:501,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:502,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:503,1
    - Dst: Integer.parseInt(io.undertow.server.protocol.ajp.AjpRequestParser)
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:504,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:505,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:507,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:509,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:511,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:513,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:515,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:517,1
    - Dst: '[String].equals(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:518,1
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:525,1
    - Dst: '[java.util.Set<String>].contains(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:527,1
    - Dst: '[java.util.Map<String,String>].put(String,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:529,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:532,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].matches()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:533,1
    - Dst: '[java.util.Map<String,String>].put(String,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:534,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 229
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - boolean
      - int
      - int
      - boolean
      - java.util.regex.Pattern
      - String
      - HttpString[]
      - int
      - int
      - int
      - int
      - HttpString[]
      - String[]
      - java.util.Set<String>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - state
    - exchange
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.ajp.AjpRequestParseState
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 543
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 543
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.Connectors].verifyToken(io.undertow.util.HttpString)'
    - '[io.undertow.util.URLUtils].parseQueryString(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.HttpServerExchange,String,boolean,int)'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(String)'
    - '[io.undertow.util.URLUtils].parseQueryString(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - Integer.parseInt(io.undertow.server.protocol.ajp.AjpRequestParser)
    - '[io.undertow.util.HttpString].<init>(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.util.URLUtils].parsePathParams(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.HttpServerExchange,String,io.undertow.server.protocol.ajp.AjpRequestParser,int)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.BadRequestException].<init>(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[String].equals(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].wrongMagicNumber(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].matches()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].failedToParseRequest(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parse16BitInteger(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].failedToParseRequest(io.undertow.util.BadRequestException)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.util.URLUtils].parseQueryString(io.undertow.server.HttpServerExchange,String,boolean,int)'
    - result.value.substring(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.protocol.ajp.AjpRequestParser)
    - '[io.undertow.server.HttpServerExchange].setQueryString(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
    - '[java.util.Set<String>].contains(String)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - result.value.length()
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
    - '[String].isEmpty()'
    - '[java.util.Map<String,String>].put(String,io.undertow.server.protocol.ajp.AjpRequestParser)'
    - result.value.substring(int)
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.util.HttpString].tryFromString(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<String>,io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[StringBuilder].toString()'
    - '[java.util.regex.Pattern].matcher(String)'
    - result.value.indexOf(char,int)
    - '[java.nio.ByteBuffer].get()'
    - result.value.indexOf(char)
    - '[io.undertow.server.HttpServerExchange].setRequestURI(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[java.util.TreeMap].<init>()'
    - '[String].equals(String)'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
    - Integer.toString(io.undertow.server.protocol.ajp.AjpRequestParser)
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].decode(io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[io.undertow.server.HttpServerExchange].setRequestMethod()'
    - '[io.undertow.util.BadRequestException].<init>(String)'
    - result.value.substring(io.undertow.server.protocol.ajp.AjpRequestParser)
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].tooManyHeaders(int)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].decode(io.undertow.server.protocol.ajp.AjpRequestParser,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:548,1
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:549,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].failedToDecodeURL(String,String,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - boolean
      - int
      - int
      - boolean
      - java.util.regex.Pattern
      - String
      - HttpString[]
      - int
      - int
      - int
      - int
      - HttpString[]
      - String[]
      - java.util.Set<String>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - url
    - containsUrlCharacters
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 555
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 555
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser].decode(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].failedToDecodeURL(String,String,io.undertow.server.protocol.ajp.AjpRequestParser)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser].decode(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - boolean
      - int
      - int
      - boolean
      - java.util.regex.Pattern
      - String
      - HttpString[]
      - int
      - int
      - int
      - int
      - HttpString[]
      - String[]
      - java.util.Set<String>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 559
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 559
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser].headers(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser].headers(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:564,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:565,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:569,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:571,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:572,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(io.undertow.server.protocol.ajp.AjpRequestParser,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:575,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - boolean
      - int
      - int
      - boolean
      - java.util.regex.Pattern
      - String
      - HttpString[]
      - int
      - int
      - int
      - int
      - HttpString[]
      - String[]
      - java.util.Set<String>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IntegerHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - state
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.ajp.AjpRequestParseState
    constantsTouched: []
    func_position:
      end: 580
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 580
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse16BitInteger(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(boolean)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(io.undertow.server.protocol.ajp.AjpRequestParser,boolean)'
    linkageType: ''
    returnType: IntegerHolder
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse16BitInteger(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:585,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:586,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:590,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:591,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:592,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:596,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:600,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].headers(int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:604,1
    - Dst: '[StringHolder].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:604,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:609,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].getCurrentStringLength()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:611,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:613,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:617,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:619,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:623,1
    - Dst: '[io.undertow.util.BadRequestException].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:632,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].addStringByte(io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:639,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:643,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:644,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].getStringAndClear()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:645,1
    - Dst: '[StringHolder].<init>(String,boolean,io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.protocol.ajp.AjpRequestParser)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:649,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParser:654,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 91
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - StringType
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - boolean
      - int
      - int
      - boolean
      - java.util.regex.Pattern
      - String
      - HttpString[]
      - int
      - int
      - int
      - int
      - HttpString[]
      - String[]
      - java.util.Set<String>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StringHolder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buf
    - state
    - type
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.ajp.AjpRequestParseState
    - StringType
    constantsTouched: []
    func_position:
      end: 656
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 656
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,StringType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 0
    functionsReached:
    - '[StringHolder].<init>(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].getCurrentStringLength()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].addStringByte(io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[StringHolder].<init>(String,boolean,io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.protocol.ajp.AjpRequestParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[StringHolder].<init>(null,boolean,boolean,boolean)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].headers(int)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].getStringAndClear()'
    - '[io.undertow.util.BadRequestException].<init>()'
    linkageType: ''
    returnType: StringHolder
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser].parseString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpRequestParseState,StringType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - value
    - readComplete
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 665
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 665
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HttpString
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpRequestParser.StringHolder
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - value
    - readComplete
    - containsUrlCharacters
    - containsUnencodedCharacters
    argTypes:
    - String
    - boolean
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser.StringHolder].<init>(String,boolean,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpRequestParser.StringHolder
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser.StringHolder].<init>(String,boolean,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HttpString
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpRequestParser.StringHolder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParser.StringHolder].<init>(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpRequestParser.StringHolder
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParser.StringHolder].<init>(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:50,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:51,1
    - Dst: '[WriteReadyHandler.ChannelListenerHandler].<init>(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpServerConnection
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 5
    argNames:
    - channel
    - bufferPool
    - rootHandler
    - undertowOptions
    - bufferSize
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - io.undertow.server.HttpHandler
    - org.xnio.OptionMap
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.AbstractServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
    - '[WriteReadyHandler.ChannelListenerHandler].<init>(io.undertow.server.protocol.ajp.AjpServerConnection)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpServerConnection
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpHandler,org.xnio.OptionMap,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].outOfBandResponseNotSupported()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].outOfBandResponseNotSupported()'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].isContinueResponseSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].isContinueResponseSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:66,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:67,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:67,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].terminateRequestChannel(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getSourceChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].terminateRequestChannel(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].restoreChannel(ConduitState)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:73,1
    - Dst: channel.getSinkChannel()
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:74,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:74,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ConduitState
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - state
    argTypes:
    - ConduitState
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].restoreChannel(ConduitState)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached:
    - channel.getSinkChannel()
    - '[io.undertow.server.AbstractServerConnection].restoreChannel(ConduitState)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getConduit()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].restoreChannel(ConduitState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].resetChannel()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:79,1
    - Dst: channel.getSinkChannel()
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:80,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:80,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ConduitState
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].resetChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 1
    functionsReached:
    - channel.getSinkChannel()
    - '[io.undertow.server.AbstractServerConnection].resetChannel()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getConduit()'
    linkageType: ''
    returnType: ConduitState
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].resetChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.AbstractServerConnection].clearChannel()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:86,1
    - Dst: channel.getSinkChannel()
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:87,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:87,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].clearChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached:
    - channel.getSinkChannel()
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getConduit()'
    - '[io.undertow.server.AbstractServerConnection].clearChannel()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].clearChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.SSLSessionInfo
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].getSslSessionInfo()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.SSLSessionInfo
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].getSslSessionInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.SSLSessionInfo
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - sessionInfo
    argTypes:
    - io.undertow.server.SSLSessionInfo
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].setSslSessionInfo(io.undertow.server.SSLSessionInfo)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].setSslSessionInfo(io.undertow.server.SSLSessionInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.BasicSSLSessionInfo
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - sslSessionInfo
    argTypes:
    - io.undertow.server.BasicSSLSessionInfo
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].setSSLSessionInfo(io.undertow.server.BasicSSLSessionInfo)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].setSSLSessionInfo(io.undertow.server.BasicSSLSessionInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].upgradeNotSupported()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].upgradeChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].upgradeNotSupported()'
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].upgradeChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.DateUtils].addDateHeaderIfRequired(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 2
    argNames:
    - exchange
    - conduit
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSinkConduit
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.DateUtils].addDateHeaderIfRequired(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].isUpgradeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].isUpgradeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].isConnectSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].isConnectSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.ajp.AjpReadListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - ajpReadListener
    argTypes:
    - io.undertow.server.protocol.ajp.AjpReadListener
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].setAjpReadListener(io.undertow.server.protocol.ajp.AjpReadListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].setAjpReadListener(io.undertow.server.protocol.ajp.AjpReadListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].exchangeComplete(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].exchangeComplete(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].connectNotSupported()'
      Src: io.undertow.server.protocol.ajp.AjpServerConnection:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - connectListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].connectNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].setCurrentExchange(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].setCurrentExchange(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].getTransportProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].getTransportProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.SSLSessionInfo
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ajp.AjpReadListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.AbstractServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.protocol.ajp.AjpServerConnection].isRequestTrailerFieldsSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpServerConnection].isRequestTrailerFieldsSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:63,1
    - Dst: '[java.nio.ByteBuffer].allocateDirect(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:69,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpServerResponseConduit
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 5
    argNames:
    - next
    - pool
    - exchange
    - finishListener
    - headRequest
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.connector.ByteBufferPool
    - io.undertow.server.HttpServerExchange
    - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
    - boolean
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpServerExchange,io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[java.nio.ByteBuffer].allocateDirect(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpServerResponseConduit
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,io.undertow.server.HttpServerExchange,io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:148,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 2
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:153,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:154,1
    - Dst: '[String].charAt(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:156,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:158,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:160,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - String
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putString(java.nio.ByteBuffer,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 1
    functionsReached:
    - '[String].length()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[String].charAt(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putString(java.nio.ByteBuffer,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:167,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:168,1
    - Dst: '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:169,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putHttpString(java.nio.ByteBuffer,io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
    - '[io.undertow.util.HttpString].length()'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putHttpString(java.nio.ByteBuffer,io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].anyAreSet(io.undertow.server.protocol.ajp.AjpServerResponseConduit,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:180,1
    - Dst: '[io.undertow.server.Connectors].flattenCookies(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:185,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:187,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:188,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:189,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:190,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:191,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:192,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:193,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:194,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:194,1
    - Dst: '[io.undertow.server.HttpServerExchange].getReasonPhrase()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:195,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:197,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:197,1
    - Dst: '[String].length()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:199,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:199,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:200,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].reasonPhraseToLargeForBuffer(String)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:201,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putString(java.nio.ByteBuffer,String)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:203,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:207,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:208,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:209,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:209,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:212,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:215,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:216,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:217,1
    - Dst: header.length()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:217,1
    - Dst: headerValue.length()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:217,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:219,1
    - Dst: System.arraycopy(io.undertow.server.protocol.ajp.AjpServerResponseConduit,int,io.undertow.server.protocol.ajp.AjpServerResponseConduit,int,io.undertow.server.protocol.ajp.AjpServerResponseConduit)
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:226,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:228,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:230,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,Integer>].get(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:233,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:235,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putHttpString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:237,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:239,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:243,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:244,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:245,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:246,1
    - Dst: '[PooledBufferFrameCallback].<init>(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:247,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(PooledBufferFrameCallback,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:247,1
    - Dst: byteBuffers[i].getBuffer()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:251,1
    - Dst: '[org.xnio.Buffers].remaining(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:253,1
    - Dst: bufs[0].put(int,byte)
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:254,1
    - Dst: bufs[0].put(int,byte)
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:255,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:256,1
    - Dst: '[PooledBuffersFrameCallback].<init>(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:257,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(PooledBuffersFrameCallback,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 95
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 261
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].processAJPHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[org.xnio.Buffers].remaining(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - System.arraycopy(io.undertow.server.protocol.ajp.AjpServerResponseConduit,int,io.undertow.server.protocol.ajp.AjpServerResponseConduit,int,io.undertow.server.protocol.ajp.AjpServerResponseConduit)
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(PooledBufferFrameCallback,java.nio.ByteBuffer)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(PooledBuffersFrameCallback,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[io.undertow.util.StatusCodes].getReason(int)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[String].length()'
    - '[io.undertow.util.HeaderValues].size()'
    - byteBuffers[i].getBuffer()
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - bufs[0].put(int,byte)
    - '[io.undertow.server.Connectors].flattenCookies(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].anyAreSet(io.undertow.server.protocol.ajp.AjpServerResponseConduit,int)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].reasonPhraseToLargeForBuffer(String)'
    - '[io.undertow.server.HttpServerExchange].getReasonPhrase()'
    - '[PooledBufferFrameCallback].<init>(io.undertow.connector.PooledByteBuffer)'
    - header.length()
    - headerValue.length()
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.util.Map<io.undertow.util.HttpString,Integer>].get(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[java.nio.ByteBuffer].put(int,byte)'
    - '[PooledBuffersFrameCallback].<init>(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putInt(java.nio.ByteBuffer,int)'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putString(java.nio.ByteBuffer,String)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].putHttpString(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].processAJPHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].processAJPHeader()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:266,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:267,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:267,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:267,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(null,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 6
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueCloseFrames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(null,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].processAJPHeader()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueCloseFrames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:272,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:275,1
    - Dst: '[java.util.ArrayList].add(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:276,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:277,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:277,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:277,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:278,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].position()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:279,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:279,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:279,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].limit(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:279,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:280,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:280,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].position()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:281,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:281,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:282,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:282,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:283,1
    - Dst: '[java.util.ArrayList].add(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:284,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:286,1
    - Dst: '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:286,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:287,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:287,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:289,1
    - Dst: p.getBuffer()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:293,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:296,1
    - Dst: '[PooledBuffersFrameCallback].<init>(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:296,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(PooledBuffersFrameCallback,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:296,1
    - Dst: p.close()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 2
    argNames:
    - src
    - buffers
    argTypes:
    - java.nio.ByteBuffer
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 303
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 303
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueRemainingBytes(java.nio.ByteBuffer,ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].position(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[java.util.ArrayList].toArray()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.util.ArrayList].<init>(int)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[java.nio.ByteBuffer].put(java.nio.ByteBuffer)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(PooledBuffersFrameCallback,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - p.close()
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].position()'
    - '[java.nio.ByteBuffer].flip()'
    - p.getBuffer()
    - '[PooledBuffersFrameCallback].<init>(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.util.ArrayList].add(io.undertow.connector.PooledByteBuffer)'
    - '[java.util.ArrayList].size()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].limit(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[java.nio.ByteBuffer].put(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueRemainingBytes(java.nio.ByteBuffer,ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queuedDataLength()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:306,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].flushQueuedData()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:309,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].processAJPHeader()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:313,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:315,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:316,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:316,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:319,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:321,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:321,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:321,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:322,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:323,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:323,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:325,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].createHeader(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:326,1
    - Dst: buffer.remaining()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:329,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].write(ByteBuffer[],int,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:334,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:337,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueRemainingBytes(java.nio.ByteBuffer,ByteBuffer[])'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:340,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:346,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:346,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:349,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 351
      start: 305
    functionDepth: 6
    functionLinenumber: 305
    functionLinenumberEnd: 351
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].write(ByteBuffer[],int,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[java.nio.ByteBuffer].limit()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueRemainingBytes(java.nio.ByteBuffer,ByteBuffer[])'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    - '[java.nio.ByteBuffer].position()'
    - buffer.remaining()
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].createHeader(java.nio.ByteBuffer)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queuedDataLength()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].flushQueuedData()'
    - '[java.nio.ByteBuffer].position(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].processAJPHeader()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:354,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:369,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: ByteBuffer[]
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].createHeader(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    linkageType: ''
    returnType: ByteBuffer[]
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].createHeader(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write(ByteBuffer[],int,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write(ByteBuffer[],int,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srcs[i].hasRemaining()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:382,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write()'
    - srcs[i].hasRemaining()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:394,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:398,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>].handleEvent()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].finished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>].handleEvent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].finished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].<init>(org.xnio.conduits.WriteReadyHandler)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:410,1
    - Dst: next.setWriteReadyHandler(io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler)
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.WriteReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 1
    argNames:
    - handler
    argTypes:
    - org.xnio.conduits.WriteReadyHandler
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].<init>(org.xnio.conduits.WriteReadyHandler)'
    - next.setWriteReadyHandler(io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:414,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].allAreClear(int,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:416,1
    - Dst: next.suspendWrites()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].allAreClear(int,int)'
    - '[org.jboss.logging.Logger].trace(String)'
    - next.suspendWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:422,1
    - Dst: next.resumeWrites()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].trace(String)'
    - next.resumeWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].processAJPHeader()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:428,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].allAreClear(int,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:429,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWritesTerminated()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:429,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:430,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:440,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:430,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].flushQueuedData()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 427
    functionDepth: 6
    functionLinenumber: 427
    functionLinenumberEnd: 444
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack,io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWritesTerminated()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].allAreClear(int,int)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].processAJPHeader()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].flushQueuedData()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].<init>()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:450,1
    - Dst: next.wakeupWrites()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].trace(String)'
    - next.wakeupWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:458,1
    - Dst: next.terminateWrites()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:459,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:463,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 466
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].doTerminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - next.terminateWrites()
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].doTerminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].isWriteShutdown()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:470,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].anyAreSet(int,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWriteShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].anyAreSet(int,int)'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].isWriteShutdown()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWriteShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWriteShutdown()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:476,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].channelIsClosed()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:477,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:479,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:480,1
    - Dst: '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:483,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack,java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:483,1
    - Dst: next.resumeWrites()
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit:498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.server.protocol.ajp.AjpServerRequestConduit
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.nio.ByteBuffer
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - int
      - io.undertow.server.HttpServerExchange
      - io.undertow.conduits.ConduitListener<?superAjpServerResponseConduit>
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.conduits.AbstractFramedStreamSinkConduit
    argCount: 2
    argNames:
    - buffer
    - requestChannel
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.server.protocol.ajp.AjpServerRequestConduit
    constantsTouched: []
    func_position:
      end: 502
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 502
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].doGetRequestBodyChunk(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit].write(java.nio.ByteBuffer)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].queueFrame(io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack,java.nio.ByteBuffer)'
    - next.resumeWrites()
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWriteShutdown()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].channelIsClosed()'
    - '[io.undertow.conduits.AbstractFramedStreamSinkConduit.FrameCallBack].<init>()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].doGetRequestBodyChunk(java.nio.ByteBuffer,io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.WriteReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - WriteReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - org.xnio.conduits.WriteReadyHandler
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].<init>(org.xnio.conduits.WriteReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].<init>(org.xnio.conduits.WriteReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].anyAreSet(io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler,io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler:514,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].flushQueuedData()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler:516,1
    - Dst: log.debug(String,io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler)
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler:518,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].anyAreSet(io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler,io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler)'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler:521,1
    - Dst: '[WriteReadyHandler].writeReady()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WriteReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 524
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].writeReady()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].flushQueuedData()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].anyAreSet(io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler,io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler)'
    - log.debug(String,io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler)
    - '[WriteReadyHandler].writeReady()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].writeReady()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[WriteReadyHandler].forceTermination()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WriteReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].forceTermination()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[WriteReadyHandler].forceTermination()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].forceTermination()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[WriteReadyHandler].terminated()'
      Src: io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WriteReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].terminated()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerResponseConduit.java
    functionUses: 0
    functionsReached:
    - '[WriteReadyHandler].terminated()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit.AjpServerWriteReadyHandler].terminated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].longBitMask(int,int)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:83,1
    - Dst: '[java.nio.ByteBuffer].allocateDirect(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:93,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:114,1
    - Dst: '[Long].longValue()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - Long
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpServerRequestConduit
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - delegate
    - exchange
    - ajpResponseConduit
    - size
    - finishListener
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.protocol.ajp.AjpServerResponseConduit
    - Long
    - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.ajp.AjpServerResponseConduit,Long,io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[Long].longValue()'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].longBitMask(int,int)'
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    - '[java.nio.ByteBuffer].allocateDirect(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpServerRequestConduit
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.ajp.AjpServerResponseConduit,Long,io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:133,1
    - Dst: '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:133,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:135,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:143,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:143,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:145,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:152,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:152,1
    - Dst: '[Object].terminateReads()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
    - '[Object].terminateReads()'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dsts[i].hasRemaining()
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:163,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].read()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:164,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:176,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].read()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - dsts[i].hasRemaining()
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:185,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:187,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWriteShutdown()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:189,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>].handleEvent()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:192,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:196,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].doGetRequestBodyChunk(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:196,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:201,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].doRead(java.nio.ByteBuffer,long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:202,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:209,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:209,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 212
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].doGetRequestBodyChunk(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
    - '[io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>].handleEvent()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].isWriteShutdown()'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].doRead(java.nio.ByteBuffer,long)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:216,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>].handleEvent()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:221,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:227,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>].handleEvent()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:231,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:233,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:234,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:235,1
    - Dst: '[java.nio.ByteBuffer].get(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:238,1
    - Dst: '[java.nio.ByteBuffer].get(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:239,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].wrongMagicNumber(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:241,1
    - Dst: '[java.nio.ByteBuffer].get(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:243,1
    - Dst: '[java.nio.ByteBuffer].get(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:244,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:247,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:249,1
    - Dst: '[java.nio.ByteBuffer].get(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:250,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].put(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:250,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].flip()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:251,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:252,1
    - Dst: '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:252,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>].handleEvent()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:258,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:266,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:267,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:268,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].wrongMagicNumber(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:270,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:272,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:273,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:277,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].put(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:278,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].flip()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:279,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:280,1
    - Dst: '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:280,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>].handleEvent()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:285,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:290,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:291,1
    - Dst: '[io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>].handleEvent()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:298,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:307,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:311,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:312,1
    - Dst: next.read(java.nio.ByteBuffer)
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:314,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:322,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:335,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:336,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].terminateReads()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:340,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:341,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].requestEntityWasTooLarge(long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:342,1
    - Dst: originalException.addSuppressed(io.undertow.server.protocol.ajp.AjpServerRequestConduit)
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:344,1
    - Dst: suppressed.addSuppressed(io.undertow.server.protocol.ajp.AjpServerRequestConduit)
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:351,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 144
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dst
    - state
    argTypes:
    - java.nio.ByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 369
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 369
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].doRead(java.nio.ByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].limit(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>].handleEvent()'
    - originalException.addSuppressed(io.undertow.server.protocol.ajp.AjpServerRequestConduit)
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].terminateReads()'
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].requestEntityWasTooLarge(long)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].get(int)'
    - '[java.nio.ByteBuffer].limit(int)'
    - '[java.nio.ByteBuffer].limit()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].put(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].flip()'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - next.read(java.nio.ByteBuffer)
    - suppressed.addSuppressed(io.undertow.server.protocol.ajp.AjpServerRequestConduit)
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].wrongMagicNumber(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.protocol.ajp.AjpServerRequestConduit)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.util.ImmediatePooledByteBuffer)'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].put(java.nio.ByteBuffer)'
    - '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].doRead(java.nio.ByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:374,1
    - Dst: next.awaitReadable()
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:375,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:378,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 381
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 0
    functionsReached:
    - next.awaitReadable()
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:386,1
    - Dst: next.awaitReadable(long,java.util.concurrent.TimeUnit)
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:387,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:390,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].anyAreSet(long,long)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - next.awaitReadable(long,java.util.concurrent.TimeUnit)
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:400,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:400,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].isReadResumed()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:401,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].wakeupReads()'
      Src: io.undertow.server.protocol.ajp.AjpServerRequestConduit:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      - int
      - long
      - long
      - long
      - long
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - java.nio.ByteBuffer
      - io.undertow.conduits.ConduitListener<?superAjpServerRequestConduit>
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].setReadBodyChunkError(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpServerRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].wakeupReads()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].isReadResumed()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].setReadBodyChunkError(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:67,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:84,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:84,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:85,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Long>,long)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:85,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:86,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:86,1
    - Dst: '[WriteReadyHandler.ChannelListenerHandler].<init>(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:86,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:87,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:87,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:88,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Integer>)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:88,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:89,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Integer>)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:89,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(io.undertow.server.protocol.ajp.AjpServerConnection,io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:93,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].addCloseListener(io.undertow.server.protocol.ParseTimeoutUpdater)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpReadListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - connection
    - scheme
    - parser
    - connectorStatistics
    argTypes:
    - io.undertow.server.protocol.ajp.AjpServerConnection
    - String
    - io.undertow.server.protocol.ajp.AjpRequestParser
    - io.undertow.server.ConnectorStatisticsImpl
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].<init>(io.undertow.server.protocol.ajp.AjpServerConnection,String,io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.ConnectorStatisticsImpl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Integer>,int)'
    - '[WriteReadyHandler.ChannelListenerHandler].<init>(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Long>,long)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getUndertowOptions()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(io.undertow.server.protocol.ajp.AjpServerConnection,io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].addCloseListener(io.undertow.server.protocol.ParseTimeoutUpdater)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].get(org.xnio.Option<Integer>)'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpReadListener
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].<init>(io.undertow.server.protocol.ajp.AjpServerConnection,String,io.undertow.server.protocol.ajp.AjpRequestParser,io.undertow.server.ConnectorStatisticsImpl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].resetChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:99,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:100,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].connectionIdle()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:103,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setCurrentExchange(null)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].startRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setCurrentExchange(null)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].resetChannel()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].connectionIdle()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].startRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getOriginalSinkConduit()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:109,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].isWriteShutdown()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:109,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getOriginalSourceConduit()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:109,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].isReadShutdown()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:109,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:110,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:111,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getExtraBytes()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:115,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:117,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].allocate()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:117,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.server.protocol.ajp.AjpReadListener:118,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].clear()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:125,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:126,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:128,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].failedParse()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:133,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:135,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:136,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].set()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:136,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:137,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].shutdownReads()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:142,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:143,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:143,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].shutdownWrites()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:144,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:145,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setExtraBytes(null)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:152,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].flip()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:154,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:156,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.ajp.AjpServerConnection,long)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:158,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:160,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].remaining()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:162,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:163,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setExtraBytes(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:165,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:168,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].requestHeaderWasTooLarge(io.undertow.server.protocol.ajp.AjpReadListener,int)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:168,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].badRequest()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:169,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].isComplete()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:171,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:174,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:175,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:176,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:177,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].requestStarted()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:182,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].debug(String)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:186,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].handleCPing()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:187,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].debug(String)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:189,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:190,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:191,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].set()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:191,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:192,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].ignoringAjpRequestWithPrefixCode(byte)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:194,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:195,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:202,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].set(null)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:202,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:203,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:206,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:206,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:206,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:206,1
    - Dst: '[io.undertow.conduits.ConduitListener].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:206,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:211,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:211,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].<init>(io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.HttpServerExchange,io.undertow.conduits.ConduitListener,boolean)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:206,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:212,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:212,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].setConduit(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:212,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:213,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:213,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:213,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:213,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getConduit()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:213,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].createSourceConduit(io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.protocol.ajp.AjpServerResponseConduit,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:213,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].setConduit(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:213,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:215,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createSslSessionInfo()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:217,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setSSLSessionInfo(io.undertow.server.BasicSSLSessionInfo)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:217,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createPeerAddress()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:218,1
    - Dst: '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:218,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createDestinationAddress()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:219,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:219,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:221,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>,java.util.Map<String,String>)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:224,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:229,1
    - Dst: '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:232,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].setCurrentExchange(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:234,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].setup(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:236,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:238,1
    - Dst: '[io.undertow.server.Connectors].areRequestHeadersValid(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:238,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:240,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].debugf(String,io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:240,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:244,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:245,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:246,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getRootHandler()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:248,1
    - Dst: '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:248,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].failedToParseRequest(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:251,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].handleBadRequest()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:252,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:253,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].ioException(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:255,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].handleInternalServerError()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:256,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:257,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].exceptionProcessingRequest(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:259,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].handleInternalServerError()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:260,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:261,1
    - Dst: pooled.close()
      Src: io.undertow.server.protocol.ajp.AjpReadListener:263,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 142
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 265
      start: 108
    functionDepth: 6
    functionLinenumber: 108
    functionLinenumberEnd: 265
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpReadListener].ignoringAjpRequestWithPrefixCode(byte)'
    - '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].setConduit(org.xnio.conduits.StreamSourceConduit)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<java.util.Map<String,String>>,java.util.Map<String,String>)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setExtraBytes(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].handleInternalServerError()'
    - '[io.undertow.server.ConnectorStatisticsImpl].setup(io.undertow.server.HttpServerExchange)'
    - '[org.xnio.channels.StreamSourceChannel].shutdownReads()'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].failedParse()'
    - '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser].parse(io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].createDestinationAddress()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].set(null)'
    - '[io.undertow.server.Connectors].areRequestHeadersValid(io.undertow.util.HeaderMap)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].allocate()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].createSourceConduit(io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.protocol.ajp.AjpServerResponseConduit,io.undertow.server.HttpServerExchange)'
    - '[org.xnio.channels.StreamSourceChannel].read(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.conduits.ConduitListener].<init>()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].handleCPing()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].hasRemaining()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].exceptionProcessingRequest(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].clear()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].set()'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getConduit()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setCurrentExchange(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.ajp.AjpServerConnection,long)'
    - '[String].isEmpty()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].failedToParseRequest(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].flip()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].isWriteShutdown()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].handleBadRequest()'
    - '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getByteBufferPool()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getExtraBytes()'
    - pooled.getBuffer()
    - pooled.close()
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].createPeerAddress()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].requestStarted()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].isReadShutdown()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].setWriteReadyHandler(WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>)'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].remaining()'
    - '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getPeerAddress()'
    - '[io.undertow.server.protocol.ajp.AjpServerResponseConduit].<init>(io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.server.HttpServerExchange,io.undertow.conduits.ConduitListener,boolean)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].debugf(String,io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].createSslSessionInfo()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setSSLSessionInfo(io.undertow.server.BasicSSLSessionInfo)'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].requestHeaderWasTooLarge(io.undertow.server.protocol.ajp.AjpReadListener,int)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].ioException(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getOriginalSinkConduit()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].debug(String)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getRootHandler()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].shutdownWrites()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].isComplete()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].setConduit(io.undertow.server.protocol.ajp.AjpServerResponseConduit)'
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].setExtraBytes(null)'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getOriginalSourceConduit()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].badRequest()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].sendMessages(byte[],byte[])'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].handleInternalServerError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpReadListener].sendMessages(byte[],byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].handleInternalServerError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].sendMessages(byte[],byte[])'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].handleBadRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpReadListener].sendMessages(byte[],byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].handleBadRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].sendMessages(byte[])'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:276,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:277,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:277,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].handleEvent(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].handleCPing()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].handleEvent(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].sendMessages(byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].handleCPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:282,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:283,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:284,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].suspendReads()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:284,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:291,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].put()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:293,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].flip()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:295,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:300,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].write(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:300,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:302,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:302,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].setWriteListener(org.xnio.ChannelListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:302,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:321,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].resumeWrites()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:321,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].hasRemaining()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:324,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].ioException(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:327,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:328,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 331
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].sendMessages()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ajp.AjpReadListener].flip()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].ioException(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].setWriteListener(org.xnio.ChannelListener)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].hasRemaining()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].suspendReads()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].resumeWrites()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].write(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.protocol.ajp.AjpServerConnection)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getSinkChannel()'
    - '[java.nio.ByteBuffer].allocate(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].put()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].sendMessages()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isUpgrade()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:334,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:334,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].startRequest()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:335,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:336,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:336,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:336,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].getReadSetter()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:337,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].set()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:337,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].wakeupReads()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:338,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:339,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:340,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].isUpgrade()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].wakeupReads()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getSourceChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].getReadSetter()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].safeClose(io.undertow.server.ServerConnection)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].startRequest()'
    - '[io.undertow.server.protocol.ajp.AjpServerConnection].getChannel()'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].set()'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].exchangeComplete(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:346,1
    - Dst: '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.AbstractServerConnection)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:346,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:348,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:351,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:354,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:356,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:357,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.server.protocol.ajp.AjpReadListener:361,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].trace(String)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:363,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:365,1
    - Dst: '[io.undertow.conduits.ReadDataStreamSourceConduit].getReadThread()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:366,1
    - Dst: '[io.undertow.conduits.EmptyStreamSourceConduit].<init>(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:366,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(String,io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:371,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpReadListener].trace(String)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:374,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:376,1
    - Dst: '[io.undertow.conduits.ReadDataStreamSourceConduit].getReadThread()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:377,1
    - Dst: '[io.undertow.conduits.EmptyStreamSourceConduit].<init>(io.undertow.server.protocol.ajp.AjpReadListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:377,1
    - Dst: '[io.undertow.conduits.ConduitListener].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:379,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].<init>(io.undertow.conduits.ReadDataStreamSourceConduit,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.ajp.AjpServerResponseConduit,io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.conduits.ConduitListener)'
      Src: io.undertow.server.protocol.ajp.AjpReadListener:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.server.protocol.ajp.AjpServerResponseConduit
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - io.undertow.server.protocol.ajp.AjpServerConnection
      - String
      - boolean
      - io.undertow.server.protocol.ajp.AjpRequestParseState
      - io.undertow.server.HttpServerExchange
      - int
      - int
      - long
      - io.undertow.server.protocol.ajp.AjpRequestParser
      - io.undertow.server.ConnectorStatisticsImpl
      - WriteReadyHandler.ChannelListenerHandler<org.xnio.conduits.ConduitStreamSinkChannel>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.BadRequestException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSourceConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - underlyingConduit
    - responseConduit
    - exchange
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.server.protocol.ajp.AjpServerResponseConduit
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 385
      start: 344
    functionDepth: 5
    functionLinenumber: 344
    functionLinenumberEnd: 385
    functionName: '[io.undertow.server.protocol.ajp.AjpReadListener].createSourceConduit(org.xnio.conduits.StreamSourceConduit,io.undertow.server.protocol.ajp.AjpServerResponseConduit,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.ReadDataStreamSourceConduit].getReadThread()'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.BadRequestException].<init>(String,io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.protocol.ajp.AjpReadListener].trace(String)'
    - '[io.undertow.conduits.ConduitListener].<init>()'
    - Long.parseLong(String)
    - '[io.undertow.conduits.EmptyStreamSourceConduit].<init>(io.undertow.server.protocol.ajp.AjpReadListener)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.ajp.AjpServerRequestConduit].<init>(io.undertow.conduits.ReadDataStreamSourceConduit,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.ajp.AjpServerResponseConduit,io.undertow.server.protocol.ajp.AjpReadListener,io.undertow.conduits.ConduitListener)'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.conduits.ReadDataStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.AbstractServerConnection)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSourceConduit
    signature: '[io.undertow.server.protocol.ajp.AjpReadListener].createSourceConduit(org.xnio.conduits.StreamSourceConduit,io.undertow.server.protocol.ajp.AjpServerResponseConduit,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].setLength(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.parseUnsignedInt(String)
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:125,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParseState].debugf(String,String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:127,1
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].<init>(io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParseState,String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.BasicSSLSessionInfo
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createSslSessionInfo()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 1
    functionsReached:
    - Integer.parseUnsignedInt(String)
    - '[io.undertow.server.BasicSSLSessionInfo].<init>(io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParseState,String)'
    - '[io.undertow.server.protocol.ajp.AjpRequestParseState].debugf(String,String)'
    linkageType: ''
    returnType: io.undertow.server.BasicSSLSessionInfo
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createSslSessionInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getByName(String)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:145,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParseState)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 1
    functionsReached:
    - '[java.net.InetAddress].getByName(String)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.protocol.ajp.AjpRequestParseState,io.undertow.server.protocol.ajp.AjpRequestParseState)'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetSocketAddress].createUnresolved(String,int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createDestinationAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 1
    functionsReached:
    - '[java.net.InetSocketAddress].createUnresolved(String,int)'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].createDestinationAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].addStringByte(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].addStringByte(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:164,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].getStringAndClear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].toString()'
    - '[StringBuilder].setLength(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].getStringAndClear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].getCurrentStringLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].length()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].getCurrentStringLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.ajp.AjpRequestParseState:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - int
      - io.undertow.util.HttpString
      - String
      - java.util.Map<String,String>
      - String
      - int
      - int
      - String
      - int
      - StringBuilder
      - int
      - boolean
      - int
      - String
      - String
      - String
      - String
      - String
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.ajp.AjpRequestParseState
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/AjpRequestParseState.java
    functionUses: 10
    functionsReached:
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.AjpRequestParseState
    signature: '[io.undertow.server.protocol.ajp.AjpRequestParseState].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.ajp.SecurityActions
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.protocol.ajp.SecurityActions].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/SecurityActions.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.ajp.SecurityActions
    signature: '[io.undertow.server.protocol.ajp.SecurityActions].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.protocol.ajp.SecurityActions:36,1
    - Dst: '[io.undertow.server.protocol.ajp.SecurityActions].getProperty(String)'
      Src: io.undertow.server.protocol.ajp.SecurityActions:36,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
      Src: io.undertow.server.protocol.ajp.SecurityActions:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.protocol.ajp.SecurityActions].getSystemProperty(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/SecurityActions.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
    - '[io.undertow.server.protocol.ajp.SecurityActions].getProperty(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.ajp.SecurityActions].getSystemProperty(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.protocol.ajp.SecurityActions:40,1
    - Dst: '[io.undertow.server.protocol.ajp.SecurityActions].getProperty(String,String)'
      Src: io.undertow.server.protocol.ajp.SecurityActions:40,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
      Src: io.undertow.server.protocol.ajp.SecurityActions:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - key
    - def
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.protocol.ajp.SecurityActions].getSystemProperty(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/ajp/SecurityActions.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
    - '[io.undertow.server.protocol.ajp.SecurityActions].getProperty(String,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.ajp.SecurityActions].getSystemProperty(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getResponseChannel()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:113,1
    - Dst: '[org.xnio.conduits.StreamSinkChannelWrappingConduit].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:114,1
    - Dst: '[org.xnio.conduits.StreamSourceChannelWrappingConduit].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:115,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,org.xnio.conduits.StreamSinkChannelWrappingConduit)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:116,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,org.xnio.conduits.StreamSourceChannelWrappingConduit)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:117,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getProtocolRequestId()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - org.xnio.OptionMap
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2ServerConnection
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 5
    argNames:
    - channel
    - requestChannel
    - undertowOptions
    - bufferSize
    - rootHandler
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.protocols.http2.Http2StreamSourceChannel
    - org.xnio.OptionMap
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2StreamSourceChannel,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,org.xnio.conduits.StreamSourceChannelWrappingConduit)'
    - '[org.xnio.conduits.StreamSinkChannelWrappingConduit].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,org.xnio.conduits.StreamSinkChannelWrappingConduit)'
    - '[io.undertow.protocols.http2.Http2Channel].getProtocolRequestId()'
    - '[org.xnio.conduits.StreamSourceChannelWrappingConduit].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].getResponseChannel()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2ServerConnection
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2StreamSourceChannel,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].setExchange(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].setExchange(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.StreamSinkChannelWrappingConduit].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:139,1
    - Dst: '[org.xnio.conduits.StreamSourceChannelWrappingConduit].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:140,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel,org.xnio.conduits.StreamSinkChannelWrappingConduit)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:141,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getIoThread()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:142,1
    - Dst: '[org.xnio.conduits.EmptyStreamSourceConduit].<init>(org.xnio.XnioIoThread)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:142,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].<init>(io.undertow.server.protocol.http2.Http2ServerConnection,org.xnio.conduits.EmptyStreamSourceConduit)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:142,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getProtocolRequestId()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.OptionMap
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2ServerConnection
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 5
    argNames:
    - channel
    - sinkChannel
    - undertowOptions
    - bufferSize
    - rootHandler
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.protocols.http2.Http2DataStreamSinkChannel
    - org.xnio.OptionMap
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2DataStreamSinkChannel,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel,org.xnio.conduits.StreamSinkChannelWrappingConduit)'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].<init>(io.undertow.server.protocol.http2.Http2ServerConnection,org.xnio.conduits.EmptyStreamSourceConduit)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].getIoThread()'
    - '[io.undertow.protocols.http2.Http2Channel].getProtocolRequestId()'
    - '[org.xnio.conduits.StreamSourceChannelWrappingConduit].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[org.xnio.conduits.EmptyStreamSourceConduit].<init>(org.xnio.XnioIoThread)'
    - '[org.xnio.conduits.StreamSinkChannelWrappingConduit].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2ServerConnection
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2DataStreamSinkChannel,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:149,1
    - Dst: '[io.undertow.server.XnioBufferPoolAdaptor].<init>(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.Pool<java.nio.ByteBuffer>
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.XnioBufferPoolAdaptor].<init>(io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].getByteBufferPool()'
    linkageType: ''
    returnType: org.xnio.Pool<java.nio.ByteBuffer>
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getProtocolRequestId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getProtocolRequestId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSslSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSslSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getBufferPool()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getByteBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getBufferPool()'
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getByteBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getWorker()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:180,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].outOfBandResponseOnlyAllowedFor100Continue()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:181,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:183,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:184,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:184,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:185,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:185,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http2.Http2ServerConnection)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:185,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.util.HeaderValues)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:185,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:187,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:187,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:188,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:188,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:189,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:189,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String,boolean)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:189,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:190,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:190,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:191,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:191,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:192,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:194,1
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:195,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].outOfBandResponseOnlyAllowedFor100Continue()'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(String,boolean)'
    - '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.util.HeaderValues)'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
    - '[io.undertow.server.HttpServerExchange].<init>()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http2.Http2ServerConnection)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].sendOutOfBandResponse(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].isContinueResponseSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].isContinueResponseSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:222,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:222,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setIgnoreForceClose(boolean)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:224,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].close()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:225,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:228,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 240
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].terminateRequestChannel(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].setIgnoreForceClose(boolean)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].close()'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].terminateRequestChannel(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getPeerAddress(Class<A>)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getPeerAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getCloseSetter()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsConnectedChannel>
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getCloseSetter()'
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsConnectedChannel>
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getLocalAddress()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getLocalAddress(Class<A>)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getLocalAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getBufferSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.SSLSessionInfo
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSslSessionInfo()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.SSLSessionInfo
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSslSessionInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.SSLSessionInfo
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - sessionInfo
    argTypes:
    - io.undertow.server.SSLSessionInfo
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].setSslSessionInfo(io.undertow.server.SSLSessionInfo)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].setSslSessionInfo(io.undertow.server.SSLSessionInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:314,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - CloseListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - listener
    argTypes:
    - CloseListener
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].addCloseListener(CloseListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].addCloseListener(CloseListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].upgradeNotSupported()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].upgradeChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].upgradeNotSupported()'
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].upgradeChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.ConduitStreamSinkChannel
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSinkChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.ConduitStreamSinkChannel
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSinkChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.ConduitStreamSourceChannel
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSourceChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.conduits.ConduitStreamSourceChannel
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSourceChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:339,1
    - Dst: '[io.undertow.util.DateUtils].addDateHeaderIfRequired(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:340,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:341,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,int)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:341,1
    - Dst: '[io.undertow.server.Connectors].flattenCookies(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:342,1
    - Dst: '[io.undertow.server.Connectors].isEntityBodyAllowed(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:343,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:345,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:345,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:346,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.conduits.StreamSinkConduit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 2
    argNames:
    - exchange
    - conduit
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.conduits.StreamSinkConduit
    constantsTouched: []
    func_position:
      end: 349
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 349
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.Connectors].isEntityBodyAllowed(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.DateUtils].addDateHeaderIfRequired(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getHeaders()'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.Connectors].flattenCookies(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getSinkConduit(io.undertow.server.HttpServerExchange,org.xnio.conduits.StreamSinkConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].isUpgradeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].isUpgradeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].isConnectSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].isConnectSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].exchangeComplete(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].exchangeComplete(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].upgradeNotSupported()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - upgradeListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].upgradeNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].setUpgradeListener(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - connectListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].setConnectListener(io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:378,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setMaxStreamSize(long)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].maxEntitySizeUpdated(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].setMaxStreamSize(long)'
    - '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].maxEntitySizeUpdated(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
    - T
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].removeAttachment(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].removeAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].removeAttachment(io.undertow.util.AttachmentKey<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].removeAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - T
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<?extendsList<T>>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<T>
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<?extendsList<T>>
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    linkageType: ''
    returnType: java.util.List<T>
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getAttachment(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getAttachment(io.undertow.util.AttachmentKey<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isPushEnabled()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:409,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:410,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:410,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].isPushSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.Http2Channel].isPushEnabled()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].isPushSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].isRequestTrailerFieldsSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].isRequestTrailerFieldsSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 3
    argNames:
    - path
    - method
    - requestHeaders
    argTypes:
    - String
    - io.undertow.util.HttpString
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 7
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:427,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:429,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.server.protocol.http2.Http2ServerConnection,String)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:429,1
    - Dst: '[String].toString()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:430,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.server.protocol.http2.Http2ServerConnection)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:430,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostAndPort()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:431,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.server.protocol.http2.Http2ServerConnection,String)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:431,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:432,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.server.protocol.http2.Http2ServerConnection,String)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:432,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:434,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendPushPromise(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:434,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:435,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getBufferSize()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:435,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:435,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:436,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Long>,long)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:436,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap,io.undertow.server.protocol.http2.Http2ServerConnection)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:436,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].setExchange(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:437,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:438,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:439,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:440,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:440,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.server.protocol.http2.Http2ServerConnection,boolean,StringBuilder,io.undertow.server.protocol.http2.Http2ServerConnection)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:442,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].debug(String,io.undertow.server.protocol.http2.Http2ServerConnection)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:444,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:445,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:446,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:450,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setCompletionListener(org.xnio.ChannelListener)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:450,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:456,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getIoThread()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:457,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:457,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:457,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].ioException(io.undertow.server.protocol.http2.Http2ServerConnection)'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HeaderMap
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 4
    argNames:
    - path
    - method
    - requestHeaders
    - handler
    argTypes:
    - String
    - io.undertow.util.HttpString
    - io.undertow.util.HeaderMap
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 468
      start: 425
    functionDepth: 6
    functionLinenumber: 425
    functionLinenumberEnd: 468
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.server.protocol.http2.Http2ServerConnection,boolean,StringBuilder,io.undertow.server.protocol.http2.Http2ServerConnection)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].ioException(io.undertow.server.protocol.http2.Http2ServerConnection)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].getIoThread()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getHostAndPort()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.server.protocol.http2.Http2ServerConnection,String)'
    - '[Runnable].<init>()'
    - '[io.undertow.util.HttpString].toString()'
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Long>,long)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setCompletionListener(org.xnio.ChannelListener)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].setExchange(io.undertow.server.HttpServerExchange)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].debug(String,io.undertow.server.protocol.http2.Http2ServerConnection)'
    - '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].getUndertowOptions()'
    - '[io.undertow.protocols.http2.Http2Channel].sendPushPromise(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.server.protocol.http2.Http2ServerConnection)'
    - '[String].toString()'
    - '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap,io.undertow.server.protocol.http2.Http2ServerConnection)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].getBufferSize()'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
    - '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].pushResource(String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getProtocol()'
      Src: io.undertow.server.protocol.http2.Http2ServerConnection:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.protocols.http2.Http2DataStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSinkChannel
      - org.xnio.conduits.ConduitStreamSourceChannel
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - org.xnio.OptionMap
      - int
      - io.undertow.server.SSLSessionInfo
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpServerExchange
      - boolean
      - io.undertow.server.XnioBufferPoolAdaptor
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.server.ServerConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: '[io.undertow.server.protocol.http2.Http2ServerConnection].getTransportProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ServerConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getProtocol()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http2.Http2ServerConnection].getTransportProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.http2.Http2SslSessionInfo
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].<init>(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2SslSessionInfo.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2SslSessionInfo
    signature: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].<init>(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:48,1
    - Dst: '[javax.net.ssl.SSLSession].getId()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getSessionId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2SslSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLSession].getId()'
    - '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:53,1
    - Dst: '[javax.net.ssl.SSLSession].getCipherSuite()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getCipherSuite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2SslSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
    - '[javax.net.ssl.SSLSession].getCipherSuite()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getCipherSuite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:59,1
    - Dst: '[javax.net.ssl.SSLSession].getPeerCertificates()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:59,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getOption(io.undertow.server.protocol.http2.Http2SslSessionInfo)'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:62,1
    - Dst: '[io.undertow.server.RenegotiationRequiredException].<init>()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Certificate[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getPeerCertificates()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2SslSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getOption(io.undertow.server.protocol.http2.Http2SslSessionInfo)'
    - '[javax.net.ssl.SSLSession].getPeerCertificates()'
    - '[io.undertow.server.RenegotiationRequiredException].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
    linkageType: ''
    returnType: Certificate[]
    signature: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getPeerCertificates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:77,1
    - Dst: '[javax.net.ssl.SSLSession].getPeerCertificateChain()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:77,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getOption(io.undertow.server.protocol.http2.Http2SslSessionInfo)'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:80,1
    - Dst: '[io.undertow.server.RenegotiationRequiredException].<init>()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLPeerUnverifiedException
      - io.undertow.server.RenegotiationRequiredException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: X509Certificate[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getPeerCertificateChain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2SslSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLSession].getPeerCertificateChain()'
    - '[io.undertow.server.RenegotiationRequiredException].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
    - '[io.undertow.protocols.http2.Http2Channel].getOption(io.undertow.server.protocol.http2.Http2SslSessionInfo)'
    linkageType: ''
    returnType: X509Certificate[]
    signature: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getPeerCertificateChain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].renegotiationNotSupported()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.SslClientAuthMode
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sslClientAuthMode
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.SslClientAuthMode
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2SslSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2SslSessionInfo].renegotiationNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].renegotiate(io.undertow.server.HttpServerExchange,org.xnio.SslClientAuthMode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getSSLSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2SslSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getSSLSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:103,1
    - Dst: '[javax.net.ssl.SSLSession].getProtocol()'
      Src: io.undertow.server.protocol.http2.Http2SslSessionInfo:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.SSLSessionInfo
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getSecureProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2SslSessionInfo.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLSession].getProtocol()'
    - '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].getSecureProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:68,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2OpenListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pool
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,io.undertow.server.protocol.http2.Http2OpenListener)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2OpenListener
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:68,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,String)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2OpenListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pool
    - undertowOptions
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,String)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2OpenListener
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:68,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:94,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.server.XnioByteBufferPool,org.xnio.OptionMap,String)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      - org.xnio.OptionMap
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2OpenListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pool
    - undertowOptions
    - protocol
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    - org.xnio.OptionMap
    - String
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.server.XnioByteBufferPool,org.xnio.OptionMap,String)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2OpenListener
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>,org.xnio.OptionMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:68,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2OpenListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.server.protocol.http2.Http2OpenListener)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2OpenListener
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:68,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2OpenListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pool
    - undertowOptions
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2OpenListener
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:59,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:68,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:108,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:109,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:109,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:110,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:111,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2OpenListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pool
    - undertowOptions
    - protocol
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - String
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.server.ConnectorStatisticsImpl].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2OpenListener
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].isTraceEnabled()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:117,1
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:118,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].tracef(String,io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:118,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:122,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:123,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].setIdleTimeout(io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:125,1
    - Dst: '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:128,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:130,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:130,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].getConduit()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:130,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(io.undertow.server.protocol.http2.Http2OpenListener,org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:130,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].setConduit(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:130,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].ioException(io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:133,1
    - Dst: '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:136,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:138,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:138,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].getConduit()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:138,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(io.undertow.server.protocol.http2.Http2OpenListener,org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:138,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].setConduit(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:138,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].ioException(io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:141,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:144,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:144,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].getConduit()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:144,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].sentAccumulator()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:144,1
    - Dst: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.server.protocol.http2.Http2OpenListener,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:144,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:144,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:145,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:145,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].getConduit()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:145,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].receivedAccumulator()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:145,1
    - Dst: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.server.protocol.http2.Http2OpenListener,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:145,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:145,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].incrementConnectionCount()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:146,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:147,1
    - Dst: '[java.util.Set<io.undertow.protocols.http2.Http2Channel>].add(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:150,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:151,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:151,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:157,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].getUndertowOptions()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:157,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>(io.undertow.server.HttpHandler,org.xnio.OptionMap,int,io.undertow.server.ConnectorStatisticsImpl)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:157,1
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:157,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:158,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - buffer
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 160
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].handleEvent(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.Set<io.undertow.protocols.http2.Http2Channel>].add(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].getConduit()'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].isTraceEnabled()'
    - '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.server.protocol.http2.Http2OpenListener,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>)'
    - '[io.undertow.server.ConnectorStatisticsImpl].sentAccumulator()'
    - '[io.undertow.protocols.http2.Http2Channel].setIdleTimeout(io.undertow.server.protocol.http2.Http2OpenListener)'
    - '[io.undertow.server.ConnectorStatisticsImpl].receivedAccumulator()'
    - '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,org.xnio.OptionMap)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    - '[org.xnio.StreamConnection].getOption(io.undertow.server.protocol.http2.Http2OpenListener)'
    - '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
    - '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.server.protocol.http2.Http2OpenListener,io.undertow.conduits.ByteActivityCallback)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].setConduit(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[io.undertow.server.ConnectorStatisticsImpl].incrementConnectionCount()'
    - '[org.xnio.StreamConnection].getPeerAddress()'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(io.undertow.server.protocol.http2.Http2OpenListener,org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].getUndertowOptions()'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].ioException(io.undertow.server.protocol.http2.Http2OpenListener)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(io.undertow.server.protocol.http2.Http2OpenListener,org.xnio.StreamConnection)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>(io.undertow.server.HttpHandler,org.xnio.OptionMap,int,io.undertow.server.ConnectorStatisticsImpl)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].setConduit(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[io.undertow.server.protocol.http2.Http2OpenListener].tracef(String,io.undertow.server.protocol.http2.Http2OpenListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].handleEvent(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConnectorStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].getConnectorStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConnectorStatistics
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].getConnectorStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http2.Http2OpenListener)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].closeConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.http2.Http2OpenListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].closeConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].getRootHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].getRootHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].getUndertowOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].getUndertowOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].argumentCannotBeNull(String)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:195,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - undertowOptions
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].setUndertowOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2OpenListener].argumentCannotBeNull(String)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].setUndertowOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2OpenListener].handleEvent(org.xnio.StreamConnection,null)'
      Src: io.undertow.server.protocol.http2.Http2OpenListener:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.protocols.http2.Http2Channel>
      - String
      - String
      - io.undertow.connector.ByteBufferPool
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.DelegateOpenListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.protocol.http2.Http2OpenListener].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2OpenListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http2.Http2OpenListener].handleEvent(org.xnio.StreamConnection,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2OpenListener].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(java.util.Set<String>)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:70,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2UpgradeHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2UpgradeHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashSet].<init>(io.undertow.server.protocol.http2.Http2UpgradeHandler)'
    - '[java.util.Arrays].asList(java.util.Set<String>)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2UpgradeHandler
    signature: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:75,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:75,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:76,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(String)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:76,1
    - Dst: '[java.util.Set<String>].contains(String)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:77,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:78,1
    - Dst: '[io.undertow.io.IoCallback].<init>()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:79,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].sendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:79,1
    - Dst: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleUpgradeBody(io.undertow.server.HttpServerExchange,String,String)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:96,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2UpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.protocol.http.HttpContinue].sendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    - '[java.util.Set<String>].contains(String)'
    - '[io.undertow.io.IoCallback].<init>()'
    - '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleUpgradeBody(io.undertow.server.HttpServerExchange,String,String)'
    - '[io.undertow.util.HeaderMap].getFirst(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:105,1
    - Dst: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleHttp2Upgrade(io.undertow.server.HttpServerExchange,String,String,null)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:106,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:108,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:108,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:108,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:109,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:112,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:113,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:113,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:115,1
    - Dst: '[Receiver.FullBytesCallback].<init>()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:115,1
    - Dst: '[io.undertow.io.Receiver].receiveFullBytes(Receiver.FullBytesCallback)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:115,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:127,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:128,1
    - Dst: '[Receiver.PartialBytesCallback].<init>()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:128,1
    - Dst: '[io.undertow.io.Receiver].receivePartialBytes(Receiver.PartialBytesCallback)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:128,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - upgrade
    - settings
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - String
    constantsTouched: []
    func_position:
      end: 153
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleUpgradeBody(io.undertow.server.HttpServerExchange,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2UpgradeHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[Receiver.FullBytesCallback].<init>()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestReceiver()'
    - '[io.undertow.io.Receiver].receiveFullBytes(Receiver.FullBytesCallback)'
    - '[io.undertow.io.Receiver].receivePartialBytes(Receiver.PartialBytesCallback)'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.server.HttpServerExchange].getRequestContentLength()'
    - '[Receiver.PartialBytesCallback].<init>()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleHttp2Upgrade(io.undertow.server.HttpServerExchange,String,String,null)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleUpgradeBody(io.undertow.server.HttpServerExchange,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64].decodeURL(String)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:157,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:158,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:158,1
    - Dst: '[io.undertow.server.HttpUpgradeListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:159,1
    - Dst: '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.server.protocol.http2.Http2UpgradeHandler:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - exchange
    - upgrade
    - settings
    - data
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 183
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleHttp2Upgrade(io.undertow.server.HttpServerExchange,String,String,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2UpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpUpgradeListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.FlexBase64].decodeURL(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2UpgradeHandler].handleHttp2Upgrade(io.undertow.server.HttpServerExchange,String,String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:81,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Long>,long)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:95,1
    - Dst: '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:96,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:97,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:98,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:99,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:100,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:101,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - org.xnio.OptionMap
      - int
      - io.undertow.server.ConnectorStatisticsImpl
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - long
      - org.xnio.OptionMap
      - String
      - boolean
      - StringBuilder
      - boolean
      - int
      - int
      - boolean
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.http2.Http2ReceiveListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - rootHandler
    - undertowOptions
    - bufferSize
    - connectorStatistics
    argTypes:
    - io.undertow.server.HttpHandler
    - org.xnio.OptionMap
    - int
    - io.undertow.server.ConnectorStatisticsImpl
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>(io.undertow.server.HttpHandler,org.xnio.OptionMap,int,io.undertow.server.ConnectorStatisticsImpl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Long>,long)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[StringBuilder].<init>()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
    - '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.protocol.http2.Http2ReceiveListener
    signature: '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>(io.undertow.server.HttpHandler,org.xnio.OptionMap,int,io.undertow.server.ConnectorStatisticsImpl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].receive()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:112,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleRequests(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:118,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].ioException(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:123,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:124,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleUnexpectedFailure(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:126,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - long
      - org.xnio.OptionMap
      - String
      - boolean
      - StringBuilder
      - boolean
      - int
      - int
      - boolean
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 7
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleEvent(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].receive()'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleUnexpectedFailure(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].ioException(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleRequests(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2StreamSourceChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleEvent(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.server.protocol.http2.Http2ReceiveListener,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:134,1
    - Dst: dataChannel.getHeaders()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:137,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].checkRequestHeaders(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:137,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:138,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.protocols.http2.Http2StreamSourceChannel,io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:140,1
    - Dst: dataChannel.getHeaders()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:148,1
    - Dst: dataChannel.getResponseChannel()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:148,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].getHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:148,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.protocol.http2.Http2ReceiveListener,long)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:148,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:151,1
    - Dst: dataChannel.setTrailersHandler(io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler)
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:151,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].setExchange(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:157,1
    - Dst: dataChannel.setMaxStreamSize(long)
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:158,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:159,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:159,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:159,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:160,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:160,1
    - Dst: '[io.undertow.util.Methods].fromString(String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:161,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:161,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:161,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:161,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:162,1
    - Dst: '[io.undertow.server.Connectors].areRequestHeadersValid(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:162,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:163,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].debugf(String,java.net.SocketAddress)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:163,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:164,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:168,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:168,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:169,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].getPeerAddress()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:170,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].debugf(String,java.net.SocketAddress)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:170,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:171,1
    - Dst: '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:176,1
    - Dst: dataChannel.getResponseChannel()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:178,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleCommonSetup(io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http2.Http2ServerConnection)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:178,1
    - Dst: dataChannel.isOpen()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:179,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:180,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:182,1
    - Dst: dataChannel.setCompletionListener(org.xnio.ChannelListener)
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:182,1
    - Dst: '[io.undertow.server.ConnectorStatisticsImpl].setup(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:190,1
    - Dst: '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,StringBuilder,int)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:194,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].debug(String,io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:197,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:198,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:199,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:204,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:204,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:205,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:205,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:206,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:206,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:207,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:207,1
    - Dst: '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.HttpHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - long
      - org.xnio.OptionMap
      - String
      - boolean
      - StringBuilder
      - boolean
      - int
      - int
      - boolean
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - frame
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.protocols.http2.Http2StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 211
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 211
    functionName: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleRequests(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ReceiveListener.java
    functionUses: 1
    functionsReached:
    - dataChannel.getHeaders()
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleCommonSetup(io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http2.Http2ServerConnection)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.Methods].fromString(String)'
    - '[io.undertow.server.Connectors].setExchangeRequestPath(io.undertow.server.HttpServerExchange,String,String,boolean,boolean,StringBuilder,int)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].getHeaders()'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.ConnectorStatisticsImpl].setup(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].debug(String,io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.Connectors].areRequestHeadersValid(io.undertow.util.HeaderMap)'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].checkRequestHeaders(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - dataChannel.getResponseChannel()
    - dataChannel.isOpen()
    - '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.protocol.http2.Http2ReceiveListener,long)'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].debugf(String,java.net.SocketAddress)'
    - '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
    - '[String].isEmpty()'
    - '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].setExchange(io.undertow.server.HttpServerExchange)'
    - '[org.xnio.channels.Channels].drain(io.undertow.protocols.http2.Http2StreamSourceChannel,io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler].<init>()'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].getPeerAddress()'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - dataChannel.setCompletionListener(org.xnio.ChannelListener)
    - dataChannel.setTrailersHandler(io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler)
    - '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.HttpHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    - dataChannel.setMaxStreamSize(long)
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.server.protocol.http2.Http2ReceiveListener,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleRequests(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].createInitialUpgradeResponseStream()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:222,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:223,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:225,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:226,1
    - Dst: hv.getHeaderName()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:227,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:227,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:229,1
    - Dst: '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.util.HeaderMap,io.undertow.server.protocol.http2.Http2ReceiveListener,long)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:229,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:230,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:230,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].markContinueResponseSent(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:231,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:233,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:234,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:234,1
    - Dst: '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:236,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:238,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:238,1
    - Dst: '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:238,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:240,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].setExchange(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:241,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:242,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:242,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:243,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:243,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:244,1
    - Dst: '[io.undertow.server.HttpServerExchange].setQueryString(String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:244,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:245,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:245,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:246,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:246,1
    - Dst: pathParamEntry.getValue()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:247,1
    - Dst: pathParamEntry.getKey()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:248,1
    - Dst: '[io.undertow.server.HttpServerExchange].addPathParam(io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:248,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:251,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:251,1
    - Dst: queryParamEntry.getValue()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:252,1
    - Dst: queryParamEntry.getKey()
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:253,1
    - Dst: '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:253,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:256,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:256,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestURI(String,boolean)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:256,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:257,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:257,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:258,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:258,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleCommonSetup(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http2.Http2ServerConnection)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:259,1
    - Dst: '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.HttpHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.protocols.http2.Http2Channel
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - long
      - org.xnio.OptionMap
      - String
      - boolean
      - StringBuilder
      - boolean
      - int
      - int
      - boolean
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - initial
    - channel
    - data
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.protocols.http2.Http2Channel
    - byte[]
    constantsTouched: []
    func_position:
      end: 261
      start: 220
    functionDepth: 7
    functionLinenumber: 220
    functionLinenumberEnd: 261
    functionName: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleInitialRequest(io.undertow.server.HttpServerExchange,io.undertow.protocols.http2.Http2Channel,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[io.undertow.server.HttpServerExchange].<init>(io.undertow.server.protocol.http2.Http2ServerConnection,io.undertow.util.HeaderMap,io.undertow.server.protocol.http2.Http2ReceiveListener,long)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.Connectors].terminateRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue].markContinueResponseSent(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.HttpServerExchange].setDecodedQueryString(String)'
    - hv.getHeaderName()
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.HttpServerExchange].setRequestURI(String,boolean)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>)'
    - '[io.undertow.server.HttpServerExchange].setRequestMethod(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleCommonSetup(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http2.Http2ServerConnection)'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,org.xnio.OptionMap,int,io.undertow.server.HttpHandler)'
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - pathParamEntry.getValue()
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].setExchange(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - queryParamEntry.getKey()
    - '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getHeaders()'
    - '[io.undertow.protocols.http2.Http2Channel].createInitialUpgradeResponseStream()'
    - '[io.undertow.util.HeaderMap].<init>()'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.Connectors].executeRootHandler(io.undertow.server.HttpHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    - '[io.undertow.server.HttpServerExchange].addPathParam(io.undertow.server.protocol.http2.Http2ReceiveListener,io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
    - '[io.undertow.server.HttpServerExchange].setQueryString(String)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    - pathParamEntry.getKey()
    - '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.util.ImmediatePooledByteBuffer)'
    - queryParamEntry.getValue()
    - '[io.undertow.server.Connectors].setRequestStartTime(io.undertow.server.HttpServerExchange,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleInitialRequest(io.undertow.server.HttpServerExchange,io.undertow.protocols.http2.Http2Channel,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getChannel()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:264,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].getSslSession()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:265,1
    - Dst: '[io.undertow.server.protocol.http2.Http2SslSessionInfo].<init>(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:267,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ServerConnection].setSslSessionInfo(io.undertow.server.protocol.http2.Http2SslSessionInfo)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:267,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:269,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setTrailersProducer(io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:269,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:279,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setCompletionListener(org.xnio.ChannelListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:279,1
    - Dst: '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:285,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:286,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:286,1
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:287,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.protocol.http2.Http2ServerConnection
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - long
      - org.xnio.OptionMap
      - String
      - boolean
      - StringBuilder
      - boolean
      - int
      - int
      - boolean
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sink
    - exchange
    - connection
    argTypes:
    - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.protocol.http2.Http2ServerConnection
    constantsTouched: []
    func_position:
      end: 294
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 294
    functionName: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleCommonSetup(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http2.Http2ServerConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ReceiveListener.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].getSslSession()'
    - '[io.undertow.server.protocol.http2.Http2ServerConnection].setSslSessionInfo(io.undertow.server.protocol.http2.Http2SslSessionInfo)'
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.server.protocol.http2.Http2SslSessionInfo].<init>(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.HttpServerExchange].setProtocol(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setTrailersProducer(io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer)'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].<init>()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getChannel()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setCompletionListener(org.xnio.ChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.http2.Http2ReceiveListener].handleCommonSetup(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,io.undertow.server.HttpServerExchange,io.undertow.server.protocol.http2.Http2ServerConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].count(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:305,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:305,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:311,1
    - Dst: '[io.undertow.util.HeaderValues].contains(String)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:311,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:312,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:312,1
    - Dst: '[io.undertow.util.HeaderMap].count(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:312,1
    - Dst: '[io.undertow.util.HeaderMap].count(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:317,1
    - Dst: '[io.undertow.util.HeaderMap].count(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:317,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:322,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:323,1
    - Dst: value.equals(String)
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:324,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:331,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:332,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:332,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:332,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].isRequestTargetChar(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:333,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:339,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:340,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:340,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:340,1
    - Dst: '[io.undertow.server.Connectors].isValidSchemeCharacter(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:341,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:347,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:348,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:348,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:348,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].isRequestTargetChar(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:349,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:355,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:356,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:356,1
    - Dst: '[String].getBytes(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:356,1
    - Dst: '[io.undertow.server.Connectors].isValidTokenCharacter(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.server.protocol.http2.Http2ReceiveListener:357,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - long
      - org.xnio.OptionMap
      - String
      - boolean
      - StringBuilder
      - boolean
      - int
      - int
      - boolean
      - boolean
      - io.undertow.server.ConnectorStatisticsImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 363
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 363
    functionName: '[io.undertow.server.protocol.http2.Http2ReceiveListener].checkRequestHeaders(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/http2/Http2ReceiveListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[io.undertow.server.Connectors].isValidTokenCharacter(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.util.HeaderMap].count(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].isRequestTargetChar(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[String].getBytes(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.util.HeaderValues].contains(String)'
    - '[io.undertow.server.Connectors].isValidSchemeCharacter(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - value.equals(String)
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.protocol.http2.Http2ReceiveListener].checkRequestHeaders(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:40,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:52,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:70,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].bufferPoolTooSmall(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - String
      - String
      - String
      - byte[]
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - StringBuilder
      - int
      - String
      - java.net.InetAddress
      - java.net.InetAddress
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.proxy.ProxyProtocolReadListener
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - streamConnection
    - openListener
    - ssl
    - bufferPool
    - sslOptionMap
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.server.OpenListener
    - io.undertow.protocols.ssl.UndertowXnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].<init>(org.xnio.StreamConnection,io.undertow.server.OpenListener,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].bufferPoolTooSmall(int)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    - '[String].getBytes(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    linkageType: ''
    returnType: io.undertow.server.protocol.proxy.ProxyProtocolReadListener
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].<init>(org.xnio.StreamConnection,io.undertow.server.OpenListener,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:77,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:78,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:80,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:80,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:82,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:87,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:87,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:89,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:89,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:90,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:90,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseProxyProtocolV2(io.undertow.connector.PooledByteBuffer,java.util.concurrent.atomic.AtomicBoolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:93,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseProxyProtocolV1(io.undertow.connector.PooledByteBuffer,java.util.concurrent.atomic.AtomicBoolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:95,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:97,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].ioException(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:104,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:105,1
    - Dst: '[java.io.IOException].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:107,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].ioException(java.io.IOException)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:107,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:108,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].get()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:110,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:111,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - String
      - String
      - String
      - byte[]
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - StringBuilder
      - int
      - String
      - java.net.InetAddress
      - java.net.InetAddress
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamSourceChannel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 114
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseProxyProtocolV2(io.undertow.connector.PooledByteBuffer,java.util.concurrent.atomic.AtomicBoolean)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].ioException(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseProxyProtocolV1(io.undertow.connector.PooledByteBuffer,java.util.concurrent.atomic.AtomicBoolean)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].ioException(java.io.IOException)'
    - '[java.util.concurrent.atomic.AtomicBoolean].get()'
    - '[java.io.IOException].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].get()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:120,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:120,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:124,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:129,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:129,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:130,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:130,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:131,1
    - Dst: '[java.nio.ByteBuffer].getShort()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:131,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:134,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:142,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:146,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:146,1
    - Dst: '[java.net.InetAddress].getByAddress(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:147,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:150,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:150,1
    - Dst: '[java.net.InetAddress].getByAddress(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:151,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:153,1
    - Dst: '[java.nio.ByteBuffer].getShort()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:153,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:154,1
    - Dst: '[java.nio.ByteBuffer].getShort()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:154,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:158,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:158,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:159,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:159,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:167,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:171,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:171,1
    - Dst: '[java.net.InetAddress].getByAddress(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:172,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:175,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:175,1
    - Dst: '[java.net.InetAddress].getByAddress(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:176,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:178,1
    - Dst: '[java.nio.ByteBuffer].getShort()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:178,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:179,1
    - Dst: '[java.nio.ByteBuffer].getShort()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:179,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:183,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:183,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:184,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:184,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:191,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:198,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:198,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:199,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:199,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:202,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:202,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:203,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(null,null,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:204,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(null,null,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:206,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:210,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:214,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:215,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:216,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:216,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:217,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.InetSocketAddress,java.net.InetSocketAddress,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:218,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.InetSocketAddress,java.net.InetSocketAddress,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:220,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 93
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - java.util.concurrent.atomic.AtomicBoolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - String
      - String
      - String
      - byte[]
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - StringBuilder
      - int
      - String
      - java.net.InetAddress
      - java.net.InetAddress
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - freeBuffer
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - java.util.concurrent.atomic.AtomicBoolean
    constantsTouched: []
    func_position:
      end: 223
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 223
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseProxyProtocolV2(io.undertow.connector.PooledByteBuffer,java.util.concurrent.atomic.AtomicBoolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].getShort()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.InetSocketAddress,java.net.InetSocketAddress,io.undertow.connector.PooledByteBuffer)'
    - '[java.nio.ByteBuffer].get(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(null,null,io.undertow.connector.PooledByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener,int)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.InetSocketAddress,java.net.InetSocketAddress,null)'
    - '[java.net.InetAddress].getByAddress(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(null,null,null)'
    - '[java.nio.ByteBuffer].position(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseProxyProtocolV2(io.undertow.connector.PooledByteBuffer,java.util.concurrent.atomic.AtomicBoolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:226,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:226,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:227,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:227,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:231,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:241,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:244,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:244,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:245,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(null,null,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:246,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(null,null,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:248,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:252,1
    - Dst: '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:257,1
    - Dst: '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:258,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:259,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:259,1
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:260,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.InetSocketAddress,java.net.InetSocketAddress,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:261,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.InetSocketAddress,java.net.InetSocketAddress,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:263,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:267,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:272,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:274,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:276,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:277,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].equals(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:278,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].equals(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:280,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].equals(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:280,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:281,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:285,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseAddress(io.undertow.server.protocol.proxy.ProxyProtocolReadListener,io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:285,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:287,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:291,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseAddress(io.undertow.server.protocol.proxy.ProxyProtocolReadListener,io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:291,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:293,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:297,1
    - Dst: Integer.parseInt(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:297,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:299,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:304,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:306,1
    - Dst: Integer.parseInt(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:306,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:308,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:312,1
    - Dst: '[String].equals(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:312,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:316,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:318,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:319,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:323,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:324,1
    - Dst: '[StringBuilder].append(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:326,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].headerSizeToLarge()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:333,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 90
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - java.util.concurrent.atomic.AtomicBoolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - String
      - String
      - String
      - byte[]
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - StringBuilder
      - int
      - String
      - java.net.InetAddress
      - java.net.InetAddress
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - freeBuffer
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - java.util.concurrent.atomic.AtomicBoolean
    constantsTouched: []
    func_position:
      end: 337
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 337
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseProxyProtocolV1(io.undertow.connector.PooledByteBuffer,java.util.concurrent.atomic.AtomicBoolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(null,null,io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(null,null,null)'
    - '[StringBuilder].append(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.InetSocketAddress,java.net.InetSocketAddress,io.undertow.connector.PooledByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].invalidProxyHeader()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.InetSocketAddress,java.net.InetSocketAddress,null)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseAddress(io.undertow.server.protocol.proxy.ProxyProtocolReadListener,io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[StringBuilder].setLength(int)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[StringBuilder].length()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].equals(String)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].headerSizeToLarge()'
    - Integer.parseInt(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)
    - '[String].equals(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[java.util.concurrent.atomic.AtomicBoolean].set(boolean)'
    - '[StringBuilder].toString()'
    - '[java.nio.ByteBuffer].get()'
    - '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseProxyProtocolV1(io.undertow.connector.PooledByteBuffer,java.util.concurrent.atomic.AtomicBoolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].<init>(org.xnio.StreamConnection,java.net.SocketAddress,java.net.SocketAddress)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:343,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:349,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].getConduit()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:349,1
    - Dst: '[org.xnio.conduits.PushBackStreamSourceConduit].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:349,1
    - Dst: '[io.undertow.util.PooledAdaptor].<init>(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:350,1
    - Dst: '[org.xnio.conduits.PushBackStreamSourceConduit].pushBack(io.undertow.util.PooledAdaptor)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:350,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:351,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:351,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].wrapExistingConnection(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection,boolean)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:353,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].callOpenListener(org.xnio.StreamConnection,null)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:356,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].callOpenListener(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.SocketAddress
      - java.net.SocketAddress
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - String
      - String
      - String
      - byte[]
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - StringBuilder
      - int
      - String
      - java.net.InetAddress
      - java.net.InetAddress
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - dest
    - additionalData
    argTypes:
    - java.net.SocketAddress
    - java.net.SocketAddress
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.SocketAddress,java.net.SocketAddress,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getSourceChannel()'
    - '[org.xnio.conduits.PushBackStreamSourceConduit].pushBack(io.undertow.util.PooledAdaptor)'
    - '[io.undertow.util.PooledAdaptor].<init>(io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].callOpenListener(org.xnio.StreamConnection,null)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].<init>(org.xnio.StreamConnection,java.net.SocketAddress,java.net.SocketAddress)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].getConduit()'
    - '[org.xnio.conduits.PushBackStreamSourceConduit].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].wrapExistingConnection(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection,boolean)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].callOpenListener(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].proxyAccept(java.net.SocketAddress,java.net.SocketAddress,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DelegateOpenListener].handleEvent(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:365,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:368,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].getConduit()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:368,1
    - Dst: '[org.xnio.conduits.PushBackStreamSourceConduit].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:368,1
    - Dst: '[io.undertow.util.PooledAdaptor].<init>(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:369,1
    - Dst: '[org.xnio.conduits.PushBackStreamSourceConduit].pushBack(io.undertow.util.PooledAdaptor)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:369,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:370,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:370,1
    - Dst: '[io.undertow.server.OpenListener].handleEvent(org.xnio.StreamConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - String
      - String
      - String
      - byte[]
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - StringBuilder
      - int
      - String
      - java.net.InetAddress
      - java.net.InetAddress
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamConnection
    - buffer
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].callOpenListener(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.conduits.PushBackStreamSourceConduit].pushBack(io.undertow.util.PooledAdaptor)'
    - '[io.undertow.util.PooledAdaptor].<init>(io.undertow.connector.PooledByteBuffer)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.OpenListener].handleEvent(org.xnio.StreamConnection)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].getConduit()'
    - '[org.xnio.conduits.PushBackStreamSourceConduit].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[io.undertow.server.DelegateOpenListener].handleEvent(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].callOpenListener(org.xnio.StreamConnection,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:377,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:378,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - String
      - String
      - String
      - byte[]
      - org.xnio.StreamConnection
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - StringBuilder
      - int
      - String
      - java.net.InetAddress
      - java.net.InetAddress
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.InetAddress
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - addressString
    - protocol
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 382
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseAddress(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: java.net.InetAddress
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].parseAddress(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:391,1
    - Dst: '[org.xnio.StreamConnection].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:391,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:395,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getConduit()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:395,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].setSinkConduit(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:395,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:396,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getConduit()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:396,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].setSourceConduit(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - java.net.SocketAddress
      - java.net.SocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - StreamConnection
      - SocketAddress
      - SocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection
      static: false
      superClass: StreamConnection
    argCount: 3
    argNames:
    - delegate
    - source
    - dest
    argTypes:
    - org.xnio.StreamConnection
    - java.net.SocketAddress
    - java.net.SocketAddress
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].<init>(org.xnio.StreamConnection,java.net.SocketAddress,java.net.SocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getConduit()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].setSinkConduit(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].setSourceConduit(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
    - '[org.xnio.StreamConnection].<init>(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].<init>(org.xnio.StreamConnection,java.net.SocketAddress,java.net.SocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamConnection].getSinkChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:401,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamConnection
      - SocketAddress
      - SocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: StreamConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].notifyWriteClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
    - '[StreamConnection].getSinkChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].notifyWriteClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:406,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamConnection
      - SocketAddress
      - SocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: StreamConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].notifyReadClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 0
    functionsReached:
    - '[StreamConnection].getSourceChannel()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].notifyReadClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamConnection
      - SocketAddress
      - SocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: StreamConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamConnection
      - SocketAddress
      - SocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: StreamConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolReadListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener.AddressWrappedConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.proxy.ProxyProtocolOpenListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - openListener
    - ssl
    - bufferPool
    - sslOptionMap
    argTypes:
    - io.undertow.server.OpenListener
    - io.undertow.protocols.ssl.UndertowXnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].<init>(io.undertow.server.OpenListener,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolOpenListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.proxy.ProxyProtocolOpenListener
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].<init>(io.undertow.server.OpenListener,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolOpenListener:30,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].<init>(org.xnio.StreamConnection,io.undertow.server.OpenListener,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolOpenListener:30,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].setReadListener(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolOpenListener:30,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolOpenListener:31,1
    - Dst: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].wakeupReads()'
      Src: io.undertow.server.protocol.proxy.ProxyProtocolOpenListener:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.OpenListener
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamConnection
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/protocol/proxy/ProxyProtocolOpenListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].setReadListener(io.undertow.server.protocol.proxy.ProxyProtocolReadListener)'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].wakeupReads()'
    - '[io.undertow.server.protocol.proxy.ProxyProtocolReadListener].<init>(org.xnio.StreamConnection,io.undertow.server.OpenListener,io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.protocol.proxy.ProxyProtocolOpenListener].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:35,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<String[]>
      - io.undertow.server.HttpHandler
      - io.undertow.util.HeaderMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ConfiguredPushHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.handlers.ConfiguredPushHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConfiguredPushHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.ConfiguredPushHandler
    signature: '[io.undertow.server.handlers.ConfiguredPushHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:45,1
    - Dst: '[io.undertow.server.ServerConnection].isPushSupported()'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:45,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:46,1
    - Dst: '[io.undertow.util.PathMatcher<String[]>].match(String)'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:46,1
    - Dst: '[io.undertow.server.handlers.ConfiguredPushHandler].getValue()'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:48,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:50,1
    - Dst: '[io.undertow.server.ServerConnection].pushResource(io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:50,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<String[]>
      - io.undertow.server.HttpHandler
      - io.undertow.util.HeaderMap
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.handlers.ConfiguredPushHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConfiguredPushHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.ConfiguredPushHandler].getValue()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.util.PathMatcher<String[]>].match(String)'
    - '[io.undertow.server.ServerConnection].pushResource(io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
    - '[io.undertow.server.ServerConnection].isPushSupported()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ConfiguredPushHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<String[]>
      - io.undertow.server.HttpHandler
      - io.undertow.util.HeaderMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ConfiguredPushHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.ConfiguredPushHandler].addRequestHeader(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConfiguredPushHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ConfiguredPushHandler
    signature: '[io.undertow.server.handlers.ConfiguredPushHandler].addRequestHeader(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:63,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:64,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:64,1
    - Dst: '[io.undertow.util.PathMatcher<String[]>].addPrefixPath(io.undertow.server.handlers.ConfiguredPushHandler,io.undertow.server.handlers.ConfiguredPushHandler)'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:65,1
    - Dst: '[io.undertow.util.PathMatcher<String[]>].addExactPath(String,io.undertow.server.handlers.ConfiguredPushHandler)'
      Src: io.undertow.server.handlers.ConfiguredPushHandler:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<String[]>
      - io.undertow.server.HttpHandler
      - io.undertow.util.HeaderMap
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ConfiguredPushHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.ConfiguredPushHandler].addRoute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConfiguredPushHandler.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[io.undertow.util.PathMatcher<String[]>].addExactPath(String,io.undertow.server.handlers.ConfiguredPushHandler)'
    - '[String].endsWith(String)'
    - '[io.undertow.util.PathMatcher<String[]>].addPrefixPath(io.undertow.server.handlers.ConfiguredPushHandler,io.undertow.server.handlers.ConfiguredPushHandler)'
    - '[String].substring(int,int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ConfiguredPushHandler
    signature: '[io.undertow.server.handlers.ConfiguredPushHandler].addRoute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.AccessControlListHandler:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - attribute
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.AccessControlListHandler:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.AccessControlListHandler:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - attribute
    - denyResponseCode
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.attribute.ExchangeAttribute
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.AccessControlListHandler:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - attribute
    - denyResponseCode
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    - int
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.attribute.ExchangeAttribute,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.attribute.ExchangeAttribute,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.AccessControlListHandler:92,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler:93,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.AccessControlListHandler:94,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.AccessControlListHandler:96,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.AccessControlListHandler:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 6
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AccessControlListHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rule.matches(String)
      Src: io.undertow.server.handlers.AccessControlListHandler:105,1
    - Dst: rule.isDeny()
      Src: io.undertow.server.handlers.AccessControlListHandler:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 6
    functionsReached:
    - rule.matches(String)
    - rule.isDeny()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.AccessControlListHandler].isAllowed(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].isDefaultAllow()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.AccessControlListHandler].isDefaultAllow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultAllow
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addRule(String,boolean)'
      Src: io.undertow.server.handlers.AccessControlListHandler:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].addAllow(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].addRule(String,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].addAllow(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addRule(String,boolean)'
      Src: io.undertow.server.handlers.AccessControlListHandler:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].addDeny(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].addRule(String,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].addDeny(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<AclMatch>].clear()'
      Src: io.undertow.server.handlers.AccessControlListHandler:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].clearRules()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<AclMatch>].clear()'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].clearRules()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].<init>(boolean,String)'
      Src: io.undertow.server.handlers.AccessControlListHandler:159,1
    - Dst: '[java.util.List<AclMatch>].add(io.undertow.server.handlers.AccessControlListHandler.AclMatch)'
      Src: io.undertow.server.handlers.AccessControlListHandler:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - java.util.List<AclMatch>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - userAgent
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.handlers.AccessControlListHandler].addRule(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].<init>(boolean,String)'
    - '[java.util.List<AclMatch>].add(io.undertow.server.handlers.AccessControlListHandler.AclMatch)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler].addRule(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].createPattern(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.AclMatch:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Pattern
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler.AclMatch
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - deny
    - pattern
    argTypes:
    - boolean
    - String
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].<init>(boolean,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].createPattern(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler.AclMatch
    signature: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].<init>(boolean,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.AclMatch:175,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].notAValidRegularExpressionPattern(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.AclMatch:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Pattern
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.regex.Pattern
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].createPattern(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    - '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].notAValidRegularExpressionPattern(String)'
    linkageType: ''
    returnType: java.util.regex.Pattern
    signature: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].createPattern(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Pattern].matcher(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.AclMatch:182,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].matches()'
      Src: io.undertow.server.handlers.AccessControlListHandler.AclMatch:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Pattern
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].matches(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].matches()'
    - '[Pattern].matcher(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].matches(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Pattern
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].isDeny()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].isDeny()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].getClass()'
      Src: io.undertow.server.handlers.AccessControlListHandler.AclMatch:191,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].getSimpleName()'
      Src: io.undertow.server.handlers.AccessControlListHandler.AclMatch:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Pattern
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].getSimpleName()'
    - '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].getClass()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:208,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:209,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:210,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:211,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:218,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:219,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:232,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:233,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:234,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:236,1
    - Dst: rule.split(String)
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:238,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.Builder].invalidAclRule(io.undertow.server.handlers.AccessControlListHandler.Builder)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:240,1
    - Dst: parts[1].trim()
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:242,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.Builder].equals(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:242,1
    - Dst: parts[0].trim()
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:243,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].<init>(boolean,io.undertow.server.handlers.AccessControlListHandler.Builder)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:243,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.AccessControlListHandler.AclMatch)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:243,1
    - Dst: parts[1].trim()
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:244,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.Builder].equals(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:244,1
    - Dst: parts[0].trim()
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:245,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].<init>(boolean,io.undertow.server.handlers.AccessControlListHandler.Builder)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:245,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.AccessControlListHandler.AclMatch)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:245,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler.Builder].invalidAclRule(io.undertow.server.handlers.AccessControlListHandler.Builder)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:247,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:250,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(java.util.ArrayList,io.undertow.server.handlers.AccessControlListHandler.Builder)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:252,1
    - Dst: failureStatus.intValue()
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:254,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(java.util.ArrayList,io.undertow.server.handlers.AccessControlListHandler.Builder,io.undertow.server.handlers.AccessControlListHandler.Builder)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Builder:254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler.AclMatch].<init>(boolean,io.undertow.server.handlers.AccessControlListHandler.Builder)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(java.util.ArrayList,io.undertow.server.handlers.AccessControlListHandler.Builder,io.undertow.server.handlers.AccessControlListHandler.Builder)'
    - parts[0].trim()
    - failureStatus.intValue()
    - '[java.util.ArrayList].add(io.undertow.server.handlers.AccessControlListHandler.AclMatch)'
    - '[io.undertow.server.handlers.AccessControlListHandler.Builder].invalidAclRule(io.undertow.server.handlers.AccessControlListHandler.Builder)'
    - parts[1].trim()
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.handlers.AccessControlListHandler.Builder].equals(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(java.util.ArrayList,io.undertow.server.handlers.AccessControlListHandler.Builder)'
    - '[java.util.Map<String,Object>].get(String)'
    - rule.split(String)
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler.Builder
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<AclMatch>
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - List<AclMatch>
      - boolean
      - ExchangeAttribute
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler.Wrapper
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - peerMatches
    - defaultAllow
    - attribute
    argTypes:
    - java.util.List<AclMatch>
    - boolean
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Wrapper].<init>(java.util.List<AclMatch>,boolean,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler.Wrapper
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Wrapper].<init>(java.util.List<AclMatch>,boolean,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<AclMatch>
      - boolean
      - io.undertow.attribute.ExchangeAttribute
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - List<AclMatch>
      - boolean
      - ExchangeAttribute
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.AccessControlListHandler.Wrapper
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - peerMatches
    - defaultAllow
    - attribute
    - denyResponseCode
    argTypes:
    - java.util.List<AclMatch>
    - boolean
    - io.undertow.attribute.ExchangeAttribute
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Wrapper].<init>(java.util.List<AclMatch>,boolean,io.undertow.attribute.ExchangeAttribute,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AccessControlListHandler.Wrapper
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Wrapper].<init>(java.util.List<AclMatch>,boolean,io.undertow.attribute.ExchangeAttribute,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,ExchangeAttribute,int)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Wrapper:288,1
    - Dst: match.pattern.pattern()
      Src: io.undertow.server.handlers.AccessControlListHandler.Wrapper:291,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addDeny(io.undertow.server.handlers.AccessControlListHandler.Wrapper)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Wrapper:291,1
    - Dst: match.pattern.pattern()
      Src: io.undertow.server.handlers.AccessControlListHandler.Wrapper:293,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].addAllow(io.undertow.server.handlers.AccessControlListHandler.Wrapper)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Wrapper:293,1
    - Dst: '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.AccessControlListHandler.Wrapper:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - List<AclMatch>
      - boolean
      - ExchangeAttribute
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: '[io.undertow.server.handlers.AccessControlListHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AccessControlListHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AccessControlListHandler].addDeny(io.undertow.server.handlers.AccessControlListHandler.Wrapper)'
    - '[io.undertow.server.handlers.AccessControlListHandler].<init>(io.undertow.server.HttpHandler,ExchangeAttribute,int)'
    - '[io.undertow.server.handlers.AccessControlListHandler].addAllow(io.undertow.server.handlers.AccessControlListHandler.Wrapper)'
    - '[io.undertow.server.handlers.AccessControlListHandler].setDefaultAllow(boolean)'
    - match.pattern.pattern()
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.AccessControlListHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].<init>()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler:43,1
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.FastConcurrentDirectDeque<io.undertow.server.RequestStatistics>
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ActiveRequestTrackerHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - predicate
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].<init>()'
    - '[io.undertow.server.handlers.ActiveRequestTrackerHandler].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ActiveRequestTrackerHandler
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.FastConcurrentDirectDeque<io.undertow.server.RequestStatistics>)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.FastConcurrentDirectDeque<io.undertow.server.RequestStatistics>
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.server.RequestStatistics>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].getTrackedRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>(io.undertow.util.FastConcurrentDirectDeque<io.undertow.server.RequestStatistics>)'
    linkageType: ''
    returnType: java.util.List<io.undertow.server.RequestStatistics>
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].getTrackedRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler:62,1
    - Dst: '[io.undertow.server.RequestStatistics].<init>(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler:63,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque<io.undertow.server.RequestStatistics>].add(io.undertow.server.RequestStatistics)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler:65,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler:66,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.FastConcurrentDirectDeque<io.undertow.server.RequestStatistics>
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener()'
    - '[io.undertow.server.RequestStatistics].<init>(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.FastConcurrentDirectDeque<io.undertow.server.RequestStatistics>].add(io.undertow.server.RequestStatistics)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ActiveRequestTrackerHandler.Wrapper].<init>()'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached:
    - '[ActiveRequestTrackerHandler.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ActiveRequestTrackerHandler].<init>(io.undertow.server.HttpHandler,null)'
      Src: io.undertow.server.handlers.ActiveRequestTrackerHandler.Wrapper:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ActiveRequestTrackerHandler].<init>(io.undertow.server.HttpHandler,null)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ActiveRequestTrackerHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ActiveRequestTrackerHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ActiveRequestTrackerHandler.Wrapper
    signature: '[io.undertow.server.handlers.ActiveRequestTrackerHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.LearningPushHandler:49,1
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.LearningPushHandler:50,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - io.undertow.server.handlers.cache.LRUCache<String,io.undertow.server.handlers.cache.LRUCache<String,PushedRequest>>
      - io.undertow.server.HttpHandler
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.LearningPushHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached:
    - Integer.getInteger(String,int)
    - '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler
    signature: '[io.undertow.server.handlers.LearningPushHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.LearningPushHandler:49,1
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.LearningPushHandler:50,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
      Src: io.undertow.server.handlers.LearningPushHandler:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - io.undertow.server.handlers.cache.LRUCache<String,io.undertow.server.handlers.cache.LRUCache<String,PushedRequest>>
      - io.undertow.server.HttpHandler
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - maxPathEtries
    - maxPathAge
    - next
    argTypes:
    - int
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 2
    functionsReached:
    - Integer.getInteger(String,int)
    - '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler
    signature: '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.LearningPushHandler:49,1
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.LearningPushHandler:50,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
      Src: io.undertow.server.handlers.LearningPushHandler:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - io.undertow.server.handlers.cache.LRUCache<String,io.undertow.server.handlers.cache.LRUCache<String,PushedRequest>>
      - io.undertow.server.HttpHandler
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - maxPathEtries
    - maxPathAge
    - maxPushEtries
    - maxPushAge
    - next
    argTypes:
    - int
    - int
    - int
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,int,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 1
    functionsReached:
    - Integer.getInteger(String,int)
    - '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler
    signature: '[io.undertow.server.handlers.LearningPushHandler].<init>(int,int,int,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.LearningPushHandler:80,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.LearningPushHandler:80,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURL()'
      Src: io.undertow.server.handlers.LearningPushHandler:81,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.LearningPushHandler:82,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURL()'
      Src: io.undertow.server.handlers.LearningPushHandler:84,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.LearningPushHandler:84,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.LearningPushHandler:85,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.LearningPushHandler:85,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].doPush(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:88,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.LearningPushHandler:89,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.LearningPushHandler:89,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.LearningPushHandler:91,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.LearningPushHandler:91,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.LearningPushHandler:92,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler.PushCompletionListener].<init>(io.undertow.server.handlers.LearningPushHandler,io.undertow.server.handlers.LearningPushHandler,String)'
      Src: io.undertow.server.handlers.LearningPushHandler:97,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.handlers.LearningPushHandler.PushCompletionListener)'
      Src: io.undertow.server.handlers.LearningPushHandler:97,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.LearningPushHandler:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - io.undertow.server.handlers.cache.LRUCache<String,io.undertow.server.handlers.cache.LRUCache<String,PushedRequest>>
      - io.undertow.server.HttpHandler
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 101
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.LearningPushHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.handlers.LearningPushHandler].doPush(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.LearningPushHandler)'
    - '[io.undertow.server.handlers.LearningPushHandler.PushCompletionListener].<init>(io.undertow.server.handlers.LearningPushHandler,io.undertow.server.handlers.LearningPushHandler,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRequestURL()'
    - '[String].contains(String)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.handlers.LearningPushHandler.PushCompletionListener)'
    - '[String].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LearningPushHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.LearningPushHandler:104,1
    - Dst: '[io.undertow.server.ServerConnection].isPushSupported()'
      Src: io.undertow.server.handlers.LearningPushHandler:104,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,io.undertow.server.handlers.cache.LRUCache<String,PushedRequest>>].get(String)'
      Src: io.undertow.server.handlers.LearningPushHandler:105,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getSession(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.LearningPushHandler:107,1
    - Dst: '[io.undertow.server.session.Session].getAttribute(String)'
      Src: io.undertow.server.handlers.LearningPushHandler:111,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
      Src: io.undertow.server.handlers.LearningPushHandler:113,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].keySet()'
      Src: io.undertow.server.handlers.LearningPushHandler:115,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].get(io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:116,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getPath()'
      Src: io.undertow.server.handlers.LearningPushHandler:120,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].get(io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:120,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getEtag()'
      Src: io.undertow.server.handlers.LearningPushHandler:123,1
    - Dst: '[V].equals(io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:123,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getLastModified()'
      Src: io.undertow.server.handlers.LearningPushHandler:125,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.LearningPushHandler:131,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getRequestHeaders()'
      Src: io.undertow.server.handlers.LearningPushHandler:131,1
    - Dst: '[io.undertow.server.ServerConnection].pushResource(io.undertow.server.handlers.LearningPushHandler,io.undertow.util.HttpString,io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:131,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getEtag()'
      Src: io.undertow.server.handlers.LearningPushHandler:132,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getPath()'
      Src: io.undertow.server.handlers.LearningPushHandler:133,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getEtag()'
      Src: io.undertow.server.handlers.LearningPushHandler:133,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].add(io.undertow.server.handlers.LearningPushHandler,io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:133,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getPath()'
      Src: io.undertow.server.handlers.LearningPushHandler:135,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getLastModified()'
      Src: io.undertow.server.handlers.LearningPushHandler:135,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].add(io.undertow.server.handlers.LearningPushHandler,io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:135,1
    - Dst: '[io.undertow.server.session.Session].setAttribute(String,io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.LearningPushHandler:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - io.undertow.server.handlers.cache.LRUCache<String,io.undertow.server.handlers.cache.LRUCache<String,PushedRequest>>
      - io.undertow.server.HttpHandler
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - fullPath
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 143
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.LearningPushHandler].doPush(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LearningPushHandler].get(io.undertow.server.handlers.LearningPushHandler)'
    - '[io.undertow.server.handlers.cache.LRUCache].get(io.undertow.server.handlers.LearningPushHandler)'
    - '[io.undertow.server.handlers.LearningPushHandler].getSession(io.undertow.server.HttpServerExchange)'
    - '[V].equals(io.undertow.server.handlers.LearningPushHandler)'
    - '[io.undertow.server.ServerConnection].pushResource(io.undertow.server.handlers.LearningPushHandler,io.undertow.util.HttpString,io.undertow.server.handlers.LearningPushHandler)'
    - '[io.undertow.server.handlers.cache.LRUCache].add(io.undertow.server.handlers.LearningPushHandler,io.undertow.server.handlers.LearningPushHandler)'
    - '[io.undertow.server.handlers.LearningPushHandler].getLastModified()'
    - '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
    - '[io.undertow.server.handlers.LearningPushHandler].getPath()'
    - '[io.undertow.server.session.Session].setAttribute(String,io.undertow.server.handlers.cache.LRUCache)'
    - '[io.undertow.server.handlers.LearningPushHandler].getEtag()'
    - '[io.undertow.server.handlers.LearningPushHandler].keySet()'
    - '[io.undertow.server.handlers.LearningPushHandler].getRequestHeaders()'
    - '[io.undertow.server.ServerConnection].isPushSupported()'
    - '[io.undertow.server.session.Session].getAttribute(String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.handlers.cache.LRUCache<String,io.undertow.server.handlers.cache.LRUCache<String,PushedRequest>>].get(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LearningPushHandler].doPush(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:146,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:147,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].getSession(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:151,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler].createSession(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.LearningPushHandler)'
      Src: io.undertow.server.handlers.LearningPushHandler:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - io.undertow.server.handlers.cache.LRUCache<String,io.undertow.server.handlers.cache.LRUCache<String,PushedRequest>>
      - io.undertow.server.HttpHandler
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.LearningPushHandler].getSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.LearningPushHandler)'
    - '[io.undertow.server.handlers.LearningPushHandler].createSession(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.LearningPushHandler)'
    - '[io.undertow.server.handlers.LearningPushHandler].getSession(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.LearningPushHandler)'
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.server.handlers.LearningPushHandler].getSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - fullPath
    - requestPath
    - referer
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.LearningPushHandler.PushCompletionListener].<init>(String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener
    signature: '[io.undertow.server.handlers.LearningPushHandler.PushCompletionListener].<init>(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:172,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:174,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:174,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:175,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:175,1
    - Dst: '[io.undertow.util.DateUtils].parseDate(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:178,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:180,1
    - Dst: cache.get(String)
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:183,1
    - Dst: cache.get(String)
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:186,1
    - Dst: cache.add(String)
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:188,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:192,1
    - Dst: '[PushedRequest].<init>(io.undertow.util.HeaderMap,String,String,io.undertow.server.handlers.LearningPushHandler.PushCompletionListener)'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:192,1
    - Dst: '[io.undertow.server.handlers.LearningPushHandler.PushCompletionListener].add(String,PushedRequest)'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:192,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
      Src: io.undertow.server.handlers.LearningPushHandler.PushCompletionListener:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - NextListener
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - nextListener
    argTypes:
    - io.undertow.server.HttpServerExchange
    - NextListener
    constantsTouched: []
    func_position:
      end: 196
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.handlers.LearningPushHandler.PushCompletionListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - cache.get(String)
    - '[io.undertow.server.handlers.LearningPushHandler.PushCompletionListener].add(String,PushedRequest)'
    - '[java.util.Date].getTime()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.DateUtils].parseDate(String)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - cache.add(String)
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
    - '[PushedRequest].<init>(io.undertow.util.HeaderMap,String,String,io.undertow.server.handlers.LearningPushHandler.PushCompletionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LearningPushHandler.PushCompletionListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      - String
      - String
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      - String
      - String
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler.PushedRequest
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - requestHeaders
    - path
    - etag
    - lastModified
    argTypes:
    - io.undertow.util.HeaderMap
    - String
    - String
    - long
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].<init>(io.undertow.util.HeaderMap,String,String,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler.PushedRequest
    signature: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].<init>(io.undertow.util.HeaderMap,String,String,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      - String
      - String
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].getRequestHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].getRequestHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      - String
      - String
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      - String
      - String
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].getEtag()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].getEtag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HeaderMap
      - String
      - String
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].getLastModified()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.LearningPushHandler.PushedRequest].getLastModified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: '[io.undertow.server.handlers.LearningPushHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.LearningPushHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:238,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:239,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:240,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:241,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: '[io.undertow.server.handlers.LearningPushHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.LearningPushHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: '[io.undertow.server.handlers.LearningPushHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.LearningPushHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: '[io.undertow.server.handlers.LearningPushHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.LearningPushHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].containsKey(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:258,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:258,1
    - Dst: '[java.util.Map<String,Object>].containsKey(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:259,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:259,1
    - Dst: '[java.util.Map<String,Object>].containsKey(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:260,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:260,1
    - Dst: '[java.util.Map<String,Object>].containsKey(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:261,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:261,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.LearningPushHandler.Builder:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: '[io.undertow.server.handlers.LearningPushHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].containsKey(String)'
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.LearningPushHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '[io.undertow.server.handlers.LearningPushHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.LearningPushHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LearningPushHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.LearningPushHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LearningPushHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LearningPushHandler.Builder
    signature: '[io.undertow.server.handlers.LearningPushHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ReasonPhraseHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - reasonPhrase
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.ReasonPhraseHandler].<init>(io.undertow.server.HttpHandler,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ReasonPhraseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ReasonPhraseHandler
    signature: '[io.undertow.server.handlers.ReasonPhraseHandler].<init>(io.undertow.server.HttpHandler,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
      Src: io.undertow.server.handlers.ReasonPhraseHandler:53,1
    - Dst: '[io.undertow.server.handlers.ReasonPhraseHandler].debugf(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ReasonPhraseHandler:55,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ReasonPhraseHandler:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.ReasonPhraseHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ReasonPhraseHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.ReasonPhraseHandler].debugf(String,String,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ReasonPhraseHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.ReasonPhraseHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ReasonPhraseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ReasonPhraseHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.SecureCookieHandler:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SecureCookieHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.handlers.SecureCookieHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.SecureCookieHandler
    signature: '[io.undertow.server.handlers.SecureCookieHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isSecure()'
      Src: io.undertow.server.handlers.SecureCookieHandler:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.handlers.SecureCookieHandler)'
      Src: io.undertow.server.handlers.SecureCookieHandler:52,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.SecureCookieHandler:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.handlers.SecureCookieHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.handlers.SecureCookieHandler)'
    - '[io.undertow.server.HttpServerExchange].isSecure()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SecureCookieHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.SecureCookieHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SecureCookieHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.SecureCookieHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SecureCookieHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.SecureCookieHandler.Builder:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.SecureCookieHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.SecureCookieHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.SecureCookieHandler.Builder:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.SecureCookieHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.SecureCookieHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.SecureCookieHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SecureCookieHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.SecureCookieHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.SecureCookieHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.SecureCookieHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.SecureCookieHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SecureCookieHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SecureCookieHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SecureCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SecureCookieHandler.Builder
    signature: '[io.undertow.server.handlers.SecureCookieHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,io.undertow.attribute.ExchangeAttribute,boolean)'
      Src: io.undertow.server.handlers.SetAttributeHandler:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - attribute
    - value
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.attribute.ExchangeAttribute
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,io.undertow.attribute.ExchangeAttribute,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler
    signature: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetAttributeHandler].getClass()'
      Src: io.undertow.server.handlers.SetAttributeHandler:57,1
    - Dst: '[io.undertow.server.handlers.SetAttributeHandler].getClassLoader()'
      Src: io.undertow.server.handlers.SetAttributeHandler:57,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(io.undertow.server.handlers.SetAttributeHandler)'
      Src: io.undertow.server.handlers.SetAttributeHandler:57,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:58,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - attribute
    - value
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.server.handlers.SetAttributeHandler].getClassLoader()'
    - '[io.undertow.attribute.ExchangeAttributes].parser(io.undertow.server.handlers.SetAttributeHandler)'
    - '[io.undertow.server.handlers.SetAttributeHandler].getClass()'
    - '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler
    signature: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
      Src: io.undertow.server.handlers.SetAttributeHandler:65,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:66,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - attribute
    - value
    - classLoader
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String,ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler
    signature: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String,ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - attribute
    - value
    - preCommit
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.attribute.ExchangeAttribute
    - io.undertow.attribute.ExchangeAttribute
    - boolean
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,io.undertow.attribute.ExchangeAttribute,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler
    signature: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,io.undertow.attribute.ExchangeAttribute,io.undertow.attribute.ExchangeAttribute,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetAttributeHandler].getClass()'
      Src: io.undertow.server.handlers.SetAttributeHandler:81,1
    - Dst: '[io.undertow.server.handlers.SetAttributeHandler].getClassLoader()'
      Src: io.undertow.server.handlers.SetAttributeHandler:81,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(io.undertow.server.handlers.SetAttributeHandler)'
      Src: io.undertow.server.handlers.SetAttributeHandler:81,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:82,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - attribute
    - value
    - preCommit
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.server.handlers.SetAttributeHandler].getClassLoader()'
    - '[io.undertow.attribute.ExchangeAttributes].parser(io.undertow.server.handlers.SetAttributeHandler)'
    - '[io.undertow.server.handlers.SetAttributeHandler].getClass()'
    - '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler
    signature: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
      Src: io.undertow.server.handlers.SetAttributeHandler:89,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:90,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      - ClassLoader
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - next
    - attribute
    - value
    - classLoader
    - preCommit
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    - ClassLoader
    - boolean
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String,ClassLoader,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parseSingleToken(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler
    signature: '[io.undertow.server.handlers.SetAttributeHandler].<init>(io.undertow.server.HttpHandler,String,String,ClassLoader,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.SetAttributeHandler].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.server.handlers.SetAttributeHandler:100,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.server.handlers.SetAttributeHandler:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetAttributeHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ResponseCommitListener].<init>()'
      Src: io.undertow.server.handlers.SetAttributeHandler:106,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.ResponseCommitListener)'
      Src: io.undertow.server.handlers.SetAttributeHandler:106,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.SetAttributeHandler:117,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.SetAttributeHandler:117,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.SetAttributeHandler:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.attribute.ExchangeAttribute
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.SetAttributeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.ResponseCommitListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.ResponseCommitListener)'
    - '[io.undertow.attribute.ExchangeAttribute].writeAttribute(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SetAttributeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetAttributeHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:130,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:131,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:132,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.SetAttributeHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:140,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:141,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.SetAttributeHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetAttributeHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:153,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:154,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:155,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.SetAttributeHandler.Builder:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.SetAttributeHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.SetAttributeHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler.Builder
    signature: '[io.undertow.server.handlers.SetAttributeHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder:179,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder:180,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder:187,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder:199,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder:200,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetAttributeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetAttributeHandler.ClearBuilder
    signature: '[io.undertow.server.handlers.SetAttributeHandler.ClearBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CanonicalPathHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.CanonicalPathHandler
    signature: '[io.undertow.server.handlers.CanonicalPathHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CanonicalPathHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.CanonicalPathHandler
    signature: '[io.undertow.server.handlers.CanonicalPathHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.CanonicalPathHandler:48,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.server.handlers.CanonicalPathHandler:48,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.server.handlers.CanonicalPathHandler:48,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.CanonicalPathHandler:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.CanonicalPathHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.CanonicalPathHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.CanonicalPathHandler:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CanonicalPathHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.CanonicalPathHandler
    signature: '[io.undertow.server.handlers.CanonicalPathHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CanonicalPathHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.CanonicalPathHandler.Builder:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.CanonicalPathHandler.Builder:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.CanonicalPathHandler.Builder:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CanonicalPathHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.CanonicalPathHandler.Builder
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CanonicalPathHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.CanonicalPathHandler.Wrapper:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CanonicalPathHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CanonicalPathHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.CanonicalPathHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CanonicalPathHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.CanonicalPathHandler.Wrapper
    signature: '[io.undertow.server.handlers.CanonicalPathHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.SSLHeaderHandler:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SSLHeaderHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.SSLHeaderHandler
    signature: '[io.undertow.server.handlers.SSLHeaderHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.SSLHeaderHandler:82,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:83,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:84,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:85,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:86,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:87,1
    - Dst: Integer.parseUnsignedInt(String)
      Src: io.undertow.server.handlers.SSLHeaderHandler:91,1
    - Dst: '[io.undertow.server.handlers.SSLHeaderHandler].debugf(String,String)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:93,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.SSLHeaderHandler:98,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:98,1
    - Dst: clientCert.length()
      Src: io.undertow.server.handlers.SSLHeaderHandler:101,1
    - Dst: clientCert.length()
      Src: io.undertow.server.handlers.SSLHeaderHandler:103,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:103,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:104,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:105,1
    - Dst: clientCert.replace(char,char)
      Src: io.undertow.server.handlers.SSLHeaderHandler:106,1
    - Dst: clientCert.length()
      Src: io.undertow.server.handlers.SSLHeaderHandler:106,1
    - Dst: '[io.undertow.server.handlers.SSLHeaderHandler].substring(int,int)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:106,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:106,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:107,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:108,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.SSLHeaderHandler:109,1
    - Dst: '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,io.undertow.server.handlers.SSLHeaderHandler,io.undertow.server.handlers.SSLHeaderHandler,String)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:113,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:114,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.SSLHeaderHandler:115,1
    - Dst: '[io.undertow.server.ServerConnection].setSslSessionInfo(io.undertow.server.BasicSSLSessionInfo)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:115,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:116,1
    - Dst: '[io.undertow.server.handlers.SSLHeaderHandler].debugf(io.undertow.server.handlers.SSLHeaderHandler,String,io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:118,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.SSLHeaderHandler:121,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 122
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached:
    - clientCert.length()
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[StringBuilder].append(io.undertow.server.handlers.SSLHeaderHandler)'
    - '[io.undertow.server.handlers.SSLHeaderHandler].substring(int,int)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.server.handlers.SSLHeaderHandler)'
    - '[io.undertow.server.BasicSSLSessionInfo].<init>(String,String,io.undertow.server.handlers.SSLHeaderHandler,io.undertow.server.handlers.SSLHeaderHandler,String)'
    - '[io.undertow.server.handlers.SSLHeaderHandler].debugf(String,String)'
    - '[io.undertow.server.ServerConnection].setSslSessionInfo(io.undertow.server.BasicSSLSessionInfo)'
    - clientCert.replace(char,char)
    - '[String].isEmpty()'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[StringBuilder].toString()'
    - Integer.parseUnsignedInt(String)
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.handlers.SSLHeaderHandler].debugf(io.undertow.server.handlers.SSLHeaderHandler,String,io.undertow.server.handlers.SSLHeaderHandler)'
    - '[StringBuilder].append(char)'
    - '[String].equals(String)'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SSLHeaderHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SSLHeaderHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.SSLHeaderHandler.Builder:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.SSLHeaderHandler.Builder:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.SSLHeaderHandler.Builder:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SSLHeaderHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SSLHeaderHandler.Builder
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SSLHeaderHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.SSLHeaderHandler.Wrapper:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.SSLHeaderHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SSLHeaderHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SSLHeaderHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SSLHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SSLHeaderHandler.Wrapper
    signature: '[io.undertow.server.handlers.SSLHeaderHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>(java.util.Set<io.undertow.util.HttpString>)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.util.Set<io.undertow.util.HttpString>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AllowedMethodsHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - allowedMethods
    argTypes:
    - io.undertow.server.HttpHandler
    - java.util.Set<io.undertow.util.HttpString>
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler].<init>(io.undertow.server.HttpHandler,java.util.Set<io.undertow.util.HttpString>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(java.util.Set<io.undertow.util.HttpString>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AllowedMethodsHandler
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler].<init>(io.undertow.server.HttpHandler,java.util.Set<io.undertow.util.HttpString>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(java.util.Set<io.undertow.util.HttpString>)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:51,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.AllowedMethodsHandler)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AllowedMethodsHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(java.util.Set<io.undertow.util.HttpString>)'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.AllowedMethodsHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AllowedMethodsHandler
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:57,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:57,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:60,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 6
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.Set<io.undertow.util.HttpString>)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<io.undertow.util.HttpString>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler].getAllowedMethods()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(java.util.Set<io.undertow.util.HttpString>)'
    linkageType: ''
    returnType: java.util.Set<io.undertow.util.HttpString>
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler].getAllowedMethods()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].size()'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:72,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].toArray()'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:73,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].stream()'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:75,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsHandler].map()'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:75,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:75,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsHandler].collect(io.undertow.server.handlers.AllowedMethodsHandler)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<io.undertow.util.HttpString>].toArray()'
    - '[io.undertow.server.handlers.AllowedMethodsHandler].map()'
    - '[java.util.Set<io.undertow.util.HttpString>].stream()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[io.undertow.server.handlers.AllowedMethodsHandler].collect(io.undertow.server.handlers.AllowedMethodsHandler)'
    - '[java.util.Set<io.undertow.util.HttpString>].size()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler.Builder:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler.Builder:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler.Builder:103,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String[])'
      Src: io.undertow.server.handlers.AllowedMethodsHandler.Builder:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String[])'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AllowedMethodsHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AllowedMethodsHandler.Builder
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.AllowedMethodsHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - methods
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Wrapper].<init>(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AllowedMethodsHandler.Wrapper
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Wrapper].<init>(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>()'
      Src: io.undertow.server.handlers.AllowedMethodsHandler.Wrapper:125,1
    - Dst: '[io.undertow.server.handlers.AllowedMethodsHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.AllowedMethodsHandler.Wrapper)'
      Src: io.undertow.server.handlers.AllowedMethodsHandler.Wrapper:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.AllowedMethodsHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AllowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AllowedMethodsHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.AllowedMethodsHandler.Wrapper)'
    - '[io.undertow.util.HttpString].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.AllowedMethodsHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ThreadLocal.withInitial()
      Src: io.undertow.server.handlers.URLDecodingHandler:49,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.URLDecodingHandler:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<StringBuilder>
      - io.undertow.util.AttachmentKey<Object>
      - io.undertow.server.HttpHandler
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.URLDecodingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - charset
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 7
    functionsReached:
    - ThreadLocal.withInitial()
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.URLDecodingHandler
    signature: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].shouldDecode(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.URLDecodingHandler:62,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].getStringBuilderForDecoding(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.URLDecodingHandler:63,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].decodePath(io.undertow.server.HttpServerExchange,String,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:64,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].decodeQueryString(io.undertow.server.HttpServerExchange,String,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:65,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].decodePathTemplateMatch(io.undertow.server.HttpServerExchange,String,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:66,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.URLDecodingHandler:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<StringBuilder>
      - io.undertow.util.AttachmentKey<Object>
      - io.undertow.server.HttpHandler
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.URLDecodingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.URLDecodingHandler].decodePath(io.undertow.server.HttpServerExchange,String,StringBuilder)'
    - '[io.undertow.server.handlers.URLDecodingHandler].getStringBuilderForDecoding(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.URLDecodingHandler].decodeQueryString(io.undertow.server.HttpServerExchange,String,StringBuilder)'
    - '[io.undertow.server.handlers.URLDecodingHandler].decodePathTemplateMatch(io.undertow.server.HttpServerExchange,String,StringBuilder)'
    - '[io.undertow.server.handlers.URLDecodingHandler].shouldDecode(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.URLDecodingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.URLDecodingHandler:74,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.handlers.URLDecodingHandler:74,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.server.handlers.URLDecodingHandler:74,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Object>,io.undertow.server.handlers.URLDecodingHandler)'
      Src: io.undertow.server.handlers.URLDecodingHandler:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<StringBuilder>
      - io.undertow.util.AttachmentKey<Object>
      - io.undertow.server.HttpHandler
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.URLDecodingHandler].shouldDecode(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Object>,io.undertow.server.handlers.URLDecodingHandler)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.URLDecodingHandler].shouldDecode(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.URLDecodingHandler:79,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.handlers.URLDecodingHandler:79,1
    - Dst: '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.URLDecodingHandler:79,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.URLDecodingHandler:80,1
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:80,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
      Src: io.undertow.server.handlers.URLDecodingHandler:80,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.URLDecodingHandler:81,1
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:81,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
      Src: io.undertow.server.handlers.URLDecodingHandler:81,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.server.handlers.URLDecodingHandler:82,1
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:82,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
      Src: io.undertow.server.handlers.URLDecodingHandler:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<StringBuilder>
      - io.undertow.util.AttachmentKey<Object>
      - io.undertow.server.HttpHandler
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - charset
    - sb
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.handlers.URLDecodingHandler].decodePath(io.undertow.server.HttpServerExchange,String,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(String)'
    - '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
    - '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
    - '[io.undertow.server.HttpServerExchange].getResolvedPath()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.URLDecodingHandler].decodePath(io.undertow.server.HttpServerExchange,String,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.URLDecodingHandler:86,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.URLDecodingHandler:86,1
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandler:87,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.URLDecodingHandler:88,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.server.handlers.URLDecodingHandler:88,1
    - Dst: param.getValue()
      Src: io.undertow.server.handlers.URLDecodingHandler:89,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].size()'
      Src: io.undertow.server.handlers.URLDecodingHandler:89,1
    - Dst: '[java.util.ArrayDeque].<init>(io.undertow.server.handlers.URLDecodingHandler)'
      Src: io.undertow.server.handlers.URLDecodingHandler:89,1
    - Dst: param.getValue()
      Src: io.undertow.server.handlers.URLDecodingHandler:90,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.server.handlers.URLDecodingHandler,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:91,1
    - Dst: '[java.util.ArrayDeque].add(String)'
      Src: io.undertow.server.handlers.URLDecodingHandler:91,1
    - Dst: param.getKey()
      Src: io.undertow.server.handlers.URLDecodingHandler:93,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.server.handlers.URLDecodingHandler,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:93,1
    - Dst: '[java.util.TreeMap].put(String,java.util.ArrayDeque)'
      Src: io.undertow.server.handlers.URLDecodingHandler:93,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.URLDecodingHandler:95,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].clear()'
      Src: io.undertow.server.handlers.URLDecodingHandler:95,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.URLDecodingHandler:96,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].putAll(java.util.TreeMap)'
      Src: io.undertow.server.handlers.URLDecodingHandler:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<StringBuilder>
      - io.undertow.util.AttachmentKey<Object>
      - io.undertow.server.HttpHandler
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - charset
    - sb
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.URLDecodingHandler].decodeQueryString(io.undertow.server.HttpServerExchange,String,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[java.util.Map<String,java.util.Deque<String>>].putAll(java.util.TreeMap)'
    - '[java.util.ArrayDeque].add(String)'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[io.undertow.util.URLUtils].decode(io.undertow.server.handlers.URLDecodingHandler,String,boolean,boolean,StringBuilder)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].clear()'
    - '[java.util.TreeMap].put(String,java.util.ArrayDeque)'
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - '[java.util.ArrayDeque].<init>(io.undertow.server.handlers.URLDecodingHandler)'
    - '[String].isEmpty()'
    - param.getValue()
    - '[io.undertow.server.handlers.URLDecodingHandler].size()'
    - param.getKey()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.URLDecodingHandler].decodeQueryString(io.undertow.server.HttpServerExchange,String,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>)'
      Src: io.undertow.server.handlers.URLDecodingHandler:101,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].getParameters()'
      Src: io.undertow.server.handlers.URLDecodingHandler:103,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].entrySet()'
      Src: io.undertow.server.handlers.URLDecodingHandler:105,1
    - Dst: entry.getValue()
      Src: io.undertow.server.handlers.URLDecodingHandler:106,1
    - Dst: '[io.undertow.util.URLUtils].decode(io.undertow.server.handlers.URLDecodingHandler,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.URLDecodingHandler:106,1
    - Dst: entry.setValue(String)
      Src: io.undertow.server.handlers.URLDecodingHandler:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<StringBuilder>
      - io.undertow.util.AttachmentKey<Object>
      - io.undertow.server.HttpHandler
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - charset
    - sb
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.URLDecodingHandler].decodePathTemplateMatch(io.undertow.server.HttpServerExchange,String,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.URLDecodingHandler].entrySet()'
    - entry.setValue(String)
    - entry.getValue()
    - '[io.undertow.server.handlers.URLDecodingHandler].getParameters()'
    - '[io.undertow.util.URLUtils].decode(io.undertow.server.handlers.URLDecodingHandler,String,boolean,boolean,StringBuilder)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.URLDecodingHandler].decodePathTemplateMatch(io.undertow.server.HttpServerExchange,String,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.URLDecodingHandler:113,1
    - Dst: '[ThreadLocal<StringBuilder>].get()'
      Src: io.undertow.server.handlers.URLDecodingHandler:117,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.URLDecodingHandler:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<StringBuilder>
      - io.undertow.util.AttachmentKey<Object>
      - io.undertow.server.HttpHandler
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StringBuilder
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.URLDecodingHandler].getStringBuilderForDecoding(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 1
    functionsReached:
    - '[ThreadLocal<StringBuilder>].get()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    linkageType: ''
    returnType: StringBuilder
    signature: '[io.undertow.server.handlers.URLDecodingHandler].getStringBuilderForDecoding(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<StringBuilder>
      - io.undertow.util.AttachmentKey<Object>
      - io.undertow.server.HttpHandler
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.URLDecodingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.URLDecodingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.server.handlers.URLDecodingHandler.Builder:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.URLDecodingHandler.Builder:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.URLDecodingHandler.Builder:151,1
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler.Builder].toString()'
      Src: io.undertow.server.handlers.URLDecodingHandler.Builder:151,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.server.handlers.URLDecodingHandler.Builder)'
      Src: io.undertow.server.handlers.URLDecodingHandler.Builder:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.server.handlers.URLDecodingHandler.Builder].toString()'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.server.handlers.URLDecodingHandler.Builder)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.URLDecodingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.URLDecodingHandler.Builder
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.URLDecodingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - charset
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Wrapper].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.URLDecodingHandler.Wrapper
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Wrapper].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
      Src: io.undertow.server.handlers.URLDecodingHandler.Wrapper:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.URLDecodingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/URLDecodingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.URLDecodingHandler].<init>(io.undertow.server.HttpHandler,String)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.URLDecodingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResponseHandler].<init>(int,String,null,null)'
      Src: io.undertow.server.handlers.ResponseHandler:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - int
      - String
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResponseHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - code
    - reason
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.ResponseHandler].<init>(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResponseHandler].<init>(int,String,null,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseHandler
    signature: '[io.undertow.server.handlers.ResponseHandler].<init>(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResponseHandler].<init>(int,String,String,String)'
      Src: io.undertow.server.handlers.ResponseHandler:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - int
      - String
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResponseHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - code
    - reason
    - body
    argTypes:
    - int
    - String
    - String
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.ResponseHandler].<init>(int,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResponseHandler].<init>(int,String,String,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseHandler
    signature: '[io.undertow.server.handlers.ResponseHandler].<init>(int,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ReasonPhraseHandler].<init>(null,String)'
      Src: io.undertow.server.handlers.ResponseHandler:67,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(io.undertow.server.HttpHandler,int)'
      Src: io.undertow.server.handlers.ResponseHandler:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - int
      - String
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResponseHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - code
    - reason
    - body
    - type
    argTypes:
    - int
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.ResponseHandler].<init>(int,String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.ResponseCodeHandler].<init>(io.undertow.server.HttpHandler,int)'
    - '[io.undertow.server.handlers.ReasonPhraseHandler].<init>(null,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseHandler
    signature: '[io.undertow.server.handlers.ResponseHandler].<init>(int,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ResponseHandler:74,1
    - Dst: '[String].getBytes(String)'
      Src: io.undertow.server.handlers.ResponseHandler:76,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.ResponseHandler:77,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ResponseHandler:78,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ResponseHandler:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].isBlocking()'
      Src: io.undertow.server.handlers.ResponseHandler:78,1
    - Dst: '[io.undertow.server.handlers.ResponseHandler].exchangeBlockingOrBlocking(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ResponseHandler:80,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.ResponseHandler:82,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.handlers.ResponseHandler)'
      Src: io.undertow.server.handlers.ResponseHandler:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].startBlocking()'
      Src: io.undertow.server.handlers.ResponseHandler:84,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.ResponseHandler:85,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.ResponseHandler:86,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ResponseHandler:86,1
    - Dst: '[io.undertow.server.HttpServerExchange].getOutputStream()'
      Src: io.undertow.server.handlers.ResponseHandler:94,1
    - Dst: '[java.io.OutputStream].write(io.undertow.server.handlers.ResponseHandler)'
      Src: io.undertow.server.handlers.ResponseHandler:94,1
    - Dst: '[io.undertow.server.handlers.ResponseHandler].debugf(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ResponseHandler:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - int
      - String
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.ResponseHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.handlers.ResponseHandler)'
    - '[String].getBytes(String)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[java.io.OutputStream].write(io.undertow.server.handlers.ResponseHandler)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].startBlocking()'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.ResponseHandler].debugf(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.ResponseHandler].exchangeBlockingOrBlocking(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getOutputStream()'
    - '[io.undertow.server.HttpServerExchange].isBlocking()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResponseHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - int
      - String
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.ResponseHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ResponseHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PredicateContextHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.handlers.PredicateContextHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateContextHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PredicateContextHandler
    signature: '[io.undertow.server.handlers.PredicateContextHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.server.handlers.PredicateContextHandler:42,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.PredicateContextHandler,java.util.TreeMap)'
      Src: io.undertow.server.handlers.PredicateContextHandler:42,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PredicateContextHandler:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.PredicateContextHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateContextHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.PredicateContextHandler,java.util.TreeMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicateContextHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler:48,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResponseRateLimitingHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - bytes
    - time
    - timeUnit
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler].<init>(io.undertow.server.HttpHandler,int,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseRateLimitingHandler
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler].<init>(io.undertow.server.HttpHandler,int,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler:72,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler.Builder:91,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler.Builder:92,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler.Builder:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(String,String)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler.Builder:99,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.ResponseRateLimitingHandler.Builder)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler.Builder:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(String,String)'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.ResponseRateLimitingHandler.Builder)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(Integer,Long,io.undertow.server.handlers.ResponseRateLimitingHandler.Builder)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler.Builder:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(Integer,Long,io.undertow.server.handlers.ResponseRateLimitingHandler.Builder)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResponseRateLimitingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseRateLimitingHandler.Builder
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - bytes
    - time
    - timeUnit
    argTypes:
    - int
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper].<init>(int,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper].<init>(int,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResponseRateLimitingHandler].<init>(io.undertow.server.HttpHandler,int,long,io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper)'
      Src: io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseRateLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ResponseRateLimitingHandler].<init>(io.undertow.server.HttpHandler,int,long,io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.ResponseRateLimitingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestDumpingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestDumpingHandler
    signature: '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:57,1
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:59,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:60,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:61,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:62,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:63,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:64,1
    - Dst: '[io.undertow.security.api.SecurityContext].isAuthenticated()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:66,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:67,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:68,1
    - Dst: '[StringBuilder].append(String,String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:70,1
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:74,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:75,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:78,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:80,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:83,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:84,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:85,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:86,1
    - Dst: entry.getKey()
      Src: io.undertow.server.handlers.RequestDumpingHandler:87,1
    - Dst: entry.getValue()
      Src: io.undertow.server.handlers.RequestDumpingHandler:88,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].iterator()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:88,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:89,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:90,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:91,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].hasNext()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:92,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].next()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:93,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:93,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].hasNext()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:94,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:95,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:98,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:100,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:101,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:102,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:103,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:104,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:105,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:106,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:107,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:109,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:109,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 168
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 153
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - entry.getValue()
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.security.api.SecurityContext].isAuthenticated()'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - '[io.undertow.server.handlers.RequestDumpingHandler].hasNext()'
    - entry.getKey()
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[StringBuilder].append(io.undertow.server.handlers.RequestDumpingHandler)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.RequestDumpingHandler].next()'
    - '[StringBuilder].append(String,String)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.handlers.RequestDumpingHandler].iterator()'
    - '[StringBuilder].append(char)'
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestDumpingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:157,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:159,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].get(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:162,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:164,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:164,1
    - Dst: '[StringBuilder].append()'
      Src: io.undertow.server.handlers.RequestDumpingHandler:167,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:168,1
    - Dst: formValue.getHeaders()
      Src: io.undertow.server.handlers.RequestDumpingHandler:170,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:171,1
    - Dst: formValue.getHeaders()
      Src: io.undertow.server.handlers.RequestDumpingHandler:172,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:173,1
    - Dst: header.getHeaderName()
      Src: io.undertow.server.handlers.RequestDumpingHandler:174,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].append(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:173,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:173,1
    - Dst: header.getFirst()
      Src: io.undertow.server.handlers.RequestDumpingHandler:174,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].append(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:173,1
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].append(String)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:173,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.RequestDumpingHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sb
    argTypes:
    - io.undertow.server.HttpServerExchange
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler].dumpRequestBody(io.undertow.server.HttpServerExchange,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RequestDumpingHandler].append(io.undertow.server.handlers.RequestDumpingHandler)'
    - '[StringBuilder].append(io.undertow.server.handlers.RequestDumpingHandler)'
    - formValue.getHeaders()
    - header.getHeaderName()
    - '[RuntimeException].<init>(io.undertow.server.handlers.RequestDumpingHandler)'
    - header.getFirst()
    - '[io.undertow.server.handlers.RequestDumpingHandler].get(io.undertow.server.handlers.RequestDumpingHandler)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.RequestDumpingHandler)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.RequestDumpingHandler].append(String)'
    - '[StringBuilder].append()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestDumpingHandler].dumpRequestBody(io.undertow.server.HttpServerExchange,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestDumpingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.RequestDumpingHandler.Builder:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.RequestDumpingHandler.Builder:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.RequestDumpingHandler.Builder:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestDumpingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestDumpingHandler.Builder
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RequestDumpingHandler.Wrapper:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RequestDumpingHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestDumpingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RequestDumpingHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestDumpingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestDumpingHandler.Wrapper
    signature: '[io.undertow.server.handlers.RequestDumpingHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.HostHeaderHandler:40,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:48,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - String
      - String
      - String
      - String
      - String
      - String
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean[]
      - boolean[]
      - boolean[]
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HostHeaderHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.HostHeaderHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HostHeaderHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.HostHeaderHandler
    signature: '[io.undertow.server.handlers.HostHeaderHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.HostHeaderHandler:117,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.HostHeaderHandler:118,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.handlers.HostHeaderHandler:119,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.HostHeaderHandler:121,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.HostHeaderHandler:121,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HostHeaderHandler:124,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.handlers.HostHeaderHandler:133,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:135,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.server.handlers.HostHeaderHandler:137,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:138,1
    - Dst: '[io.undertow.util.HeaderValues].element()'
      Src: io.undertow.server.handlers.HostHeaderHandler:144,1
    - Dst: '[String].lastIndexOf(char)'
      Src: io.undertow.server.handlers.HostHeaderHandler:148,1
    - Dst: '[String].lastIndexOf(char)'
      Src: io.undertow.server.handlers.HostHeaderHandler:149,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:156,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:159,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.HostHeaderHandler:163,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.HostHeaderHandler)
      Src: io.undertow.server.handlers.HostHeaderHandler:165,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:170,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:175,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.HostHeaderHandler)'
      Src: io.undertow.server.handlers.HostHeaderHandler:179,1
    - Dst: hostHeaderURI.indexOf(char)
      Src: io.undertow.server.handlers.HostHeaderHandler:185,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:187,1
    - Dst: hostHeaderURI.indexOf(char)
      Src: io.undertow.server.handlers.HostHeaderHandler:189,1
    - Dst: hostHeaderURI.length()
      Src: io.undertow.server.handlers.HostHeaderHandler:193,1
    - Dst: hostHeaderURI.substring(int,int)
      Src: io.undertow.server.handlers.HostHeaderHandler:193,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].startsWith(String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:194,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].indexOf(String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:195,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:198,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].substring(int,io.undertow.server.handlers.HostHeaderHandler)'
      Src: io.undertow.server.handlers.HostHeaderHandler:202,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].length()'
      Src: io.undertow.server.handlers.HostHeaderHandler:203,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].charAt(io.undertow.server.handlers.HostHeaderHandler)'
      Src: io.undertow.server.handlers.HostHeaderHandler:204,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:206,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].length()'
      Src: io.undertow.server.handlers.HostHeaderHandler:210,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:212,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].length()'
      Src: io.undertow.server.handlers.HostHeaderHandler:216,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].charAt(io.undertow.server.handlers.HostHeaderHandler)'
      Src: io.undertow.server.handlers.HostHeaderHandler:217,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:219,1
    - Dst: '[java.util.regex.Pattern].matcher(io.undertow.server.handlers.HostHeaderHandler)'
      Src: io.undertow.server.handlers.HostHeaderHandler:225,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].matches()'
      Src: io.undertow.server.handlers.HostHeaderHandler:225,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:226,1
    - Dst: '[java.util.regex.Pattern].matcher(io.undertow.server.handlers.HostHeaderHandler)'
      Src: io.undertow.server.handlers.HostHeaderHandler:232,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].matches()'
      Src: io.undertow.server.handlers.HostHeaderHandler:232,1
    - Dst: hostHeaderURI.length()
      Src: io.undertow.server.handlers.HostHeaderHandler:241,1
    - Dst: hostHeaderURI.charAt(io.undertow.server.handlers.HostHeaderHandler)
      Src: io.undertow.server.handlers.HostHeaderHandler:242,1
    - Dst: hostHeaderURI.length()
      Src: io.undertow.server.handlers.HostHeaderHandler:245,1
    - Dst: hostHeaderURI.charAt()
      Src: io.undertow.server.handlers.HostHeaderHandler:246,1
    - Dst: hostHeaderURI.charAt()
      Src: io.undertow.server.handlers.HostHeaderHandler:247,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:249,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:254,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:258,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.handlers.HostHeaderHandler:266,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.handlers.HostHeaderHandler:267,1
    - Dst: '[String].contains(io.undertow.server.handlers.HostHeaderHandler)'
      Src: io.undertow.server.handlers.HostHeaderHandler:267,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:268,1
    - Dst: hostHeaderURI.isEmpty()
      Src: io.undertow.server.handlers.HostHeaderHandler:270,1
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:271,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HostHeaderHandler:277,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 102
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - String
      - String
      - String
      - String
      - String
      - String
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean[]
      - boolean[]
      - boolean[]
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 278
      start: 108
    functionDepth: 7
    functionLinenumber: 108
    functionLinenumberEnd: 278
    functionName: '[io.undertow.server.handlers.HostHeaderHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HostHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHeaderHandler].charAt(io.undertow.server.handlers.HostHeaderHandler)'
    - hostHeaderURI.length()
    - '[io.undertow.util.HeaderValues].element()'
    - '[String].substring(int)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - hostHeaderURI.substring(int,int)
    - '[io.undertow.server.handlers.HostHeaderHandler].indexOf(String)'
    - hostHeaderURI.charAt(io.undertow.server.handlers.HostHeaderHandler)
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.server.handlers.HostHeaderHandler].substring(int,io.undertow.server.handlers.HostHeaderHandler)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.HostHeaderHandler].startsWith(String)'
    - '[String].startsWith(String)'
    - '[String].lastIndexOf(char)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - hostHeaderURI.indexOf(char)
    - hostHeaderURI.isEmpty()
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.HostHeaderHandler].length()'
    - '[String].contains(io.undertow.server.handlers.HostHeaderHandler)'
    - '[io.undertow.server.handlers.HostHeaderHandler].matches()'
    - '[java.util.regex.Pattern].matcher(io.undertow.server.handlers.HostHeaderHandler)'
    - '[String].substring(int,io.undertow.server.handlers.HostHeaderHandler)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
    - hostHeaderURI.charAt()
    - Integer.parseInt(io.undertow.server.handlers.HostHeaderHandler)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHeaderHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.HostHeaderHandler:281,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseContentLength(int)'
      Src: io.undertow.server.handlers.HostHeaderHandler:282,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.HostHeaderHandler:283,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.HostHeaderHandler:283,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:283,1
    - Dst: '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
      Src: io.undertow.server.handlers.HostHeaderHandler:284,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.HostHeaderHandler:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - String
      - String
      - String
      - String
      - String
      - String
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - boolean[]
      - boolean[]
      - boolean[]
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - message
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 6
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HostHeaderHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].setResponseContentLength(int)'
    - '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HostHeaderHandler].terminate(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HostHeaderHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.HostHeaderHandler.Wrapper:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.handlers.HostHeaderHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HostHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HostHeaderHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.HostHeaderHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HostHeaderHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HostHeaderHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HostHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HostHeaderHandler.Wrapper
    signature: '[io.undertow.server.handlers.HostHeaderHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.handlers.Cookie].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.Cookie].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.Cookie].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.Cookie].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.handlers.Cookie].setValue(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.handlers.Cookie].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.Cookie].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.Cookie].setPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.Cookie].getDomain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.Cookie].getDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - domain
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.Cookie].setDomain(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.Cookie].getMaxAge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.Cookie].getMaxAge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxAge
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.Cookie].setMaxAge(Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setMaxAge(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.Cookie].isDiscard()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.Cookie].isDiscard()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - discard
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.Cookie].setDiscard(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setDiscard(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.Cookie].isSecure()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.Cookie].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secure
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.Cookie].setSecure(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setSecure(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.Cookie].getVersion()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.Cookie].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.Cookie].setVersion(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setVersion(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.Cookie].isHttpOnly()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.Cookie].isHttpOnly()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - httpOnly
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.Cookie].setHttpOnly(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setHttpOnly(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.Cookie].getExpires()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.Cookie].getExpires()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Date
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expires
    argTypes:
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.Cookie].setExpires(java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setExpires(java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.Cookie].getComment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.Cookie].getComment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - comment
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.Cookie].setComment(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setComment(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.Cookie].isSameSite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.Cookie].isSameSite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: io.undertow.server.handlers.Cookie:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sameSite
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.Cookie].setSameSite(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setSameSite(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.Cookie].getSameSiteMode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: io.undertow.server.handlers.Cookie:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mode
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.Cookie].setSameSiteMode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setSameSiteMode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: io.undertow.server.handlers.Cookie:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.Cookie].getAttribute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.Cookie].getAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: io.undertow.server.handlers.Cookie:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.Cookie].setAttribute(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].setAttribute(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>(String)'
      Src: io.undertow.server.handlers.Cookie:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.Cookie].getAttributes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 2
    functionsReached:
    - '[UnsupportedOperationException].<init>(String)'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.server.handlers.Cookie].getAttributes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.handlers.Cookie:141,1
    - Dst: o.getName()
      Src: io.undertow.server.handlers.Cookie:141,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.handlers.Cookie:142,1
    - Dst: o.getName()
      Src: io.undertow.server.handlers.Cookie:142,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.handlers.Cookie:143,1
    - Dst: o.getName()
      Src: io.undertow.server.handlers.Cookie:143,1
    - Dst: '[io.undertow.server.handlers.Cookie].getName()'
      Src: io.undertow.server.handlers.Cookie:143,1
    - Dst: o.getName()
      Src: io.undertow.server.handlers.Cookie:143,1
    - Dst: '[String].compareTo(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.handlers.Cookie:143,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.handlers.Cookie:147,1
    - Dst: o.getPath()
      Src: io.undertow.server.handlers.Cookie:147,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.handlers.Cookie:148,1
    - Dst: o.getPath()
      Src: io.undertow.server.handlers.Cookie:148,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.handlers.Cookie:149,1
    - Dst: o.getPath()
      Src: io.undertow.server.handlers.Cookie:149,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.server.handlers.Cookie:149,1
    - Dst: o.getPath()
      Src: io.undertow.server.handlers.Cookie:149,1
    - Dst: '[String].compareTo(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.handlers.Cookie:149,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.handlers.Cookie:153,1
    - Dst: o.getDomain()
      Src: io.undertow.server.handlers.Cookie:153,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.handlers.Cookie:154,1
    - Dst: o.getDomain()
      Src: io.undertow.server.handlers.Cookie:154,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.handlers.Cookie:155,1
    - Dst: o.getDomain()
      Src: io.undertow.server.handlers.Cookie:155,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.server.handlers.Cookie:155,1
    - Dst: o.getDomain()
      Src: io.undertow.server.handlers.Cookie:155,1
    - Dst: '[String].compareTo(io.undertow.server.handlers.Cookie)'
      Src: io.undertow.server.handlers.Cookie:155,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - other
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.Cookie].compareTo(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - o.getDomain()
    - '[io.undertow.server.handlers.Cookie].getName()'
    - o.getName()
    - '[String].compareTo(io.undertow.server.handlers.Cookie)'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - o.getPath()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.Cookie].compareTo(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.Cookie].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/Cookie.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.Cookie].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.ConnectHandler:60,1
    - Dst: '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.ConnectHandler:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ConnectHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConnectHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.ConnectHandler
    signature: '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ConnectHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - allowed
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConnectHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ConnectHandler
    signature: '[io.undertow.server.handlers.ConnectHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.ConnectHandler:70,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ConnectHandler:70,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ConnectHandler:71,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.ConnectHandler:72,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.ConnectHandler:75,1
    - Dst: '[String].split(String)'
      Src: io.undertow.server.handlers.ConnectHandler:75,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.ConnectHandler:77,1
    - Dst: Integer.parseInt()
      Src: io.undertow.server.handlers.ConnectHandler:81,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.ConnectHandler:82,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.server.handlers.ConnectHandler:82,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ConnectHandler:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 113
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.ConnectHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConnectHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,Runnable)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - Integer.parseInt()
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - '[Runnable].<init>()'
    - '[String].split(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ConnectHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Closeable[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.ConnectHandler.ClosingExceptionHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.ConnectHandler.ClosingExceptionHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConnectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ConnectHandler.ClosingExceptionHandler
    signature: '[io.undertow.server.handlers.ConnectHandler.ClosingExceptionHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(java.nio.channels.Channel)'
      Src: io.undertow.server.handlers.ConnectHandler.ClosingExceptionHandler:127,1
    - Dst: '[org.xnio.IoUtils].safeClose(Closeable[])'
      Src: io.undertow.server.handlers.ConnectHandler.ClosingExceptionHandler:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.Channel
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - Closeable[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - exception
    argTypes:
    - java.nio.channels.Channel
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.ConnectHandler.ClosingExceptionHandler].handleException(java.nio.channels.Channel,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ConnectHandler.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(Closeable[])'
    - '[org.xnio.IoUtils].safeClose(java.nio.channels.Channel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ConnectHandler.ClosingExceptionHandler].handleException(java.nio.channels.Channel,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DateHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.DateHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DateHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.DateHandler
    signature: '[io.undertow.server.handlers.DateHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.nanoTime()
      Src: io.undertow.server.handlers.DateHandler:55,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.DateHandler:57,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.DateHandler:57,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.DateHandler:59,1
    - Dst: '[java.util.Date].<init>(io.undertow.server.handlers.DateHandler)'
      Src: io.undertow.server.handlers.DateHandler:60,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.DateHandler:60,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.DateHandler:63,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.DateHandler:63,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.DateHandler:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - long
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.DateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DateHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - System.nanoTime()
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - System.currentTimeMillis()
    - '[java.util.Date].<init>(io.undertow.server.handlers.DateHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper].<init>(java.time.Duration)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.time.Duration
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.BlockingReadTimeoutHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - readTimeout
    argTypes:
    - io.undertow.server.HttpHandler
    - java.time.Duration
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler].<init>(io.undertow.server.HttpHandler,java.time.Duration)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper].<init>(java.time.Duration)'
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingReadTimeoutHandler
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler].<init>(io.undertow.server.HttpHandler,java.time.Duration)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].addRequestWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler:84,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addRequestWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.time.Duration].toNanos()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.time.Duration
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - readTimeout
    argTypes:
    - java.time.Duration
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper].<init>(java.time.Duration)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 1
    functionsReached:
    - '[java.time.Duration].toNanos()'
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper].<init>(java.time.Duration)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSourceConduit>].create()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper:78,1
    - Dst: '[TimeoutStreamSourceConduit].<init>(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper,io.undertow.server.ServerConnection,long)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSourceConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSourceConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - factory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSourceConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSourceConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSourceConduit>].create()'
    - '[TimeoutStreamSourceConduit].<init>(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper,io.undertow.server.ServerConnection,long)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSourceConduit
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduitWrapper].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSourceConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.server.ServerConnection
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - delegate
    - serverConnection
    - timeoutNanos
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.server.ServerConnection
    - long
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.ServerConnection,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.ServerConnection,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:106,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - fileChannel
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
    - '[StreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:111,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - byteBuffer
    - streamSinkChannel
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
    - '[StreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:116,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
    - '[StreamSourceConduit].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].read(ByteBuffer[],int,int)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:121,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - byteBuffers
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].read(ByteBuffer[],int,int)'
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].terminateReads()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].terminateReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].isReadShutdown()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].isReadShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].isReadShutdown()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].isReadShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].resumeReads()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].resumeReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].suspendReads()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].suspendReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].wakeupReads()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].wakeupReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].isReadResumed()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].isReadResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].awaitReadable(long,io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].awaitReadable(long,io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.nanoTime()
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:161,1
    - Dst: '[java.util.concurrent.TimeUnit].toNanos(long)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:162,1
    - Dst: '[StreamSourceConduit].awaitReadable(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit,io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:164,1
    - Dst: System.nanoTime()
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:166,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].blockingReadTimedOut(long)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:169,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].blockingReadTimedOut(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:170,1
    - Dst: '[org.xnio.IoUtils].safeClose(ServerConnection)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - duration
    - unit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - System.nanoTime()
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].blockingReadTimedOut(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].blockingReadTimedOut(long)'
    - '[StreamSourceConduit].awaitReadable(io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit,io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit)'
    - '[org.xnio.IoUtils].safeClose(ServerConnection)'
    - '[java.util.concurrent.TimeUnit].toNanos(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].getReadThread()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].getReadThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].getReadThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].getReadThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ReadReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - readReadyHandler
    argTypes:
    - org.xnio.conduits.ReadReadyHandler
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSourceConduit].getWorker()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSourceConduit].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSourceConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.TimeoutStreamSourceConduit].resetTimeoutIfReadSucceeded(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      - Duration
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,java.time.Duration)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.time.Duration
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      - Duration
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - readTimeout
    argTypes:
    - java.time.Duration
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].readTimeout(java.time.Duration)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,java.time.Duration)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].readTimeout(java.time.Duration)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      - Duration
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nextHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].nextHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].nextHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,HttpHandler)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder:230,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].checkNotNullParam(String,Duration)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder:231,1
    - Dst: '[Duration].isZero()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder:232,1
    - Dst: '[Duration].isNegative()'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder:232,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder:233,1
    - Dst: '[io.undertow.server.handlers.BlockingReadTimeoutHandler].<init>(io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder,Duration)'
      Src: io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      - Duration
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingReadTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,HttpHandler)'
    - '[Duration].isZero()'
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler].<init>(io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder,Duration)'
    - '[Duration].isNegative()'
    - '[IllegalArgumentException].<init>(String)'
    - '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].checkNotNullParam(String,Duration)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.BlockingReadTimeoutHandler.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.server.handlers.PathHandler:42,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>(int)'
      Src: io.undertow.server.handlers.PathHandler:47,1
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathHandler:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.PathHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].addPrefixPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.PathHandler].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.server.handlers.PathHandler:42,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>(int)'
      Src: io.undertow.server.handlers.PathHandler:52,1
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathHandler:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - defaultHandler
    - cacheSize
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.PathHandler].<init>(io.undertow.server.HttpHandler,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].addPrefixPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.PathHandler].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].<init>(io.undertow.server.HttpHandler,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.server.handlers.PathHandler:42,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>(int)'
      Src: io.undertow.server.handlers.PathHandler:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.PathHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 136
    functionsReached:
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.server.handlers.PathHandler:42,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int,boolean)'
      Src: io.undertow.server.handlers.PathHandler:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cacheSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.PathHandler].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].getPaths()'
      Src: io.undertow.server.handlers.PathHandler:70,1
    - Dst: '[io.undertow.server.handlers.PathHandler].entrySet()'
      Src: io.undertow.server.handlers.PathHandler:70,1
    - Dst: '[io.undertow.server.handlers.PathHandler].size()'
      Src: io.undertow.server.handlers.PathHandler:71,1
    - Dst: '[io.undertow.server.handlers.PathHandler].toArray()'
      Src: io.undertow.server.handlers.PathHandler:72,1
    - Dst: '[io.undertow.server.handlers.PathHandler].stream()'
      Src: io.undertow.server.handlers.PathHandler:74,1
    - Dst: '[io.undertow.server.handlers.PathHandler].map()'
      Src: io.undertow.server.handlers.PathHandler:74,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.server.handlers.PathHandler:74,1
    - Dst: '[io.undertow.server.handlers.PathHandler].collect(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.PathHandler:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.PathHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].map()'
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].getPaths()'
    - '[io.undertow.server.handlers.PathHandler].collect(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.PathHandler].toArray()'
    - '[io.undertow.server.handlers.PathHandler].entrySet()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[io.undertow.server.handlers.PathHandler].size()'
    - '[io.undertow.server.handlers.PathHandler].stream()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PathHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.PathHandler:83,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>].get(String)'
      Src: io.undertow.server.handlers.PathHandler:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.PathHandler:87,1
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].match(String)'
      Src: io.undertow.server.handlers.PathHandler:87,1
    - Dst: '[io.undertow.server.handlers.PathHandler].getValue()'
      Src: io.undertow.server.handlers.PathHandler:89,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PathHandler:90,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.PathHandler:94,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>].add(String,io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.PathHandler:94,1
    - Dst: '[io.undertow.server.handlers.PathHandler].getRemaining()'
      Src: io.undertow.server.handlers.PathHandler:96,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.PathHandler:96,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.server.handlers.PathHandler:97,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.PathHandler:97,1
    - Dst: '[io.undertow.server.handlers.PathHandler].getMatched()'
      Src: io.undertow.server.handlers.PathHandler:99,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResolvedPath(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.server.handlers.PathHandler:99,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.server.handlers.PathHandler:102,1
    - Dst: '[io.undertow.server.handlers.PathHandler].getMatched()'
      Src: io.undertow.server.handlers.PathHandler:102,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
      Src: io.undertow.server.handlers.PathHandler:102,1
    - Dst: '[io.undertow.server.handlers.PathHandler].getValue()'
      Src: io.undertow.server.handlers.PathHandler:104,1
    - Dst: '[io.undertow.server.handlers.PathHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PathHandler:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.PathHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].match(String)'
    - '[String].isEmpty()'
    - '[io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>].add(String,io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>].get(String)'
    - '[io.undertow.server.HttpServerExchange].getResolvedPath()'
    - '[io.undertow.server.HttpServerExchange].setResolvedPath(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.ResponseCodeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.PathHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.PathHandler].getRemaining()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.handlers.PathHandler].getMatched()'
    - '[io.undertow.server.HttpServerExchange].setResolvedPath(String)'
    - '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.PathHandler].getValue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PathHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathHandler:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.PathHandler].addPath(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].addPath(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathHandler:141,1
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathHandler:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].addPrefixPath(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathHandler:156,1
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].addExactPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathHandler:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 11
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].addExactPath(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].addExactPath(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].removePrefixPath(String)'
      Src: io.undertow.server.handlers.PathHandler:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.PathHandler].removePath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].removePrefixPath(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].removePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].removePrefixPath(String)'
      Src: io.undertow.server.handlers.PathHandler:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.PathHandler].removePrefixPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].removePrefixPath(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].removePrefixPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].removeExactPath(String)'
      Src: io.undertow.server.handlers.PathHandler:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: '[io.undertow.server.handlers.PathHandler].removeExactPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].removeExactPath(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].removeExactPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].clearPaths()'
      Src: io.undertow.server.handlers.PathHandler:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.PathHandler].clearPaths()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].clearPaths()'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.server.handlers.PathHandler].clearPaths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].containsPrefixPath(String)'
      Src: io.undertow.server.handlers.PathHandler:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.PathHandler].containsPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].containsPrefixPath(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.PathHandler].containsPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].getPathMatchesSet()'
      Src: io.undertow.server.handlers.PathHandler:186,1
    - Dst: '[io.undertow.server.handlers.PathHandler].contains(String)'
      Src: io.undertow.server.handlers.PathHandler:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.PathHandler].containsPrefixPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].contains(String)'
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].getPathMatchesSet()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.PathHandler].containsPrefixPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].getExactPathMatchesSet()'
      Src: io.undertow.server.handlers.PathHandler:190,1
    - Dst: '[io.undertow.server.handlers.PathHandler].contains(String)'
      Src: io.undertow.server.handlers.PathHandler:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>
      - io.undertow.server.handlers.cache.LRUCache<String,PathMatcher.PathMatch<io.undertow.server.HttpHandler>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.PathHandler].containsExactPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathHandler].contains(String)'
    - '[io.undertow.util.PathMatcher<io.undertow.server.HttpHandler>].getExactPathMatchesSet()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.PathHandler].containsExactPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RedirectHandler].getClass()'
      Src: io.undertow.server.handlers.RedirectHandler:48,1
    - Dst: '[io.undertow.server.handlers.RedirectHandler].getClassLoader()'
      Src: io.undertow.server.handlers.RedirectHandler:48,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(io.undertow.server.handlers.RedirectHandler)'
      Src: io.undertow.server.handlers.RedirectHandler:48,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.RedirectHandler:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RedirectHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - location
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.RedirectHandler].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.RedirectHandler].getClass()'
    - '[io.undertow.attribute.ExchangeAttributes].parser(io.undertow.server.handlers.RedirectHandler)'
    - '[io.undertow.server.handlers.RedirectHandler].getClassLoader()'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RedirectHandler
    signature: '[io.undertow.server.handlers.RedirectHandler].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
      Src: io.undertow.server.handlers.RedirectHandler:53,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.RedirectHandler:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RedirectHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - location
    - classLoader
    argTypes:
    - String
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.handlers.RedirectHandler].<init>(String,ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RedirectHandler
    signature: '[io.undertow.server.handlers.RedirectHandler].<init>(String,ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RedirectHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - attribute
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.handlers.RedirectHandler].<init>(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RedirectHandler
    signature: '[io.undertow.server.handlers.RedirectHandler].<init>(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.RedirectHandler:63,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.RedirectHandler:64,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.RedirectHandler:64,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.RedirectHandler:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.RedirectHandler:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.RedirectHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RedirectHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.server.handlers.RedirectHandler:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttribute
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.RedirectHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RedirectHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.RedirectHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RedirectHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.RedirectHandler.Builder:82,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.RedirectHandler.Builder:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.RedirectHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.RedirectHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.RedirectHandler.Builder:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.RedirectHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.RedirectHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.RedirectHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RedirectHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.RedirectHandler.Builder:100,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.server.handlers.RedirectHandler.Builder:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.RedirectHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.attribute.ExchangeAttribute)'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.RedirectHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.RedirectHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.RedirectHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RedirectHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RedirectHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RedirectHandler.Builder
    signature: '[io.undertow.server.handlers.RedirectHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.RedirectHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.RedirectHandler.Wrapper].<init>(io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RedirectHandler.Wrapper
    signature: '[io.undertow.server.handlers.RedirectHandler.Wrapper].<init>(io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RedirectHandler].<init>(ExchangeAttribute)'
      Src: io.undertow.server.handlers.RedirectHandler.Wrapper:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - ExchangeAttribute
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.RedirectHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RedirectHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RedirectHandler].<init>(ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.RedirectHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.ExceptionHandler:17,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandler:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Throwable>
      - io.undertow.server.HttpHandler
      - java.util.List<ExceptionHandlerHolder<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ExceptionHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '[io.undertow.server.handlers.ExceptionHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ExceptionHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.ExceptionHandler
    signature: '[io.undertow.server.handlers.ExceptionHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ExceptionHandler:29,1
    - Dst: holder.getClazz()
      Src: io.undertow.server.handlers.ExceptionHandler:32,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandler].isInstance(io.undertow.server.handlers.ExceptionHandler)'
      Src: io.undertow.server.handlers.ExceptionHandler:32,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Throwable>,io.undertow.server.handlers.ExceptionHandler)'
      Src: io.undertow.server.handlers.ExceptionHandler:33,1
    - Dst: holder.getHandler()
      Src: io.undertow.server.handlers.ExceptionHandler:34,1
    - Dst: '[io.undertow.server.handlers.ExceptionHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ExceptionHandler:34,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Throwable>
      - io.undertow.server.HttpHandler
      - java.util.List<ExceptionHandlerHolder<?>>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.ExceptionHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ExceptionHandler.java
    functionUses: 1
    functionsReached:
    - holder.getHandler()
    - '[io.undertow.server.handlers.ExceptionHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<Throwable>,io.undertow.server.handlers.ExceptionHandler)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - holder.getClazz()
    - '[io.undertow.server.handlers.ExceptionHandler].isInstance(io.undertow.server.handlers.ExceptionHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ExceptionHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder].<init>(Class<T>,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ExceptionHandler:43,1
    - Dst: '[java.util.List<ExceptionHandlerHolder<?>>].add(io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder)'
      Src: io.undertow.server.handlers.ExceptionHandler:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<Throwable>
      - io.undertow.server.HttpHandler
      - java.util.List<ExceptionHandlerHolder<?>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ExceptionHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - clazz
    - handler
    argTypes:
    - Class<T>
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.ExceptionHandler].addExceptionHandler(Class<T>,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ExceptionHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<ExceptionHandlerHolder<?>>].add(io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder)'
    - '[io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder].<init>(Class<T>,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ExceptionHandler
    signature: '[io.undertow.server.handlers.ExceptionHandler].addExceptionHandler(Class<T>,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - clazz
    - handler
    argTypes:
    - Class<T>
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder].<init>(Class<T>,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ExceptionHandler.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder
    signature: '[io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder].<init>(Class<T>,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder].getClazz()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ExceptionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Class<T>
    signature: '[io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder].getClazz()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder].getHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ExceptionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.ExceptionHandler.ExceptionHandlerHolder].getHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - io.undertow.server.HttpHandler
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<T>
      - T
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AttachmentHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - key
    - next
    - instance
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - io.undertow.server.HttpHandler
    - T
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.handlers.AttachmentHandler].<init>(io.undertow.util.AttachmentKey<T>,io.undertow.server.HttpHandler,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AttachmentHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.AttachmentHandler
    signature: '[io.undertow.server.handlers.AttachmentHandler].<init>(io.undertow.util.AttachmentKey<T>,io.undertow.server.HttpHandler,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.AttachmentHandler].<init>(io.undertow.util.AttachmentKey<T>,io.undertow.server.HttpHandler,null)'
      Src: io.undertow.server.handlers.AttachmentHandler:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<T>
      - T
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.AttachmentHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - next
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.AttachmentHandler].<init>(io.undertow.util.AttachmentKey<T>,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AttachmentHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.AttachmentHandler].<init>(io.undertow.util.AttachmentKey<T>,io.undertow.server.HttpHandler,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.AttachmentHandler
    signature: '[io.undertow.server.handlers.AttachmentHandler].<init>(io.undertow.util.AttachmentKey<T>,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
      Src: io.undertow.server.handlers.AttachmentHandler:49,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.AttachmentHandler:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<T>
      - T
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.AttachmentHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AttachmentHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AttachmentHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<T>
      - T
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.handlers.AttachmentHandler].getInstance()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AttachmentHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.handlers.AttachmentHandler].getInstance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<T>
      - T
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - instance
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.handlers.AttachmentHandler].setInstance(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AttachmentHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AttachmentHandler].setInstance(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<T>
      - T
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.AttachmentHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AttachmentHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.AttachmentHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.AttachmentHandler:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<T>
      - T
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.AttachmentHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/AttachmentHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.AttachmentHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.MetricsHandler:37,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.handlers.MetricsHandler:44,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(java.util.Date)'
      Src: io.undertow.server.handlers.MetricsHandler:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - MetricResult
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.MetricsHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.MetricsHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.Date].<init>()'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    - '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(java.util.Date)'
    linkageType: ''
    returnType: io.undertow.server.handlers.MetricsHandler
    signature: '[io.undertow.server.handlers.MetricsHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isComplete()'
      Src: io.undertow.server.handlers.MetricsHandler:53,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.MetricsHandler:54,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.MetricsHandler:55,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.MetricsHandler:55,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.MetricsHandler:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - MetricResult
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.MetricsHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - System.currentTimeMillis()
    - '[io.undertow.server.HttpServerExchange].isComplete()'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.MetricsHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.handlers.MetricsHandler:68,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(java.util.Date)'
      Src: io.undertow.server.handlers.MetricsHandler:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - MetricResult
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.MetricsHandler].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Date].<init>()'
    - '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(java.util.Date)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.MetricsHandler].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(MetricResult)'
      Src: io.undertow.server.handlers.MetricsHandler:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HandlerWrapper
      - MetricResult
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: MetricResult
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.MetricsHandler].getMetrics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(MetricResult)'
    linkageType: ''
    returnType: MetricResult
    signature: '[io.undertow.server.handlers.MetricsHandler].getMetrics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:77,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:78,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:79,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:80,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.MetricsHandler.MetricResult
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - metricsStartDate
    argTypes:
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.MetricsHandler.MetricResult
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:77,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:78,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:79,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:80,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - MetricResult
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.MetricsHandler.MetricResult
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - copy
    argTypes:
    - MetricResult
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(MetricResult)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.MetricsHandler.MetricResult
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].<init>(MetricResult)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicLongFieldUpdater<MetricResult>].addAndGet(int)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:105,1
    - Dst: '[AtomicIntegerFieldUpdater<MetricResult>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:112,1
    - Dst: '[AtomicIntegerFieldUpdater<MetricResult>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:120,1
    - Dst: '[AtomicLongFieldUpdater<MetricResult>].incrementAndGet()'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:121,1
    - Dst: '[AtomicLongFieldUpdater<MetricResult>].incrementAndGet()'
      Src: io.undertow.server.handlers.MetricsHandler.MetricResult:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - requestTime
    - statusCode
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].update(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 0
    functionsReached:
    - '[AtomicLongFieldUpdater<MetricResult>].incrementAndGet()'
    - '[AtomicLongFieldUpdater<MetricResult>].addAndGet(int)'
    - '[AtomicIntegerFieldUpdater<MetricResult>].compareAndSet(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].update(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMetricsStartDate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMetricsStartDate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequestTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequestTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMaxRequestTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMaxRequestTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMinRequestTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMinRequestTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicIntegerFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - AtomicLongFieldUpdater<MetricResult>
      - Date
      - long
      - int
      - int
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalErrors()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/MetricsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalErrors()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:49,1
    - Dst: '[java.util.function.LongUnaryOperator].andThen()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:54,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:57,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:61,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:62,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:64,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.GracefulShutdownHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>()'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater].newUpdater(String)'
    - '[java.util.function.LongUnaryOperator].andThen()'
    - '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].<init>()'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.GracefulShutdownHandler
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - state
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - state
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].updateAndGet(java.util.function.LongUnaryOperator)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:86,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:87,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].decrementRequests()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:88,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:89,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:90,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(GracefulShutdownListener)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:93,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].updateAndGet(java.util.function.LongUnaryOperator)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(io.undertow.server.handlers.GracefulShutdownHandler)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].decrementRequests()'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(GracefulShutdownListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].updateAndGet(java.util.function.LongUnaryOperator)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:100,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].decrementRequests()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].updateAndGet(java.util.function.LongUnaryOperator)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].decrementRequests()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].updateAndGet()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:106,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].shutdown(boolean)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:108,1
    - Dst: '[java.util.List<ShutdownListener>].clear()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].start()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].shutdown(boolean)'
    - '[java.util.List<ShutdownListener>].clear()'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].updateAndGet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].notifyAll()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:116,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].shutdown(boolean)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:118,1
    - Dst: '[java.util.List<ShutdownListener>].clear()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdownComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].shutdown(boolean)'
    - '[Object].notifyAll()'
    - '[java.util.List<ShutdownListener>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdownComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:129,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:129,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].handlerNotShutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:130,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:132,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:132,1
    - Dst: '[Object].wait()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].awaitShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(io.undertow.server.handlers.GracefulShutdownHandler)'
    - '[Object].wait()'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].handlerNotShutdown()'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].awaitShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:146,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:146,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].handlerNotShutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:147,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.GracefulShutdownHandler:149,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:150,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:150,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.GracefulShutdownHandler:151,1
    - Dst: '[Object].wait(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - millis
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].awaitShutdown(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(io.undertow.server.handlers.GracefulShutdownHandler)'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].handlerNotShutdown()'
    - System.currentTimeMillis()
    - '[Object].wait(io.undertow.server.handlers.GracefulShutdownHandler)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].awaitShutdown(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:169,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:169,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].handlerNotShutdown()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:170,1
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:172,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:172,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener].shutdown(boolean)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:174,1
    - Dst: '[java.util.List<ShutdownListener>].add(ShutdownListener)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - ShutdownListener
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - shutdownListener
    argTypes:
    - ShutdownListener
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].addShutdownListener(ShutdownListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.GracefulShutdownHandler].isShutdown(io.undertow.server.handlers.GracefulShutdownHandler)'
    - '[java.util.List<ShutdownListener>].add(ShutdownListener)'
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].get()'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].handlerNotShutdown()'
    - '[io.undertow.server.handlers.GracefulShutdownTestCase.ShutdownListener].shutdown(boolean)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].activeCount(io.undertow.server.handlers.GracefulShutdownHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].addShutdownListener(ShutdownListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].updateAndGet(java.util.function.LongUnaryOperator)'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:182,1
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler].shutdownComplete()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - java.util.function.LongUnaryOperator
      - GracefulShutdownListener
      - java.util.List<ShutdownListener>
      - Object
      - long
      - java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler].decrementRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLongFieldUpdater<io.undertow.server.handlers.GracefulShutdownHandler>].updateAndGet(java.util.function.LongUnaryOperator)'
    - '[io.undertow.server.handlers.GracefulShutdownHandler].shutdownComplete()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler].decrementRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].decrementRequests()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener:194,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
      Src: io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - NextListener
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - nextListener
    argTypes:
    - io.undertow.server.HttpServerExchange
    - NextListener
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
    - '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].decrementRequests()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler.GracefulShutdownListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - shutdownSuccessful
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler.ShutdownListener].shutdown(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler.ShutdownListener].shutdown(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.GracefulShutdownHandler.ShutdownListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.GracefulShutdownHandler.ShutdownListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/GracefulShutdownHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.GracefulShutdownHandler.ShutdownListener
    signature: '[io.undertow.server.handlers.GracefulShutdownHandler.ShutdownListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RequestLimitingHandler:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.RequestLimit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimitingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - maximumConcurrentRequests
    - nextHandler
    argTypes:
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimitingHandler
    signature: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandler].checkNotNullParam(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RequestLimitingHandler:63,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.RequestLimitingHandler:65,1
    - Dst: '[io.undertow.server.handlers.RequestLimit].<init>(int,int)'
      Src: io.undertow.server.handlers.RequestLimitingHandler:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.RequestLimit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimitingHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - maximumConcurrentRequests
    - queueSize
    - nextHandler
    argTypes:
    - int
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.RequestLimit].<init>(int,int)'
    - '[IllegalArgumentException].<init>(String)'
    - '[io.undertow.server.handlers.RequestLimitingHandler].checkNotNullParam(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimitingHandler
    signature: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandler].checkNotNullParam(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RequestLimitingHandler:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.RequestLimit
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.RequestLimit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimitingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - requestLimit
    - nextHandler
    argTypes:
    - io.undertow.server.handlers.RequestLimit
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(io.undertow.server.handlers.RequestLimit,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.RequestLimitingHandler].checkNotNullParam(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimitingHandler
    signature: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(io.undertow.server.handlers.RequestLimit,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestLimit].handleRequest(io.undertow.server.HttpServerExchange,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RequestLimitingHandler:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.RequestLimit
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RequestLimit].handleRequest(io.undertow.server.HttpServerExchange,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestLimitingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.RequestLimit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimit
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler].getRequestLimit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimit
    signature: '[io.undertow.server.handlers.RequestLimitingHandler].getRequestLimit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestLimit].getMaximumConcurrentRequests()'
      Src: io.undertow.server.handlers.RequestLimitingHandler:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.RequestLimit
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RequestLimit].getMaximumConcurrentRequests()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestLimitingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.server.handlers.RequestLimitingHandler.Builder:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.RequestLimitingHandler.Builder:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.RequestLimitingHandler.Builder:121,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(Integer)'
      Src: io.undertow.server.handlers.RequestLimitingHandler.Builder:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(Integer)'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimitingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimitingHandler.Builder
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.RequestLimitingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requests
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Wrapper].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimitingHandler.Wrapper
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Wrapper].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.RequestLimitingHandler.Wrapper:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.RequestLimitingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimitingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RequestLimitingHandler].<init>(int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.RequestLimitingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,null,org.xnio.ChannelListener<?superStreamConnection>,io.undertow.server.handlers.HttpUpgradeHandshake)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - org.xnio.ChannelListener<?superStreamConnection>
      - io.undertow.server.handlers.HttpUpgradeHandshake
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - productString
    - openListener
    - handshake
    argTypes:
    - String
    - org.xnio.ChannelListener<?superStreamConnection>
    - io.undertow.server.handlers.HttpUpgradeHandshake
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,org.xnio.ChannelListener<?superStreamConnection>,io.undertow.server.handlers.HttpUpgradeHandshake)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,null,org.xnio.ChannelListener<?superStreamConnection>,io.undertow.server.handlers.HttpUpgradeHandshake)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,org.xnio.ChannelListener<?superStreamConnection>,io.undertow.server.handlers.HttpUpgradeHandshake)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener,null,io.undertow.server.handlers.HttpUpgradeHandshake)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.server.handlers.HttpUpgradeHandshake
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - productString
    - openListener
    - handshake
    argTypes:
    - String
    - io.undertow.server.HttpUpgradeListener
    - io.undertow.server.handlers.HttpUpgradeHandshake
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.HttpUpgradeHandshake)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener,null,io.undertow.server.handlers.HttpUpgradeHandshake)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.HttpUpgradeHandshake)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].checkNotEmptyParam(String,String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:71,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:74,1
    - Dst: '[io.undertow.server.HttpUpgradeListener].<init>()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:77,1
    - Dst: '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].get(String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:85,1
    - Dst: '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].put(String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:87,1
    - Dst: '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.HttpUpgradeHandshake,org.xnio.ChannelListener<?superStreamConnection>)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:89,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].add(io.undertow.predicate.PredicatesHandler.Holder)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpUpgradeListener
      - org.xnio.ChannelListener<?superStreamConnection>
      - io.undertow.server.handlers.HttpUpgradeHandshake
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - productString
    - openListener
    - channelListener
    - handshake
    argTypes:
    - String
    - io.undertow.server.HttpUpgradeListener
    - org.xnio.ChannelListener<?superStreamConnection>
    - io.undertow.server.handlers.HttpUpgradeHandshake
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener,org.xnio.ChannelListener<?superStreamConnection>,io.undertow.server.handlers.HttpUpgradeHandshake)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].put(String)'
    - '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].get(String)'
    - '[io.undertow.server.HttpUpgradeListener].<init>()'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].add(io.undertow.predicate.PredicatesHandler.Holder)'
    - '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.HttpUpgradeHandshake,org.xnio.ChannelListener<?superStreamConnection>)'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].checkNotEmptyParam(String,String)'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener,org.xnio.ChannelListener<?superStreamConnection>,io.undertow.server.handlers.HttpUpgradeHandshake)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,org.xnio.ChannelListener<?superStreamConnection>,null)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - org.xnio.ChannelListener<?superStreamConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - productString
    - openListener
    argTypes:
    - String
    - org.xnio.ChannelListener<?superStreamConnection>
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,org.xnio.ChannelListener<?superStreamConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,org.xnio.ChannelListener<?superStreamConnection>,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,org.xnio.ChannelListener<?superStreamConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener,null)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - productString
    - openListener
    argTypes:
    - String
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].addProtocol(String,io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].remove(String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - productString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].removeProtocol(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].remove(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].removeProtocol(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].get(String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:128,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].iterator()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:132,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].hasNext()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:133,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].next()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:134,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].remove(io.undertow.server.handlers.ChannelUpgradeHandler)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:136,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].isEmpty()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:140,1
    - Dst: '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].remove(String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - org.xnio.ChannelListener<?superStreamConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - productString
    - openListener
    argTypes:
    - String
    - org.xnio.ChannelListener<?superStreamConnection>
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].removeProtocol(String,org.xnio.ChannelListener<?superStreamConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].get(String)'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].next()'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].hasNext()'
    - '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].remove(String)'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].isEmpty()'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].iterator()'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].remove(io.undertow.server.handlers.ChannelUpgradeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].removeProtocol(String,org.xnio.ChannelListener<?superStreamConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].get(String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:153,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].iterator()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:157,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].hasNext()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:158,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].next()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:159,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].remove(io.undertow.server.handlers.ChannelUpgradeHandler)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:161,1
    - Dst: '[io.undertow.server.handlers.ChannelUpgradeHandler].isEmpty()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:165,1
    - Dst: '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].remove(String)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpUpgradeListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - productString
    - upgradeListener
    argTypes:
    - String
    - io.undertow.server.HttpUpgradeListener
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].removeProtocol(String,io.undertow.server.HttpUpgradeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].get(String)'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].next()'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].hasNext()'
    - '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].remove(String)'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].isEmpty()'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].iterator()'
    - '[io.undertow.server.handlers.ChannelUpgradeHandler].remove(io.undertow.server.handlers.ChannelUpgradeHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].removeProtocol(String,io.undertow.server.HttpUpgradeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].getNonUpgradeHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].getNonUpgradeHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ChannelUpgradeHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nonUpgradeHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].setNonUpgradeHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ChannelUpgradeHandler
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].setNonUpgradeHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:191,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:191,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:192,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:192,1
    - Dst: '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].get(io.undertow.server.handlers.ChannelUpgradeHandler)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:194,1
    - Dst: holder.handshake.handleUpgrade(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:199,1
    - Dst: '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.handlers.ChannelUpgradeHandler,io.undertow.server.handlers.ChannelUpgradeHandler)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:205,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:206,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 6
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>].get(io.undertow.server.handlers.ChannelUpgradeHandler)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - holder.handshake.handleUpgrade(io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.handlers.ChannelUpgradeHandler,io.undertow.server.handlers.ChannelUpgradeHandler)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.ChannelUpgradeHandler:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.CopyOnWriteMap<String,java.util.List<Holder>>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ChannelUpgradeHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.ChannelUpgradeHandler
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpUpgradeListener
      - io.undertow.server.handlers.HttpUpgradeHandshake
      - org.xnio.ChannelListener<?superStreamConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - HttpUpgradeListener
      - HttpUpgradeHandshake
      - ChannelListener<? super StreamConnection>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.ChannelUpgradeHandler.Holder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - listener
    - handshake
    - channelListener
    argTypes:
    - io.undertow.server.HttpUpgradeListener
    - io.undertow.server.handlers.HttpUpgradeHandshake
    - org.xnio.ChannelListener<?superStreamConnection>
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.handlers.ChannelUpgradeHandler.Holder].<init>(io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.HttpUpgradeHandshake,org.xnio.ChannelListener<?superStreamConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ChannelUpgradeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ChannelUpgradeHandler.Holder
    signature: '[io.undertow.server.handlers.ChannelUpgradeHandler.Holder].<init>(io.undertow.server.HttpUpgradeListener,io.undertow.server.handlers.HttpUpgradeHandshake,org.xnio.ChannelListener<?superStreamConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.ForwardedHandler:34,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.server.handlers.ForwardedHandler:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - boolean
      - String
      - boolean
      - io.undertow.server.HttpHandler
      - java.util.Map<String,Token>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ForwardedHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    - Boolean.getBoolean(String)
    linkageType: ''
    returnType: io.undertow.server.handlers.ForwardedHandler
    signature: '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.ForwardedHandler:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - boolean
      - String
      - boolean
      - io.undertow.server.HttpHandler
      - java.util.Map<String,Token>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ForwardedHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - isChangeLocalAddrPort
    argTypes:
    - io.undertow.server.HttpHandler
    - boolean
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 2
    functionsReached:
    - Boolean.getBoolean(String)
    linkageType: ''
    returnType: io.undertow.server.handlers.ForwardedHandler
    signature: '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ForwardedHandler:50,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ForwardedHandler:50,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.ForwardedHandler:52,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].parseHeader(io.undertow.server.handlers.ForwardedHandler,java.util.HashMap)'
      Src: io.undertow.server.handlers.ForwardedHandler:54,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:56,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:57,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:58,1
    - Dst: '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:59,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ForwardedHandler:62,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostName()'
      Src: io.undertow.server.handlers.ForwardedHandler:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostPort()'
      Src: io.undertow.server.handlers.ForwardedHandler:64,1
    - Dst: '[java.net.InetSocketAddress].createUnresolved(String,int)'
      Src: io.undertow.server.handlers.ForwardedHandler:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDestinationAddress(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:64,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].parseAddress(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:68,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.ForwardedHandler:70,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:74,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].parseAddress(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:77,1
    - Dst: '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.ForwardedHandler:79,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ForwardedHandler:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - boolean
      - String
      - boolean
      - io.undertow.server.HttpHandler
      - java.util.Map<String,Token>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.ForwardedHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].get(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.server.HttpServerExchange].getHostPort()'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.server.HttpServerExchange].setDestinationAddress(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getHostName()'
    - '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
    - '[io.undertow.server.handlers.ForwardedHandler].parseHeader(io.undertow.server.handlers.ForwardedHandler,java.util.HashMap)'
    - '[io.undertow.server.handlers.ForwardedHandler].parseAddress(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
    - '[java.net.InetSocketAddress].createUnresolved(String,int)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.ForwardedHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ForwardedHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.ForwardedHandler:90,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.ForwardedHandler:93,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.ForwardedHandler:98,1
    - Dst: '[String].indexOf(String)'
      Src: io.undertow.server.handlers.ForwardedHandler:100,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:101,1
    - Dst: '[String].indexOf(char,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:103,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:105,1
    - Dst: '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
      Src: io.undertow.server.handlers.ForwardedHandler:105,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:107,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.ForwardedHandler:107,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].parsePort(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:107,1
    - Dst: '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
      Src: io.undertow.server.handlers.ForwardedHandler:107,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.server.handlers.ForwardedHandler:110,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.server.handlers.ForwardedHandler:112,1
    - Dst: '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
      Src: io.undertow.server.handlers.ForwardedHandler:112,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:114,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:114,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.ForwardedHandler:114,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].parsePort(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:114,1
    - Dst: '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
      Src: io.undertow.server.handlers.ForwardedHandler:114,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].debug(String,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - boolean
      - String
      - boolean
      - io.undertow.server.HttpHandler
      - java.util.Map<String,Token>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.InetSocketAddress
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - address
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 121
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.ForwardedHandler].parseAddress(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[String].indexOf(char,io.undertow.server.handlers.ForwardedHandler)'
    - '[String].indexOf(String)'
    - '[io.undertow.server.handlers.ForwardedHandler].parsePort(io.undertow.server.handlers.ForwardedHandler)'
    - '[String].indexOf(char)'
    - '[String].equals(String)'
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    - '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
    - '[String].substring(int)'
    - '[String].substring(int,io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.server.handlers.ForwardedHandler].debug(String,io.undertow.server.handlers.ForwardedHandler)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.handlers.ForwardedHandler].parseAddress(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.ForwardedHandler:124,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.ForwardedHandler:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - boolean
      - String
      - boolean
      - io.undertow.server.HttpHandler
      - java.util.Map<String,Token>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - substring
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.handlers.ForwardedHandler].parsePort(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[String].startsWith(String)'
    - Integer.parseInt(String)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.ForwardedHandler].parsePort(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Token,String>].size()'
      Src: io.undertow.server.handlers.ForwardedHandler:133,1
    - Dst: Token.values()
      Src: io.undertow.server.handlers.ForwardedHandler:133,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.server.handlers.ForwardedHandler:137,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.server.handlers.ForwardedHandler:151,1
    - Dst: String.valueOf(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)
      Src: io.undertow.server.handlers.ForwardedHandler:158,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].toLowerCase(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:159,1
    - Dst: '[java.util.Map<String,Token>].get(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:159,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.server.handlers.ForwardedHandler:165,1
    - Dst: String.valueOf(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)
      Src: io.undertow.server.handlers.ForwardedHandler:180,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.ForwardedHandler:182,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].length()'
      Src: io.undertow.server.handlers.ForwardedHandler:184,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].charAt(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:185,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:190,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.ForwardedHandler:193,1
    - Dst: '[java.util.Map<Token,String>].containsKey(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:196,1
    - Dst: '[java.util.Map<Token,String>].put(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:197,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.server.handlers.ForwardedHandler:207,1
    - Dst: String.valueOf(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)
      Src: io.undertow.server.handlers.ForwardedHandler:208,1
    - Dst: '[java.util.Map<Token,String>].containsKey(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:209,1
    - Dst: '[java.util.Map<Token,String>].put(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:210,1
    - Dst: String.valueOf(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)
      Src: io.undertow.server.handlers.ForwardedHandler:221,1
    - Dst: '[java.util.Map<Token,String>].containsKey(io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:222,1
    - Dst: '[java.util.Map<Token,String>].put(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.server.handlers.ForwardedHandler:223,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].invalidHeader()'
      Src: io.undertow.server.handlers.ForwardedHandler:227,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 82
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Map<Token,String>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - boolean
      - String
      - boolean
      - io.undertow.server.HttpHandler
      - java.util.Map<String,Token>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - header
    - response
    argTypes:
    - String
    - java.util.Map<Token,String>
    constantsTouched: []
    func_position:
      end: 230
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 230
    functionName: '[io.undertow.server.handlers.ForwardedHandler].parseHeader(String,java.util.Map<Token,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ForwardedHandler].charAt(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.server.handlers.ForwardedHandler].length()'
    - Character.isWhitespace()
    - '[StringBuilder].append(io.undertow.server.handlers.ForwardedHandler)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.UndertowMessages.MESSAGES].invalidHeader()'
    - Token.values()
    - '[StringBuilder].toString()'
    - '[java.util.Map<Token,String>].put(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)'
    - String.valueOf(io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler,io.undertow.server.handlers.ForwardedHandler)
    - '[String].toCharArray()'
    - '[java.util.Map<Token,String>].size()'
    - '[java.util.Map<Token,String>].containsKey(io.undertow.server.handlers.ForwardedHandler)'
    - '[java.util.Map<String,Token>].get(io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.server.handlers.ForwardedHandler].toLowerCase(io.undertow.server.handlers.ForwardedHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ForwardedHandler].parseHeader(String,java.util.Map<Token,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - boolean
      - String
      - boolean
      - io.undertow.server.HttpHandler
      - java.util.Map<String,Token>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '[io.undertow.server.handlers.ForwardedHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ForwardedHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ForwardedHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.ForwardedHandler.Builder:269,1
    - Dst: '[java.util.HashMap].put(io.undertow.server.handlers.ForwardedHandler.Builder)'
      Src: io.undertow.server.handlers.ForwardedHandler.Builder:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(io.undertow.server.handlers.ForwardedHandler.Builder)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.ForwardedHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.ForwardedHandler.Builder:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.ForwardedHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ForwardedHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(io.undertow.server.handlers.ForwardedHandler.Builder)'
      Src: io.undertow.server.handlers.ForwardedHandler.Builder:286,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.ForwardedHandler.Builder:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(io.undertow.server.handlers.ForwardedHandler.Builder)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.ForwardedHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.ForwardedHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ForwardedHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ForwardedHandler.Builder
    signature: '[io.undertow.server.handlers.ForwardedHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.ForwardedHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - isChangeLocalAddrPort
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Wrapper].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ForwardedHandler.Wrapper
    signature: '[io.undertow.server.handlers.ForwardedHandler.Wrapper].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.server.handlers.ForwardedHandler.Wrapper:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: '[io.undertow.server.handlers.ForwardedHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ForwardedHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.ForwardedHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpTraceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.HttpTraceHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpTraceHandler
    signature: '[io.undertow.server.handlers.HttpTraceHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.HttpTraceHandler:48,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.HttpTraceHandler:48,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.HttpTraceHandler:49,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:49,1
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:50,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.handlers.HttpTraceHandler:51,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.HttpTraceHandler:52,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.HttpTraceHandler:52,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.HttpTraceHandler:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.HttpTraceHandler:54,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:54,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.HttpTraceHandler:56,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.handlers.HttpTraceHandler:57,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.HttpTraceHandler:57,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:57,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.HttpTraceHandler:59,1
    - Dst: header.getHeaderName()
      Src: io.undertow.server.handlers.HttpTraceHandler:61,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.HttpTraceHandler)'
      Src: io.undertow.server.handlers.HttpTraceHandler:61,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:62,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.HttpTraceHandler)'
      Src: io.undertow.server.handlers.HttpTraceHandler:63,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:64,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.HttpTraceHandler:67,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.HttpTraceHandler:68,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.HttpTraceHandler:68,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.HttpTraceHandler)'
      Src: io.undertow.server.handlers.HttpTraceHandler:68,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpTraceHandler:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 72
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.HttpTraceHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[StringBuilder].append(io.undertow.server.handlers.HttpTraceHandler)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[StringBuilder].<init>(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[String].isEmpty()'
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.HttpTraceHandler)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[StringBuilder].append(char)'
    - header.getHeaderName()
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpTraceHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.HttpTraceHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.HttpTraceHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.HttpTraceHandler.Builder:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.HttpTraceHandler.Builder:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.HttpTraceHandler.Builder:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpTraceHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpTraceHandler.Builder
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HttpTraceHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.HttpTraceHandler.Wrapper:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HttpTraceHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpTraceHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HttpTraceHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpTraceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpTraceHandler.Wrapper
    signature: '[io.undertow.server.handlers.HttpTraceHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.PathTemplateHandler:48,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandler:53,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].<init>(boolean)'
      Src: io.undertow.server.handlers.PathTemplateHandler:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>
      - boolean
      - PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>
      - Object
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.PathTemplateHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateHandler].<init>(boolean)'
    - '[Object].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler
    signature: '[io.undertow.server.handlers.PathTemplateHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.PathTemplateHandler:48,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandler:53,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,boolean)'
      Src: io.undertow.server.handlers.PathTemplateHandler:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>
      - boolean
      - PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>
      - Object
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rewriteQueryParameters
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.PathTemplateHandler].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateHandler].<init>(io.undertow.server.handlers.ResponseCodeHandler,boolean)'
    - '[Object].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler
    signature: '[io.undertow.server.handlers.PathTemplateHandler].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.PathTemplateHandler:48,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandler:53,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].<init>(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.server.handlers.PathTemplateHandler:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>
      - boolean
      - PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>
      - Object
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.PathTemplateHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    - '[Object].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler
    signature: '[io.undertow.server.handlers.PathTemplateHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.PathTemplateHandler:48,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandler:53,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:89,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].newBuilder(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:92,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].build()'
      Src: io.undertow.server.handlers.PathTemplateHandler:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>
      - boolean
      - PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>
      - Object
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - rewriteQueryParameters
    argTypes:
    - io.undertow.server.HttpHandler
    - boolean
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.PathTemplateHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateHandler].build()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[java.util.Objects].requireNonNull(io.undertow.server.HttpHandler)'
    - '[Object].<init>()'
    - '[io.undertow.server.handlers.PathTemplateHandler].newBuilder(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler
    signature: '[io.undertow.server.handlers.PathTemplateHandler].<init>(io.undertow.server.HttpHandler,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.server.handlers.PathTemplateHandler:105,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:106,1
    - Dst: '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].addTemplate(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:110,1
    - Dst: '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].build()'
      Src: io.undertow.server.handlers.PathTemplateHandler:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>
      - boolean
      - PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>
      - Object
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - uriTemplate
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.PathTemplateHandler].add(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.server.HttpHandler)'
    - '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].addTemplate(String,io.undertow.server.HttpHandler)'
    - '[java.util.Objects].requireNonNull(String)'
    - '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].build()'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler
    signature: '[io.undertow.server.handlers.PathTemplateHandler].add(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.server.handlers.PathTemplateHandler:125,1
    - Dst: '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].removeTemplate(String)'
      Src: io.undertow.server.handlers.PathTemplateHandler:129,1
    - Dst: '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].build()'
      Src: io.undertow.server.handlers.PathTemplateHandler:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>
      - boolean
      - PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>
      - Object
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - uriTemplate
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.PathTemplateHandler].remove(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 0
    functionsReached:
    - '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].removeTemplate(String)'
    - '[java.util.Objects].requireNonNull(String)'
    - '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].build()'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler
    signature: '[io.undertow.server.handlers.PathTemplateHandler].remove(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].getBuilder()'
      Src: io.undertow.server.handlers.PathTemplateHandler:139,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].getTemplates()'
      Src: io.undertow.server.handlers.PathTemplateHandler:139,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].keySet()'
      Src: io.undertow.server.handlers.PathTemplateHandler:139,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:139,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.PathTemplateHandler:141,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.PathTemplateHandler:142,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.server.handlers.PathTemplateHandler:143,1
    - Dst: '[java.util.ArrayList].get(int)'
      Src: io.undertow.server.handlers.PathTemplateHandler:144,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].getPattern()'
      Src: io.undertow.server.handlers.PathTemplateHandler:144,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].getPathTemplate()'
      Src: io.undertow.server.handlers.PathTemplateHandler:144,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:144,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].append(String)'
      Src: io.undertow.server.handlers.PathTemplateHandler:144,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.PathTemplateHandler:146,1
    - Dst: '[java.util.ArrayList].stream()'
      Src: io.undertow.server.handlers.PathTemplateHandler:148,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].map()'
      Src: io.undertow.server.handlers.PathTemplateHandler:148,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.server.handlers.PathTemplateHandler:148,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].collect(io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:148,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].append(io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:146,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].append(String)'
      Src: io.undertow.server.handlers.PathTemplateHandler:146,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.PathTemplateHandler:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>
      - boolean
      - PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>
      - Object
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.handlers.PathTemplateHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].stream()'
    - '[java.util.ArrayList].<init>(io.undertow.server.handlers.PathTemplateHandler)'
    - '[io.undertow.server.handlers.PathTemplateHandler].getPathTemplate()'
    - '[StringBuilder].append(String)'
    - '[java.util.stream.Collectors].joining(String)'
    - '[io.undertow.server.handlers.PathTemplateHandler].append(io.undertow.server.handlers.PathTemplateHandler)'
    - '[java.util.ArrayList].get(int)'
    - '[io.undertow.server.handlers.PathTemplateHandler].getTemplates()'
    - '[io.undertow.server.handlers.PathTemplateHandler].collect(io.undertow.server.handlers.PathTemplateHandler)'
    - '[io.undertow.server.handlers.PathTemplateHandler].map()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[java.util.ArrayList].size()'
    - '[PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>].getBuilder()'
    - '[StringBuilder].append(char)'
    - '[io.undertow.server.handlers.PathTemplateHandler].append(String)'
    - '[io.undertow.server.handlers.PathTemplateHandler].keySet()'
    - '[StringBuilder].append(io.undertow.server.handlers.PathTemplateHandler)'
    - '[io.undertow.server.handlers.PathTemplateHandler].getPattern()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PathTemplateHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.PathTemplateHandler:156,1
    - Dst: '[io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>].route(String)'
      Src: io.undertow.server.handlers.PathTemplateHandler:156,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].getPathTemplate()'
      Src: io.undertow.server.handlers.PathTemplateHandler:157,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].isEmpty()'
      Src: io.undertow.server.handlers.PathTemplateHandler:157,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].getTarget()'
      Src: io.undertow.server.handlers.PathTemplateHandler:159,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PathTemplateHandler:159,1
    - Dst: '[io.undertow.util.PathTemplateMatch].<init>(io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:163,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>,io.undertow.util.PathTemplateMatch)'
      Src: io.undertow.server.handlers.PathTemplateHandler:163,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.PathTemplateHandler,io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:164,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].getParameters()'
      Src: io.undertow.server.handlers.PathTemplateHandler:166,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].entrySet()'
      Src: io.undertow.server.handlers.PathTemplateHandler:166,1
    - Dst: entry.getKey()
      Src: io.undertow.server.handlers.PathTemplateHandler:167,1
    - Dst: entry.getValue()
      Src: io.undertow.server.handlers.PathTemplateHandler:167,1
    - Dst: '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.handlers.PathTemplateHandler,io.undertow.server.handlers.PathTemplateHandler)'
      Src: io.undertow.server.handlers.PathTemplateHandler:167,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].getTarget()'
      Src: io.undertow.server.handlers.PathTemplateHandler:170,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PathTemplateHandler:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>
      - boolean
      - PathTemplateRouterFactory.SimpleBuilder<io.undertow.server.HttpHandler>
      - Object
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.PathTemplateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.PathTemplateHandler,io.undertow.server.handlers.PathTemplateHandler)'
    - entry.getValue()
    - '[io.undertow.server.handlers.PathTemplateHandler].entrySet()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.handlers.PathTemplateHandler].getParameters()'
    - entry.getKey()
    - '[io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>].route(String)'
    - '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.handlers.PathTemplateHandler,io.undertow.server.handlers.PathTemplateHandler)'
    - '[io.undertow.server.handlers.PathTemplateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.PathTemplateHandler].getPathTemplate()'
    - '[io.undertow.util.PathTemplateMatch].<init>(io.undertow.server.handlers.PathTemplateHandler)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<PathTemplateHandler.PathTemplateMatch>,io.undertow.util.PathTemplateMatch)'
    - '[io.undertow.server.handlers.PathTemplateHandler].getTarget()'
    - '[io.undertow.server.handlers.PathTemplateHandler].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PathTemplateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateMatch)'
      Src: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateMatch
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathTemplateMatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pathTemplateMatch
    argTypes:
    - io.undertow.util.PathTemplateMatch
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].<init>(io.undertow.util.PathTemplateMatch)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateMatch)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch
    signature: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].<init>(io.undertow.util.PathTemplateMatch)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateMatch].<init>(String,java.util.Map<String,String>)'
      Src: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch:189,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].<init>(io.undertow.util.PathTemplateMatch)'
      Src: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathTemplateMatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - matchedTemplate
    - parameters
    argTypes:
    - String
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].<init>(String,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatch].<init>(String,java.util.Map<String,String>)'
    - '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].<init>(io.undertow.util.PathTemplateMatch)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch
    signature: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].<init>(String,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateMatch].getMatchedTemplate()'
      Src: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathTemplateMatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].getMatchedTemplate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatch].getMatchedTemplate()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].getMatchedTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateMatch].getParameters()'
      Src: io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathTemplateMatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].getParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatch].getParameters()'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].getParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.HttpUpgradeHandshake].handleUpgrade(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpUpgradeHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.HttpUpgradeHandshake].handleUpgrade(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpUpgradeHandshake
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HttpUpgradeHandshake].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpUpgradeHandshake.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpUpgradeHandshake
    signature: '[io.undertow.server.handlers.HttpUpgradeHandshake].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DisableCacheHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: '[io.undertow.server.handlers.DisableCacheHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.DisableCacheHandler
    signature: '[io.undertow.server.handlers.DisableCacheHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.DisableCacheHandler:30,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.DisableCacheHandler:30,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.DisableCacheHandler:31,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.DisableCacheHandler:31,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.DisableCacheHandler:32,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.DisableCacheHandler:32,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.DisableCacheHandler:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: '[io.undertow.server.handlers.DisableCacheHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DisableCacheHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.handlers.DisableCacheHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.DisableCacheHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.DisableCacheHandler.Builder:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.DisableCacheHandler.Builder:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.DisableCacheHandler.Builder:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DisableCacheHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.DisableCacheHandler.Builder
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.DisableCacheHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.DisableCacheHandler.Wrapper:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.DisableCacheHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DisableCacheHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.DisableCacheHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisableCacheHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.DisableCacheHandler.Wrapper
    signature: '[io.undertow.server.handlers.DisableCacheHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.StoredResponseHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.StoredResponseHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.StoredResponseHandler
    signature: '[io.undertow.server.handlers.StoredResponseHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.handlers.StoredResponseHandler:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
      Src: io.undertow.server.handlers.StoredResponseHandler:53,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.StoredResponseHandler:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.StoredResponseHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.StoredResponseHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.StoredResponseHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.StoredResponseHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.StoredResponseHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.StoredResponseHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.StoredResponseHandler.Builder:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.StoredResponseHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.StoredResponseHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.StoredResponseHandler.Builder:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.StoredResponseHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.StoredResponseHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.StoredResponseHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.StoredResponseHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.StoredResponseHandler.Builder:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.StoredResponseHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.StoredResponseHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.StoredResponseHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.StoredResponseHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.StoredResponseHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.StoredResponseHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StoredResponseHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.StoredResponseHandler.Builder
    signature: '[io.undertow.server.handlers.StoredResponseHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:55,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:69,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:74,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:79,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].<init>(int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>
      - java.util.Queue<CompletedStuckThread>
      - io.undertow.server.HttpHandler
      - Runnable
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.StuckThreadDetectionHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].<init>(int,io.undertow.server.HttpHandler)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.StuckThreadDetectionHandler
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:55,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:69,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:74,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>
      - java.util.Queue<CompletedStuckThread>
      - io.undertow.server.HttpHandler
      - Runnable
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.StuckThreadDetectionHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - threshold
    - next
    argTypes:
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler].<init>(int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[Runnable].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.StuckThreadDetectionHandler
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler].<init>(int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>
      - java.util.Queue<CompletedStuckThread>
      - io.undertow.server.HttpHandler
      - Runnable
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getThreshold()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getThreshold()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:133,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getThread()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:134,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getStackTrace()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:134,1
    - Dst: '[Throwable].setStackTrace(io.undertow.server.handlers.StuckThreadDetectionHandler)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:134,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getThread()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:136,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getName()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:136,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getThread()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:136,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getId()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:136,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getStartTime()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:137,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getRequestUri()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:137,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].stuckThreadDetected(io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler,long,io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler,int,int,Throwable)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - MonitoredThread
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>
      - java.util.Queue<CompletedStuckThread>
      - io.undertow.server.HttpHandler
      - Runnable
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - monitoredThread
    - activeTime
    - numStuckThreads
    argTypes:
    - MonitoredThread
    - long
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler].notifyStuckThreadDetected(MonitoredThread,long,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].getId()'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getStartTime()'
    - '[Throwable].<init>()'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getRequestUri()'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].getName()'
    - '[Throwable].setStackTrace(io.undertow.server.handlers.StuckThreadDetectionHandler)'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].stuckThreadDetected(io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler,long,io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler,int,int,Throwable)'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getThread()'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].getStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler].notifyStuckThreadDetected(MonitoredThread,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CompletedStuckThread].getName()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:143,1
    - Dst: '[CompletedStuckThread].getId()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:143,1
    - Dst: '[CompletedStuckThread].getTotalActiveTime()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:143,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].stuckThreadCompleted(io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler,int)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - CompletedStuckThread
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>
      - java.util.Queue<CompletedStuckThread>
      - io.undertow.server.HttpHandler
      - Runnable
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - thread
    - numStuckThreads
    argTypes:
    - CompletedStuckThread
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler].notifyStuckThreadCompleted(CompletedStuckThread,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[CompletedStuckThread].getTotalActiveTime()'
    - '[CompletedStuckThread].getName()'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].stuckThreadCompleted(io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler,int)'
    - '[CompletedStuckThread].getId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler].notifyStuckThreadCompleted(CompletedStuckThread,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:156,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getId()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:156,1
    - Dst: Thread.currentThread()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:157,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:157,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:157,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].<init>(io.undertow.server.handlers.StuckThreadDetectionHandler,String)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:157,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>].put(io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:158,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:162,1
    - Dst: '[org.xnio.XnioIoThread].executeAfter(Runnable,int,io.undertow.server.handlers.StuckThreadDetectionHandler)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:162,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:168,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>].remove(io.undertow.server.handlers.StuckThreadDetectionHandler)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:170,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].markAsDone()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:171,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getThread()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:173,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getActiveTimeInMillis()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:174,1
    - Dst: '[CompletedStuckThread].<init>(io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:173,1
    - Dst: '[java.util.Queue<CompletedStuckThread>].add(CompletedStuckThread)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>
      - java.util.Queue<CompletedStuckThread>
      - io.undertow.server.HttpHandler
      - Runnable
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].getId()'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>].remove(io.undertow.server.handlers.StuckThreadDetectionHandler)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getThread()'
    - '[java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>].put(io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread)'
    - '[java.util.Queue<CompletedStuckThread>].add(CompletedStuckThread)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getActiveTimeInMillis()'
    - '[org.xnio.XnioIoThread].executeAfter(Runnable,int,io.undertow.server.handlers.StuckThreadDetectionHandler)'
    - Thread.currentThread()
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].markAsDone()'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].<init>(io.undertow.server.handlers.StuckThreadDetectionHandler,String)'
    - '[CompletedStuckThread].<init>(io.undertow.server.handlers.StuckThreadDetectionHandler,io.undertow.server.handlers.StuckThreadDetectionHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:180,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>].values()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:181,1
    - Dst: monitoredThread.isMarkedAsStuck()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:182,1
    - Dst: monitoredThread.getThread()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:183,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getId()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:183,1
    - Dst: Long.valueOf(io.undertow.server.handlers.StuckThreadDetectionHandler)
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:183,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.StuckThreadDetectionHandler)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:183,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:187,1
    - Dst: '[java.util.ArrayList].get(io.undertow.server.handlers.StuckThreadDetectionHandler)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:189,1
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].longValue()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>
      - java.util.Queue<CompletedStuckThread>
      - io.undertow.server.HttpHandler
      - Runnable
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getStuckThreadIds()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].getId()'
    - monitoredThread.getThread()
    - monitoredThread.isMarkedAsStuck()
    - '[java.util.ArrayList].add(io.undertow.server.handlers.StuckThreadDetectionHandler)'
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].longValue()'
    - '[java.util.ArrayList].get(io.undertow.server.handlers.StuckThreadDetectionHandler)'
    - '[java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>].values()'
    - Long.valueOf(io.undertow.server.handlers.StuckThreadDetectionHandler)
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].size()'
    linkageType: ''
    returnType: long[]
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler].getStuckThreadIds()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - java.util.concurrent.ConcurrentHashMap<Long,MonitoredThread>
      - java.util.Queue<CompletedStuckThread>
      - io.undertow.server.HttpHandler
      - Runnable
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MonitoredThreadState.RUNNING.ordinal()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:203,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:202,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Thread
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - String
      - long
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - thread
    - requestUri
    argTypes:
    - Thread
    - String
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].<init>(Thread,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - MonitoredThreadState.RUNNING.ordinal()
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread)'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].<init>(Thread,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - String
      - long
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Thread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Thread
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - String
      - long
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getRequestUri()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getRequestUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - String
      - long
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getActiveTimeInMillis()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 1
    functionsReached:
    - System.currentTimeMillis()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getActiveTimeInMillis()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Date].<init>(long)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - String
      - long
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getStartTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.Date].<init>(long)'
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].getStartTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MonitoredThreadState.RUNNING.ordinal()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:228,1
    - Dst: MonitoredThreadState.STUCK.ordinal()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:229,1
    - Dst: this.state.compareAndSet(io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread,io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread)
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - String
      - long
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].markAsStuckIfStillRunning()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - MonitoredThreadState.RUNNING.ordinal()
    - this.state.compareAndSet(io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread,io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread)
    - MonitoredThreadState.STUCK.ordinal()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].markAsStuckIfStillRunning()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MonitoredThreadState.DONE.ordinal()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:233,1
    - Dst: this.state.getAndSet(io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread)
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:233,1
    - Dst: MonitoredThreadState.values()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - String
      - long
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: MonitoredThreadState
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].markAsDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 1
    functionsReached:
    - MonitoredThreadState.values()
    - this.state.getAndSet(io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread)
    - MonitoredThreadState.DONE.ordinal()
    linkageType: ''
    returnType: MonitoredThreadState
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].markAsDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.state.get()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:238,1
    - Dst: MonitoredThreadState.STUCK.ordinal()
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Thread
      - String
      - long
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].isMarkedAsStuck()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - this.state.get()
    - MonitoredThreadState.STUCK.ordinal()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.MonitoredThread].isMarkedAsStuck()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Thread].getName()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread:249,1
    - Dst: '[Thread].getId()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Thread
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - thread
    - totalActiveTime
    argTypes:
    - Thread
    - long
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread].<init>(Thread,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[Thread].getId()'
    - '[Thread].getName()'
    linkageType: ''
    returnType: io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread].<init>(Thread,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread].getTotalActiveTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.CompletedStuckThread].getTotalActiveTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - threshhold
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.StuckThreadDetectionHandler].<init>(int,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.StuckThreadDetectionHandler].<init>(int,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.Builder:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.Builder:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.Builder:318,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.Builder:320,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.server.handlers.StuckThreadDetectionHandler.Builder)'
      Src: io.undertow.server.handlers.StuckThreadDetectionHandler.Builder:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.server.handlers.StuckThreadDetectionHandler.Builder)'
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.StuckThreadDetectionHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/StuckThreadDetectionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.StuckThreadDetectionHandler.Builder
    signature: '[io.undertow.server.handlers.StuckThreadDetectionHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,null,boolean,boolean,boolean)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - java.util.regex.Pattern
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SameSiteCookieHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - mode
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,null,boolean,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SameSiteCookieHandler
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - java.util.regex.Pattern
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SameSiteCookieHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - mode
    - cookiePattern
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 10
    functionsReached:
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SameSiteCookieHandler
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - java.util.regex.Pattern
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SameSiteCookieHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - mode
    - cookiePattern
    - caseSensitive
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SameSiteCookieHandler
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:62,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:63,1
    - Dst: CookieSameSiteMode.NONE.toString()
      Src: io.undertow.server.handlers.SameSiteCookieHandler:67,1
    - Dst: '[io.undertow.server.handlers.SameSiteCookieHandler].equalsIgnoreCase(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      - boolean
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - java.util.regex.Pattern
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SameSiteCookieHandler
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - next
    - mode
    - cookiePattern
    - caseSensitive
    - enableClientChecker
    - addSecureForNone
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    - boolean
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 4
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    - '[String].isEmpty()'
    - CookieSameSiteMode.NONE.toString()
    - '[io.undertow.server.handlers.SameSiteCookieHandler].equalsIgnoreCase(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SameSiteCookieHandler
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler].<init>(io.undertow.server.HttpHandler,String,String,boolean,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ResponseCommitListener].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:75,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.ResponseCommitListener)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:75,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler:97,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - java.util.regex.Pattern
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ResponseCommitListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.ResponseCommitListener)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:109,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:110,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:111,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:112,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:113,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:130,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:131,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:132,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:133,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:134,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.SameSiteCookieHandler.Builder:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SameSiteCookieHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SameSiteCookieHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SameSiteCookieHandler.Builder
    signature: '[io.undertow.server.handlers.SameSiteCookieHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.RequestLimit:52,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.RequestLimit:58,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.RequestLimit:62,1
    - Dst: '[io.undertow.server.handlers.RequestLimit].<init>(int)'
      Src: io.undertow.server.handlers.RequestLimit:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>
      - io.undertow.server.HttpHandler
      - java.util.Queue<SuspendedRequest>
      - io.undertow.server.ExchangeCompletionListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimit
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maximumConcurrentRequests
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.RequestLimit].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.server.handlers.RequestLimit].<init>(int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimit
    signature: '[io.undertow.server.handlers.RequestLimit].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.RequestLimit:52,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.RequestLimit:58,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.RequestLimit:62,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.RequestLimit:100,1
    - Dst: '[java.util.concurrent.LinkedBlockingQueue].<init>()'
      Src: io.undertow.server.handlers.RequestLimit:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>
      - io.undertow.server.HttpHandler
      - java.util.Queue<SuspendedRequest>
      - io.undertow.server.ExchangeCompletionListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestLimit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - maximumConcurrentRequests
    - queueSize
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.RequestLimit].<init>(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingQueue].<init>()'
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[IllegalArgumentException].<init>(String)'
    - '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimit
    signature: '[io.undertow.server.handlers.RequestLimit].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.RequestLimit:112,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,Runnable)'
      Src: io.undertow.server.handlers.RequestLimit:112,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>].compareAndSet(io.undertow.server.handlers.RequestLimit,io.undertow.server.handlers.RequestLimit)'
      Src: io.undertow.server.handlers.RequestLimit:137,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.RequestLimit:138,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.RequestLimit:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>
      - io.undertow.server.HttpHandler
      - java.util.Queue<SuspendedRequest>
      - io.undertow.server.ExchangeCompletionListener
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - next
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 140
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.RequestLimit].handleRequest(io.undertow.server.HttpServerExchange,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,Runnable)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>].compareAndSet(io.undertow.server.handlers.RequestLimit,io.undertow.server.handlers.RequestLimit)'
    - '[Runnable].<init>()'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestLimit].handleRequest(io.undertow.server.HttpServerExchange,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>
      - io.undertow.server.HttpHandler
      - java.util.Queue<SuspendedRequest>
      - io.undertow.server.ExchangeCompletionListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '[io.undertow.server.handlers.RequestLimit].getMaximumConcurrentRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.RequestLimit].getMaximumConcurrentRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.RequestLimit:158,1
    - Dst: '[java.util.Queue<SuspendedRequest>].isEmpty()'
      Src: io.undertow.server.handlers.RequestLimit:164,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>].compareAndSet(io.undertow.server.handlers.RequestLimit,io.undertow.server.handlers.RequestLimit)'
      Src: io.undertow.server.handlers.RequestLimit:172,1
    - Dst: '[java.util.Queue<SuspendedRequest>].poll()'
      Src: io.undertow.server.handlers.RequestLimit:173,1
    - Dst: '[io.undertow.server.handlers.RequestLimit].dispatch(io.undertow.server.handlers.RequestLimit)'
      Src: io.undertow.server.handlers.RequestLimit:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>
      - io.undertow.server.HttpHandler
      - java.util.Queue<SuspendedRequest>
      - io.undertow.server.ExchangeCompletionListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - newMax
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.RequestLimit].setMaximumConcurrentRequests(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>].compareAndSet(io.undertow.server.handlers.RequestLimit,io.undertow.server.handlers.RequestLimit)'
    - '[java.util.Queue<SuspendedRequest>].poll()'
    - '[io.undertow.server.handlers.RequestLimit].dispatch(io.undertow.server.handlers.RequestLimit)'
    - '[java.util.Queue<SuspendedRequest>].isEmpty()'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.RequestLimit].setMaximumConcurrentRequests(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>].decrementAndGet()'
      Src: io.undertow.server.handlers.RequestLimit:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>
      - io.undertow.server.HttpHandler
      - java.util.Queue<SuspendedRequest>
      - io.undertow.server.ExchangeCompletionListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.RequestLimit].decrementRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>].decrementAndGet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestLimit].decrementRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>
      - io.undertow.server.HttpHandler
      - java.util.Queue<SuspendedRequest>
      - io.undertow.server.ExchangeCompletionListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.RequestLimit].getFailureHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.RequestLimit].getFailureHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.RequestLimit>
      - io.undertow.server.HttpHandler
      - java.util.Queue<SuspendedRequest>
      - io.undertow.server.ExchangeCompletionListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - failureHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.RequestLimit].setFailureHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestLimit].setFailureHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - HttpHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.RequestLimit.SuspendedRequest
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - next
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.handlers.RequestLimit.SuspendedRequest].<init>(io.undertow.server.HttpServerExchange,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestLimit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestLimit.SuspendedRequest
    signature: '[io.undertow.server.handlers.RequestLimit.SuspendedRequest].<init>(io.undertow.server.HttpServerExchange,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ResponseCommitListener].<init>()'
      Src: io.undertow.server.handlers.ByteRangeHandler:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.server.ResponseCommitListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ByteRangeHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - sendAcceptRanges
    argTypes:
    - io.undertow.server.HttpHandler
    - boolean
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.ByteRangeHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.ResponseCommitListener].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.ByteRangeHandler
    signature: '[io.undertow.server.handlers.ByteRangeHandler].<init>(io.undertow.server.HttpHandler,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.ByteRangeHandler:82,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ByteRangeHandler:82,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.ByteRangeHandler:82,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ByteRangeHandler:82,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ByteRangeHandler:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.ResponseCommitListener)'
      Src: io.undertow.server.handlers.ByteRangeHandler:87,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ByteRangeHandler:89,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ByteRangeHandler:89,1
    - Dst: '[io.undertow.util.ByteRange].parse(String)'
      Src: io.undertow.server.handlers.ByteRangeHandler:89,1
    - Dst: '[io.undertow.util.ByteRange].getRanges()'
      Src: io.undertow.server.handlers.ByteRangeHandler:90,1
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.handlers.ByteRangeHandler:91,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
      Src: io.undertow.server.handlers.ByteRangeHandler:91,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ByteRangeHandler:120,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.server.ResponseCommitListener
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 122
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.ByteRangeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ByteRange].parse(String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.ByteRange].getRanges()'
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.ResponseCommitListener)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ByteRangeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - boolean
      - io.undertow.server.ResponseCommitListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.ByteRangeHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ByteRangeHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ByteRangeHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sendAcceptRanges
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Wrapper].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ByteRangeHandler.Wrapper
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Wrapper].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ByteRangeHandler].<init>(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.server.handlers.ByteRangeHandler.Wrapper:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ByteRangeHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.ByteRangeHandler.Builder:152,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.ByteRangeHandler.Builder:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.ByteRangeHandler.Builder:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.ByteRangeHandler.Builder:169,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.server.handlers.ByteRangeHandler.Builder)'
      Src: io.undertow.server.handlers.ByteRangeHandler.Builder:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.server.handlers.ByteRangeHandler.Builder)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ByteRangeHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ByteRangeHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ByteRangeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ByteRangeHandler.Builder
    signature: '[io.undertow.server.handlers.ByteRangeHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - ResolveType
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PeerNameResolvingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PeerNameResolvingHandler
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - ResolveType
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - ResolveType
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PeerNameResolvingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - resolveType
    argTypes:
    - io.undertow.server.HttpHandler
    - ResolveType
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler].<init>(io.undertow.server.HttpHandler,ResolveType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PeerNameResolvingHandler
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler].<init>(io.undertow.server.HttpHandler,ResolveType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:59,1
    - Dst: '[java.net.InetSocketAddress].isUnresolved()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:62,1
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:64,1
    - Dst: '[java.net.InetSocketAddress].getHostName()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:65,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.server.handlers.PeerNameResolvingHandler)'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:65,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:65,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.PeerNameResolvingHandler,io.undertow.server.handlers.PeerNameResolvingHandler)'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:65,1
    - Dst: '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:66,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction<Object>)
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:68,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:75,1
    - Dst: '[io.undertow.server.handlers.PeerNameResolvingHandler].debugf(io.undertow.server.handlers.PeerNameResolvingHandler,String,io.undertow.server.handlers.PeerNameResolvingHandler)'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:75,1
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:79,1
    - Dst: '[java.net.InetSocketAddress].getHostName()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:80,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:82,1
    - Dst: '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:88,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler:92,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - ResolveType
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.PeerNameResolvingHandler,io.undertow.server.handlers.PeerNameResolvingHandler)'
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction<Object>)
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.PeerNameResolvingHandler].debugf(io.undertow.server.handlers.PeerNameResolvingHandler,String,io.undertow.server.handlers.PeerNameResolvingHandler)'
    - '[java.net.InetSocketAddress].getPort()'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
    - '[java.net.InetSocketAddress].getHostName()'
    - '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[java.net.InetAddress].getByName(io.undertow.server.handlers.PeerNameResolvingHandler)'
    - System.getSecurityManager()
    - '[java.net.InetSocketAddress].isUnresolved()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - ResolveType
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler.Builder:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler.Builder:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler.Builder:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PeerNameResolvingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PeerNameResolvingHandler.Builder
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PeerNameResolvingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PeerNameResolvingHandler.Wrapper:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PeerNameResolvingHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PeerNameResolvingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PeerNameResolvingHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PeerNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PeerNameResolvingHandler.Wrapper
    signature: '[io.undertow.server.handlers.PeerNameResolvingHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetErrorHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - responseCode
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.SetErrorHandler].<init>(io.undertow.server.HttpHandler,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetErrorHandler
    signature: '[io.undertow.server.handlers.SetErrorHandler].<init>(io.undertow.server.HttpHandler,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.SetErrorHandler:54,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.SetErrorHandler:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.SetErrorHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SetErrorHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.SetErrorHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetErrorHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetErrorHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.SetErrorHandler.Builder:73,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SetErrorHandler.Builder:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.SetErrorHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.SetErrorHandler.Builder:80,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.SetErrorHandler.Builder:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.SetErrorHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetErrorHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SetErrorHandler.Builder:92,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(Integer)'
      Src: io.undertow.server.handlers.SetErrorHandler.Builder:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(Integer)'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.SetErrorHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.SetErrorHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetErrorHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetErrorHandler.Builder
    signature: '[io.undertow.server.handlers.SetErrorHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.SetErrorHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseCode
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Wrapper].<init>(Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetErrorHandler.Wrapper
    signature: '[io.undertow.server.handlers.SetErrorHandler.Wrapper].<init>(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetErrorHandler].<init>(io.undertow.server.HttpHandler,Integer)'
      Src: io.undertow.server.handlers.SetErrorHandler.Wrapper:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.SetErrorHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.SetErrorHandler].<init>(io.undertow.server.HttpHandler,Integer)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.SetErrorHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueReadHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueReadHandler
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler:65,1
    - Dst: '[io.undertow.server.HttpServerExchange].addRequestWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.handlers.HttpContinueReadHandler)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler:67,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addResponseCommitListener(io.undertow.server.handlers.HttpContinueReadHandler)'
    - '[io.undertow.server.HttpServerExchange].addRequestWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - HttpContinue.ContinueResponseSender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - exchange
    argTypes:
    - org.xnio.conduits.StreamSourceConduit
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSourceConduit)'
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].<init>(org.xnio.conduits.StreamSourceConduit,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:104,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:106,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:111,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:114,1
    - Dst: '[Object].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - HttpContinue.ContinueResponseSender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
    - '[Object].transferTo(long,long,java.nio.channels.FileChannel)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.Connectors].terminateRequest(HttpServerExchange)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:124,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:126,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:131,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:134,1
    - Dst: '[Object].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - HttpContinue.ContinueResponseSender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
    - '[Object].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.Connectors].terminateRequest(HttpServerExchange)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:144,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:146,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:151,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:154,1
    - Dst: '[Object].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - HttpContinue.ContinueResponseSender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.Connectors].terminateRequest(HttpServerExchange)'
    - '[Object].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:164,1
    - Dst: '[io.undertow.server.Connectors].terminateRequest(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:166,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:171,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:174,1
    - Dst: '[Object].read(ByteBuffer[],int,int)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - HttpContinue.ContinueResponseSender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
    - '[Object].read(ByteBuffer[],int,int)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.Connectors].terminateRequest(HttpServerExchange)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:184,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:190,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:192,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:192,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:194,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:195,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].awaitWritable(io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit,io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:199,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:204,1
    - Dst: '[Object].awaitReadable(io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit,io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - HttpContinue.ContinueResponseSender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 206
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 206
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
    - '[Object].awaitReadable(io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit,io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit)'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    - System.currentTimeMillis()
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].awaitWritable(io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit,io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:210,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:216,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:219,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].awaitWritable()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:220,1
    - Dst: '[Object].awaitReadable()'
      Src: io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - HttpContinue.ContinueResponseSender
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueReadHandler.java
    functionUses: 0
    functionsReached:
    - '[Object].awaitReadable()'
    - '[io.undertow.server.protocol.http.HttpContinue].createResponseSender(HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].send()'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.protocol.http.HttpContinue.ContinueResponseSender].awaitWritable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueReadHandler.ContinueConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueAcceptingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - accept
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueAcceptingHandler
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler:59,1
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueAcceptingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler,io.undertow.predicate.Predicate)'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueAcceptingHandler
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler:64,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler:65,1
    - Dst: '[io.undertow.io.IoCallback].<init>()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler:66,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].sendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler:66,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].rejectExchange(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler:80,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 7
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue].rejectExchange(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.protocol.http.HttpContinue].sendContinueResponse(io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    - '[io.undertow.io.IoCallback].<init>()'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueAcceptingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Wrapper].<init>(io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueAcceptingHandler.Wrapper
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Wrapper].<init>(io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler,Predicate)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler.Wrapper:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.HttpContinueAcceptingHandler].<init>(io.undertow.server.HttpHandler,Predicate)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder:130,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.predicate.Predicate)'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/HttpContinueAcceptingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder
    signature: '[io.undertow.server.handlers.HttpContinueAcceptingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>(java.util.Set<io.undertow.util.HttpString>)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.util.Set<io.undertow.util.HttpString>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DisallowedMethodsHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - disallowedMethods
    argTypes:
    - io.undertow.server.HttpHandler
    - java.util.Set<io.undertow.util.HttpString>
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler].<init>(io.undertow.server.HttpHandler,java.util.Set<io.undertow.util.HttpString>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(java.util.Set<io.undertow.util.HttpString>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.DisallowedMethodsHandler
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler].<init>(io.undertow.server.HttpHandler,java.util.Set<io.undertow.util.HttpString>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(java.util.Set<io.undertow.util.HttpString>)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:52,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.DisallowedMethodsHandler)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DisallowedMethodsHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(java.util.Set<io.undertow.util.HttpString>)'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.DisallowedMethodsHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.DisallowedMethodsHandler
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:58,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:59,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:60,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 6
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].size()'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:68,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].toArray()'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:69,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].stream()'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:71,1
    - Dst: '[io.undertow.server.handlers.DisallowedMethodsHandler].map()'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:71,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:71,1
    - Dst: '[io.undertow.server.handlers.DisallowedMethodsHandler].collect(io.undertow.server.handlers.DisallowedMethodsHandler)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.DisallowedMethodsHandler].collect(io.undertow.server.handlers.DisallowedMethodsHandler)'
    - '[io.undertow.server.handlers.DisallowedMethodsHandler].map()'
    - '[java.util.Set<io.undertow.util.HttpString>].toArray()'
    - '[java.util.Set<io.undertow.util.HttpString>].stream()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[java.util.Set<io.undertow.util.HttpString>].size()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler.Builder:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler.Builder:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler.Builder:99,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String[])'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler.Builder:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String[])'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.DisallowedMethodsHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.DisallowedMethodsHandler.Builder
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - methods
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper].<init>(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper].<init>(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>()'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper:121,1
    - Dst: '[io.undertow.server.handlers.DisallowedMethodsHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper)'
      Src: io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/DisallowedMethodsHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.DisallowedMethodsHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper)'
    - '[io.undertow.util.HttpString].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.DisallowedMethodsHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:43,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:43,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:46,1
    - Dst: '[String].lastIndexOf(String)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:47,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.NameVirtualHostHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:47,1
    - Dst: '[java.util.Map<String,io.undertow.server.HttpHandler>].get(io.undertow.server.handlers.NameVirtualHostHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:52,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:54,1
    - Dst: host.toLowerCase(io.undertow.server.handlers.NameVirtualHostHandler)
      Src: io.undertow.server.handlers.NameVirtualHostHandler:58,1
    - Dst: '[java.util.Map<String,io.undertow.server.HttpHandler>].get(io.undertow.server.handlers.NameVirtualHostHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:58,1
    - Dst: '[io.undertow.server.handlers.NameVirtualHostHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:60,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 65
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.NameVirtualHostHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/NameVirtualHostHandler.java
    functionUses: 1
    functionsReached:
    - '[String].substring(int,io.undertow.server.handlers.NameVirtualHostHandler)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.NameVirtualHostHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[String].lastIndexOf(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[String].contains(String)'
    - host.toLowerCase(io.undertow.server.handlers.NameVirtualHostHandler)
    - '[java.util.Map<String,io.undertow.server.HttpHandler>].get(io.undertow.server.handlers.NameVirtualHostHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.NameVirtualHostHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.NameVirtualHostHandler].getDefaultHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/NameVirtualHostHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.NameVirtualHostHandler].getDefaultHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,io.undertow.server.HttpHandler>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.NameVirtualHostHandler].getHosts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/NameVirtualHostHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.HttpHandler>
    signature: '[io.undertow.server.handlers.NameVirtualHostHandler].getHosts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.NameVirtualHostHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/NameVirtualHostHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.NameVirtualHostHandler
    signature: '[io.undertow.server.handlers.NameVirtualHostHandler].setDefaultHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:82,1
    - Dst: '[String].toLowerCase(io.undertow.server.handlers.NameVirtualHostHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:83,1
    - Dst: '[java.util.Map<String,io.undertow.server.HttpHandler>].put(io.undertow.server.handlers.NameVirtualHostHandler,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.NameVirtualHostHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - handler
    argTypes:
    - String
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(String,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/NameVirtualHostHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    - '[String].toLowerCase(io.undertow.server.handlers.NameVirtualHostHandler)'
    - '[java.util.Map<String,io.undertow.server.HttpHandler>].put(io.undertow.server.handlers.NameVirtualHostHandler,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.NameVirtualHostHandler
    signature: '[io.undertow.server.handlers.NameVirtualHostHandler].addHost(String,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toLowerCase(io.undertow.server.handlers.NameVirtualHostHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:88,1
    - Dst: '[java.util.Map<String,io.undertow.server.HttpHandler>].remove(io.undertow.server.handlers.NameVirtualHostHandler)'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.NameVirtualHostHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.NameVirtualHostHandler].removeHost(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/NameVirtualHostHandler.java
    functionUses: 0
    functionsReached:
    - '[String].toLowerCase(io.undertow.server.handlers.NameVirtualHostHandler)'
    - '[java.util.Map<String,io.undertow.server.HttpHandler>].remove(io.undertow.server.handlers.NameVirtualHostHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.NameVirtualHostHandler
    signature: '[io.undertow.server.handlers.NameVirtualHostHandler].removeHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.NameVirtualHostHandler:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.HttpHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.NameVirtualHostHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/NameVirtualHostHandler.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.NameVirtualHostHandler
    signature: '[io.undertow.server.handlers.NameVirtualHostHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - denyResponseCode
    - defaultAllow
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - denyResponseCode
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 8
    functionsReached:
    - '[Object].<init>(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:74,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:75,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandler)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:75,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:76,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:79,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].debugf(String,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.IPAddressAccessControlHandler)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:79,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:81,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].debugf(String,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.IPAddressAccessControlHandler)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].isAllowed(io.undertow.server.handlers.IPAddressAccessControlHandler)'
    - '[java.net.InetSocketAddress].getAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].getDenyResponseCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].getDenyResponseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - denyResponseCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDenyResponseCode(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDenyResponseCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:108,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.IPAddressAccessControlHandler)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:109,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.IPAddressAccessControlHandler)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:110,1
    - Dst: '[java.util.ArrayList].stream()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:112,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].map()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:112,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:112,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].collect(io.undertow.server.handlers.IPAddressAccessControlHandler)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].stream()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].map()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].collect(io.undertow.server.handlers.IPAddressAccessControlHandler)'
    - '[java.util.stream.Collectors].joining(String)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].addAll(io.undertow.server.handlers.IPAddressAccessControlHandler)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:130,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:131,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:132,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:150,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:151,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:152,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:154,1
    - Dst: rule.split(String)
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:156,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].invalidAclRule(io.undertow.server.handlers.IPAddressAccessControlHandler.Builder)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:158,1
    - Dst: parts[1].trim()
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:160,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].equals(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:160,1
    - Dst: parts[0].trim()
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:161,1
    - Dst: '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.server.handlers.IPAddressAccessControlHandler.Builder,boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:161,1
    - Dst: '[java.util.ArrayList].add(io.undertow.predicate.PredicatesHandler.Holder)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:161,1
    - Dst: parts[1].trim()
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:162,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].equals(String)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:162,1
    - Dst: parts[0].trim()
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:163,1
    - Dst: '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.server.handlers.IPAddressAccessControlHandler.Builder,boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:163,1
    - Dst: '[java.util.ArrayList].add(io.undertow.predicate.PredicatesHandler.Holder)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:163,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].invalidAclRule(io.undertow.server.handlers.IPAddressAccessControlHandler.Builder)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:165,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(java.util.ArrayList)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.predicate.PredicatesHandler.Holder)'
    - '[io.undertow.predicate.PredicatesHandler.Holder].<init>(io.undertow.server.handlers.IPAddressAccessControlHandler.Builder,boolean)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(java.util.ArrayList)'
    - parts[0].trim()
    - parts[1].trim()
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].equals(String)'
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].invalidAclRule(io.undertow.server.handlers.IPAddressAccessControlHandler.Builder)'
    - rule.split(String)
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler.Builder
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<Holder>
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - List<Holder>
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - peerMatches
    - defaultAllow
    - failureStatus
    argTypes:
    - java.util.List<Holder>
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper].<init>(java.util.List<Holder>,boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper].<init>(java.util.List<Holder>,boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler,int)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper:192,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].addDeny(io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper:195,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].addAllow(io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper:197,1
    - Dst: '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
      Src: io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - List<Holder>
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].<init>(io.undertow.server.HttpHandler,int)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].addAllow(io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].addDeny(io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper)'
    - '[io.undertow.server.handlers.IPAddressAccessControlHandler].setDefaultAllow(boolean)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.IPAddressAccessControlHandler.Holder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - rule
    - deny
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Holder].<init>(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/IPAddressAccessControlHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.IPAddressAccessControlHandler.Holder
    signature: '[io.undertow.server.handlers.IPAddressAccessControlHandler.Holder].<init>(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.OriginHandler:50,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.OriginHandler:50,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].isDebugEnabled()'
      Src: io.undertow.server.handlers.OriginHandler:54,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.OriginHandler:55,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].debugf(String,String)'
      Src: io.undertow.server.handlers.OriginHandler:55,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.OriginHandler:57,1
    - Dst: '[java.util.Set<String>].contains(io.undertow.server.handlers.OriginHandler)'
      Src: io.undertow.server.handlers.OriginHandler:64,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].isDebugEnabled()'
      Src: io.undertow.server.handlers.OriginHandler:70,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.OriginHandler:71,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].debugf(String,String,io.undertow.server.handlers.OriginHandler)'
      Src: io.undertow.server.handlers.OriginHandler:71,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.OriginHandler:73,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].isDebugEnabled()'
      Src: io.undertow.server.handlers.OriginHandler:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.OriginHandler:79,1
    - Dst: '[io.undertow.server.handlers.OriginHandler].debugf(String,String,io.undertow.util.HeaderValues)'
      Src: io.undertow.server.handlers.OriginHandler:79,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.OriginHandler:81,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.OriginHandler:85,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.OriginHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.OriginHandler].debugf(String,String,io.undertow.server.handlers.OriginHandler)'
    - '[io.undertow.server.handlers.OriginHandler].debugf(String,String)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.util.Set<String>].contains(io.undertow.server.handlers.OriginHandler)'
    - '[io.undertow.server.handlers.OriginHandler].isDebugEnabled()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.OriginHandler].debugf(String,String,io.undertow.util.HeaderValues)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.OriginHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>(java.util.Set<String>)'
      Src: io.undertow.server.handlers.OriginHandler:89,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.OriginHandler:90,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.handlers.OriginHandler:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - origin
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.OriginHandler].addAllowedOrigin(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>(java.util.Set<String>)'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].addAllowedOrigin(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>(java.util.Set<String>)'
      Src: io.undertow.server.handlers.OriginHandler:96,1
    - Dst: '[java.util.HashSet].addAll(java.util.Collection<String>)'
      Src: io.undertow.server.handlers.OriginHandler:97,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.handlers.OriginHandler:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<String>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - origins
    argTypes:
    - java.util.Collection<String>
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.handlers.OriginHandler].addAllowedOrigins(java.util.Collection<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(java.util.Set<String>)'
    - '[java.util.HashSet].addAll(java.util.Collection<String>)'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].addAllowedOrigins(java.util.Collection<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>(java.util.Set<String>)'
      Src: io.undertow.server.handlers.OriginHandler:103,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.OriginHandler)'
      Src: io.undertow.server.handlers.OriginHandler:104,1
    - Dst: '[java.util.HashSet].addAll(io.undertow.server.handlers.OriginHandler)'
      Src: io.undertow.server.handlers.OriginHandler:104,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.handlers.OriginHandler:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.OriginHandler].addAllowedOrigins()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].addAll(io.undertow.server.handlers.OriginHandler)'
    - '[java.util.HashSet].<init>(java.util.Set<String>)'
    - '[java.util.Arrays].asList(io.undertow.server.handlers.OriginHandler)'
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].addAllowedOrigins()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.OriginHandler].getAllowedOrigins()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.OriginHandler].getAllowedOrigins()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.OriginHandler:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.OriginHandler].clearAllowedOrigins()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].clearAllowedOrigins()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.OriginHandler].isRequireAllOrigins()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.OriginHandler].isRequireAllOrigins()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requireAllOrigins
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.OriginHandler].setRequireAllOrigins(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].setRequireAllOrigins(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.OriginHandler].isRequireOriginHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.OriginHandler].isRequireOriginHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requireOriginHeader
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.OriginHandler].setRequireOriginHeader(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].setRequireOriginHeader(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.OriginHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.OriginHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.OriginHandler:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.OriginHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: '[io.undertow.server.handlers.OriginHandler].getOriginFailedHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.OriginHandler].getOriginFailedHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.OriginHandler:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - originFailedHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.handlers.OriginHandler].setOriginFailedHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].setOriginFailedHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.OriginHandler:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<String>
      - boolean
      - boolean
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.OriginHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.OriginHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/OriginHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.OriginHandler
    signature: '[io.undertow.server.handlers.OriginHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:48,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:51,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].constant(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:54,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetHeaderHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - header
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.SetHeaderHandler].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].constant(String)'
    - '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetHeaderHandler
    signature: '[io.undertow.server.handlers.SetHeaderHandler].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:60,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:63,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:66,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetHeaderHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - header
    - value
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetHeaderHandler
    signature: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:75,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:78,1
    - Dst: '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:81,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].constant(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:84,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetHeaderHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - header
    - value
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - String
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].constant(String)'
    - '[io.undertow.server.handlers.SetHeaderHandler].argumentCannotBeNull(String)'
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.SetHeaderHandler
    signature: '[io.undertow.server.handlers.SetHeaderHandler].<init>(io.undertow.server.HttpHandler,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.SetHeaderHandler:89,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.SetHeaderHandler:89,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.SetHeaderHandler:89,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.SetHeaderHandler:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.SetHeaderHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttribute].readAttribute(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.SetHeaderHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.SetHeaderHandler].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.SetHeaderHandler].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.SetHeaderHandler].getHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.server.handlers.SetHeaderHandler].getHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.SetHeaderHandler:103,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].toString()'
      Src: io.undertow.server.handlers.SetHeaderHandler:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.SetHeaderHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.attribute.ExchangeAttribute].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetHeaderHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.SetHeaderHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetHeaderHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:114,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:115,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.SetHeaderHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.SetHeaderHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:123,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:124,1
    - Dst: '[java.util.HashSet].add(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.SetHeaderHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].add(String)'
    - '[java.util.HashSet].<init>()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.SetHeaderHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.SetHeaderHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.SetHeaderHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:136,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:137,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.SetHeaderHandler.Builder:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.handlers.SetHeaderHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.SetHeaderHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.SetHeaderHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.SetHeaderHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.SetHeaderHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.SetHeaderHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/SetHeaderHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.SetHeaderHandler.Builder
    signature: '[io.undertow.server.handlers.SetHeaderHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper].<init>(java.time.Duration)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.time.Duration
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.BlockingWriteTimeoutHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - writeTimeout
    argTypes:
    - io.undertow.server.HttpHandler
    - java.time.Duration
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].<init>(io.undertow.server.HttpHandler,java.time.Duration)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper].<init>(java.time.Duration)'
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingWriteTimeoutHandler
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].<init>(io.undertow.server.HttpHandler,java.time.Duration)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler:84,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.time.Duration].toNanos()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.time.Duration
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - writeTimeout
    argTypes:
    - java.time.Duration
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper].<init>(java.time.Duration)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 1
    functionsReached:
    - '[java.time.Duration].toNanos()'
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper].<init>(java.time.Duration)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper:78,1
    - Dst: '[TimeoutStreamSinkConduit].<init>(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper,io.undertow.server.ServerConnection,long)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - factory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[TimeoutStreamSinkConduit].<init>(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper,io.undertow.server.ServerConnection,long)'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduitWrapper].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.server.ServerConnection
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - delegate
    - serverConnection
    - timeoutNanos
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.server.ServerConnection
    - long
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.server.ServerConnection,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.server.ServerConnection,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:107,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - fileChannel
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:115,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - streamSourceChannel
    - count
    - byteBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:120,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].write(java.nio.ByteBuffer)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].write(ByteBuffer[],int,int)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:125,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - byteBuffers
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].write(ByteBuffer[],int,int)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:130,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:135,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - byteBuffers
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].terminateWrites()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].terminateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].isWriteShutdown()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].isWriteShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].isWriteShutdown()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].isWriteShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].resumeWrites()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].resumeWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].suspendWrites()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].wakeupWrites()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].wakeupWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].isWriteResumed()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].isWriteResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].awaitWritable(long,io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].awaitWritable(long,io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.nanoTime()
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:175,1
    - Dst: '[java.util.concurrent.TimeUnit].toNanos(long)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:176,1
    - Dst: '[StreamSinkConduit].awaitWritable(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit,io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:178,1
    - Dst: System.nanoTime()
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:180,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].blockingWriteTimedOut(long)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:183,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].blockingWriteTimedOut(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:184,1
    - Dst: '[org.xnio.IoUtils].safeClose(ServerConnection)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - duration
    - unit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - System.nanoTime()
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].blockingWriteTimedOut(long)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].blockingWriteTimedOut(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    - '[org.xnio.IoUtils].safeClose(ServerConnection)'
    - '[java.util.concurrent.TimeUnit].toNanos(long)'
    - '[StreamSinkConduit].awaitWritable(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit,io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].getWriteThread()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].getWriteThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].getWriteThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].getWriteThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.WriteReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - writeReadyHandler
    argTypes:
    - org.xnio.conduits.WriteReadyHandler
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].truncateWrites()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].truncateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].flush()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:207,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].flush()'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StreamSinkConduit].getWorker()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[StreamSinkConduit].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - StreamSinkConduit
      - ServerConnection
      - long
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.TimeoutStreamSinkConduit].resetTimeoutIfWriteSucceeded(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      - Duration
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,java.time.Duration)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.time.Duration
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      - Duration
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - writeTimeout
    argTypes:
    - java.time.Duration
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].writeTimeout(java.time.Duration)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,java.time.Duration)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].writeTimeout(java.time.Duration)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      - Duration
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nextHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].nextHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].nextHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,HttpHandler)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder:262,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].checkNotNullParam(String,Duration)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder:263,1
    - Dst: '[Duration].isZero()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder:264,1
    - Dst: '[Duration].isNegative()'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder:264,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder:265,1
    - Dst: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].<init>(io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder,Duration)'
      Src: io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpHandler
      - Duration
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingWriteTimeoutHandler.java
    functionUses: 0
    functionsReached:
    - '[Duration].isZero()'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler].<init>(io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder,Duration)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].checkNotNullParam(String,Duration)'
    - '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].checkNotNullParamWithNullPointerException(String,HttpHandler)'
    - '[Duration].isNegative()'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.BlockingWriteTimeoutHandler.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.BlockingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingHandler
    signature: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(null)'
      Src: io.undertow.server.handlers.BlockingHandler:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.BlockingHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.handlers.BlockingHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 26
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>(null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingHandler
    signature: '[io.undertow.server.handlers.BlockingHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].startBlocking()'
      Src: io.undertow.server.handlers.BlockingHandler:52,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.BlockingHandler:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.BlockingHandler:54,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.BlockingHandler:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.BlockingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpServerExchange].startBlocking()'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.BlockingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.BlockingHandler].getHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.BlockingHandler].getHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.BlockingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rootHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingHandler
    signature: '[io.undertow.server.handlers.BlockingHandler].setRootHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.BlockingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.BlockingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.BlockingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.BlockingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.BlockingHandler.Builder:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.BlockingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.BlockingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.BlockingHandler.Builder:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.BlockingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.BlockingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.BlockingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.BlockingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.BlockingHandler.Builder:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.BlockingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.BlockingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.BlockingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.BlockingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.BlockingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.BlockingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingHandler.Builder
    signature: '[io.undertow.server.handlers.BlockingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.BlockingHandler.Wrapper:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.BlockingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.BlockingHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.BlockingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.BlockingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.BlockingHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/BlockingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.BlockingHandler.Wrapper
    signature: '[io.undertow.server.handlers.BlockingHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].<init>()'
      Src: io.undertow.server.handlers.JDBCLogHandler:53,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler:65,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,String,javax.sql.DataSource)'
      Src: io.undertow.server.handlers.JDBCLogHandler:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.util.concurrent.Executor
      - String
      - javax.sql.DataSource
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.JDBCLogHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - logWriteExecutor
    - formatString
    - dataSource
    argTypes:
    - io.undertow.server.HttpHandler
    - java.util.concurrent.Executor
    - String
    - javax.sql.DataSource
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,java.util.concurrent.Executor,String,javax.sql.DataSource)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,String,javax.sql.DataSource)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.JDBCLogHandler
    signature: '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,java.util.concurrent.Executor,String,javax.sql.DataSource)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].<init>()'
      Src: io.undertow.server.handlers.JDBCLogHandler:53,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler:65,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
      Src: io.undertow.server.handlers.JDBCLogHandler:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - String
      - javax.sql.DataSource
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.JDBCLogHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - formatString
    - dataSource
    argTypes:
    - io.undertow.server.HttpHandler
    - String
    - javax.sql.DataSource
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,String,javax.sql.DataSource)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.JDBCLogHandler
    signature: '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,String,javax.sql.DataSource)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.JDBCLogHandler:109,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.JDBCLogHandler:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[JDBCLogAttribute].<init>()'
      Src: io.undertow.server.handlers.JDBCLogHandler:126,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler:128,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.JDBCLogHandler:131,1
    - Dst: '[io.undertow.server.ServerConnection].getPeerAddress()'
      Src: io.undertow.server.handlers.JDBCLogHandler:131,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.JDBCLogHandler:131,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].getHostAddress()'
      Src: io.undertow.server.handlers.JDBCLogHandler:131,1
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.server.handlers.JDBCLogHandler:132,1
    - Dst: '[io.undertow.security.api.SecurityContext].isAuthenticated()'
      Src: io.undertow.server.handlers.JDBCLogHandler:133,1
    - Dst: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
      Src: io.undertow.server.handlers.JDBCLogHandler:136,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.server.handlers.JDBCLogHandler:136,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.server.handlers.JDBCLogHandler:136,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.JDBCLogHandler:138,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.server.handlers.JDBCLogHandler:140,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.JDBCLogHandler:145,1
    - Dst: jdbcLogAttribute.pattern.equals(String)
      Src: io.undertow.server.handlers.JDBCLogHandler:147,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.JDBCLogHandler:148,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.JDBCLogHandler:148,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.JDBCLogHandler:149,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.JDBCLogHandler:149,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.JDBCLogHandler:150,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.JDBCLogHandler:150,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.JDBCLogHandler:151,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.JDBCLogHandler:151,1
    - Dst: '[java.util.Deque<JDBCLogAttribute>].add(JDBCLogAttribute)'
      Src: io.undertow.server.handlers.JDBCLogHandler:154,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].get()'
      Src: io.undertow.server.handlers.JDBCLogHandler:155,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.JDBCLogHandler:157,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.JDBCLogHandler:158,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.server.handlers.JDBCLogHandler:158,1
    - Dst: '[java.util.concurrent.Executor].execute()'
      Src: io.undertow.server.handlers.JDBCLogHandler:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pattern
    - exchange
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 162
      start: 125
    functionDepth: 6
    functionLinenumber: 125
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].logMessage(String,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[java.util.concurrent.Executor].execute()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].get()'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.security.api.SecurityContext].isAuthenticated()'
    - '[io.undertow.util.HttpString].toString()'
    - '[java.security.Principal].getName()'
    - '[JDBCLogAttribute].<init>()'
    - '[io.undertow.server.handlers.JDBCLogHandler].getHostAddress()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].compareAndSet(int,int)'
    - '[java.util.Deque<JDBCLogAttribute>].add(JDBCLogAttribute)'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    - '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
    - jdbcLogAttribute.pattern.equals(String)
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getPeerAddress()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[String].equals(String)'
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].logMessage(String,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.JDBCLogHandler:169,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.JDBCLogHandler:173,1
    - Dst: '[java.util.Deque<JDBCLogAttribute>].poll()'
      Src: io.undertow.server.handlers.JDBCLogHandler:178,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:182,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.server.handlers.JDBCLogHandler:185,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].writeMessage(java.util.ArrayList)'
      Src: io.undertow.server.handlers.JDBCLogHandler:186,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].set(int)'
      Src: io.undertow.server.handlers.JDBCLogHandler:190,1
    - Dst: '[java.util.Deque<JDBCLogAttribute>].isEmpty()'
      Src: io.undertow.server.handlers.JDBCLogHandler:193,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.JDBCLogHandler:194,1
    - Dst: '[java.util.concurrent.Executor].execute()'
      Src: io.undertow.server.handlers.JDBCLogHandler:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 199
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Deque<JDBCLogAttribute>].poll()'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.JDBCLogHandler)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].set(int)'
    - '[java.util.concurrent.Executor].execute()'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>].compareAndSet(int,int)'
    - '[io.undertow.server.handlers.JDBCLogHandler].writeMessage(java.util.ArrayList)'
    - '[java.util.Deque<JDBCLogAttribute>].isEmpty()'
    - '[java.util.ArrayList].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.sql.DataSource].getConnection()'
      Src: io.undertow.server.handlers.JDBCLogHandler:205,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setAutoCommit(boolean)'
      Src: io.undertow.server.handlers.JDBCLogHandler:206,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].prepareStatement(io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:207,1
    - Dst: '[java.sql.PreparedStatement].clearParameters()'
      Src: io.undertow.server.handlers.JDBCLogHandler:212,1
    - Dst: '[java.sql.PreparedStatement].setString(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:213,1
    - Dst: '[java.sql.PreparedStatement].setString(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:214,1
    - Dst: '[java.sql.PreparedStatement].setTimestamp(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:215,1
    - Dst: '[java.sql.PreparedStatement].setString(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:216,1
    - Dst: '[java.sql.PreparedStatement].setInt(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:217,1
    - Dst: '[java.sql.PreparedStatement].setLong(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:219,1
    - Dst: '[java.sql.PreparedStatement].setInt(int,int)'
      Src: io.undertow.server.handlers.JDBCLogHandler:224,1
    - Dst: '[java.sql.PreparedStatement].setString(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:226,1
    - Dst: '[java.sql.PreparedStatement].setString(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:227,1
    - Dst: '[java.sql.PreparedStatement].setString(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:228,1
    - Dst: '[java.sql.PreparedStatement].setString(int,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:229,1
    - Dst: '[java.sql.PreparedStatement].executeUpdate()'
      Src: io.undertow.server.handlers.JDBCLogHandler:231,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].failedToWriteJdbcAccessLog(io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:234,1
    - Dst: '[java.sql.PreparedStatement].close()'
      Src: io.undertow.server.handlers.JDBCLogHandler:239,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].errorWritingJDBCLog(io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:241,1
    - Dst: '[java.sql.PreparedStatement].close()'
      Src: io.undertow.server.handlers.JDBCLogHandler:245,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].debug(String,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:247,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].close()'
      Src: io.undertow.server.handlers.JDBCLogHandler:252,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].debug(String,io.undertow.server.handlers.JDBCLogHandler)'
      Src: io.undertow.server.handlers.JDBCLogHandler:254,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<JDBCLogAttribute>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - messages
    argTypes:
    - java.util.List<JDBCLogAttribute>
    constantsTouched: []
    func_position:
      end: 258
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 258
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].writeMessage(java.util.List<JDBCLogAttribute>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[java.sql.PreparedStatement].setLong(int,io.undertow.server.handlers.JDBCLogHandler)'
    - '[java.sql.PreparedStatement].setTimestamp(int,io.undertow.server.handlers.JDBCLogHandler)'
    - '[java.sql.PreparedStatement].setString(int,io.undertow.server.handlers.JDBCLogHandler)'
    - '[java.sql.PreparedStatement].close()'
    - '[java.sql.PreparedStatement].executeUpdate()'
    - '[io.undertow.server.handlers.JDBCLogHandler].failedToWriteJdbcAccessLog(io.undertow.server.handlers.JDBCLogHandler)'
    - '[java.sql.PreparedStatement].clearParameters()'
    - '[io.undertow.server.handlers.JDBCLogHandler].errorWritingJDBCLog(io.undertow.server.handlers.JDBCLogHandler)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setAutoCommit(boolean)'
    - '[java.sql.PreparedStatement].setInt(int,io.undertow.server.handlers.JDBCLogHandler)'
    - '[javax.sql.DataSource].getConnection()'
    - '[io.undertow.server.handlers.JDBCLogHandler].prepareStatement(io.undertow.server.handlers.JDBCLogHandler)'
    - '[io.undertow.server.handlers.JDBCLogHandler].debug(String,io.undertow.server.handlers.JDBCLogHandler)'
    - '[io.undertow.server.handlers.JDBCLogHandler].close()'
    - '[java.sql.PreparedStatement].setInt(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].writeMessage(java.util.List<JDBCLogAttribute>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<JDBCLogAttribute>].isEmpty()'
      Src: io.undertow.server.handlers.JDBCLogHandler:266,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.JDBCLogHandler:267,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.JDBCLogHandler:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].awaitWrittenForTest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.Deque<JDBCLogAttribute>].isEmpty()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].awaitWrittenForTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.sql.Connection].prepareStatement(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - java.sql.Connection
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.sql.SQLException
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.sql.PreparedStatement
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - conn
    argTypes:
    - java.sql.Connection
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].prepareStatement(java.sql.Connection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[java.sql.Connection].prepareStatement(String)'
    linkageType: ''
    returnType: java.sql.PreparedStatement
    signature: '[io.undertow.server.handlers.JDBCLogHandler].prepareStatement(java.sql.Connection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].isUseLongContentLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.JDBCLogHandler].isUseLongContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - useLongContentLength
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setUseLongContentLength(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setUseLongContentLength(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getTableName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getTableName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tableName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setTableName(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setTableName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getRemoteHostField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getRemoteHostField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - remoteHostField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setRemoteHostField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setRemoteHostField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getUserField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getUserField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setUserField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setUserField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getTimestampField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getTimestampField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timestampField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setTimestampField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setTimestampField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getVirtualHostField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getVirtualHostField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - virtualHostField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setVirtualHostField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setVirtualHostField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getMethodField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getMethodField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - methodField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setMethodField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setMethodField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getQueryField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getQueryField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - queryField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setQueryField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setQueryField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getStatusField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getStatusField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - statusField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setStatusField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setStatusField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getBytesField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getBytesField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytesField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setBytesField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setBytesField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getRefererField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getRefererField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - refererField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setRefererField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setRefererField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].getUserAgentField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].getUserAgentField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userAgentField
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].setUserAgentField(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler].setUserAgentField(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - String
      - io.undertow.server.ExchangeCompletionListener
      - java.util.Deque<JDBCLogAttribute>
      - int
      - java.util.concurrent.Executor
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.JDBCLogHandler>
      - boolean
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: '[io.undertow.server.handlers.JDBCLogHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].logMessage(io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener:118,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
      Src: io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - NextListener
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - nextListener
    argTypes:
    - io.undertow.server.HttpServerExchange
    - NextListener
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
    - '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].logMessage(io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener
    signature: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogCompletionListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.JDBCLogHandler.JDBCLogAttribute:296,1
    - Dst: '[java.sql.Timestamp].<init>(io.undertow.server.handlers.JDBCLogHandler.JDBCLogAttribute)'
      Src: io.undertow.server.handlers.JDBCLogHandler.JDBCLogAttribute:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - long
      - int
      - String
      - String
      - String
      - String
      - String
      - Timestamp
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.JDBCLogHandler.JDBCLogAttribute
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogAttribute].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[java.sql.Timestamp].<init>(io.undertow.server.handlers.JDBCLogHandler.JDBCLogAttribute)'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: io.undertow.server.handlers.JDBCLogHandler.JDBCLogAttribute
    signature: '[io.undertow.server.handlers.JDBCLogHandler.JDBCLogAttribute].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:411,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:412,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:413,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:414,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:415,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:416,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:417,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:418,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:419,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:420,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:421,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:422,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:423,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:440,1
    - Dst: '[javax.naming.InitialContext].<init>()'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:442,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:442,1
    - Dst: '[javax.naming.InitialContext].lookup(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:442,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:443,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.server.handlers.JDBCLogHandler.Builder,io.undertow.server.handlers.JDBCLogHandler.Builder,String,String,String,String,String,String,String,String,String,String,String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:444,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler.Builder].datasourceNotFound(io.undertow.server.handlers.JDBCLogHandler.Builder)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Builder:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(io.undertow.server.handlers.JDBCLogHandler.Builder,io.undertow.server.handlers.JDBCLogHandler.Builder,String,String,String,String,String,String,String,String,String,String,String)'
    - '[javax.naming.InitialContext].lookup(String)'
    - '[javax.naming.InitialContext].<init>()'
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler.Builder].datasourceNotFound(io.undertow.server.handlers.JDBCLogHandler.Builder)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.JDBCLogHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.JDBCLogHandler.Builder
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - javax.sql.DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.JDBCLogHandler.Wrapper
      static: false
      superClass: Object
    argCount: 13
    argNames:
    - format
    - datasource
    - tableName
    - remoteHostField
    - userField
    - timestampField
    - virtualHostField
    - methodField
    - queryField
    - statusField
    - bytesField
    - refererField
    - userAgentField
    argTypes:
    - String
    - javax.sql.DataSource
    - String
    - String
    - String
    - String
    - String
    - String
    - String
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 488
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 488
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Wrapper].<init>(String,javax.sql.DataSource,String,String,String,String,String,String,String,String,String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.JDBCLogHandler.Wrapper
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Wrapper].<init>(String,javax.sql.DataSource,String,String,String,String,String,String,String,String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,String,DataSource)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:492,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setTableName(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:494,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setRemoteHostField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:497,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setUserField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:500,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setTimestampField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:503,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setVirtualHostField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:506,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setMethodField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:509,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setQueryField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:512,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setStatusField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:515,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setBytesField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:518,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setRefererField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:521,1
    - Dst: '[io.undertow.server.handlers.JDBCLogHandler].setUserAgentField(String)'
      Src: io.undertow.server.handlers.JDBCLogHandler.Wrapper:524,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - DataSource
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 528
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 528
    functionName: '[io.undertow.server.handlers.JDBCLogHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/JDBCLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.JDBCLogHandler].setTimestampField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setQueryField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setRemoteHostField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].<init>(io.undertow.server.HttpHandler,String,DataSource)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setStatusField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setRefererField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setUserAgentField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setUserField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setVirtualHostField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setMethodField(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setTableName(String)'
    - '[io.undertow.server.handlers.JDBCLogHandler].setBytesField(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.JDBCLogHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>)'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathTemplateRouterHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - router
    - rewriteQueryParameters
    argTypes:
    - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
    - boolean
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.PathTemplateRouterHandler].<init>(io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateRouterHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathTemplateRouterHandler
    signature: '[io.undertow.server.handlers.PathTemplateRouterHandler].<init>(io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:56,1
    - Dst: '[io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>].route(String)'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:56,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].getPathTemplate()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:57,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].isEmpty()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:57,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].getTarget()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:59,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:59,1
    - Dst: '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].<init>(io.undertow.server.handlers.PathTemplateRouterHandler)'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:63,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.PathTemplateRouterHandler,io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch)'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:63,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.PathTemplateRouterHandler,io.undertow.server.handlers.PathTemplateRouterHandler)'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:64,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].getParameters()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:65,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].isEmpty()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:65,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].getParameters()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:66,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].entrySet()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:66,1
    - Dst: entry.getKey()
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:67,1
    - Dst: entry.getValue()
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:67,1
    - Dst: '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.handlers.PathTemplateRouterHandler,io.undertow.server.handlers.PathTemplateRouterHandler)'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:67,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].getTarget()'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:70,1
    - Dst: '[io.undertow.server.handlers.PathTemplateRouterHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PathTemplateRouterHandler:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.PathTemplateRouterHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathTemplateRouterHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.PathTemplateRouterHandler].getTarget()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.PathTemplateRouterHandler,io.undertow.server.handlers.PathTemplateRouterHandler)'
    - entry.getValue()
    - '[io.undertow.server.HttpServerExchange].addQueryParam(io.undertow.server.handlers.PathTemplateRouterHandler,io.undertow.server.handlers.PathTemplateRouterHandler)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.PathTemplateRouterHandler,io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.handlers.PathTemplateRouterHandler].getPathTemplate()'
    - '[io.undertow.server.handlers.PathTemplateHandler.PathTemplateMatch].<init>(io.undertow.server.handlers.PathTemplateRouterHandler)'
    - '[io.undertow.util.PathTemplateRouter<io.undertow.server.HttpHandler>].route(String)'
    - entry.getKey()
    - '[io.undertow.server.handlers.PathTemplateRouterHandler].getParameters()'
    - '[io.undertow.server.handlers.PathTemplateRouterHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.PathTemplateRouterHandler].entrySet()'
    - '[io.undertow.server.handlers.PathTemplateRouterHandler].isEmpty()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PathTemplateRouterHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - ResolveType
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LocalNameResolvingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LocalNameResolvingHandler
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - ResolveType
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - ResolveType
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LocalNameResolvingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - resolveType
    argTypes:
    - io.undertow.server.HttpHandler
    - ResolveType
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler].<init>(io.undertow.server.HttpHandler,ResolveType)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LocalNameResolvingHandler
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler].<init>(io.undertow.server.HttpHandler,ResolveType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:60,1
    - Dst: '[java.net.InetSocketAddress].isUnresolved()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:63,1
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:65,1
    - Dst: '[java.net.InetSocketAddress].getHostName()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:66,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.server.handlers.LocalNameResolvingHandler)'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:66,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:66,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.LocalNameResolvingHandler,io.undertow.server.handlers.LocalNameResolvingHandler)'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:67,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction<Object>)
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:69,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:76,1
    - Dst: '[io.undertow.server.handlers.LocalNameResolvingHandler].debugf(io.undertow.server.handlers.LocalNameResolvingHandler,String,io.undertow.server.handlers.LocalNameResolvingHandler)'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:76,1
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:80,1
    - Dst: '[java.net.InetSocketAddress].getHostName()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:81,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:89,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler:93,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - ResolveType
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 94
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction<Object>)
    - '[java.net.InetAddress].getByName(io.undertow.server.handlers.LocalNameResolvingHandler)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[java.net.InetSocketAddress].getPort()'
    - '[io.undertow.server.handlers.LocalNameResolvingHandler].debugf(io.undertow.server.handlers.LocalNameResolvingHandler,String,io.undertow.server.handlers.LocalNameResolvingHandler)'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Object>)
    - '[java.net.InetSocketAddress].getHostName()'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.LocalNameResolvingHandler,io.undertow.server.handlers.LocalNameResolvingHandler)'
    - System.getSecurityManager()
    - '[java.net.InetSocketAddress].isUnresolved()'
    - '[io.undertow.server.HttpServerExchange].setDestinationAddress(java.net.InetSocketAddress)'
    - '[io.undertow.server.HttpServerExchange].getDestinationAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler.Builder:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler.Builder:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler.Builder:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LocalNameResolvingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LocalNameResolvingHandler.Builder
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.LocalNameResolvingHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.LocalNameResolvingHandler.Wrapper:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.LocalNameResolvingHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.LocalNameResolvingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.LocalNameResolvingHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/LocalNameResolvingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.LocalNameResolvingHandler.Wrapper
    signature: '[io.undertow.server.handlers.LocalNameResolvingHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestBufferingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - maxBuffers
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler].<init>(io.undertow.server.HttpHandler,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestBufferingHandler
    signature: '[io.undertow.server.handlers.RequestBufferingHandler].<init>(io.undertow.server.HttpHandler,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:57,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:57,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.RequestBufferingHandler:57,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:61,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:61,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:61,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:65,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.RequestBufferingHandler:66,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:68,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:69,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:71,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:78,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:78,1
    - Dst: '[io.undertow.server.handlers.RequestBufferingHandler].set(org.xnio.ChannelListener)'
      Src: io.undertow.server.handlers.RequestBufferingHandler:78,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:135,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:137,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:138,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:143,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:143,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:143,1
    - Dst: '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.RequestBufferingHandler)'
      Src: io.undertow.server.handlers.RequestBufferingHandler:146,1
    - Dst: '[io.undertow.server.Connectors].resetRequestChannel(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.RequestBufferingHandler:147,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:150,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].isOpen()'
      Src: io.undertow.server.handlers.RequestBufferingHandler:152,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.server.handlers.RequestBufferingHandler:153,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.RequestBufferingHandler:158,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 91
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 159
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
    - '[io.undertow.connector.PooledByteBuffer].isOpen()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.Connectors].resetRequestChannel(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.Connectors].ungetRequestBytes(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.RequestBufferingHandler)'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.server.handlers.RequestBufferingHandler].set(org.xnio.ChannelListener)'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.connector.PooledByteBuffer)'
    - '[org.xnio.IoUtils].safeClose()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.RequestBufferingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestBufferingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestBufferingHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxBuffers
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Wrapper].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestBufferingHandler.Wrapper
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Wrapper].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.RequestBufferingHandler].<init>(io.undertow.server.HttpHandler,int)'
      Src: io.undertow.server.handlers.RequestBufferingHandler.Wrapper:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.RequestBufferingHandler].<init>(io.undertow.server.HttpHandler,int)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonMap(String)'
      Src: io.undertow.server.handlers.RequestBufferingHandler.Builder:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singletonMap(String)'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.RequestBufferingHandler.Builder:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.RequestBufferingHandler.Builder:204,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(Integer)'
      Src: io.undertow.server.handlers.RequestBufferingHandler.Builder:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(Integer)'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.RequestBufferingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/RequestBufferingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.RequestBufferingHandler.Builder
    signature: '[io.undertow.server.handlers.RequestBufferingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:42,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:47,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:51,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:55,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:59,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResponseCodeHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - responseCode
    argTypes:
    - io.undertow.server.HttpHandler
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(io.undertow.server.HttpHandler,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseCodeHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseCodeHandler
    signature: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(io.undertow.server.HttpHandler,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:42,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:47,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:51,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:55,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:59,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:63,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(null,int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ResponseCodeHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseCodeHandler.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.handlers.ResponseCodeHandler].<init>(null,int)'
    - '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.ResponseCodeHandler
    signature: '[io.undertow.server.handlers.ResponseCodeHandler].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.ResponseCodeHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseCodeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.ResponseCodeHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.ResponseCodeHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseCodeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResponseCodeHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:101,1
    - Dst: '[io.undertow.server.handlers.ResponseCodeHandler].debugf(String,int,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:103,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ResponseCodeHandler:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.ResponseCodeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseCodeHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.handlers.ResponseCodeHandler].debugf(String,int,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ResponseCodeHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - io.undertow.server.handlers.ResponseCodeHandler
      - int
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.ResponseCodeHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ResponseCodeHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ResponseCodeHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PredicateHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - predicate
    - trueHandler
    - falseHandler
    argTypes:
    - io.undertow.predicate.Predicate
    - io.undertow.server.HttpHandler
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.handlers.PredicateHandler].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateHandler.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PredicateHandler
    signature: '[io.undertow.server.handlers.PredicateHandler].<init>(io.undertow.predicate.Predicate,io.undertow.server.HttpHandler,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PredicateHandler:42,1
    - Dst: next.handleRequest(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.handlers.PredicateHandler:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.PredicateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - next.handleRequest(io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PredicateHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.handlers.PredicateHandler].getPredicate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.server.handlers.PredicateHandler].getPredicate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PredicateHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - predicate
    argTypes:
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.PredicateHandler].setPredicate(io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PredicateHandler
    signature: '[io.undertow.server.handlers.PredicateHandler].setPredicate(io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.PredicateHandler].getTrueHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.PredicateHandler].getTrueHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PredicateHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - trueHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.PredicateHandler].setTrueHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PredicateHandler
    signature: '[io.undertow.server.handlers.PredicateHandler].setTrueHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.PredicateHandler].getFalseHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.PredicateHandler].getFalseHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.predicate.Predicate
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PredicateHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - falseHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.PredicateHandler].setFalseHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PredicateHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PredicateHandler
    signature: '[io.undertow.server.handlers.PredicateHandler].setFalseHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathSeparatorHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PathSeparatorHandler
    signature: '[io.undertow.server.handlers.PathSeparatorHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.PathSeparatorHandler:52,1
    - Dst: '[String].replace(io.undertow.server.handlers.PathSeparatorHandler,char)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:52,1
    - Dst: '[io.undertow.server.handlers.PathSeparatorHandler].canonicalize(io.undertow.server.handlers.PathSeparatorHandler)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:52,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.server.handlers.PathSeparatorHandler)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:52,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.PathSeparatorHandler:53,1
    - Dst: '[String].replace(io.undertow.server.handlers.PathSeparatorHandler,char)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:53,1
    - Dst: '[io.undertow.server.handlers.PathSeparatorHandler].canonicalize(io.undertow.server.handlers.PathSeparatorHandler)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.handlers.PathSeparatorHandler)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.server.handlers.PathSeparatorHandler:54,1
    - Dst: '[String].replace(io.undertow.server.handlers.PathSeparatorHandler,char)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:54,1
    - Dst: '[io.undertow.server.handlers.PathSeparatorHandler].canonicalize(io.undertow.server.handlers.PathSeparatorHandler)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:54,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResolvedPath(io.undertow.server.handlers.PathSeparatorHandler)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:54,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.PathSeparatorHandler:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setRelativePath(io.undertow.server.handlers.PathSeparatorHandler)'
    - '[String].replace(io.undertow.server.handlers.PathSeparatorHandler,char)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.HttpServerExchange].setRequestPath(io.undertow.server.handlers.PathSeparatorHandler)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.handlers.PathSeparatorHandler].canonicalize(io.undertow.server.handlers.PathSeparatorHandler)'
    - '[io.undertow.server.HttpServerExchange].setResolvedPath(io.undertow.server.handlers.PathSeparatorHandler)'
    - '[io.undertow.server.HttpServerExchange].getResolvedPath()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.PathSeparatorHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PathSeparatorHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.PathSeparatorHandler.Builder:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.PathSeparatorHandler.Builder:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.PathSeparatorHandler.Builder:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathSeparatorHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PathSeparatorHandler.Builder
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathSeparatorHandler].<init>(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.PathSeparatorHandler.Wrapper:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.PathSeparatorHandler].<init>(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.PathSeparatorHandler.Wrapper
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.PathSeparatorHandler.Wrapper].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/PathSeparatorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.PathSeparatorHandler.Wrapper
    signature: '[io.undertow.server.handlers.PathSeparatorHandler.Wrapper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.valueOf()
      Src: io.undertow.server.handlers.CookieImpl:37,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String,null)'
      Src: io.undertow.server.handlers.CookieImpl:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 17
    functionsReached:
    - Integer.valueOf()
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.valueOf()
      Src: io.undertow.server.handlers.CookieImpl:37,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,null)'
      Src: io.undertow.server.handlers.CookieImpl:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.CookieImpl].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 2
    functionsReached:
    - Integer.valueOf()
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.valueOf()
      Src: io.undertow.server.handlers.CookieImpl:37,1
    - Dst: '[java.util.TreeMap].<init>(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.handlers.CookieImpl:67,1
    - Dst: '[io.undertow.server.handlers.Cookie].getAttributes()'
      Src: io.undertow.server.handlers.CookieImpl:70,1
    - Dst: '[java.util.Map<String,String>].entrySet()'
      Src: io.undertow.server.handlers.CookieImpl:70,1
    - Dst: primers.getKey()
      Src: io.undertow.server.handlers.CookieImpl:71,1
    - Dst: primers.getValue()
      Src: io.undertow.server.handlers.CookieImpl:71,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.handlers.CookieImpl:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - value
    - cookiePrimer
    argTypes:
    - String
    - String
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.CookieImpl].<init>(String,String,io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached:
    - primers.getValue()
    - '[io.undertow.server.handlers.Cookie].getAttributes()'
    - '[java.util.TreeMap].<init>(io.undertow.server.handlers.CookieImpl)'
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl)'
    - '[java.util.Map<String,String>].entrySet()'
    - Integer.valueOf()
    - primers.getKey()
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].<init>(String,String,io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.CookieImpl].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CookieImpl].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.CookieImpl].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CookieImpl].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.CookieImpl].setValue(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.CookieImpl].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CookieImpl].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,null)'
      Src: io.undertow.server.handlers.CookieImpl:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.CookieImpl].getDomain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CookieImpl].getDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,null)'
      Src: io.undertow.server.handlers.CookieImpl:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - domain
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.CookieImpl].setDomain(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.CookieImpl].getMaxAge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.CookieImpl].getMaxAge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.valueOf(Integer)
      Src: io.undertow.server.handlers.CookieImpl:115,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl,null)'
      Src: io.undertow.server.handlers.CookieImpl:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxAge
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.CookieImpl].setMaxAge(Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl,null)'
    - String.valueOf(Integer)
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setMaxAge(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.CookieImpl].isDiscard()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.CookieImpl].isDiscard()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.valueOf(boolean)
      Src: io.undertow.server.handlers.CookieImpl:125,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl,boolean)'
      Src: io.undertow.server.handlers.CookieImpl:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - discard
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.CookieImpl].setDiscard(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl,boolean)'
    - String.valueOf(boolean)
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setDiscard(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.CookieImpl].isSecure()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.CookieImpl].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.valueOf(boolean)
      Src: io.undertow.server.handlers.CookieImpl:135,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl,boolean)'
      Src: io.undertow.server.handlers.CookieImpl:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secure
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.CookieImpl].setSecure(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl,boolean)'
    - String.valueOf(boolean)
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setSecure(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.handlers.CookieImpl].getVersion()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.CookieImpl].getVersion()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.handlers.CookieImpl].setVersion(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setVersion(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.CookieImpl].isHttpOnly()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.CookieImpl].isHttpOnly()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.valueOf(boolean)
      Src: io.undertow.server.handlers.CookieImpl:154,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl,boolean)'
      Src: io.undertow.server.handlers.CookieImpl:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - httpOnly
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: '[io.undertow.server.handlers.CookieImpl].setHttpOnly(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,io.undertow.server.handlers.CookieImpl,boolean)'
    - String.valueOf(boolean)
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setHttpOnly(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.CookieImpl].getExpires()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.CookieImpl].getExpires()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.CookieImpl:165,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,boolean)'
      Src: io.undertow.server.handlers.CookieImpl:165,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,null,boolean)'
      Src: io.undertow.server.handlers.CookieImpl:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.CookieImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expires
    argTypes:
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.handlers.CookieImpl].setExpires(java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,boolean)'
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,null,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.CookieImpl
    signature: '[io.undertow.server.handlers.CookieImpl].setExpires(java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: '[io.undertow.server.handlers.CookieImpl].getComment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CookieImpl].getComment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,boolean)'
      Src: io.undertow.server.handlers.CookieImpl:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - comment
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.CookieImpl].setComment(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.CookieImpl].setComment(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.CookieImpl].isSameSite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.CookieImpl].isSameSite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sameSite
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.CookieImpl].setSameSite(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.CookieImpl].setSameSite(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.handlers.CookieImpl].getSameSiteMode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CookieImpl].getSameSiteMode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CookieSameSiteMode.lookupModeString(String)
      Src: io.undertow.server.handlers.CookieImpl:200,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].tracef(String,io.undertow.server.handlers.CookieImpl,String)'
      Src: io.undertow.server.handlers.CookieImpl:202,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,boolean)'
      Src: io.undertow.server.handlers.CookieImpl:204,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].warnf(io.undertow.server.handlers.CookieImpl,String,String,String)'
      Src: io.undertow.server.handlers.CookieImpl:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mode
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.handlers.CookieImpl].setSameSiteMode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached:
    - CookieSameSiteMode.lookupModeString(String)
    - '[io.undertow.server.handlers.CookieImpl].tracef(String,io.undertow.server.handlers.CookieImpl,String)'
    - '[io.undertow.server.handlers.CookieImpl].warnf(io.undertow.server.handlers.CookieImpl,String,String,String)'
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(io.undertow.server.handlers.CookieImpl,String,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.CookieImpl].setSameSiteMode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.CookieImpl:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.handlers.CookieImpl].getAttribute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,String>].get(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CookieImpl].getAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String,boolean)'
      Src: io.undertow.server.handlers.CookieImpl:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Boolean.parseBoolean(String)
      Src: io.undertow.server.handlers.CookieImpl:233,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.CookieImpl:236,1
    - Dst: '[String].toUpperCase()'
      Src: io.undertow.server.handlers.CookieImpl:243,1
    - Dst: CookieSameSiteMode.valueOf(io.undertow.server.handlers.CookieImpl)
      Src: io.undertow.server.handlers.CookieImpl:243,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].toString()'
      Src: io.undertow.server.handlers.CookieImpl:243,1
    - Dst: Boolean.valueOf(String)
      Src: io.undertow.server.handlers.CookieImpl:246,1
    - Dst: Boolean.valueOf(String)
      Src: io.undertow.server.handlers.CookieImpl:249,1
    - Dst: '[io.undertow.util.DateUtils].parseDate(String)'
      Src: io.undertow.server.handlers.CookieImpl:252,1
    - Dst: '[java.util.Map<String,String>].put(String,String)'
      Src: io.undertow.server.handlers.CookieImpl:257,1
    - Dst: '[java.util.Map<String,String>].remove(String)'
      Src: io.undertow.server.handlers.CookieImpl:290,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - value
    - performSync
    argTypes:
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 293
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].toString()'
    - Boolean.parseBoolean(String)
    - '[java.util.Map<String,String>].remove(String)'
    - '[String].toUpperCase()'
    - Integer.parseInt(String)
    - CookieSameSiteMode.valueOf(io.undertow.server.handlers.CookieImpl)
    - '[java.util.Map<String,String>].put(String,String)'
    - '[io.undertow.util.DateUtils].parseDate(String)'
    - Boolean.valueOf(String)
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map].copyOf(java.util.Map<String,String>)'
      Src: io.undertow.server.handlers.CookieImpl:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: '[io.undertow.server.handlers.CookieImpl].getAttributes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map].copyOf(java.util.Map<String,String>)'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.server.handlers.CookieImpl].getAttributes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].getName()'
      Src: io.undertow.server.handlers.CookieImpl:303,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getName()'
      Src: io.undertow.server.handlers.CookieImpl:303,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.CookieImpl:303,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getPath()'
      Src: io.undertow.server.handlers.CookieImpl:304,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getPath()'
      Src: io.undertow.server.handlers.CookieImpl:304,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.CookieImpl:304,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getDomain()'
      Src: io.undertow.server.handlers.CookieImpl:305,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getDomain()'
      Src: io.undertow.server.handlers.CookieImpl:305,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.CookieImpl:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: '[io.undertow.server.handlers.CookieImpl].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached:
    - '[String].hashCode()'
    - '[io.undertow.server.handlers.CookieImpl].getDomain()'
    - '[io.undertow.server.handlers.CookieImpl].getPath()'
    - '[io.undertow.server.handlers.CookieImpl].getName()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.CookieImpl].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].getName()'
      Src: io.undertow.server.handlers.CookieImpl:315,1
    - Dst: o.getName()
      Src: io.undertow.server.handlers.CookieImpl:315,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getName()'
      Src: io.undertow.server.handlers.CookieImpl:316,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getName()'
      Src: io.undertow.server.handlers.CookieImpl:316,1
    - Dst: o.getName()
      Src: io.undertow.server.handlers.CookieImpl:316,1
    - Dst: '[String].equals(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.handlers.CookieImpl:316,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getPath()'
      Src: io.undertow.server.handlers.CookieImpl:318,1
    - Dst: o.getPath()
      Src: io.undertow.server.handlers.CookieImpl:318,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getPath()'
      Src: io.undertow.server.handlers.CookieImpl:319,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getPath()'
      Src: io.undertow.server.handlers.CookieImpl:319,1
    - Dst: o.getPath()
      Src: io.undertow.server.handlers.CookieImpl:319,1
    - Dst: '[String].equals(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.handlers.CookieImpl:319,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getDomain()'
      Src: io.undertow.server.handlers.CookieImpl:321,1
    - Dst: o.getDomain()
      Src: io.undertow.server.handlers.CookieImpl:321,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getDomain()'
      Src: io.undertow.server.handlers.CookieImpl:322,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getDomain()'
      Src: io.undertow.server.handlers.CookieImpl:322,1
    - Dst: o.getDomain()
      Src: io.undertow.server.handlers.CookieImpl:322,1
    - Dst: '[String].equals(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.handlers.CookieImpl:322,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - other
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: '[io.undertow.server.handlers.CookieImpl].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached:
    - o.getDomain()
    - o.getName()
    - '[io.undertow.server.handlers.CookieImpl].getName()'
    - '[io.undertow.server.handlers.CookieImpl].getPath()'
    - '[String].equals(io.undertow.server.handlers.CookieImpl)'
    - o.getPath()
    - '[io.undertow.server.handlers.CookieImpl].getDomain()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.CookieImpl].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].compareTo(Object)'
      Src: io.undertow.server.handlers.CookieImpl:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - other
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: '[io.undertow.server.handlers.CookieImpl].compareTo(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].compareTo(Object)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.CookieImpl].compareTo(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.identityHashCode()
      Src: io.undertow.server.handlers.CookieImpl:334,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getName()'
      Src: io.undertow.server.handlers.CookieImpl:334,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getPath()'
      Src: io.undertow.server.handlers.CookieImpl:334,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getDomain()'
      Src: io.undertow.server.handlers.CookieImpl:334,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].getValue()'
      Src: io.undertow.server.handlers.CookieImpl:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Integer
      - boolean
      - boolean
      - boolean
      - String
      - String
      - String
      - String
      - Integer
      - java.util.Date
      - boolean
      - boolean
      - boolean
      - int
      - String
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.Cookie
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: '[io.undertow.server.handlers.CookieImpl].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/CookieImpl.java
    functionUses: 1
    functionsReached:
    - System.identityHashCode()
    - '[io.undertow.server.handlers.CookieImpl].getName()'
    - '[io.undertow.server.handlers.CookieImpl].getPath()'
    - '[io.undertow.server.handlers.CookieImpl].getValue()'
    - '[io.undertow.server.handlers.CookieImpl].getDomain()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.CookieImpl].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:46,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:48,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:52,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - io.undertow.server.HttpHandler
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ProxyPeerAddressHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    - '[java.util.regex.Pattern].compile(String)'
    - Boolean.getBoolean(String)
    linkageType: ''
    returnType: io.undertow.server.handlers.ProxyPeerAddressHandler
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:46,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:48,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - io.undertow.server.HttpHandler
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ProxyPeerAddressHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - isChangeLocalAddrPort
    argTypes:
    - io.undertow.server.HttpHandler
    - boolean
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    - Boolean.getBoolean(String)
    linkageType: ''
    returnType: io.undertow.server.handlers.ProxyPeerAddressHandler
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:69,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:69,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].mostRecent(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:71,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:73,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].matches()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:73,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:74,1
    - Dst: '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:74,1
    - Dst: '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:74,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:75,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].matches()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:75,1
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:76,1
    - Dst: '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:76,1
    - Dst: '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:76,1
    - Dst: '[java.net.InetSocketAddress].createUnresolved(String,int)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].setSourceAddress(io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:81,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:81,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].mostRecent(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:85,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:85,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:86,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:86,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].mostRecent(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:88,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:89,1
    - Dst: '[String].lastIndexOf(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:90,1
    - Dst: '[String].indexOf(String,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:94,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:96,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:97,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].lastIndexOf(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:100,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].substring(int)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:102,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].substring(int,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:103,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:107,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].mostRecent(io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:110,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:110,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:112,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].standardPort(io.undertow.server.handlers.ProxyPeerAddressHandler,String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:114,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].debugf(String,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:118,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].debugf(String,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:121,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:124,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:124,1
    - Dst: '[java.net.InetSocketAddress].createUnresolved(io.undertow.server.handlers.ProxyPeerAddressHandler,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:126,1
    - Dst: '[io.undertow.server.HttpServerExchange].setDestinationAddress(io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:126,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:129,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - io.undertow.server.HttpHandler
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 130
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].mostRecent(io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[String].substring(int)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.net.InetSocketAddress].createUnresolved(io.undertow.server.handlers.ProxyPeerAddressHandler,io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].matches()'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].mostRecent(String)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].debugf(String,io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - Integer.parseInt(String)
    - '[String].lastIndexOf(String)'
    - '[io.undertow.server.HttpServerExchange].setSourceAddress(java.net.InetSocketAddress)'
    - '[String].indexOf(String,io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].substring(int)'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].standardPort(io.undertow.server.handlers.ProxyPeerAddressHandler,String)'
    - '[String].startsWith(String)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].substring(int,io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setSourceAddress(io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.server.HttpServerExchange].setDestinationAddress(io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[String].substring(int,io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].lastIndexOf(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    - '[io.undertow.server.HttpServerExchange].setRequestScheme(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    - '[java.net.InetSocketAddress].createUnresolved(String,int)'
    - '[java.net.InetSocketAddress].<init>(java.net.InetAddress,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:133,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - io.undertow.server.HttpHandler
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler].mostRecent(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 1
    functionsReached:
    - '[String].substring(int,io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[String].indexOf(char)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler].mostRecent(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:142,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - io.undertow.server.HttpHandler
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - port
    - scheme
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler].standardPort(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler].standardPort(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - io.undertow.server.HttpHandler
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler.Builder:159,1
    - Dst: '[java.util.HashMap].put(io.undertow.server.handlers.ProxyPeerAddressHandler.Builder)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler.Builder:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(io.undertow.server.handlers.ProxyPeerAddressHandler.Builder)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler.Builder:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(io.undertow.server.handlers.ProxyPeerAddressHandler.Builder)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler.Builder:176,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler.Builder:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>()'
    - '[java.util.Map<String,Object>].get(io.undertow.server.handlers.ProxyPeerAddressHandler.Builder)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.ProxyPeerAddressHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ProxyPeerAddressHandler.Builder
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.ProxyPeerAddressHandler.Wrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - isChangeLocalAddrPort
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Wrapper].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.ProxyPeerAddressHandler.Wrapper
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Wrapper].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler,boolean)'
      Src: io.undertow.server.handlers.ProxyPeerAddressHandler.Wrapper:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/ProxyPeerAddressHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.server.HttpHandler,boolean)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.ProxyPeerAddressHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:47,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:47,1
    - Dst: '[io.undertow.util.HeaderValues].isEmpty()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:48,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:51,1
    - Dst: '[io.undertow.util.QValueParser].parse(io.undertow.util.HeaderValues)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:52,1
    - Dst: '[java.util.List<java.util.List<QValueResult>>].size()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:54,1
    - Dst: '[java.util.List<java.util.List<QValueResult>>].get(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:55,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:56,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].size()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:61,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].get(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:62,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getValue()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:64,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].equals(String)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:64,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getValue()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:68,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>].get(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:68,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getValue()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:69,1
    - Dst: '[String].equals(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:69,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].isQValueZero()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:73,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:77,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:81,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:83,1
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].<init>(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:83,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:88,1
    - Dst: '[java.util.Collections].reverseOrder()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:89,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,io.undertow.server.handlers.encoding.ContentEncodingRepository)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:89,1
    - Dst: '[java.util.ArrayList].addAll(java.util.ArrayList)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:90,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:93,1
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].<init>(io.undertow.server.HttpServerExchange,java.util.ArrayList)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:94,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.EncodingMapping
      - java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.AllowedContentEncodings
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 97
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getContentEncodings(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodingRepository.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].get(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.util.HeaderValues].isEmpty()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.util.QValueParser].parse(io.undertow.util.HeaderValues)'
    - '[java.util.ArrayList].isEmpty()'
    - '[java.util.Collections].emptyList()'
    - '[java.util.Collections].reverseOrder()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].equals(String)'
    - '[java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>].get(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].isQValueZero()'
    - '[java.util.Collections].sort(java.util.ArrayList,io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[java.util.ArrayList].addAll(java.util.ArrayList)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getValue()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].size()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].<init>(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[java.util.List<java.util.List<QValueResult>>].size()'
    - '[java.util.List<java.util.List<QValueResult>>].get(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[String].equals(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].<init>(io.undertow.server.HttpServerExchange,java.util.ArrayList)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.AllowedContentEncodings
    signature: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getContentEncodings(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:100,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.EncodingMapping
      - java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodingRepository
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - encoding
    - encoder
    - priority
    argTypes:
    - String
    - io.undertow.server.handlers.encoding.ContentEncodingProvider
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodingRepository.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int,io.undertow.predicate.Predicate)'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodingRepository
    signature: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].<init>(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:105,1
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>].put(String,io.undertow.server.handlers.encoding.EncodingMapping)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.EncodingMapping
      - java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodingRepository
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - encoding
    - encoder
    - priority
    - enabledPredicate
    argTypes:
    - String
    - io.undertow.server.handlers.encoding.ContentEncodingProvider
    - int
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodingRepository.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>].put(String,io.undertow.server.handlers.encoding.EncodingMapping)'
    - '[io.undertow.server.handlers.encoding.EncodingMapping].<init>(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int,io.undertow.predicate.Predicate)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodingRepository
    signature: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].addEncodingHandler(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>].remove(String)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.EncodingMapping
      - java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodingRepository
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].removeEncodingHandler(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodingRepository.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>].remove(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodingRepository
    signature: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].removeEncodingHandler(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:41,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].<init>(String,io.undertow.server.handlers.encoding.ContentEncodingRepository,int,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:41,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.encoding.ContentEncodingRepository:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.EncodingMapping
      - java.util.Map<String,io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodingRepository
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 2
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodingRepository.java
    functionUses: 14
    functionsReached:
    - '[io.undertow.server.handlers.encoding.EncodingMapping].<init>(String,io.undertow.server.handlers.encoding.ContentEncodingRepository,int,io.undertow.predicate.Predicate)'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodingRepository
    signature: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.EncodingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - contentEncodingRepository
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.server.handlers.encoding.ContentEncodingRepository
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.EncodingHandler
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.encoding.ContentEncodingRepository)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.EncodingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - contentEncodingRepository
    argTypes:
    - io.undertow.server.handlers.encoding.ContentEncodingRepository
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.EncodingHandler
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler].<init>(io.undertow.server.handlers.encoding.ContentEncodingRepository)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getContentEncodings(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:65,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:66,1
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].isNoEncodingsAllowed()'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:67,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:68,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.handlers.encoding.AllowedContentEncodings)'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:70,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>,io.undertow.server.handlers.encoding.AllowedContentEncodings)'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:71,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getContentEncodings(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].isNoEncodingsAllowed()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>,io.undertow.server.handlers.encoding.AllowedContentEncodings)'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.handlers.encoding.AllowedContentEncodings)'
    - '[io.undertow.server.HttpServerExchange].isResponseChannelAvailable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.EncodingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 10
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.EncodingHandler
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler].getNoEncodingHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler].getNoEncodingHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.encoding.EncodingHandler:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.EncodingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - noEncodingHandler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler].setNoEncodingHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.EncodingHandler
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler].setNoEncodingHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.encoding.EncodingHandler.Builder:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.encoding.EncodingHandler.Builder:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.encoding.EncodingHandler.Builder:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.EncodingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.EncodingHandler.Builder
    signature: '[io.undertow.server.handlers.encoding.EncodingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>(io.undertow.server.handlers.encoding.DeflateEncodingProvider)'
      Src: io.undertow.server.handlers.encoding.DeflateEncodingProvider:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.DeflateEncodingProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/DeflateEncodingProvider.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>(io.undertow.server.handlers.encoding.DeflateEncodingProvider)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.DeflateEncodingProvider
    signature: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].newInstanceDeflaterPool(int)'
      Src: io.undertow.server.handlers.encoding.DeflateEncodingProvider:45,1
    - Dst: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
      Src: io.undertow.server.handlers.encoding.DeflateEncodingProvider:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.DeflateEncodingProvider
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - deflateLevel
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/DeflateEncodingProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].newInstanceDeflaterPool(int)'
    - '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.DeflateEncodingProvider
    signature: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.DeflateEncodingProvider
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - deflaterPool
    argTypes:
    - io.undertow.util.ObjectPool<java.util.zip.Deflater>
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/DeflateEncodingProvider.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.DeflateEncodingProvider
    signature: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.handlers.encoding.DeflateEncodingProvider:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].getResponseWrapper()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/DeflateEncodingProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
    signature: '[io.undertow.server.handlers.encoding.DeflateEncodingProvider].getResponseWrapper()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.RequestEncodingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.RequestEncodingHandler
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:58,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:58,1
    - Dst: '[java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>].get(String)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestChannelAvailable()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:59,1
    - Dst: '[io.undertow.server.HttpServerExchange].addRequestWrapper(io.undertow.server.handlers.encoding.RequestEncodingHandler)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:60,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:63,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:63,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:64,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:66,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:67,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:67,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>].get(String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].isRequestChannelAvailable()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].addRequestWrapper(io.undertow.server.handlers.encoding.RequestEncodingHandler)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>].put(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.RequestEncodingHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - wrapper
    argTypes:
    - String
    - io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 4
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>].put(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.RequestEncodingHandler
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].addEncoding(String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>].remove(String)'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.RequestEncodingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].removeEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>].remove(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.RequestEncodingHandler
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].removeEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Map<String,io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/RequestEncodingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder
    signature: '[io.undertow.server.handlers.encoding.RequestEncodingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(io.undertow.server.handlers.encoding.GzipEncodingProvider)'
      Src: io.undertow.server.handlers.encoding.GzipEncodingProvider:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.GzipEncodingProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/GzipEncodingProvider.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(io.undertow.server.handlers.encoding.GzipEncodingProvider)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.GzipEncodingProvider
    signature: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.DeflatingStreamSinkConduit].newInstanceDeflaterPool(int)'
      Src: io.undertow.server.handlers.encoding.GzipEncodingProvider:46,1
    - Dst: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
      Src: io.undertow.server.handlers.encoding.GzipEncodingProvider:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.GzipEncodingProvider
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - deflateLevel
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/GzipEncodingProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.DeflatingStreamSinkConduit].newInstanceDeflaterPool(int)'
    - '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.GzipEncodingProvider
    signature: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.GzipEncodingProvider
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - deflaterPool
    argTypes:
    - io.undertow.util.ObjectPool<java.util.zip.Deflater>
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/GzipEncodingProvider.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.GzipEncodingProvider
    signature: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].<init>(io.undertow.util.ObjectPool<java.util.zip.Deflater>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.handlers.encoding.GzipEncodingProvider:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.ObjectPool<java.util.zip.Deflater>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].getResponseWrapper()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/GzipEncodingProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ConduitWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
    signature: '[io.undertow.server.handlers.encoding.GzipEncodingProvider].getResponseWrapper()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      - int
      - int
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      - int
      - int
      - io.undertow.predicate.Predicate
      - java.util.concurrent.ConcurrentMap<LockKey,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - encodedResourcesRoot
    - encodedResourceManager
    - contentEncodingRepository
    - minResourceSize
    - maxResourceSize
    - encodingAllowed
    argTypes:
    - java.nio.file.Path
    - io.undertow.server.handlers.resource.CachingResourceManager
    - io.undertow.server.handlers.encoding.ContentEncodingRepository
    - int
    - int
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].<init>(java.nio.file.Path,io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.encoding.ContentEncodingRepository,int,int,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodedResourceManager
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].<init>(java.nio.file.Path,io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.encoding.ContentEncodingRepository,int,int,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getPath()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:84,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getFilePath()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:85,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:89,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:90,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:91,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getContentEncodings(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:94,1
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].isNoEncodingsAllowed()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:95,1
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getEncoding()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:98,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:99,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:99,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:102,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getResource(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:103,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:105,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResource].<init>(io.undertow.server.handlers.resource.CachedResource,String)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:105,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:107,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].<init>(String,String)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:107,1
    - Dst: '[java.util.concurrent.ConcurrentMap<LockKey,Object>].putIfAbsent(io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:108,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getResource(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:117,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:119,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResource].<init>(io.undertow.server.handlers.resource.CachedResource,String)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:119,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:122,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:123,1
    - Dst: '[java.nio.file.Files].newOutputStream(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:126,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].close()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:128,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:130,1
    - Dst: '[java.nio.channels.FileChannel].open(io.undertow.server.handlers.encoding.ContentEncodedResourceManager,io.undertow.server.handlers.encoding.ContentEncodedResourceManager,io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:133,1
    - Dst: '[java.nio.channels.FileChannel].open(java.nio.file.Path,io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:134,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getEncoding()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:136,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingProvider].getResponseWrapper()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:136,1
    - Dst: '[FileConduitTarget].<init>(io.undertow.server.handlers.encoding.ContentEncodedResourceManager,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:136,1
    - Dst: '[io.undertow.util.ImmediateConduitFactory].<init>(FileConduitTarget)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:136,1
    - Dst: '[io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>].wrap(io.undertow.util.ImmediateConduitFactory,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:136,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].<init>(null,io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:137,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:138,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].transferTo(int,Long,org.xnio.conduits.ConduitStreamSinkChannel)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:138,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].shutdownWrites()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:139,1
    - Dst: org.xnio.channels.Channels.flushBlocking(org.xnio.conduits.ConduitStreamSinkChannel)
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:140,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:141,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].failedToWritePreCachedFile()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:142,1
    - Dst: '[java.nio.file.Files].move(io.undertow.server.handlers.encoding.ContentEncodedResourceManager,io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:144,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:145,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getResource(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:146,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:147,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResource].<init>(io.undertow.server.handlers.resource.CachedResource,String)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:147,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:149,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:150,1
    - Dst: '[java.util.concurrent.ConcurrentMap<LockKey,Object>].remove(io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager:151,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.encoding.ContentEncodingRepository
      - int
      - int
      - io.undertow.predicate.Predicate
      - java.util.concurrent.ConcurrentMap<LockKey,Object>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodedResource
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - resource
    - exchange
    argTypes:
    - io.undertow.server.handlers.resource.Resource
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 153
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].getResource(io.undertow.server.handlers.resource.Resource,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getContentLength()'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].<init>(null,io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[io.undertow.util.ImmediateConduitFactory].<init>(FileConduitTarget)'
    - '[io.undertow.server.handlers.encoding.ContentEncodedResource].<init>(io.undertow.server.handlers.resource.CachedResource,String)'
    - '[java.nio.channels.FileChannel].open(java.nio.file.Path,io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[io.undertow.server.handlers.resource.Resource].getPath()'
    - '[java.nio.file.Files].move(io.undertow.server.handlers.encoding.ContentEncodedResourceManager,io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[io.undertow.server.handlers.encoding.ContentEncodingRepository].getContentEncodings(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.encoding.EncodingMapping].getEncoding()'
    - org.xnio.channels.Channels.flushBlocking(org.xnio.conduits.ConduitStreamSinkChannel)
    - '[java.util.concurrent.ConcurrentMap<LockKey,Object>].remove(io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey)'
    - '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].close()'
    - '[java.nio.channels.FileChannel].open(io.undertow.server.handlers.encoding.ContentEncodedResourceManager,io.undertow.server.handlers.encoding.ContentEncodedResourceManager,io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>].wrap(io.undertow.util.ImmediateConduitFactory,io.undertow.server.HttpServerExchange)'
    - '[java.nio.file.Files].newOutputStream(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[FileConduitTarget].<init>(io.undertow.server.handlers.encoding.ContentEncodedResourceManager,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].isNoEncodingsAllowed()'
    - '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].<init>(String,String)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.resource.Resource].getFilePath()'
    - '[io.undertow.server.handlers.encoding.ContentEncodingProvider].getResponseWrapper()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[String].equals(String)'
    - '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].transferTo(int,Long,org.xnio.conduits.ConduitStreamSinkChannel)'
    - '[java.util.concurrent.ConcurrentMap<LockKey,Object>].putIfAbsent(io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey)'
    - '[java.nio.file.Path].resolve(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getResource(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getEncoding()'
    - '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].failedToWritePreCachedFile()'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].shutdownWrites()'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodedResource
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager].getResource(io.undertow.server.handlers.resource.Resource,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - encoding
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].getClass()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey:167,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey:167,1
    - Dst: '[String].equals(io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey:171,1
    - Dst: '[String].equals(io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey:172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].getClass()'
    - '[String].equals(io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey)'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey:179,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[String].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.LockKey].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - fileChannel
    - exchange
    argTypes:
    - java.nio.channels.FileChannel
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].<init>(java.nio.channels.FileChannel,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].<init>(java.nio.channels.FileChannel,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.fileChannel.transferFrom(java.nio.channels.FileChannel,long,long)
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - fileChannel
    - l
    - l2
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - this.fileChannel.transferFrom(java.nio.channels.FileChannel,long,long)
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,FileChannel)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - streamSourceChannel
    - l
    - byteBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,FileChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FileChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[FileChannel].write(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FileChannel].write(ByteBuffer[],int,int)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - byteBuffers
    - i
    - i2
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[FileChannel].write(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FileChannel].close()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[FileChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FileChannel].isOpen()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].isWriteShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[FileChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].isWriteShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].wakeupWrites()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].wakeupWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[WriteReadyHandler].writeReady()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 1
    functionsReached:
    - '[WriteReadyHandler].writeReady()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - l
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].getWriteThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].getWriteThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.WriteReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - writeReadyHandler
    argTypes:
    - org.xnio.conduits.WriteReadyHandler
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FileChannel].close()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[FileChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:291,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - FileChannel
      - HttpServerExchange
      - WriteReadyHandler
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - StreamSinkConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResourceManager.FileConduitTarget].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.Resource
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.Resource
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodedResource
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - resource
    - contentEncoding
    argTypes:
    - io.undertow.server.handlers.resource.Resource
    - String
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResource].<init>(io.undertow.server.handlers.resource.Resource,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodedResource
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResource].<init>(io.undertow.server.handlers.resource.Resource,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.Resource
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResource].getResource()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResource].getResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.Resource
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodedResource].getContentEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.ContentEncodedResource].getContentEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.encoding.EncodingMapping
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - name
    - encoding
    - priority
    - allowed
    argTypes:
    - String
    - io.undertow.server.handlers.encoding.ContentEncodingProvider
    - int
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.handlers.encoding.EncodingMapping].<init>(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingMapping.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.EncodingMapping
    signature: '[io.undertow.server.handlers.encoding.EncodingMapping].<init>(String,io.undertow.server.handlers.encoding.ContentEncodingProvider,int,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingMapping.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodingProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.handlers.encoding.EncodingMapping].getEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingMapping.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodingProvider
    signature: '[io.undertow.server.handlers.encoding.EncodingMapping].getEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.encoding.EncodingMapping].getPriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingMapping.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.encoding.EncodingMapping].getPriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.encoding.EncodingMapping].getAllowed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingMapping.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.server.handlers.encoding.EncodingMapping].getAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].compareTo(io.undertow.server.handlers.encoding.EncodingMapping)'
      Src: io.undertow.server.handlers.encoding.EncodingMapping:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.encoding.EncodingMapping].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingMapping.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.EncodingMapping].compareTo(io.undertow.server.handlers.encoding.EncodingMapping)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.encoding.EncodingMapping].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getPriority()'
      Src: io.undertow.server.handlers.encoding.EncodingMapping:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.encoding.EncodingMapping].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingMapping.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.EncodingMapping].getPriority()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.encoding.EncodingMapping].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.encoding.EncodingMapping
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.server.handlers.encoding.ContentEncodingProvider
      - int
      - io.undertow.predicate.Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - io.undertow.server.handlers.encoding.EncodingMapping
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.encoding.EncodingMapping].compareTo(io.undertow.server.handlers.encoding.EncodingMapping)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/EncodingMapping.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.encoding.EncodingMapping].compareTo(io.undertow.server.handlers.encoding.EncodingMapping)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.AllowedContentEncodings
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - encodings
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].<init>(io.undertow.server.HttpServerExchange,java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/AllowedContentEncodings.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.AllowedContentEncodings
    signature: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].<init>(io.undertow.server.HttpServerExchange,java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding.getAllowed()
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:55,1
    - Dst: encoding.getAllowed()
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:55,1
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:55,1
    - Dst: encoding.getName()
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:56,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getCurrentContentEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/AllowedContentEncodings.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - encoding.getName()
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].resolve(io.undertow.server.HttpServerExchange)'
    - encoding.getAllowed()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getCurrentContentEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding.getAllowed()
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:64,1
    - Dst: encoding.getAllowed()
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:64,1
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.EncodingMapping
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/AllowedContentEncodings.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].resolve(io.undertow.server.HttpServerExchange)'
    - encoding.getAllowed()
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.EncodingMapping
    signature: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getCurrentContentEncoding()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:72,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:72,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].isIdentity()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/AllowedContentEncodings.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getCurrentContentEncoding()'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].isIdentity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>].isEmpty()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].isNoEncodingsAllowed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/AllowedContentEncodings.java
    functionUses: 2
    functionsReached:
    - '[java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].isNoEncodingsAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:85,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:85,1
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:87,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:90,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:91,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:92,1
    - Dst: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getEncoding()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:93,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:95,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:95,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:95,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:96,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:96,1
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:98,1
    - Dst: '[io.undertow.server.handlers.encoding.EncodingMapping].getEncoding()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:100,1
    - Dst: '[io.undertow.server.handlers.encoding.ContentEncodingProvider].getResponseWrapper()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:100,1
    - Dst: '[io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:100,1
    - Dst: '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
      Src: io.undertow.server.handlers.encoding.AllowedContentEncodings:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.server.handlers.encoding.EncodingMapping>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.conduits.StreamSinkConduit
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - factory
    - exchange
    argTypes:
    - io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/AllowedContentEncodings.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.encoding.ContentEncodingProvider].getResponseWrapper()'
    - '[io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.handlers.encoding.EncodingMapping].getEncoding()'
    - '[io.undertow.server.handlers.encoding.EncodingMapping].getName()'
    - '[io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>].create()'
    - '[io.undertow.server.handlers.encoding.AllowedContentEncodings].getEncoding()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[io.undertow.server.HttpServerExchange].getResponseContentLength()'
    linkageType: ''
    returnType: org.xnio.conduits.StreamSinkConduit
    signature: '[io.undertow.server.handlers.encoding.AllowedContentEncodings].wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodingProvider].getResponseWrapper()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodingProvider.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
    signature: '[io.undertow.server.handlers.encoding.ContentEncodingProvider].getResponseWrapper()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodingProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.encoding.ContentEncodingProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/encoding/ContentEncodingProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodingProvider
    signature: '[io.undertow.server.handlers.encoding.ContentEncodingProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:64,1
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:78,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.handlers.error.FileErrorPageHandler,java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.io.File
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(java.io.File)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.handlers.error.FileErrorPageHandler,java.util.Set<Integer>)'
    - '[java.io.File].toPath()'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(java.io.File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:64,1
    - Dst: '[java.util.Arrays].asList(java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:83,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.error.FileErrorPageHandler)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    - '[java.util.Arrays].asList(java.util.Set<Integer>)'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.error.FileErrorPageHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:64,1
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:89,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.error.FileErrorPageHandler,java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.io.File
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - file
    argTypes:
    - io.undertow.server.HttpHandler
    - java.io.File
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,java.io.File)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    - '[java.io.File].toPath()'
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.error.FileErrorPageHandler,java.util.Set<Integer>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,java.io.File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:64,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,java.nio.file.Path,io.undertow.util.MimeMappings,java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - next
    - file
    argTypes:
    - io.undertow.server.HttpHandler
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,java.nio.file.Path,io.undertow.util.MimeMappings,java.util.Set<Integer>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:64,1
    - Dst: '[java.util.Arrays].asList(java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:99,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.error.FileErrorPageHandler)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - file
    - mimeMappings
    argTypes:
    - io.undertow.server.HttpHandler
    - java.nio.file.Path
    - io.undertow.util.MimeMappings
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,java.nio.file.Path,io.undertow.util.MimeMappings)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    - '[java.util.Arrays].asList(java.util.Set<Integer>)'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.error.FileErrorPageHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,java.nio.file.Path,io.undertow.util.MimeMappings)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultResponseListener].<init>()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:105,1
    - Dst: '[io.undertow.server.HttpServerExchange].addDefaultResponseListener(io.undertow.server.DefaultResponseListener)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:105,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addDefaultResponseListener(io.undertow.server.DefaultResponseListener)'
    - '[io.undertow.server.DefaultResponseListener].<init>()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].toString()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:121,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].lastIndexOf(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:122,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].substring(int)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:124,1
    - Dst: '[io.undertow.util.MimeMappings].getMimeType(io.undertow.server.handlers.error.FileErrorPageHandler)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:124,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:126,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:126,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:129,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(Runnable)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 180
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].serveFile(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].lastIndexOf(String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.MimeMappings].getMimeType(io.undertow.server.handlers.error.FileErrorPageHandler)'
    - '[java.nio.file.Path].toString()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].substring(int)'
    - '[io.undertow.server.HttpServerExchange].dispatch(Runnable)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].serveFile(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<Integer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].getResponseCodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(java.util.Set<Integer>)'
    linkageType: ''
    returnType: java.util.Set<Integer>
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].getResponseCodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:198,1
    - Dst: '[java.util.HashSet].<init>(java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<Integer>
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseCodes
    argTypes:
    - java.util.Set<Integer>
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].setResponseCodes(java.util.Set<Integer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(java.util.Set<Integer>)'
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].setResponseCodes(java.util.Set<Integer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:206,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.error.FileErrorPageHandler)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].setResponseCodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(java.util.Set<Integer>)'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.error.FileErrorPageHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].setResponseCodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].getFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].setFile(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].setFile(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].toString()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:221,1
    - Dst: '[java.util.Set<Integer>].stream()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:221,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].map()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:221,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:221,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].collect(io.undertow.server.handlers.error.FileErrorPageHandler)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - java.nio.file.Path
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<Integer>].stream()'
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].collect(io.undertow.server.handlers.error.FileErrorPageHandler)'
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].map()'
    - '[java.nio.file.Path].toString()'
    - '[java.util.stream.Collectors].joining(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Builder:233,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Builder:234,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Builder:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList()'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Builder:241,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.error.FileErrorPageHandler.Builder)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Builder:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.error.FileErrorPageHandler.Builder)'
    - '[java.util.Arrays].asList()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Builder:251,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Builder:251,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String,Integer[])'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Builder:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String,Integer[])'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler.Builder
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Integer[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Integer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - file
    - responseCodes
    argTypes:
    - String
    - Integer[]
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper].<init>(String,Integer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper].<init>(String,Integer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper:274,1
    - Dst: '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper,Integer[])'
      Src: io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Integer[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '[io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/FileErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.error.FileErrorPageHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper,Integer[])'
    - '[java.nio.file.Paths].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.error.FileErrorPageHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultResponseListener].<init>()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - io.undertow.server.DefaultResponseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.SimpleErrorPageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/SimpleErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.DefaultResponseListener].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.SimpleErrorPageHandler
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultResponseListener].<init>()'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - io.undertow.server.DefaultResponseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.SimpleErrorPageHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/SimpleErrorPageHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.DefaultResponseListener].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.SimpleErrorPageHandler
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].addDefaultResponseListener(io.undertow.server.DefaultResponseListener)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:77,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - io.undertow.server.DefaultResponseListener
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/SimpleErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addDefaultResponseListener(io.undertow.server.DefaultResponseListener)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - io.undertow.server.DefaultResponseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/SimpleErrorPageHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - io.undertow.server.DefaultResponseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.SimpleErrorPageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/SimpleErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.SimpleErrorPageHandler
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - io.undertow.server.DefaultResponseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<Integer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].getResponseCodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/SimpleErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(java.util.Set<Integer>)'
    linkageType: ''
    returnType: java.util.Set<Integer>
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].getResponseCodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>(java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<Integer>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - io.undertow.server.DefaultResponseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.SimpleErrorPageHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseCodes
    argTypes:
    - java.util.Set<Integer>
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].setResponseCodes(java.util.Set<Integer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/SimpleErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(java.util.Set<Integer>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.SimpleErrorPageHandler
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].setResponseCodes(java.util.Set<Integer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(java.util.Set<Integer>)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:101,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.error.SimpleErrorPageHandler)'
      Src: io.undertow.server.handlers.error.SimpleErrorPageHandler:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - java.util.Set<Integer>
      - io.undertow.server.DefaultResponseListener
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.error.SimpleErrorPageHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].setResponseCodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/error/SimpleErrorPageHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(java.util.Set<Integer>)'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.error.SimpleErrorPageHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.error.SimpleErrorPageHandler
    signature: '[io.undertow.server.handlers.error.SimpleErrorPageHandler].setResponseCodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReentrantReadWriteLock].<init>()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:65,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].wrongCacheTTLValue(int,int)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:77,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:81,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].isResourceChangeListenerSupported()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:82,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceChangeListener].<init>()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:84,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:84,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].failedToRegisterChangeListener(int,io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:97,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - long
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.resource.ResourceManager
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.CachingResourceManager
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - metadataCacheSize
    - maxFileSize
    - dataCache
    - underlyingResourceManager
    - maxAge
    argTypes:
    - int
    - long
    - io.undertow.server.handlers.cache.DirectBufferCache
    - io.undertow.server.handlers.resource.ResourceManager
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,long,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.ResourceManager,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceManager].isResourceChangeListenerSupported()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].wrongCacheTTLValue(int,int)'
    - '[io.undertow.server.handlers.resource.ResourceChangeListener].<init>()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].failedToRegisterChangeListener(int,io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.resource.ResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    - '[java.util.concurrent.locks.ReentrantReadWriteLock].<init>()'
    - '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.CachingResourceManager
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,long,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.ResourceManager,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:110,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:111,1
    - Dst: '[java.util.concurrent.locks.ReentrantReadWriteLock].readLock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:116,1
    - Dst: '[java.util.concurrent.locks.ReentrantReadWriteLock].writeLock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:117,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:120,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,Object>].get(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:121,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:123,1
    - Dst: marker.getNextCheckTime()
      Src: io.undertow.server.handlers.resource.CachingResourceManager:127,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.resource.CachingResourceManager:129,1
    - Dst: marker.setNextCheckTime(io.undertow.server.handlers.resource.CachingResourceManager)
      Src: io.undertow.server.handlers.resource.CachingResourceManager:131,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].getResource(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:132,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:134,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,Object>].remove(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:135,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:137,1
    - Dst: resource.checkStillValid()
      Src: io.undertow.server.handlers.resource.CachingResourceManager:150,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:154,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.cache.LRUCache<String,Object>,io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:155,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:157,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].getResource(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:161,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:165,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker].<init>()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:166,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,Object>].add(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:166,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:168,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:177,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].<init>(io.undertow.server.handlers.resource.Resource,io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:178,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:179,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].getCacheKey()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:181,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].get(String)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:181,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].key()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:184,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:184,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,Object>].add(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachedResource)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:188,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:190,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.CachedResource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 194
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 194
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].getResource(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached:
    - '[String].substring(int)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
    - '[io.undertow.server.handlers.cache.LRUCache<String,Object>].remove(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
    - '[io.undertow.server.handlers.cache.LRUCache<String,Object>].add(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachedResource)'
    - '[io.undertow.server.handlers.cache.LRUCache<String,Object>].add(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker)'
    - '[io.undertow.server.handlers.cache.LRUCache<String,Object>].get(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.resource.ResourceManager].getResource(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.cache.LRUCache<String,Object>,io.undertow.server.handlers.resource.CachingResourceManager)'
    - resource.checkStillValid()
    - '[String].startsWith(String)'
    - '[java.util.concurrent.locks.ReentrantReadWriteLock].readLock()'
    - marker.getNextCheckTime()
    - '[java.util.concurrent.locks.ReentrantReadWriteLock].writeLock()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker].<init>()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].get(String)'
    - marker.setNextCheckTime(io.undertow.server.handlers.resource.CachingResourceManager)
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.resource.CachedResource].<init>(io.undertow.server.handlers.resource.Resource,io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].key()'
    - '[io.undertow.server.handlers.resource.CachedResource].getCacheKey()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.CachedResource
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].getResource(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].isResourceChangeListenerSupported()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].isResourceChangeListenerSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceManager].isResourceChangeListenerSupported()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].isResourceChangeListenerSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceChangeListener
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.handlers.resource.ResourceChangeListener
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceChangeListener
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.handlers.resource.ResourceChangeListener
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReentrantReadWriteLock].writeLock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:212,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:213,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.cache.LRUCache<String,Object>,String)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:215,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.cache.LRUCache<String,Object>,String)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
    - '[java.util.concurrent.locks.ReentrantReadWriteLock].writeLock()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReentrantReadWriteLock].writeLock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:222,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:224,1
    - Dst: localCopy.getMaxEntries()
      Src: io.undertow.server.handlers.resource.CachingResourceManager:226,1
    - Dst: localCopy.getMaxAge()
      Src: io.undertow.server.handlers.resource.CachingResourceManager:226,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].<init>(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:226,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:228,1
    - Dst: localCopy.keySet()
      Src: io.undertow.server.handlers.resource.CachingResourceManager:230,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:233,1
    - Dst: localCopy.clear()
      Src: io.undertow.server.handlers.resource.CachingResourceManager:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached:
    - localCopy.getMaxEntries()
    - '[java.util.concurrent.locks.ReentrantReadWriteLock].writeLock()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachingResourceManager)'
    - localCopy.clear()
    - '[io.undertow.server.handlers.resource.CachingResourceManager].unlock()'
    - '[io.undertow.server.handlers.cache.LRUCache].<init>(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].lock()'
    - localCopy.getMaxAge()
    - localCopy.keySet()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:240,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:241,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,Object>].remove(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:243,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].invalidate()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - localCopy
    - path
    argTypes:
    - io.undertow.server.handlers.cache.LRUCache<String,Object>
    - String
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.cache.LRUCache<String,Object>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.resource.CachedResource].invalidate()'
    - '[String].substring(int)'
    - '[io.undertow.server.handlers.cache.LRUCache<String,Object>].remove(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].invalidate(io.undertow.server.handlers.cache.LRUCache<String,Object>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.cache.DirectBufferCache
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.DirectBufferCache
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxFileSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxFileSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxAge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxAge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].getAllKeys()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:266,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:270,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].close()'
      Src: io.undertow.server.handlers.resource.CachingResourceManager:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - long
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.handlers.cache.LRUCache<String,Object>
      - java.util.concurrent.locks.ReentrantReadWriteLock
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 278
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceManager].close()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].getAllKeys()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nextCheckTime
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker].<init>(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker].<init>(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker].getNextCheckTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker].getNextCheckTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nextCheckTime
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: '[io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker].setNextCheckTime(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachingResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachingResourceManager.NoResourceMarker].setNextCheckTime(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.resource.Resource].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.Resource].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.resource.Resource].getLastModified()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.resource.Resource].getLastModified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.resource.Resource].getLastModifiedString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.Resource].getLastModifiedString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.ETag
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.handlers.resource.Resource].getETag()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.server.handlers.resource.Resource].getETag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.resource.Resource].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.Resource].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.resource.Resource].isDirectory()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.Resource].isDirectory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.server.handlers.resource.Resource>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.resource.Resource].list()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.server.handlers.resource.Resource>
    signature: '[io.undertow.server.handlers.resource.Resource].list()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.MimeMappings
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mimeMappings
    argTypes:
    - io.undertow.util.MimeMappings
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.resource.Resource].getContentType(io.undertow.util.MimeMappings)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.Resource].getContentType(io.undertow.util.MimeMappings)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.IoCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sender
    - exchange
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Long
    signature: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.resource.Resource].getCacheKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.Resource].getCacheKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.resource.Resource].getFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.Resource].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.resource.Resource].getFilePath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.Resource].getFilePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.resource.Resource].getResourceManagerRoot()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.Resource].getResourceManagerRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.resource.Resource].getResourceManagerRootPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.Resource].getResourceManagerRootPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.URL
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.resource.Resource].getUrl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: java.net.URL
    signature: '[io.undertow.server.handlers.resource.Resource].getUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.Resource].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/Resource.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.Resource].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - io.undertow.server.handlers.resource.PathResourceManager
      - String
      - io.undertow.util.ETag
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResource
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - file
    - manager
    - path
    - eTag
    argTypes:
    - java.nio.file.Path
    - io.undertow.server.handlers.resource.PathResourceManager
    - String
    - io.undertow.util.ETag
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,io.undertow.server.handlers.resource.PathResourceManager,String,io.undertow.util.ETag)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResource
    signature: '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,io.undertow.server.handlers.resource.PathResourceManager,String,io.undertow.util.ETag)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,io.undertow.server.handlers.resource.PathResourceManager,String,null)'
      Src: io.undertow.server.handlers.resource.PathResource:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - io.undertow.server.handlers.resource.PathResourceManager
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResource
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - file
    - manager
    - path
    argTypes:
    - java.nio.file.Path
    - io.undertow.server.handlers.resource.PathResourceManager
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,io.undertow.server.handlers.resource.PathResourceManager,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,io.undertow.server.handlers.resource.PathResourceManager,String,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResource
    signature: '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,io.undertow.server.handlers.resource.PathResourceManager,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.handlers.resource.PathResource].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.PathResource].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].isSymbolicLink(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:60,1
    - Dst: '[java.nio.file.Files].notExists(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:60,1
    - Dst: '[java.nio.file.Files].getLastModifiedTime(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:63,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].toMillis()'
      Src: io.undertow.server.handlers.resource.PathResource:63,1
    - Dst: '[java.util.Date].<init>(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:63,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.resource.PathResource].getLastModified()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 1
    functionsReached:
    - '[java.util.Date].<init>(io.undertow.server.handlers.resource.PathResource)'
    - '[java.nio.file.Files].isSymbolicLink(java.nio.file.Path)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
    - '[java.nio.file.Files].notExists(java.nio.file.Path)'
    - '[java.nio.file.Files].getLastModifiedTime(java.nio.file.Path)'
    - '[io.undertow.server.handlers.resource.PathResource].toMillis()'
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.resource.PathResource].getLastModified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResource].getLastModified()'
      Src: io.undertow.server.handlers.resource.PathResource:71,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.resource.PathResource:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.resource.PathResource].getLastModifiedString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.server.handlers.resource.PathResource].getLastModified()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.PathResource].getLastModifiedString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETag
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.resource.PathResource].getETag()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.server.handlers.resource.PathResource].getETag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].getFileName()'
      Src: io.undertow.server.handlers.resource.PathResource:81,1
    - Dst: '[java.nio.file.Path].getFileName()'
      Src: io.undertow.server.handlers.resource.PathResource:82,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].toString()'
      Src: io.undertow.server.handlers.resource.PathResource:82,1
    - Dst: '[java.nio.file.Path].toString()'
      Src: io.undertow.server.handlers.resource.PathResource:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.resource.PathResource].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResource].toString()'
    - '[java.nio.file.Path].toString()'
    - '[java.nio.file.Path].getFileName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.PathResource].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].isDirectory(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.resource.PathResource].isDirectory()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].isDirectory(java.nio.file.Path)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.PathResource].isDirectory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResource:94,1
    - Dst: '[java.nio.file.Files].newDirectoryStream(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:95,1
    - Dst: child.getFileName()
      Src: io.undertow.server.handlers.resource.PathResource:98,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].toString()'
      Src: io.undertow.server.handlers.resource.PathResource:98,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].<init>(io.undertow.server.handlers.resource.PathResource,io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:98,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:98,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].failedToListPathsForFile(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:101,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.server.handlers.resource.Resource>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.resource.PathResource].list()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - child.getFileName()
    - '[io.undertow.server.handlers.resource.PathResource].<init>(io.undertow.server.handlers.resource.PathResource,io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResource)'
    - '[java.nio.file.Files].newDirectoryStream(java.nio.file.Path)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.server.handlers.resource.PathResource].failedToListPathsForFile(java.nio.file.Path)'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.server.handlers.resource.PathResource].toString()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: java.util.List<io.undertow.server.handlers.resource.Resource>
    signature: '[io.undertow.server.handlers.resource.PathResource].list()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].getFileName()'
      Src: io.undertow.server.handlers.resource.PathResource:111,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].toString()'
      Src: io.undertow.server.handlers.resource.PathResource:111,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].lastIndexOf(char)'
      Src: io.undertow.server.handlers.resource.PathResource:112,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].length()'
      Src: io.undertow.server.handlers.resource.PathResource:113,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].substring(int)'
      Src: io.undertow.server.handlers.resource.PathResource:114,1
    - Dst: '[io.undertow.util.MimeMappings].getMimeType(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.MimeMappings
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mimeMappings
    argTypes:
    - io.undertow.util.MimeMappings
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.resource.PathResource].getContentType(io.undertow.util.MimeMappings)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResource].length()'
    - '[io.undertow.server.handlers.resource.PathResource].substring(int)'
    - '[io.undertow.server.handlers.resource.PathResource].lastIndexOf(char)'
    - '[io.undertow.server.handlers.resource.PathResource].toString()'
    - '[io.undertow.util.MimeMappings].getMimeType(io.undertow.server.handlers.resource.PathResource)'
    - '[java.nio.file.Path].getFileName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.PathResource].getContentType(io.undertow.util.MimeMappings)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback,boolean)'
      Src: io.undertow.server.handlers.resource.PathResource:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sender
    - exchange
    - callback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.resource.PathResource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.PathResource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback,boolean)'
      Src: io.undertow.server.handlers.resource.PathResource:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - long
      - long
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sender
    - exchange
    - start
    - end
    - callback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - long
    - long
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.resource.PathResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.PathResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.FileChannel].open(java.nio.file.Path,io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:136,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].position(long)'
      Src: io.undertow.server.handlers.resource.PathResource:138,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.PathResource:141,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:142,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.PathResource:145,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:146,1
    - Dst: pooled.close()
      Src: io.undertow.server.handlers.resource.PathResource:164,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:167,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
      Src: io.undertow.server.handlers.resource.PathResource:168,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].openFile()'
      Src: io.undertow.server.handlers.resource.PathResource:172,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.resource.PathResource:175,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.resource.PathResource:175,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.handlers.resource.PathResource:175,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.handlers.resource.PathResource:178,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.handlers.resource.PathResource:180,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.resource.PathResource:181,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.handlers.resource.PathResource:184,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:185,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
      Src: io.undertow.server.handlers.resource.PathResource:186,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.handlers.resource.PathResource:189,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.handlers.resource.PathResource:191,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.server.handlers.resource.PathResource:192,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.handlers.resource.PathResource:194,1
    - Dst: '[io.undertow.io.Sender].send(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.resource.PathResource:196,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:198,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.resource.PathResource:206,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch()'
      Src: io.undertow.server.handlers.resource.PathResource:207,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].run()'
      Src: io.undertow.server.handlers.resource.PathResource:209,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].ioException(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:215,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.handlers.resource.PathResource:217,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:220,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.resource.PathResource:221,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.PathResource:222,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:224,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].openFile()'
      Src: io.undertow.server.handlers.resource.PathResource:232,1
    - Dst: '[io.undertow.io.IoCallback].<init>()'
      Src: io.undertow.server.handlers.resource.PathResource:235,1
    - Dst: '[io.undertow.io.Sender].transferFrom(io.undertow.server.handlers.resource.PathResource,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.PathResource:235,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getTransferMinSize()'
      Src: io.undertow.server.handlers.resource.PathResource:258,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:258,1
    - Dst: '[ServerTask].<init>()'
      Src: io.undertow.server.handlers.resource.PathResource:258,1
    - Dst: '[io.undertow.io.AsyncSenderImpl.TransferTask].<init>()'
      Src: io.undertow.server.handlers.resource.PathResource:258,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:260,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.resource.PathResource:262,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:263,1
    - Dst: task.run()
      Src: io.undertow.server.handlers.resource.PathResource:265,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 75
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - long
      - long
      - io.undertow.io.IoCallback
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - sender
    - exchange
    - start
    - end
    - callback
    - range
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - long
    - long
    - io.undertow.io.IoCallback
    - boolean
    constantsTouched: []
    func_position:
      end: 267
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 267
    functionName: '[io.undertow.server.handlers.resource.PathResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.io.AsyncSenderImpl.TransferTask].<init>()'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[ServerTask].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.channels.FileChannel].open(java.nio.file.Path,io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].limit(int)'
    - '[io.undertow.server.handlers.resource.PathResource].openFile()'
    - task.run()
    - '[io.undertow.server.handlers.resource.PathResource].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
    - pooled.close()
    - '[io.undertow.server.handlers.resource.PathResource].position(long)'
    - '[io.undertow.io.IoCallback].<init>()'
    - '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.handlers.resource.PathResource].ioException(io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getTransferMinSize()'
    - '[io.undertow.server.handlers.resource.PathResource].read(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.server.handlers.resource.PathResource].run()'
    - '[io.undertow.io.Sender].send(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.io.Sender].transferFrom(io.undertow.server.handlers.resource.PathResource,io.undertow.io.IoCallback)'
    - '[io.undertow.server.HttpServerExchange].dispatch()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.PathResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].isSymbolicLink(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:272,1
    - Dst: '[java.nio.file.Files].notExists(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:272,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResource:275,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: '[io.undertow.server.handlers.resource.PathResource].getContentLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].notExists(java.nio.file.Path)'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
    - '[java.nio.file.Files].isSymbolicLink(java.nio.file.Path)'
    linkageType: ''
    returnType: Long
    signature: '[io.undertow.server.handlers.resource.PathResource].getContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].toString()'
      Src: io.undertow.server.handlers.resource.PathResource:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: '[io.undertow.server.handlers.resource.PathResource].getCacheKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Path].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.PathResource].getCacheKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].toFile()'
      Src: io.undertow.server.handlers.resource.PathResource:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: '[io.undertow.server.handlers.resource.PathResource].getFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Path].toFile()'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.PathResource].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: '[io.undertow.server.handlers.resource.PathResource].getFilePath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.PathResource].getFilePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getBasePath()'
      Src: io.undertow.server.handlers.resource.PathResource:298,1
    - Dst: '[java.nio.file.Path].toFile()'
      Src: io.undertow.server.handlers.resource.PathResource:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: '[io.undertow.server.handlers.resource.PathResource].getResourceManagerRoot()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResourceManager].getBasePath()'
    - '[java.nio.file.Path].toFile()'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.PathResource].getResourceManagerRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getBasePath()'
      Src: io.undertow.server.handlers.resource.PathResource:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: '[io.undertow.server.handlers.resource.PathResource].getResourceManagerRootPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResourceManager].getBasePath()'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.PathResource].getResourceManagerRootPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].toUri()'
      Src: io.undertow.server.handlers.resource.PathResource:309,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].toURL()'
      Src: io.undertow.server.handlers.resource.PathResource:309,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
      Src: io.undertow.server.handlers.resource.PathResource:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URL
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: '[io.undertow.server.handlers.resource.PathResource].getUrl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.server.handlers.resource.PathResource)'
    - '[io.undertow.server.handlers.resource.PathResource].toURL()'
    - '[java.nio.file.Path].toUri()'
    linkageType: ''
    returnType: java.net.URL
    signature: '[io.undertow.server.handlers.resource.PathResource].getUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.file.Path
      - String
      - io.undertow.util.ETag
      - io.undertow.server.handlers.resource.PathResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: '[io.undertow.server.handlers.resource.PathResource].isRangeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.PathResource].isRangeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].isDirectory()'
      Src: io.undertow.server.handlers.resource.CachedResource:58,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getLastModified()'
      Src: io.undertow.server.handlers.resource.CachedResource:59,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.resource.CachedResource:61,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getETag()'
      Src: io.undertow.server.handlers.resource.CachedResource:65,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getName()'
      Src: io.undertow.server.handlers.resource.CachedResource:66,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getCacheKey()'
      Src: io.undertow.server.handlers.resource.CachedResource:67,1
    - Dst: '[CacheKey].<init>(io.undertow.server.handlers.resource.CachingResourceManager,String)'
      Src: io.undertow.server.handlers.resource.CachedResource:67,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxAge()'
      Src: io.undertow.server.handlers.resource.CachedResource:68,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.resource.CachedResource:70,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].wrongCacheTTLValue(int,int)'
      Src: io.undertow.server.handlers.resource.CachedResource:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.CachedResource
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - cachingResourceManager
    - underlyingResource
    - path
    argTypes:
    - io.undertow.server.handlers.resource.CachingResourceManager
    - io.undertow.server.handlers.resource.Resource
    - String
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.resource.CachedResource].<init>(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.Resource,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxAge()'
    - '[io.undertow.server.handlers.resource.Resource].getLastModified()'
    - '[io.undertow.server.handlers.resource.Resource].getETag()'
    - '[io.undertow.server.handlers.resource.Resource].isDirectory()'
    - '[io.undertow.server.handlers.resource.Resource].getName()'
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.resource.Resource].getCacheKey()'
    - '[io.undertow.server.handlers.resource.CachedResource].wrongCacheTTLValue(int,int)'
    - '[CacheKey].<init>(io.undertow.server.handlers.resource.CachingResourceManager,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.CachedResource
    signature: '[io.undertow.server.handlers.resource.CachedResource].<init>(io.undertow.server.handlers.resource.CachingResourceManager,io.undertow.server.handlers.resource.Resource,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getPath()'
      Src: io.undertow.server.handlers.resource.CachedResource:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getPath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.CachedResource].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getLastModified()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.resource.CachedResource].getLastModified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getLastModifiedString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.CachedResource].getLastModifiedString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETag
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getETag()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.server.handlers.resource.CachedResource].getETag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.CachedResource].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.resource.CachedResource].isDirectory()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.CachedResource].isDirectory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].list()'
      Src: io.undertow.server.handlers.resource.CachedResource:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.server.handlers.resource.Resource>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.resource.CachedResource].list()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].list()'
    linkageType: ''
    returnType: java.util.List<io.undertow.server.handlers.resource.Resource>
    signature: '[io.undertow.server.handlers.resource.CachedResource].list()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentType(io.undertow.util.MimeMappings)'
      Src: io.undertow.server.handlers.resource.CachedResource:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.MimeMappings
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mimeMappings
    argTypes:
    - io.undertow.util.MimeMappings
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getContentType(io.undertow.util.MimeMappings)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getContentType(io.undertow.util.MimeMappings)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.CachedResource].getContentType(io.undertow.util.MimeMappings)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
      Src: io.undertow.server.handlers.resource.CachedResource:122,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(CacheKey)'
      Src: io.undertow.server.handlers.resource.CachedResource:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.resource.CachedResource].invalidate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].remove(CacheKey)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachedResource].invalidate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.resource.CachedResource:130,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxAge()'
      Src: io.undertow.server.handlers.resource.CachedResource:132,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getLastModified()'
      Src: io.undertow.server.handlers.resource.CachedResource:133,1
    - Dst: '[java.util.Date].equals(java.util.Date)'
      Src: io.undertow.server.handlers.resource.CachedResource:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.resource.CachedResource].checkStillValid()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxAge()'
    - '[java.util.Date].equals(java.util.Date)'
    - '[io.undertow.server.handlers.resource.Resource].getLastModified()'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.CachedResource].checkStillValid()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
      Src: io.undertow.server.handlers.resource.CachedResource:148,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:150,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].get(CacheKey)'
      Src: io.undertow.server.handlers.resource.CachedResource:154,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].getContentLength()'
      Src: io.undertow.server.handlers.resource.CachedResource:155,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxFileSize()'
      Src: io.undertow.server.handlers.resource.CachedResource:157,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:158,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].enabled()'
      Src: io.undertow.server.handlers.resource.CachedResource:162,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].reference()'
      Src: io.undertow.server.handlers.resource.CachedResource:162,1
    - Dst: '[Long].intValue()'
      Src: io.undertow.server.handlers.resource.CachedResource:167,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxAge()'
      Src: io.undertow.server.handlers.resource.CachedResource:167,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].add(CacheKey,io.undertow.server.handlers.resource.CachedResource,int)'
      Src: io.undertow.server.handlers.resource.CachedResource:167,1
    - Dst: entry.buffers()
      Src: io.undertow.server.handlers.resource.CachedResource:172,1
    - Dst: entry.claimEnable()
      Src: io.undertow.server.handlers.resource.CachedResource:172,1
    - Dst: entry.reference()
      Src: io.undertow.server.handlers.resource.CachedResource:173,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].<init>(io.undertow.io.Sender,io.undertow.server.handlers.resource.CachedResource,Long)'
      Src: io.undertow.server.handlers.resource.CachedResource:174,1
    - Dst: entry.disable()
      Src: io.undertow.server.handlers.resource.CachedResource:176,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:179,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].tracef(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.resource.CachedResource:181,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].buffers()'
      Src: io.undertow.server.handlers.resource.CachedResource:186,1
    - Dst: pooled[i].getBuffer()
      Src: io.undertow.server.handlers.resource.CachedResource:190,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].duplicate()'
      Src: io.undertow.server.handlers.resource.CachedResource:190,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.resource.CachedResource:195,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].<init>(CacheEntry,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:198,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.resource.CachedResource,io.undertow.server.handlers.resource.CachedResource.DereferenceCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:198,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sender
    - exchange
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 200
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.handlers.resource.CachedResource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].enabled()'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].reference()'
    - entry.claimEnable()
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
    - '[Long].intValue()'
    - '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    - '[io.undertow.server.handlers.resource.CachedResource].getContentLength()'
    - entry.reference()
    - '[io.undertow.server.handlers.cache.DirectBufferCache].get(CacheKey)'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].buffers()'
    - entry.disable()
    - '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxFileSize()'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].dereference()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].add(CacheKey,io.undertow.server.handlers.resource.CachedResource,int)'
    - entry.buffers()
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].<init>(io.undertow.io.Sender,io.undertow.server.handlers.resource.CachedResource,Long)'
    - pooled[i].getBuffer()
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.resource.CachedResource,io.undertow.server.handlers.resource.CachedResource.DereferenceCallback)'
    - '[io.undertow.server.handlers.resource.CachedResource].tracef(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].<init>(CacheEntry,io.undertow.io.IoCallback)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxAge()'
    - '[io.undertow.server.handlers.resource.CachedResource].duplicate()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachedResource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
      Src: io.undertow.server.handlers.resource.CachedResource:206,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
      Src: io.undertow.server.handlers.resource.CachedResource:208,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].get(CacheKey)'
      Src: io.undertow.server.handlers.resource.CachedResource:210,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].enabled()'
      Src: io.undertow.server.handlers.resource.CachedResource:211,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
      Src: io.undertow.server.handlers.resource.CachedResource:212,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.resource.CachedResource:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getContentLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].enabled()'
    - '[io.undertow.server.handlers.resource.Resource].getContentLength()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].size()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].get(CacheKey)'
    linkageType: ''
    returnType: Long
    signature: '[io.undertow.server.handlers.resource.CachedResource].getContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getCacheKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.CachedResource].getCacheKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getFile()'
      Src: io.undertow.server.handlers.resource.CachedResource:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getFile()'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.CachedResource].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getFilePath()'
      Src: io.undertow.server.handlers.resource.CachedResource:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getFilePath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getFilePath()'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.CachedResource].getFilePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getResourceManagerRoot()'
      Src: io.undertow.server.handlers.resource.CachedResource:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getResourceManagerRoot()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getResourceManagerRoot()'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.CachedResource].getResourceManagerRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getResourceManagerRootPath()'
      Src: io.undertow.server.handlers.resource.CachedResource:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getResourceManagerRootPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getResourceManagerRootPath()'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.CachedResource].getResourceManagerRootPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getUrl()'
      Src: io.undertow.server.handlers.resource.CachedResource:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URL
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: '[io.undertow.server.handlers.resource.CachedResource].getUrl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getUrl()'
    linkageType: ''
    returnType: java.net.URL
    signature: '[io.undertow.server.handlers.resource.CachedResource].getUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
      Src: io.undertow.server.handlers.resource.CachedResource:250,1
    - Dst: '[io.undertow.server.handlers.resource.RangeAwareResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:252,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].get(CacheKey)'
      Src: io.undertow.server.handlers.resource.CachedResource:256,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].getContentLength()'
      Src: io.undertow.server.handlers.resource.CachedResource:257,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxFileSize()'
      Src: io.undertow.server.handlers.resource.CachedResource:259,1
    - Dst: '[io.undertow.server.handlers.resource.RangeAwareResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:260,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].enabled()'
      Src: io.undertow.server.handlers.resource.CachedResource:264,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].reference()'
      Src: io.undertow.server.handlers.resource.CachedResource:264,1
    - Dst: '[io.undertow.server.handlers.resource.RangeAwareResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:267,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].buffers()'
      Src: io.undertow.server.handlers.resource.CachedResource:273,1
    - Dst: pooled[i].getBuffer()
      Src: io.undertow.server.handlers.resource.CachedResource:277,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource].duplicate()'
      Src: io.undertow.server.handlers.resource.CachedResource:277,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.resource.CachedResource:282,1
    - Dst: b.position()
      Src: io.undertow.server.handlers.resource.CachedResource:291,1
    - Dst: b.limit(io.undertow.server.handlers.resource.CachedResource)
      Src: io.undertow.server.handlers.resource.CachedResource:291,1
    - Dst: b.remaining()
      Src: io.undertow.server.handlers.resource.CachedResource:293,1
    - Dst: b.remaining()
      Src: io.undertow.server.handlers.resource.CachedResource:294,1
    - Dst: b.limit(int)
      Src: io.undertow.server.handlers.resource.CachedResource:296,1
    - Dst: b.remaining()
      Src: io.undertow.server.handlers.resource.CachedResource:299,1
    - Dst: b.position(int)
      Src: io.undertow.server.handlers.resource.CachedResource:300,1
    - Dst: b.remaining()
      Src: io.undertow.server.handlers.resource.CachedResource:303,1
    - Dst: b.limit()
      Src: io.undertow.server.handlers.resource.CachedResource:304,1
    - Dst: b.position(io.undertow.server.handlers.resource.CachedResource)
      Src: io.undertow.server.handlers.resource.CachedResource:304,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].<init>(CacheEntry,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:308,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.resource.CachedResource,io.undertow.server.handlers.resource.CachedResource.DereferenceCallback)'
      Src: io.undertow.server.handlers.resource.CachedResource:308,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - long
      - long
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sender
    - exchange
    - start
    - end
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - long
    - long
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 310
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 310
    functionName: '[io.undertow.server.handlers.resource.CachedResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].enabled()'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].reference()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getDataCache()'
    - b.remaining()
    - '[io.undertow.server.handlers.resource.CachedResource].getContentLength()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].get(CacheKey)'
    - b.position(int)
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].buffers()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].getMaxFileSize()'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].dereference()'
    - b.position(io.undertow.server.handlers.resource.CachedResource)
    - b.limit(io.undertow.server.handlers.resource.CachedResource)
    - b.limit(int)
    - '[io.undertow.server.handlers.resource.RangeAwareResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
    - b.position()
    - pooled[i].getBuffer()
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.resource.CachedResource,io.undertow.server.handlers.resource.CachedResource.DereferenceCallback)'
    - b.limit()
    - '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].<init>(CacheEntry,io.undertow.io.IoCallback)'
    - '[io.undertow.server.handlers.resource.CachedResource].duplicate()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachedResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.RangeAwareResource].isRangeSupported()'
      Src: io.undertow.server.handlers.resource.CachedResource:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CacheKey
      - io.undertow.server.handlers.resource.CachingResourceManager
      - io.undertow.server.handlers.resource.Resource
      - boolean
      - java.util.Date
      - String
      - io.undertow.util.ETag
      - String
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: '[io.undertow.server.handlers.resource.CachedResource].isRangeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.RangeAwareResource].isRangeSupported()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.CachedResource].isRangeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - DirectBufferCache.CacheEntry
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - IoCallback
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - IoCallback
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.CachedResource.DereferenceCallback
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - entry
    - callback
    argTypes:
    - DirectBufferCache.CacheEntry
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].<init>(DirectBufferCache.CacheEntry,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.CachedResource.DereferenceCallback
    signature: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].<init>(DirectBufferCache.CacheEntry,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.resource.CachedResource.DereferenceCallback:332,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
      Src: io.undertow.server.handlers.resource.CachedResource.DereferenceCallback:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - IoCallback
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - IoCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sender
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.Sender
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].ioException(java.io.IOException)'
      Src: io.undertow.server.handlers.resource.CachedResource.DereferenceCallback:340,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.resource.CachedResource.DereferenceCallback:342,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
      Src: io.undertow.server.handlers.resource.CachedResource.DereferenceCallback:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - IoCallback
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - IoCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - sender
    - exception
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.Sender
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].ioException(java.io.IOException)'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.CachingResourceManager
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - CachingResourceManager
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.CachedResource.CacheKey
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - manager
    - cacheKey
    argTypes:
    - io.undertow.server.handlers.resource.CachingResourceManager
    - String
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: '[io.undertow.server.handlers.resource.CachedResource.CacheKey].<init>(io.undertow.server.handlers.resource.CachingResourceManager,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.CachedResource.CacheKey
    signature: '[io.undertow.server.handlers.resource.CachedResource.CacheKey].<init>(io.undertow.server.handlers.resource.CachingResourceManager,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.CachedResource.CacheKey].getClass()'
      Src: io.undertow.server.handlers.resource.CachedResource.CacheKey:362,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.server.handlers.resource.CachedResource.CacheKey:362,1
    - Dst: '[String].equals(io.undertow.server.handlers.resource.CachedResource.CacheKey)'
      Src: io.undertow.server.handlers.resource.CachedResource.CacheKey:366,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].equals(io.undertow.server.handlers.resource.CachedResource.CacheKey)'
      Src: io.undertow.server.handlers.resource.CachedResource.CacheKey:367,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - CachingResourceManager
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: '[io.undertow.server.handlers.resource.CachedResource.CacheKey].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.CachedResource.CacheKey].getClass()'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].equals(io.undertow.server.handlers.resource.CachedResource.CacheKey)'
    - '[Object].getClass()'
    - '[String].equals(io.undertow.server.handlers.resource.CachedResource.CacheKey)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.CachedResource.CacheKey].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].hashCode()'
      Src: io.undertow.server.handlers.resource.CachedResource.CacheKey:374,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.resource.CachedResource.CacheKey:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CachingResourceManager
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: '[io.undertow.server.handlers.resource.CachedResource.CacheKey].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/CachedResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.CachingResourceManager].hashCode()'
    - '[String].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.resource.CachedResource.CacheKey].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.ResourceManager
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceSupplier
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PreCompressedResourceSupplier
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - resourceManager
    argTypes:
    - io.undertow.server.handlers.resource.ResourceManager
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.ResourceManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PreCompressedResourceSupplier.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PreCompressedResourceSupplier
    signature: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].<init>(io.undertow.server.handlers.resource.ResourceManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:57,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:57,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:59,1
    - Dst: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].getEncodedResource(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:61,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.ResourceManager
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceSupplier
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - path
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].getResource(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PreCompressedResourceSupplier.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceManager].getResource(String)'
    - '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].getEncodedResource(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].getResource(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:70,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:70,1
    - Dst: '[io.undertow.util.HeaderValues].isEmpty()'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:71,1
    - Dst: '[io.undertow.util.QValueParser].parse(io.undertow.util.HeaderValues)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:74,1
    - Dst: value.getValue()
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:77,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:77,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].getResource(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:80,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].isDirectory()'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:81,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].<init>()'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:82,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.ResourceManager
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceSupplier
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - path
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 175
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].getEncodedResource(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PreCompressedResourceSupplier.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceManager].getResource(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
    - '[io.undertow.util.HeaderValues].isEmpty()'
    - value.getValue()
    - '[io.undertow.server.handlers.resource.Resource].isDirectory()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[java.util.Map<String,String>].get(io.undertow.server.handlers.resource.PreCompressedResourceSupplier)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.util.QValueParser].parse(io.undertow.util.HeaderValues)'
    - '[io.undertow.server.handlers.resource.Resource].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].getEncodedResource(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].put(String,String)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.ResourceManager
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceSupplier
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PreCompressedResourceSupplier
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - encoding
    - extension
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PreCompressedResourceSupplier.java
    functionUses: 4
    functionsReached:
    - '[java.util.Map<String,String>].put(String,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PreCompressedResourceSupplier
    signature: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].addEncoding(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].remove(String)'
      Src: io.undertow.server.handlers.resource.PreCompressedResourceSupplier:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.ResourceManager
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceSupplier
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PreCompressedResourceSupplier
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].removeEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PreCompressedResourceSupplier.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,String>].remove(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PreCompressedResourceSupplier
    signature: '[io.undertow.server.handlers.resource.PreCompressedResourceSupplier].removeEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Type
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Type
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceChangeEvent
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - resource
    - type
    argTypes:
    - String
    - Type
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.server.handlers.resource.ResourceChangeEvent].<init>(String,Type)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceChangeEvent.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceChangeEvent
    signature: '[io.undertow.server.handlers.resource.ResourceChangeEvent].<init>(String,Type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Type
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.handlers.resource.ResourceChangeEvent].getResource()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceChangeEvent.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.ResourceChangeEvent].getResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Type
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Type
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.handlers.resource.ResourceChangeEvent].getType()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceChangeEvent.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: '[io.undertow.server.handlers.resource.ResourceChangeEvent].getType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - path
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.resource.ResourceSupplier].getResource(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceSupplier.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.ResourceSupplier].getResource(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceSupplier
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.ResourceSupplier].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceSupplier.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceSupplier
    signature: '[io.undertow.server.handlers.resource.ResourceSupplier].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.ResourceManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceSupplier
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.DefaultResourceSupplier
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - resourceManager
    argTypes:
    - io.undertow.server.handlers.resource.ResourceManager
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.server.handlers.resource.DefaultResourceSupplier].<init>(io.undertow.server.handlers.resource.ResourceManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DefaultResourceSupplier.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.DefaultResourceSupplier
    signature: '[io.undertow.server.handlers.resource.DefaultResourceSupplier].<init>(io.undertow.server.handlers.resource.ResourceManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ResourceManager].getResource(String)'
      Src: io.undertow.server.handlers.resource.DefaultResourceSupplier:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.resource.ResourceManager
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceSupplier
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - path
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.resource.DefaultResourceSupplier].getResource(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DefaultResourceSupplier.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceManager].getResource(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.DefaultResourceSupplier].getResource(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.resource.FileResource:31,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].<init>(io.undertow.server.handlers.resource.FileResource,io.undertow.server.handlers.resource.FileResourceManager,String)'
      Src: io.undertow.server.handlers.resource.FileResource:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      - io.undertow.server.handlers.resource.FileResourceManager
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.FileResource
      static: false
      superClass: io.undertow.server.handlers.resource.PathResource
    argCount: 3
    argNames:
    - file
    - manager
    - path
    argTypes:
    - java.io.File
    - io.undertow.server.handlers.resource.FileResourceManager
    - String
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.handlers.resource.FileResource].<init>(java.io.File,io.undertow.server.handlers.resource.FileResourceManager,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/FileResource.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].toPath()'
    - '[io.undertow.server.handlers.resource.PathResource].<init>(io.undertow.server.handlers.resource.FileResource,io.undertow.server.handlers.resource.FileResourceManager,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.FileResource
    signature: '[io.undertow.server.handlers.resource.FileResource].<init>(java.io.File,io.undertow.server.handlers.resource.FileResourceManager,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].<init>(java.net.URL,String)'
      Src: io.undertow.server.handlers.resource.URLResource:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URL
      - java.net.URLConnection
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.URLResource
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - url
    - connection
    - path
    argTypes:
    - java.net.URL
    - java.net.URLConnection
    - String
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.resource.URLResource].<init>(java.net.URL,java.net.URLConnection,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].<init>(java.net.URL,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.URLResource
    signature: '[io.undertow.server.handlers.resource.URLResource].<init>(java.net.URL,java.net.URLConnection,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URL
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.URLResource
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - url
    - path
    argTypes:
    - java.net.URL
    - String
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.resource.URLResource].<init>(java.net.URL,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.URLResource
    signature: '[io.undertow.server.handlers.resource.URLResource].<init>(java.net.URL,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.resource.URLResource].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.URLResource].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].openConnection()'
      Src: io.undertow.server.handlers.resource.URLResource:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.resource.URLResource].getLastModified()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].openConnection()'
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.resource.URLResource].getLastModified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].openConnection()'
      Src: io.undertow.server.handlers.resource.URLResource:87,1
    - Dst: '[java.net.URL].getProtocol()'
      Src: io.undertow.server.handlers.resource.URLResource:93,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].equals(String)'
      Src: io.undertow.server.handlers.resource.URLResource:93,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].setUseCaches(boolean)'
      Src: io.undertow.server.handlers.resource.URLResource:94,1
    - Dst: '[java.net.JarURLConnection].getJarFileURL()'
      Src: io.undertow.server.handlers.resource.URLResource:95,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getFile()'
      Src: io.undertow.server.handlers.resource.URLResource:96,1
    - Dst: '[java.io.File].<init>(java.io.File)'
      Src: io.undertow.server.handlers.resource.URLResource:96,1
    - Dst: '[java.io.File].lastModified()'
      Src: io.undertow.server.handlers.resource.URLResource:96,1
    - Dst: '[java.util.Date].<init>(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:96,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getLastModified()'
      Src: io.undertow.server.handlers.resource.URLResource:98,1
    - Dst: '[java.util.Date].<init>(java.util.Date)'
      Src: io.undertow.server.handlers.resource.URLResource:98,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getContentLengthLong()'
      Src: io.undertow.server.handlers.resource.URLResource:100,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getInputStream()'
      Src: io.undertow.server.handlers.resource.URLResource:104,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.resource.URLResource].openConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 2
    functionsReached:
    - '[java.util.Date].<init>(java.util.Date)'
    - '[io.undertow.server.handlers.resource.URLResource].equals(String)'
    - '[io.undertow.server.handlers.resource.URLResource].getFile()'
    - '[java.util.Date].<init>(io.undertow.server.handlers.resource.URLResource)'
    - '[java.net.URL].getProtocol()'
    - '[java.io.File].lastModified()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.URLResource)'
    - '[io.undertow.server.handlers.resource.URLResource].getInputStream()'
    - '[java.net.JarURLConnection].getJarFileURL()'
    - '[java.net.URL].openConnection()'
    - '[java.io.File].<init>(java.io.File)'
    - '[io.undertow.server.handlers.resource.URLResource].getLastModified()'
    - '[io.undertow.server.handlers.resource.URLResource].getContentLengthLong()'
    - '[io.undertow.server.handlers.resource.URLResource].setUseCaches(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.URLResource].openConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getLastModified()'
      Src: io.undertow.server.handlers.resource.URLResource:115,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.resource.URLResource:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.handlers.resource.URLResource].getLastModifiedString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.server.handlers.resource.URLResource].getLastModified()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.URLResource].getLastModifiedString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETag
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.resource.URLResource].getETag()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.server.handlers.resource.URLResource].getETag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].getPath()'
      Src: io.undertow.server.handlers.resource.URLResource:125,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].endsWith(String)'
      Src: io.undertow.server.handlers.resource.URLResource:126,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].length()'
      Src: io.undertow.server.handlers.resource.URLResource:127,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].substring(int,int)'
      Src: io.undertow.server.handlers.resource.URLResource:127,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].lastIndexOf(String)'
      Src: io.undertow.server.handlers.resource.URLResource:129,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].substring(int)'
      Src: io.undertow.server.handlers.resource.URLResource:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.resource.URLResource].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].lastIndexOf(String)'
    - '[io.undertow.server.handlers.resource.URLResource].substring(int)'
    - '[io.undertow.server.handlers.resource.URLResource].endsWith(String)'
    - '[java.net.URL].getPath()'
    - '[io.undertow.server.handlers.resource.URLResource].length()'
    - '[io.undertow.server.handlers.resource.URLResource].substring(int,int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.URLResource].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getFilePath()'
      Src: io.undertow.server.handlers.resource.URLResource:138,1
    - Dst: '[java.nio.file.Files].isDirectory(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.URLResource:140,1
    - Dst: '[java.net.URL].getPath()'
      Src: io.undertow.server.handlers.resource.URLResource:141,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].endsWith(String)'
      Src: io.undertow.server.handlers.resource.URLResource:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.handlers.resource.URLResource].isDirectory()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].getFilePath()'
    - '[io.undertow.server.handlers.resource.URLResource].endsWith(String)'
    - '[java.net.URL].getPath()'
    - '[java.nio.file.Files].isDirectory(java.nio.file.Path)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.URLResource].isDirectory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.server.handlers.resource.URLResource:149,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getFilePath()'
      Src: io.undertow.server.handlers.resource.URLResource:150,1
    - Dst: '[java.nio.file.Files].newDirectoryStream(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.URLResource:153,1
    - Dst: child.toUri()
      Src: io.undertow.server.handlers.resource.URLResource:156,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].toURL()'
      Src: io.undertow.server.handlers.resource.URLResource:156,1
    - Dst: child.toString()
      Src: io.undertow.server.handlers.resource.URLResource:156,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].<init>(io.undertow.server.handlers.resource.URLResource,io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:156,1
    - Dst: '[java.util.LinkedList].add(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:156,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].failedToListPathsForFile(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.URLResource:159,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].noSourceToListResourcesFrom()'
      Src: io.undertow.server.handlers.resource.URLResource:163,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.server.handlers.resource.Resource>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.resource.URLResource].list()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].toURL()'
    - '[java.util.LinkedList].<init>()'
    - '[RuntimeException].<init>(io.undertow.server.handlers.resource.URLResource)'
    - child.toString()
    - '[java.util.LinkedList].add(io.undertow.server.handlers.resource.URLResource)'
    - '[java.nio.file.Files].newDirectoryStream(java.nio.file.Path)'
    - '[io.undertow.server.handlers.resource.URLResource].noSourceToListResourcesFrom()'
    - child.toUri()
    - '[io.undertow.server.handlers.resource.URLResource].getFilePath()'
    - '[io.undertow.server.handlers.resource.URLResource].<init>(io.undertow.server.handlers.resource.URLResource,io.undertow.server.handlers.resource.URLResource)'
    - '[io.undertow.server.handlers.resource.URLResource].failedToListPathsForFile(java.nio.file.Path)'
    linkageType: ''
    returnType: java.util.List<io.undertow.server.handlers.resource.Resource>
    signature: '[io.undertow.server.handlers.resource.URLResource].list()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getName()'
      Src: io.undertow.server.handlers.resource.URLResource:173,1
    - Dst: '[String].lastIndexOf(char)'
      Src: io.undertow.server.handlers.resource.URLResource:174,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.resource.URLResource:175,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.resource.URLResource:176,1
    - Dst: '[io.undertow.util.MimeMappings].getMimeType(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.MimeMappings
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mimeMappings
    argTypes:
    - io.undertow.util.MimeMappings
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.resource.URLResource].getContentType(io.undertow.util.MimeMappings)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[String].lastIndexOf(char)'
    - '[String].substring(int)'
    - '[String].length()'
    - '[io.undertow.util.MimeMappings].getMimeType(io.undertow.server.handlers.resource.URLResource)'
    - '[io.undertow.server.handlers.resource.URLResource].getName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.URLResource].getContentType(io.undertow.util.MimeMappings)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,boolean,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.URLResource:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sender
    - exchange
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.handlers.resource.URLResource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,boolean,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.URLResource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:200,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
      Src: io.undertow.server.handlers.resource.URLResource:201,1
    - Dst: '[java.net.URL].openStream()'
      Src: io.undertow.server.handlers.resource.URLResource:206,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.URLResource:208,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].read(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:214,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:217,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
      Src: io.undertow.server.handlers.resource.URLResource:218,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].read(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:228,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:231,1
    - Dst: '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
      Src: io.undertow.server.handlers.resource.URLResource:232,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.resource.URLResource,io.undertow.server.handlers.resource.URLResource,io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:243,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:243,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:245,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.resource.URLResource:252,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch()'
      Src: io.undertow.server.handlers.resource.URLResource:253,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].run()'
      Src: io.undertow.server.handlers.resource.URLResource:255,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].ioException(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:261,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:262,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.resource.URLResource:263,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.URLResource:264,1
    - Dst: '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:266,1
    - Dst: '[ServerTask].<init>()'
      Src: io.undertow.server.handlers.resource.URLResource:270,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.resource.URLResource:271,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(ServerTask)'
      Src: io.undertow.server.handlers.resource.URLResource:272,1
    - Dst: '[ServerTask].run()'
      Src: io.undertow.server.handlers.resource.URLResource:274,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - long
      - long
      - boolean
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - sender
    - exchange
    - start
    - end
    - range
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - long
    - long
    - boolean
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 276
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.handlers.resource.URLResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,boolean,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 1
    functionsReached:
    - '[ServerTask].run()'
    - '[io.undertow.server.handlers.resource.URLResource].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.URLResource)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.resource.URLResource)'
    - '[java.net.URL].openStream()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.resource.URLResource,io.undertow.server.handlers.resource.URLResource,io.undertow.server.handlers.resource.URLResource)'
    - '[io.undertow.server.handlers.resource.URLResource].ioException(io.undertow.server.handlers.resource.URLResource)'
    - '[io.undertow.io.IoCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - '[io.undertow.server.HttpServerExchange].dispatch()'
    - '[io.undertow.io.IoCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,io.undertow.server.handlers.resource.URLResource)'
    - '[io.undertow.server.HttpServerExchange].dispatch(ServerTask)'
    - '[io.undertow.server.handlers.resource.URLResource].read(io.undertow.server.handlers.resource.URLResource)'
    - '[io.undertow.server.handlers.resource.URLResource].run()'
    - '[ServerTask].<init>()'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.resource.URLResource)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.URLResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,boolean,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].openConnection()'
      Src: io.undertow.server.handlers.resource.URLResource:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: '[io.undertow.server.handlers.resource.URLResource].getContentLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].openConnection()'
    linkageType: ''
    returnType: Long
    signature: '[io.undertow.server.handlers.resource.URLResource].getContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].toString()'
      Src: io.undertow.server.handlers.resource.URLResource:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '[io.undertow.server.handlers.resource.URLResource].getCacheKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[java.net.URL].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.URLResource].getCacheKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].getFilePath()'
      Src: io.undertow.server.handlers.resource.URLResource:291,1
    - Dst: '[java.nio.file.Path].toFile()'
      Src: io.undertow.server.handlers.resource.URLResource:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.handlers.resource.URLResource].getFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].getFilePath()'
    - '[java.nio.file.Path].toFile()'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.URLResource].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].getProtocol()'
      Src: io.undertow.server.handlers.resource.URLResource:297,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].equals(String)'
      Src: io.undertow.server.handlers.resource.URLResource:297,1
    - Dst: '[java.net.URL].toURI()'
      Src: io.undertow.server.handlers.resource.URLResource:299,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:299,1
    - Dst: '[java.net.URL].toURI()'
      Src: io.undertow.server.handlers.resource.URLResource:307,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.resource.URLResource)'
      Src: io.undertow.server.handlers.resource.URLResource:307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 312
    functionName: '[io.undertow.server.handlers.resource.URLResource].getFilePath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].equals(String)'
    - '[java.net.URL].getProtocol()'
    - '[java.net.URL].toURI()'
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.resource.URLResource)'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.URLResource].getFilePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: '[io.undertow.server.handlers.resource.URLResource].getResourceManagerRoot()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.URLResource].getResourceManagerRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: '[io.undertow.server.handlers.resource.URLResource].getResourceManagerRootPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.URLResource].getResourceManagerRootPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URL
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: '[io.undertow.server.handlers.resource.URLResource].getUrl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.URL
    signature: '[io.undertow.server.handlers.resource.URLResource].getUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.URLResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,boolean,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.resource.URLResource:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - long
      - long
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sender
    - exchange
    - start
    - end
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - long
    - long
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: '[io.undertow.server.handlers.resource.URLResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.URLResource].serveImpl(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,boolean,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.URLResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URL
      - String
      - boolean
      - java.util.Date
      - Long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.Resource
      - io.undertow.server.handlers.resource.RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: '[io.undertow.server.handlers.resource.URLResource].isRangeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/URLResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.URLResource].isRangeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathResourceManager.class.getName()
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:34,1
    - Dst: '[ETagFunction].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:36,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:43,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:71,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,null)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - base
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - Boolean.getBoolean(String)
    - '[ETagFunction].<init>()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,null)'
    - '[java.util.ArrayList].<init>()'
    - PathResourceManager.class.getName()
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathResourceManager.class.getName()
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:34,1
    - Dst: '[ETagFunction].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:36,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:43,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:71,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,null)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - base
    - transferMinSize
    argTypes:
    - java.nio.file.Path
    - long
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - Boolean.getBoolean(String)
    - '[ETagFunction].<init>()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,null)'
    - '[java.util.ArrayList].<init>()'
    - PathResourceManager.class.getName()
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathResourceManager.class.getName()
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:34,1
    - Dst: '[ETagFunction].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:36,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:43,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:71,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,java.util.TreeSet<String>)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - long
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - base
    - transferMinSize
    - followLinks
    argTypes:
    - java.nio.file.Path
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - Boolean.getBoolean(String)
    - '[ETagFunction].<init>()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,java.util.TreeSet<String>)'
    - '[java.util.ArrayList].<init>()'
    - PathResourceManager.class.getName()
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathResourceManager.class.getName()
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:34,1
    - Dst: '[ETagFunction].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:36,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:43,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:71,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(long,boolean,boolean,boolean,java.util.TreeSet<String>)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - transferMinSize
    - caseSensitive
    - followLinks
    argTypes:
    - long
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(long,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(long,boolean,boolean,boolean,java.util.TreeSet<String>)'
    - '[java.util.TreeSet].<init>()'
    - Boolean.getBoolean(String)
    - '[ETagFunction].<init>()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.util.ArrayList].<init>()'
    - PathResourceManager.class.getName()
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(long,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathResourceManager.class.getName()
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:34,1
    - Dst: '[ETagFunction].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:36,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:43,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:71,1
    - Dst: '[java.nio.file.FileSystems].getDefault()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:98,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:105,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:109,1
    - Dst: '[java.util.Arrays].asList(java.util.TreeSet<String>)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:112,1
    - Dst: '[java.util.TreeSet<String>].addAll(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - boolean
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - transferMinSize
    - caseSensitive
    - followLinks
    - allowResourceChangeListeners
    argTypes:
    - long
    - boolean
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(long,boolean,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - Boolean.getBoolean(String)
    - '[ETagFunction].<init>()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.nio.file.FileSystems].getDefault()'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.Arrays].asList(java.util.TreeSet<String>)'
    - '[java.util.TreeSet<String>].addAll(io.undertow.server.handlers.resource.PathResourceManager)'
    - PathResourceManager.class.getName()
    - '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(long,boolean,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathResourceManager.class.getName()
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:34,1
    - Dst: '[ETagFunction].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:36,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:43,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:71,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,boolean,java.util.TreeSet<String>)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - long
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - base
    - transferMinSize
    - caseSensitive
    - followLinks
    argTypes:
    - java.nio.file.Path
    - long
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - Boolean.getBoolean(String)
    - '[ETagFunction].<init>()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,boolean,java.util.TreeSet<String>)'
    - '[java.util.ArrayList].<init>()'
    - PathResourceManager.class.getName()
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathResourceManager.class.getName()
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:34,1
    - Dst: '[ETagFunction].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:36,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:43,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:71,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].builder()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:122,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setBase(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:122,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].setTransferMinSize(long)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:122,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].setCaseSensitive(boolean)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:122,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].setFollowLinks(boolean)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:122,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].setAllowResourceChangeListeners(boolean)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:122,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].setSafePaths(java.util.TreeSet<String>)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:122,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - long
      - boolean
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - base
    - transferMinSize
    - caseSensitive
    - followLinks
    - allowResourceChangeListeners
    argTypes:
    - java.nio.file.Path
    - long
    - boolean
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - Boolean.getBoolean(String)
    - '[ETagFunction].<init>()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].builder()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].setCaseSensitive(boolean)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].setTransferMinSize(long)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].setSafePaths(java.util.TreeSet<String>)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].setAllowResourceChangeListeners(boolean)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setBase(java.nio.file.Path)'
    - '[java.util.ArrayList].<init>()'
    - PathResourceManager.class.getName()
    - '[io.undertow.server.handlers.resource.PathResourceManager].setFollowLinks(boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(java.nio.file.Path,long,boolean,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathResourceManager.class.getName()
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:32,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:34,1
    - Dst: '[ETagFunction].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:36,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:43,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:71,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:134,1
    - Dst: builder.base.getFileSystem()
      Src: io.undertow.server.handlers.resource.PathResourceManager:136,1
    - Dst: builder.base.normalize()
      Src: io.undertow.server.handlers.resource.PathResourceManager:140,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toRealPath()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:140,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:140,1
    - Dst: builder.base.normalize()
      Src: io.undertow.server.handlers.resource.PathResourceManager:142,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toRealPath(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:142,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:142,1
    - Dst: builder.base.toString()
      Src: io.undertow.server.handlers.resource.PathResourceManager:145,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].failedToInitializePathManager(io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:145,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:147,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].endsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:147,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:148,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:156,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:160,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:163,1
    - Dst: '[java.util.TreeSet<String>].addAll(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:163,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - Builder
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - builder
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 166
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(Builder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - Boolean.getBoolean(String)
    - '[ETagFunction].<init>()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].endsWith(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].toRealPath(io.undertow.server.handlers.resource.PathResourceManager)'
    - builder.base.getFileSystem()
    - '[io.undertow.server.handlers.resource.PathResourceManager].toRealPath()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
    - '[java.nio.file.FileSystem].getSeparator()'
    - '[java.util.TreeSet<String>].addAll(io.undertow.server.handlers.resource.PathResourceManager)'
    - builder.base.normalize()
    - '[java.util.ArrayList].<init>()'
    - builder.base.toString()
    - '[java.util.Arrays].asList(io.undertow.server.handlers.resource.PathResourceManager)'
    - PathResourceManager.class.getName()
    - '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].failedToInitializePathManager(io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(Builder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.FileSystem].getPath(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].getBasePath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 2
    functionsReached:
    - '[java.nio.file.FileSystem].getPath(String)'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].getBasePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:174,1
    - Dst: '[java.nio.file.Path].getFileSystem()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:176,1
    - Dst: '[java.nio.file.Path].toAbsolutePath()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:177,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:177,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:178,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].endsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:178,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - base
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].setBase(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Path].getFileSystem()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].endsWith(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.nio.file.FileSystem].getSeparator()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
    - '[java.nio.file.Path].toAbsolutePath()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].setBase(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:187,1
    - Dst: '[java.nio.file.FileSystems].getDefault()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:189,1
    - Dst: '[java.io.File].getAbsolutePath()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:190,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:191,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].endsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:191,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - base
    argTypes:
    - java.io.File
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].setBase(java.io.File)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResourceManager].endsWith(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.io.File].getAbsolutePath()'
    - '[java.nio.file.FileSystem].getSeparator()'
    - '[java.nio.file.FileSystems].getDefault()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].setBase(java.io.File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:204,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:205,1
    - Dst: '[java.nio.file.FileSystem].getPath(String,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:210,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].normalize()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:211,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:211,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:212,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:213,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:213,1
    - Dst: '[String].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:215,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:216,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:220,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:224,1
    - Dst: path.endsWith(String)
      Src: io.undertow.server.handlers.resource.PathResourceManager:225,1
    - Dst: '[java.nio.file.Files].isDirectory(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:225,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:227,1
    - Dst: '[java.util.TreeSet<String>].isEmpty()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:230,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getSymlinkBase(String,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:231,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].isSymlinkSafe(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:233,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getFileResource(io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:234,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:236,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getFileResource(io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:240,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:243,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].debugf(io.undertow.server.handlers.resource.PathResourceManager,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:247,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].errorf(io.undertow.server.handlers.resource.PathResourceManager,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:250,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].debugf(io.undertow.server.handlers.resource.PathResourceManager,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:253,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 256
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(String)'
    - '[String].substring(int)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getSymlinkBase(String,io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].length()'
    - '[java.util.TreeSet<String>].isEmpty()'
    - '[String].length()'
    - path.endsWith(String)
    - '[io.undertow.server.handlers.resource.PathResourceManager].errorf(io.undertow.server.handlers.resource.PathResourceManager,String,String)'
    - '[String].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[String].startsWith(String)'
    - '[java.nio.file.Files].isDirectory(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.nio.file.Files].exists(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].isSymlinkSafe(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].debugf(io.undertow.server.handlers.resource.PathResourceManager,String,String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getFileResource(io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].normalize()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getFileResource(io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.jboss.logging.Logger].tracef(String,String,String)'
    - '[java.nio.file.FileSystem].getPath(String,io.undertow.server.handlers.resource.PathResourceManager)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].isResourceChangeListenerSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].isResourceChangeListenerSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.FileSystems].getDefault()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:270,1
    - Dst: '[java.nio.file.FileSystem].equals(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:270,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:271,1
    - Dst: '[java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>].add(io.undertow.server.handlers.resource.ResourceChangeListener)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:273,1
    - Dst: '[org.xnio.Xnio].getInstance()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:275,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].createFileSystemWatcher(String,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:275,1
    - Dst: '[java.io.File].<init>(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:276,1
    - Dst: '[org.xnio.FileChangeCallback].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:276,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].watchPath(java.io.File,org.xnio.FileChangeCallback)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceChangeListener
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.handlers.resource.ResourceChangeListener
    constantsTouched: []
    func_position:
      end: 297
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 297
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResourceManager].createFileSystemWatcher(String,io.undertow.server.handlers.resource.PathResourceManager)'
    - '[IllegalStateException].<init>(String)'
    - '[java.nio.file.FileSystem].equals(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.xnio.Xnio].getInstance()'
    - '[java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>].add(io.undertow.server.handlers.resource.ResourceChangeListener)'
    - '[java.nio.file.FileSystems].getDefault()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].watchPath(java.io.File,org.xnio.FileChangeCallback)'
    - '[java.io.File].<init>(String)'
    - '[org.xnio.FileChangeCallback].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>].remove(io.undertow.server.handlers.resource.ResourceChangeListener)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceChangeListener
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.handlers.resource.ResourceChangeListener
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>].remove(io.undertow.server.handlers.resource.ResourceChangeListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].getTransferMinSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].getTransferMinSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.FileSystemWatcher].close()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.FileSystemWatcher].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].getNameCount()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:323,1
    - Dst: '[java.nio.file.FileSystem].getPath(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:324,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getNameCount()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:325,1
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].isSymbolicLink(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:328,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager.SymlinkResult].<init>(io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:329,1
    - Dst: f.getParent()
      Src: io.undertow.server.handlers.resource.PathResourceManager:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: SymlinkResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - base
    - file
    argTypes:
    - String
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 335
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 335
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].getSymlinkBase(String,java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Path].getNameCount()'
    - '[io.undertow.server.handlers.resource.PathResourceManager.SymlinkResult].<init>(io.undertow.server.handlers.resource.PathResourceManager,io.undertow.server.handlers.resource.PathResourceManager)'
    - f.getParent()
    - '[io.undertow.websockets.jsr.SecurityActions].isSymbolicLink(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getNameCount()'
    - '[java.nio.file.FileSystem].getPath(String)'
    linkageType: ''
    returnType: SymlinkResult
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].getSymlinkBase(String,java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].toRealPath()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:348,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:348,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].equals(String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - file
    - normalizeFile
    argTypes:
    - java.nio.file.Path
    - String
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].isFileSameCase(java.nio.file.Path,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 1
    functionsReached:
    - '[java.nio.file.Path].toRealPath()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].equals(String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].isFileSameCase(java.nio.file.Path,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].toRealPath()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:357,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:357,1
    - Dst: safePath.length()
      Src: io.undertow.server.handlers.resource.PathResourceManager:359,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:360,1
    - Dst: safePath.startsWith(io.undertow.server.handlers.resource.PathResourceManager)
      Src: io.undertow.server.handlers.resource.PathResourceManager:360,1
    - Dst: safePath.length()
      Src: io.undertow.server.handlers.resource.PathResourceManager:364,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:365,1
    - Dst: safePath.length()
      Src: io.undertow.server.handlers.resource.PathResourceManager:365,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:366,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:373,1
    - Dst: '[java.nio.file.FileSystem].getPath(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:374,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toRealPath()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:375,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:375,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:376,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:377,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:377,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:378,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 386
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 386
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].isSymlinkSafe(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - safePath.length()
    - '[java.nio.file.FileSystem].getPath(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.nio.file.Path].toRealPath()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.nio.file.FileSystem].getSeparator()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].toRealPath()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].length()'
    - safePath.startsWith(io.undertow.server.handlers.resource.PathResourceManager)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].isSymlinkSafe(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Path].normalize()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:394,1
    - Dst: '[java.nio.file.Path].relativize(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:394,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:394,1
    - Dst: '[java.nio.file.Path].toRealPath()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:395,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:395,1
    - Dst: '[java.nio.file.Path].toRealPath()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:396,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:396,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:397,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:398,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:401,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].substring(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:401,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:402,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:402,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:403,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:403,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].substring(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:403,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:405,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:405,1
    - Dst: '[java.nio.file.FileSystem].getSeparator()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:406,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].length()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:406,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].substring(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:406,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].equals(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:408,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:409,1
    - Dst: '[ETagFunction].generate(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:410,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,String,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:410,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:412,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].isFileSameCase(java.nio.file.Path,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:414,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:415,1
    - Dst: '[ETagFunction].generate(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:416,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,String,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:416,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:418,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,String,String)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:422,1
    - Dst: '[ETagFunction].generate(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:423,1
    - Dst: '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,String,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.PathResourceManager:423,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - String
      - java.nio.file.Path
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.PathResource
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - file
    - path
    - symlinkBase
    - normalizedFile
    argTypes:
    - java.nio.file.Path
    - String
    - java.nio.file.Path
    - String
    constantsTouched: []
    func_position:
      end: 425
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 425
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].getFileResource(java.nio.file.Path,String,java.nio.file.Path,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Path].normalize()'
    - '[ETagFunction].generate(java.nio.file.Path)'
    - '[org.jboss.logging.Logger].tracef(String,String,String,String)'
    - '[java.nio.file.Path].relativize(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].isFileSameCase(java.nio.file.Path,String)'
    - '[java.nio.file.Path].toRealPath()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].startsWith(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[java.nio.file.FileSystem].getSeparator()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].toString()'
    - '[io.undertow.server.handlers.resource.PathResource].<init>(java.nio.file.Path,String,io.undertow.server.handlers.resource.PathResourceManager)'
    - '[org.jboss.logging.Logger].tracef(String,String,String)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].equals(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].substring(io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].length()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResource
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].getFileResource(java.nio.file.Path,String,java.nio.file.Path,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - boolean
      - long
      - ETagFunction
      - java.util.List<io.undertow.server.handlers.resource.ResourceChangeListener>
      - org.xnio.FileSystemWatcher
      - String
      - java.nio.file.FileSystem
      - long
      - boolean
      - boolean
      - java.util.TreeSet<String>
      - ETagFunction
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - Path
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager.SymlinkResult
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - requiresCheck
    - path
    argTypes:
    - boolean
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.SymlinkResult].<init>(boolean,java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager.SymlinkResult
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.SymlinkResult].<init>(boolean,java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.ETag
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.ETagFunction].generate(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.ETagFunction].generate(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager.ETagFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.ETagFunction].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager.ETagFunction
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.ETagFunction].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.PathResourceManager.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.PathResourceManager.Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - base
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setBase(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setBase(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - transferMinSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setTransferMinSize(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setTransferMinSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - caseSensitive
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setCaseSensitive(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setCaseSensitive(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - followLinks
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setFollowLinks(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setFollowLinks(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - allowResourceChangeListeners
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setAllowResourceChangeListeners(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setAllowResourceChangeListeners(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ETagFunction
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - eTagFunction
    argTypes:
    - ETagFunction
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setETagFunction(ETagFunction)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setETagFunction(ETagFunction)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - safePaths
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setSafePaths(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].setSafePaths(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>()'
      Src: io.undertow.server.handlers.resource.PathResourceManager.Builder:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - long
      - boolean
      - boolean
      - boolean
      - ETagFunction
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/PathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceManager
    signature: '[io.undertow.server.handlers.resource.PathResourceManager.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,int,boolean,boolean,null)'
      Src: io.undertow.server.handlers.resource.FileResourceManager:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.FileResourceManager
      static: false
      superClass: io.undertow.server.handlers.resource.PathResourceManager
    argCount: 1
    argNames:
    - base
    argTypes:
    - java.io.File
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/FileResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,int,boolean,boolean,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.FileResourceManager
    signature: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long,boolean,boolean,null)'
      Src: io.undertow.server.handlers.resource.FileResourceManager:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.FileResourceManager
      static: false
      superClass: io.undertow.server.handlers.resource.PathResourceManager
    argCount: 2
    argNames:
    - base
    - transferMinSize
    argTypes:
    - java.io.File
    - long
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/FileResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long,boolean,boolean,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.FileResourceManager
    signature: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long,boolean,boolean,io.undertow.server.handlers.resource.FileResourceManager)'
      Src: io.undertow.server.handlers.resource.FileResourceManager:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      - long
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.FileResourceManager
      static: false
      superClass: io.undertow.server.handlers.resource.PathResourceManager
    argCount: 3
    argNames:
    - base
    - transferMinSize
    - followLinks
    argTypes:
    - java.io.File
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/FileResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long,boolean,boolean,io.undertow.server.handlers.resource.FileResourceManager)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.FileResourceManager
    signature: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(long,boolean,boolean,io.undertow.server.handlers.resource.FileResourceManager)'
      Src: io.undertow.server.handlers.resource.FileResourceManager:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.FileResourceManager
      static: false
      superClass: io.undertow.server.handlers.resource.PathResourceManager
    argCount: 3
    argNames:
    - transferMinSize
    - caseSensitive
    - followLinks
    argTypes:
    - long
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(long,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/FileResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(long,boolean,boolean,io.undertow.server.handlers.resource.FileResourceManager)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.FileResourceManager
    signature: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(long,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.resource.FileResourceManager:50,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.resource.FileResourceManager,long,boolean,boolean,io.undertow.server.handlers.resource.FileResourceManager)'
      Src: io.undertow.server.handlers.resource.FileResourceManager:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      - long
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.FileResourceManager
      static: false
      superClass: io.undertow.server.handlers.resource.PathResourceManager
    argCount: 4
    argNames:
    - base
    - transferMinSize
    - caseSensitive
    - followLinks
    argTypes:
    - java.io.File
    - long
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/FileResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].toPath()'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.resource.FileResourceManager,long,boolean,boolean,io.undertow.server.handlers.resource.FileResourceManager)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.FileResourceManager
    signature: '[io.undertow.server.handlers.resource.FileResourceManager].<init>(java.io.File,long,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.File].<init>(io.undertow.server.handlers.resource.FileResourceManager)'
      Src: io.undertow.server.handlers.resource.FileResourceManager:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: io.undertow.server.handlers.resource.PathResourceManager
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.handlers.resource.FileResourceManager].getBase()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/FileResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(io.undertow.server.handlers.resource.FileResourceManager)'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.resource.FileResourceManager].getBase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.FileResourceManager].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.resource.FileResourceManager:59,1
    - Dst: '[java.io.File].getAbsolutePath()'
      Src: io.undertow.server.handlers.resource.FileResourceManager:61,1
    - Dst: '[io.undertow.server.handlers.resource.FileResourceManager].endsWith(String)'
      Src: io.undertow.server.handlers.resource.FileResourceManager:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.File
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.FileResourceManager
      static: false
      superClass: io.undertow.server.handlers.resource.PathResourceManager
    argCount: 1
    argNames:
    - base
    argTypes:
    - java.io.File
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.resource.FileResourceManager].setBase(java.io.File)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/FileResourceManager.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].getAbsolutePath()'
    - '[io.undertow.server.handlers.resource.FileResourceManager].endsWith(String)'
    - '[io.undertow.server.handlers.resource.FileResourceManager].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.FileResourceManager
    signature: '[io.undertow.server.handlers.resource.FileResourceManager].setBase(java.io.File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - long
      - long
      - io.undertow.io.IoCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sender
    - exchange
    - start
    - end
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - long
    - long
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.handlers.resource.RangeAwareResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/RangeAwareResource.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.RangeAwareResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.handlers.resource.RangeAwareResource].isRangeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/RangeAwareResource.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.RangeAwareResource].isRangeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.RangeAwareResource
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.RangeAwareResource].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/RangeAwareResource.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.RangeAwareResource
    signature: '[io.undertow.server.handlers.resource.RangeAwareResource].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.server.handlers.resource.SecurityActions:28,1
    - Dst: '[java.nio.file.Files].isSymbolicLink(java.nio.file.Path)'
      Src: io.undertow.server.handlers.resource.SecurityActions:29,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Boolean>)
      Src: io.undertow.server.handlers.resource.SecurityActions:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.handlers.resource.SecurityActions].isSymbolicLink(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/SecurityActions.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<Boolean>)
    - '[java.nio.file.Files].isSymbolicLink(java.nio.file.Path)'
    linkageType: ''
    returnType: Boolean
    signature: '[io.undertow.server.handlers.resource.SecurityActions].isSymbolicLink(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.SecurityActions
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.SecurityActions].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/SecurityActions.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.SecurityActions
    signature: '[io.undertow.server.handlers.resource.SecurityActions].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.handlers.resource.ResourceManager].getResource(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceManager.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.ResourceManager].getResource(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.resource.ResourceManager].isResourceChangeListenerSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceManager.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.ResourceManager].isResourceChangeListenerSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceChangeListener
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.handlers.resource.ResourceChangeListener
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.resource.ResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceManager.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceChangeListener
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.handlers.resource.ResourceChangeListener
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.resource.ResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.ResourceManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceManager
    signature: '[io.undertow.server.handlers.resource.ResourceManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Package].getName()'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:41,1
    - Dst: '[io.undertow.server.handlers.resource.ClassPathResourceManager].replace(String,String)'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:41,1
    - Dst: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader,io.undertow.server.handlers.resource.ClassPathResourceManager)'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      - Package
      classConcrete: true
      classEnum: false
      classFields:
      - ClassLoader
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ClassPathResourceManager
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - loader
    - p
    argTypes:
    - ClassLoader
    - Package
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader,Package)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[Package].getName()'
    - '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader,io.undertow.server.handlers.resource.ClassPathResourceManager)'
    - '[io.undertow.server.handlers.resource.ClassPathResourceManager].replace(String,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ClassPathResourceManager
    signature: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader,Package)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:46,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ClassLoader
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ClassPathResourceManager
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - classLoader
    - prefix
    argTypes:
    - ClassLoader
    - String
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java
    functionUses: 1
    functionsReached:
    - '[String].isEmpty()'
    - '[String].endsWith(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ClassPathResourceManager
    signature: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader,String)'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - ClassLoader
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ClassPathResourceManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - classLoader
    argTypes:
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ClassPathResourceManager
    signature: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modPath.startsWith(String)
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:65,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:66,1
    - Dst: '[ClassLoader].getResource(io.undertow.server.handlers.resource.ClassPathResourceManager)'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:69,1
    - Dst: '[io.undertow.server.handlers.resource.URLResource].<init>(io.undertow.server.handlers.resource.ClassPathResourceManager,String)'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ClassLoader
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.resource.ClassPathResourceManager].getResource(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java
    functionUses: 1
    functionsReached:
    - '[String].substring(int)'
    - modPath.startsWith(String)
    - '[ClassLoader].getResource(io.undertow.server.handlers.resource.ClassPathResourceManager)'
    - '[io.undertow.server.handlers.resource.URLResource].<init>(io.undertow.server.handlers.resource.ClassPathResourceManager,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.ClassPathResourceManager].getResource(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClassLoader
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.resource.ClassPathResourceManager].isResourceChangeListenerSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.ClassPathResourceManager].isResourceChangeListenerSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ClassPathResourceManager].resourceChangeListenerNotSupported()'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceChangeListener
      classConcrete: true
      classEnum: false
      classFields:
      - ClassLoader
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.handlers.resource.ResourceChangeListener
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.resource.ClassPathResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ClassPathResourceManager].resourceChangeListenerNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ClassPathResourceManager].registerResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ClassPathResourceManager].resourceChangeListenerNotSupported()'
      Src: io.undertow.server.handlers.resource.ClassPathResourceManager:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceChangeListener
      classConcrete: true
      classEnum: false
      classFields:
      - ClassLoader
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.handlers.resource.ResourceChangeListener
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.resource.ClassPathResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ClassPathResourceManager].resourceChangeListenerNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ClassPathResourceManager].removeResourceChangeListener(io.undertow.server.handlers.resource.ResourceChangeListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ClassLoader
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.handlers.resource.ResourceManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.resource.ClassPathResourceManager].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ClassPathResourceManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ClassPathResourceManager].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:69,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:69,1
    - Dst: Blobs.FILE_CSS_BUFFER.duplicate()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:70,1
    - Dst: '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:74,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:74,1
    - Dst: Blobs.FILE_JS_BUFFER.duplicate()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:75,1
    - Dst: '[io.undertow.util.ETag].<init>(boolean,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:83,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETag,boolean)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:83,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:84,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:88,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].limit()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:88,1
    - Dst: String.valueOf(io.undertow.server.handlers.resource.DirectoryUtils)
      Src: io.undertow.server.handlers.resource.DirectoryUtils:88,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:88,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:89,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:89,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:90,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:90,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:91,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:91,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:92,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:95,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 101
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].sendRequestedBlobs(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 1
    functionsReached:
    - Blobs.FILE_JS_BUFFER.duplicate()
    - '[io.undertow.server.HttpServerExchange].getDecodedQueryString()'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[String].equals(String)'
    - '[io.undertow.util.ETag].<init>(boolean,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETag,boolean)'
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.resource.DirectoryUtils)'
    - String.valueOf(io.undertow.server.handlers.resource.DirectoryUtils)
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - Blobs.FILE_CSS_BUFFER.duplicate()
    - '[io.undertow.server.handlers.resource.DirectoryUtils].limit()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].sendRequestedBlobs(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(null,String,io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.handlers.resource.Resource
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: StringBuilder
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - path
    - resource
    argTypes:
    - String
    - io.undertow.server.handlers.resource.Resource
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(String,io.undertow.server.handlers.resource.Resource)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(null,String,io.undertow.server.handlers.resource.Resource)'
    linkageType: ''
    returnType: StringBuilder
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(String,io.undertow.server.handlers.resource.Resource)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:114,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].determineRelativePath(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:118,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:124,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:124,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:125,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:125,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].getFirst()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:125,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:127,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:127,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:128,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:128,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].getFirst()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:128,1
    - Dst: '[String].equals(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:132,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].buildDirectoryListingTable(io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:135,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].getParentPath(io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:138,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].appendParentDirectory(io.undertow.server.handlers.resource.Resource,StringBuilder,String,String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:143,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:146,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:147,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].separateDirectoriesAndFiles(io.undertow.server.handlers.resource.Resource,java.util.ArrayList,java.util.ArrayList)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:148,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].getComparator(io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:150,1
    - Dst: '[java.util.ArrayList].sort(java.util.Comparator<io.undertow.server.handlers.resource.Resource>)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:151,1
    - Dst: '[java.util.ArrayList].sort(java.util.Comparator<io.undertow.server.handlers.resource.Resource>)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:152,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].appendDirectories(java.util.ArrayList,StringBuilder,io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:154,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].appendFiles(java.util.ArrayList,StringBuilder,io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:155,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - io.undertow.server.handlers.resource.Resource
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: StringBuilder
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - path
    - resource
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - io.undertow.server.handlers.resource.Resource
    constantsTouched: []
    func_position:
      end: 161
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(io.undertow.server.HttpServerExchange,String,io.undertow.server.handlers.resource.Resource)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].sort(java.util.Comparator<io.undertow.server.handlers.resource.Resource>)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].separateDirectoriesAndFiles(io.undertow.server.handlers.resource.Resource,java.util.ArrayList,java.util.ArrayList)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].getParentPath(io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].appendDirectories(java.util.ArrayList,StringBuilder,io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].determineRelativePath(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].getComparator(io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].appendParentDirectory(io.undertow.server.handlers.resource.Resource,StringBuilder,String,String)'
    - '[String].equals(io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].getFirst()'
    - '[String].endsWith(String)'
    - '[java.util.ArrayList].<init>()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].buildDirectoryListingTable(io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].appendFiles(java.util.ArrayList,StringBuilder,io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
    linkageType: ''
    returnType: StringBuilder
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(io.undertow.server.HttpServerExchange,String,io.undertow.server.handlers.resource.Resource)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Date].toInstant()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:168,1
    - Dst: '[java.time.ZoneId].systemDefault()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:169,1
    - Dst: '[java.time.ZonedDateTime].ofInstant(io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:167,1
    - Dst: '[java.time.format.DateTimeFormatter].ofLocalizedDateTime(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:171,1
    - Dst: '[java.util.Locale].getDefault()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:172,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].withLocale(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:171,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].format(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - lastModified
    argTypes:
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].formatLastModified(java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 1
    functionsReached:
    - '[java.time.ZonedDateTime].ofInstant(io.undertow.server.handlers.resource.DirectoryUtils,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[java.util.Date].toInstant()'
    - '[java.time.format.DateTimeFormatter].ofLocalizedDateTime(io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[java.time.ZoneId].systemDefault()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].withLocale(io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[java.util.Locale].getDefault()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].format(io.undertow.server.handlers.resource.DirectoryUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].formatLastModified(java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:178,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:178,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:178,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:178,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getLastModified()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:179,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].formatLastModified(java.util.Date)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:179,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:179,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.Resource
      - StringBuilder
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - resource
    - builder
    - relative
    - parent
    argTypes:
    - io.undertow.server.handlers.resource.Resource
    - StringBuilder
    - String
    - String
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].appendParentDirectory(io.undertow.server.handlers.resource.Resource,StringBuilder,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getLastModified()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].formatLastModified(java.util.Date)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].appendParentDirectory(io.undertow.server.handlers.resource.Resource,StringBuilder,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:185,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:186,1
    - Dst: '[String].charAt(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:188,1
    - Dst: '[String].charAt(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:191,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - path
    - state
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].getParentPath(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[String].substring(int,int)'
    - '[String].length()'
    - '[String].charAt(io.undertow.server.handlers.resource.DirectoryUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].getParentPath(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: entry.getName()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:209,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: entry.getName()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:210,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: entry.getLastModified()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:211,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].formatLastModified(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:211,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:208,1
    - Dst: entry.getContentLength()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:213,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].formatSize(StringBuilder,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:213,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.server.handlers.resource.Resource>
      - StringBuilder
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - files
    - builder
    - i
    - sortUrl
    argTypes:
    - java.util.List<io.undertow.server.handlers.resource.Resource>
    - StringBuilder
    - int
    - String
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].appendFiles(java.util.List<io.undertow.server.handlers.resource.Resource>,StringBuilder,int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.DirectoryUtils].formatLastModified(io.undertow.server.handlers.resource.DirectoryUtils)'
    - entry.getLastModified()
    - entry.getName()
    - '[io.undertow.server.handlers.resource.DirectoryUtils].formatSize(StringBuilder,io.undertow.server.handlers.resource.DirectoryUtils)'
    - entry.getContentLength()
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append(io.undertow.server.handlers.resource.DirectoryUtils)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].appendFiles(java.util.List<io.undertow.server.handlers.resource.Resource>,StringBuilder,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: entry.getName()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:221,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: entry.getName()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:222,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: entry.getLastModified()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:223,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].formatLastModified(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:223,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.server.handlers.resource.Resource>
      - StringBuilder
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - directories
    - builder
    - i
    - sortUrl
    argTypes:
    - java.util.List<io.undertow.server.handlers.resource.Resource>
    - StringBuilder
    - int
    - String
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].appendDirectories(java.util.List<io.undertow.server.handlers.resource.Resource>,StringBuilder,int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.DirectoryUtils].formatLastModified(io.undertow.server.handlers.resource.DirectoryUtils)'
    - entry.getLastModified()
    - entry.getName()
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append(io.undertow.server.handlers.resource.DirectoryUtils)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].appendDirectories(java.util.List<io.undertow.server.handlers.resource.Resource>,StringBuilder,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:230,1
    - Dst: '[java.util.Comparator].comparing()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:231,1
    - Dst: '[java.util.Comparator].comparing()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:235,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:238,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].reversed()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Comparator<io.undertow.server.handlers.resource.Resource>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - sortColumn
    - currentSortOrder
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].getComparator(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.DirectoryUtils].reversed()'
    - '[java.util.Comparator].comparing()'
    - '[String].equals(String)'
    linkageType: ''
    returnType: java.util.Comparator<io.undertow.server.handlers.resource.Resource>
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].getComparator(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].list()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:245,1
    - Dst: entry.isDirectory()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:246,1
    - Dst: '[java.util.List<io.undertow.server.handlers.resource.Resource>].add(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:247,1
    - Dst: '[java.util.List<io.undertow.server.handlers.resource.Resource>].add(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.Resource
      - java.util.List<io.undertow.server.handlers.resource.Resource>
      - java.util.List<io.undertow.server.handlers.resource.Resource>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - resource
    - directories
    - files
    argTypes:
    - io.undertow.server.handlers.resource.Resource
    - java.util.List<io.undertow.server.handlers.resource.Resource>
    - java.util.List<io.undertow.server.handlers.resource.Resource>
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].separateDirectoriesAndFiles(io.undertow.server.handlers.resource.Resource,java.util.List<io.undertow.server.handlers.resource.Resource>,java.util.List<io.undertow.server.handlers.resource.Resource>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].list()'
    - entry.isDirectory()
    - '[java.util.List<io.undertow.server.handlers.resource.Resource>].add(io.undertow.server.handlers.resource.DirectoryUtils)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].separateDirectoriesAndFiles(io.undertow.server.handlers.resource.Resource,java.util.List<io.undertow.server.handlers.resource.Resource>,java.util.List<io.undertow.server.handlers.resource.Resource>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:255,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:256,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:256,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:256,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:256,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:256,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:256,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:258,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:259,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StringBuilder
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - sortUrl
    - sortColumn
    - newSortOrder
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].buildDirectoryListingTable(String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append(String)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: StringBuilder
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].buildDirectoryListingTable(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:271,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].get(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:273,1
    - Dst: trans.isOverWritten()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:276,1
    - Dst: trans.getPrefix()
      Src: io.undertow.server.handlers.resource.DirectoryUtils:277,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].endsWith(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:278,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - path
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].determineRelativePath(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - trans.getPrefix()
    - '[io.undertow.server.handlers.resource.DirectoryUtils].endsWith(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.resource.DirectoryUtils)'
    - trans.isOverWritten()
    - '[io.undertow.server.handlers.resource.DirectoryUtils].get(String)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].determineRelativePath(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:289,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:290,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:291,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:292,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:292,1
    - Dst: '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String,boolean)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:292,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:292,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:293,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(io.undertow.server.HttpServerExchange,String,io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:297,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:300,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].getBytes(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:300,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:300,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:301,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:301,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:302,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].limit()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:302,1
    - Dst: String.valueOf(io.undertow.server.handlers.resource.DirectoryUtils)
      Src: io.undertow.server.handlers.resource.DirectoryUtils:302,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:302,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:303,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:303,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:303,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:303,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:304,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:304,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:305,1
    - Dst: '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:305,1
    - Dst: '[IllegalStateException].<init>(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:307,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].ioException(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:309,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:310,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.resource.Resource
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - resource
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.resource.Resource
    constantsTouched: []
    func_position:
      end: 314
      start: 288
    functionDepth: 7
    functionLinenumber: 288
    functionLinenumberEnd: 314
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.resource.Resource)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].ioException(io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[org.xnio.channels.Channels].writeBlocking(org.xnio.channels.StreamSinkChannel,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(io.undertow.server.HttpServerExchange,String,io.undertow.server.handlers.resource.Resource)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].getBytes(io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[IllegalStateException].<init>(io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String,boolean)'
    - String.valueOf(io.undertow.server.handlers.resource.DirectoryUtils)
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].limit()'
    - '[java.util.Date].<init>()'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[String].endsWith(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].renderDirectoryListing(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.resource.Resource)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:319,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:333,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:335,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].append(int)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:335,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:338,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:344,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:345,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:346,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - Long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StringBuilder
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - builder
    - size
    argTypes:
    - StringBuilder
    - Long
    constantsTouched: []
    func_position:
      end: 350
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 350
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].formatSize(StringBuilder,Long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].append(int)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: StringBuilder
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].formatSize(StringBuilder,Long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.DirectoryUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.DirectoryUtils
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:535,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].update(byte[])'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:536,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].digest()'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:537,1
    - Dst: '[String].<init>(byte[],io.undertow.server.handlers.resource.DirectoryUtils)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:538,1
    - Dst: '[InternalError].<init>(String)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils].md5(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.DirectoryUtils].update(byte[])'
    - '[io.undertow.server.handlers.resource.DirectoryUtils].digest()'
    - '[String].<init>(byte[],io.undertow.server.handlers.resource.DirectoryUtils)'
    - '[InternalError].<init>(String)'
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils].md5(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.handlers.resource.DirectoryUtils.Blobs)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils.Blobs:399,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils.Blobs].md5(io.undertow.server.handlers.resource.DirectoryUtils.Blobs)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils.Blobs:399,1
    - Dst: '[String].getBytes(io.undertow.server.handlers.resource.DirectoryUtils.Blobs)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils.Blobs:504,1
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils.Blobs].md5(io.undertow.server.handlers.resource.DirectoryUtils.Blobs)'
      Src: io.undertow.server.handlers.resource.DirectoryUtils.Blobs:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - ByteBuffer
      - ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.DirectoryUtils.Blobs
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.DirectoryUtils.Blobs].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/DirectoryUtils.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.server.handlers.resource.DirectoryUtils.Blobs)'
    - '[io.undertow.server.handlers.resource.DirectoryUtils.Blobs].md5(io.undertow.server.handlers.resource.DirectoryUtils.Blobs)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.DirectoryUtils.Blobs
    signature: '[io.undertow.server.handlers.resource.DirectoryUtils.Blobs].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<io.undertow.server.handlers.resource.ResourceChangeEvent>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - changes
    argTypes:
    - java.util.Collection<io.undertow.server.handlers.resource.ResourceChangeEvent>
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.server.handlers.resource.ResourceChangeListener].handleChanges(java.util.Collection<io.undertow.server.handlers.resource.ResourceChangeEvent>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceChangeListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ResourceChangeListener].handleChanges(java.util.Collection<io.undertow.server.handlers.resource.ResourceChangeEvent>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceChangeListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.ResourceChangeListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceChangeListener.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceChangeListener
    signature: '[io.undertow.server.handlers.resource.ResourceChangeListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:68,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:81,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:96,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:97,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceManager,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceManager
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - resourceSupplier
    argTypes:
    - io.undertow.server.handlers.resource.ResourceManager
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceManager,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:68,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:81,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:96,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:97,1
    - Dst: '[io.undertow.server.handlers.resource.DefaultResourceSupplier].<init>(io.undertow.server.handlers.resource.ResourceManager)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceManager
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - resourceManager
    - next
    argTypes:
    - io.undertow.server.handlers.resource.ResourceManager
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceManager,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.DefaultResourceSupplier].<init>(io.undertow.server.handlers.resource.ResourceManager)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceManager,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:68,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:81,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:96,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:97,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceSupplier,io.undertow.server.handlers.ResponseCodeHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceSupplier
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - resourceSupplier
    argTypes:
    - io.undertow.server.handlers.resource.ResourceSupplier
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceSupplier)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceSupplier,io.undertow.server.handlers.ResponseCodeHandler)'
    - '[java.util.HashSet].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceSupplier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:68,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:81,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:96,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - resourceManager
    - next
    argTypes:
    - io.undertow.server.handlers.resource.ResourceSupplier
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceSupplier,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.ResourceSupplier,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:68,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:81,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:96,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:149,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:149,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:150,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:150,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].serveResource(io.undertow.server.HttpServerExchange,boolean)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:151,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:152,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:152,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].serveResource(io.undertow.server.HttpServerExchange,boolean)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:153,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:155,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:155,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:156,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:157,1
    - Dst: String.join(String,String,String,String)
      Src: io.undertow.server.handlers.resource.ResourceHandler:158,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:157,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 8
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - String.join(String,String,String,String)
    - '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].serveResource(io.undertow.server.HttpServerExchange,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.DirectoryUtils].sendRequestedBlobs(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:168,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:172,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:173,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:174,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.cache.ResponseCache>)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:178,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:179,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:183,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:183,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.resource.ResourceHandler:184,1
    - Dst: TimeUnit.SECONDS.toMillis(Integer)
      Src: io.undertow.server.handlers.resource.ResourceHandler:184,1
    - Dst: '[java.util.Date].<init>(io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:185,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:185,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:186,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:186,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].tryServeResponse()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:190,1
    - Dst: '[io.undertow.server.HttpHandler].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:197,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:341,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:342,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:344,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 180
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sendContent
    argTypes:
    - io.undertow.server.HttpServerExchange
    - boolean
    constantsTouched: []
    func_position:
      end: 346
      start: 166
    functionDepth: 7
    functionLinenumber: 166
    functionLinenumberEnd: 346
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].serveResource(io.undertow.server.HttpServerExchange,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].tryServeResponse()'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.cache.ResponseCache>)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpHandler].<init>()'
    - '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - '[java.util.Date].<init>(io.undertow.server.handlers.resource.ResourceHandler)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.resource.DirectoryUtils].sendRequestedBlobs(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - TimeUnit.SECONDS.toMillis(Integer)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].serveResource(io.undertow.server.HttpServerExchange,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:349,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:349,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:350,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].clearCacheHeaders(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].clearCacheHeaders(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:355,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].canonicalize(io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:361,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceSupplier].getResource(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.resource.ResourceSupplier
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - exchange
    - resourceManager
    - base
    - possible
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.resource.ResourceSupplier
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].getIndexFiles(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.resource.ResourceSupplier,String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[String].endsWith(String)'
    - '[io.undertow.server.handlers.resource.ResourceSupplier].getResource(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].canonicalize(io.undertow.server.handlers.resource.ResourceHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].getIndexFiles(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.resource.ResourceSupplier,String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].canonicalize(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].canonicalize(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].isDirectoryListingEnabled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].isDirectoryListingEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - directoryListingEnabled
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:386,1
    - Dst: '[java.util.List<String>].addAll(io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(io.undertow.server.handlers.resource.ResourceHandler)'
    - '[java.util.List<String>].addAll(io.undertow.server.handlers.resource.ResourceHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].addWelcomeFiles()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].clear()'
      Src: io.undertow.server.handlers.resource.ResourceHandler:391,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:392,1
    - Dst: '[java.util.List<String>].addAll(io.undertow.server.handlers.resource.ResourceHandler)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setWelcomeFiles()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(io.undertow.server.handlers.resource.ResourceHandler)'
    - '[java.util.List<String>].clear()'
    - '[java.util.List<String>].addAll(io.undertow.server.handlers.resource.ResourceHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setWelcomeFiles()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MimeMappings
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].getMimeMappings()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MimeMappings
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].getMimeMappings()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.MimeMappings
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mimeMappings
    argTypes:
    - io.undertow.util.MimeMappings
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setMimeMappings(io.undertow.util.MimeMappings)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setMimeMappings(io.undertow.util.MimeMappings)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].getCachable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].getCachable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cachable
    argTypes:
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setCachable(io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setCachable(io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].getAllowed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].getAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - allowed
    argTypes:
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setAllowed(io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setAllowed(io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceSupplier
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].getResourceSupplier()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceSupplier
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].getResourceSupplier()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceSupplier
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - resourceSupplier
    argTypes:
    - io.undertow.server.handlers.resource.ResourceSupplier
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setResourceSupplier(io.undertow.server.handlers.resource.ResourceSupplier)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setResourceSupplier(io.undertow.server.handlers.resource.ResourceSupplier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].getResourceManager()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceManager
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].getResourceManager()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.DefaultResourceSupplier].<init>(io.undertow.server.handlers.resource.ResourceManager)'
      Src: io.undertow.server.handlers.resource.ResourceHandler:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.ResourceManager
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - resourceManager
    argTypes:
    - io.undertow.server.handlers.resource.ResourceManager
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setResourceManager(io.undertow.server.handlers.resource.ResourceManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.DefaultResourceSupplier].<init>(io.undertow.server.handlers.resource.ResourceManager)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setResourceManager(io.undertow.server.handlers.resource.ResourceManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Integer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].getCacheTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Integer
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].getCacheTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cacheTime
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setCacheTime(Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setCacheTime(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].getContentEncodedResourceManager()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.encoding.ContentEncodedResourceManager
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].getContentEncodedResourceManager()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - contentEncodedResourceManager
    argTypes:
    - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setContentEncodedResourceManager(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setContentEncodedResourceManager(io.undertow.server.handlers.encoding.ContentEncodedResourceManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].isCanonicalizePaths()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].isCanonicalizePaths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - java.util.List<String>
      - boolean
      - boolean
      - io.undertow.util.MimeMappings
      - io.undertow.predicate.Predicate
      - io.undertow.predicate.Predicate
      - io.undertow.server.handlers.resource.ResourceSupplier
      - io.undertow.server.handlers.resource.ResourceManager
      - Integer
      - io.undertow.server.handlers.encoding.ContentEncodedResourceManager
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - canonicalizePaths
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler].setCanonicalizePaths(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.resource.ResourceHandler].setCanonicalizePaths(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Builder:486,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Builder:487,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Builder:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Builder:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Builder:504,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Builder:504,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String,Boolean)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Builder:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,Object>].get(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String,Boolean)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler.Builder
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.resource.ResourceHandler.Wrapper
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - location
    - allowDirectoryListing
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Wrapper].<init>(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.ResourceHandler.Wrapper
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Wrapper].<init>(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Paths].get(String)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Wrapper:526,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.resource.ResourceHandler.Wrapper,int)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Wrapper:526,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Wrapper:527,1
    - Dst: '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
      Src: io.undertow.server.handlers.resource.ResourceHandler.Wrapper:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 530
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 530
    functionName: '[io.undertow.server.handlers.resource.ResourceHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/resource/ResourceHandler.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Paths].get(String)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].setDirectoryListingEnabled(boolean)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.server.handlers.resource.ResourceHandler.Wrapper,int)'
    - '[io.undertow.server.handlers.resource.ResourceHandler].<init>(io.undertow.server.handlers.resource.PathResourceManager)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.resource.ResourceHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[SseWriteListener].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:66,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:70,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:71,1
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:75,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:76,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:78,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:80,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getCloseSetter()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:90,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:90,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].set(org.xnio.ChannelListener)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:90,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:102,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].set(SseWriteListener)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventConnection
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sink
    argTypes:
    - io.undertow.server.HttpServerExchange
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].<init>(io.undertow.server.HttpServerExchange,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.HashMap].<init>()'
    - '[java.util.ArrayDeque].<init>()'
    - '[SseWriteListener].<init>()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].set(SseWriteListener)'
    - '[org.xnio.channels.StreamSinkChannel].getCloseSetter()'
    - '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].set(org.xnio.ChannelListener)'
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventConnection
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].<init>(io.undertow.server.HttpServerExchange,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>].add(org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].addCloseTask(org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>].add(org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].addCloseTask(org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getAccount()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:119,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getPrincipal()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].getAccount()'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getSecurityContext()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:131,1
    - Dst: '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getAccount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getSecurityContext()'
    - '[io.undertow.security.api.SecurityContext].getAuthenticatedAccount()'
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getAccount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getRequestHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getRequestHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getResponseHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getResponseHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getRequestURI()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.Deque<String>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getQueryParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    linkageType: ''
    returnType: java.util.Map<String,java.util.Deque<String>>
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getQueryParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getQueryString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String,null,null,null)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String,null,null,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String,null,null,EventCallback)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - EventCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - callback
    argTypes:
    - String
    - EventCallback
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String,EventCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String,null,null,EventCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String,EventCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].sendRetry(long,null)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - retry
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].sendRetry(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].sendRetry(long,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].sendRetry(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:217,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].failed(null,null,null,java.nio.channels.ClosedChannelException)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:217,1
    - Dst: '[SSEData].<init>(long,EventCallback)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:221,1
    - Dst: '[java.util.Deque<SSEData>].add(SSEData)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:221,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getIoThread()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:222,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:222,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].execute(Runnable)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - EventCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - retry
    - callback
    argTypes:
    - long
    - EventCallback
    constantsTouched: []
    func_position:
      end: 233
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].sendRetry(long,EventCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].getIoThread()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].execute(Runnable)'
    - '[SSEData].<init>(long,EventCallback)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].failed(null,null,null,java.nio.channels.ClosedChannelException)'
    - '[java.util.Deque<SSEData>].add(SSEData)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].sendRetry(long,EventCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:246,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].failed(String,String,String,java.nio.channels.ClosedChannelException)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:246,1
    - Dst: '[SSEData].<init>(String,String,String,EventCallback)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:250,1
    - Dst: '[java.util.Deque<SSEData>].add(SSEData)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:250,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getIoThread()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:251,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:251,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].execute(Runnable)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - EventCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - data
    - event
    - id
    - callback
    argTypes:
    - String
    - String
    - String
    - EventCallback
    constantsTouched: []
    func_position:
      end: 262
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 262
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String,String,String,EventCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].getIoThread()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].execute(Runnable)'
    - '[SSEData].<init>(String,String,String,EventCallback)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.util.Deque<SSEData>].add(SSEData)'
    - '[Runnable].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].failed(String,String,String,java.nio.channels.ClosedChannelException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].send(String,String,String,EventCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getParameter(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,String>].get(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getParameter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:273,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].setParameter(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String,String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].setParameter(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getProperties()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,Object>
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getProperties()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getKeepAliveTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getKeepAliveTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:302,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getIoThread()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:304,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].executeAtInterval(Runnable,long,io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - keepAliveTime
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 321
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 321
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].setKeepAliveTime(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[org.xnio.channels.StreamSinkChannel].getIoThread()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].executeAtInterval(Runnable,long,io.undertow.server.handlers.sse.ServerSentEventConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].setKeepAliveTime(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<SSEData>].isEmpty()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:324,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:326,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:328,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:334,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:334,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:334,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:336,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:336,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:338,1
    - Dst: '[java.util.Deque<SSEData>].isEmpty()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:340,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:340,1
    - Dst: '[java.util.Deque<SSEData>].poll()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:341,1
    - Dst: '[java.util.Queue<SSEData>].add(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:342,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:344,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:346,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:347,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:348,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:351,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:352,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:353,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:356,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:357,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:358,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:361,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].length()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:362,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].charAt(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:363,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:365,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:367,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:370,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:373,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:374,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getBytes(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:374,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:375,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:376,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:377,1
    - Dst: '[java.util.Deque<SSEData>].addFirst(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:379,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:380,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.server.handlers.sse.ServerSentEventConnection,int,io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:381,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:387,1
    - Dst: '[java.util.Deque<SSEData>].addFirst(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:388,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:389,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:390,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:393,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:394,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:399,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:400,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 401
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].fillBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].length()'
    - '[java.util.Deque<SSEData>].poll()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].getBytes(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[java.nio.ByteBuffer].put(io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[java.util.Deque<SSEData>].isEmpty()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.util.Deque<SSEData>].addFirst(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].charAt(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.nio.ByteBuffer].put(io.undertow.server.handlers.sse.ServerSentEventConnection,int,io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[StringBuilder].append(char)'
    - '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].put(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[java.nio.ByteBuffer].flip()'
    - '[java.util.Queue<SSEData>].add(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].fillBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].getIoThread()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:411,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:411,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].execute(Runnable)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 422
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].shutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].execute(Runnable)'
    - '[org.xnio.channels.StreamSinkChannel].getIoThread()'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].shutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:431,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].close(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].close(java.nio.channels.ClosedChannelException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:435,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:437,1
    - Dst: '[java.util.Queue<SSEData>].size()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:440,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:440,1
    - Dst: '[java.util.ArrayList].addAll(java.util.Queue<SSEData>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:441,1
    - Dst: '[java.util.ArrayList].addAll(java.util.Deque<SSEData>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:442,1
    - Dst: '[java.util.ArrayList].addAll(java.util.Queue<SSEData>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:443,1
    - Dst: '[java.util.Deque<SSEData>].clear()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:444,1
    - Dst: '[java.util.Queue<SSEData>].clear()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:445,1
    - Dst: '[java.util.Queue<SSEData>].clear()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:446,1
    - Dst: i.callback.failed(io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection,java.io.IOException)
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:450,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].failedToInvokeFailedCallback(io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:452,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:456,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:457,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:458,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:458,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:458,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].set(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:458,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 467
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 467
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].close(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].<init>(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].set(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[java.util.ArrayList].addAll(java.util.Deque<SSEData>)'
    - i.callback.failed(io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection,java.io.IOException)
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.util.ArrayList].addAll(java.util.Queue<SSEData>)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>].compareAndSet(int,int)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
    - '[java.util.Deque<SSEData>].clear()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].failedToInvokeFailedCallback(io.undertow.server.handlers.sse.ServerSentEventConnection,io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[java.util.Queue<SSEData>].size()'
    - '[java.util.Queue<SSEData>].clear()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].close(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<?extendsList<T>>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<?extendsList<T>>
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    linkageType: ''
    returnType: java.util.List<T>
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - T
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].removeAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.util.AttachmentKey<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].removeAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
    - T
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:630,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSinkChannel,io.undertow.server.ServerConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpServerExchange
      - org.xnio.channels.StreamSinkChannel
      - SseWriteListener
      - io.undertow.connector.PooledByteBuffer
      - java.util.Deque<SSEData>
      - java.util.Queue<SSEData>
      - java.util.Queue<SSEData>
      - java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>>
      - java.util.Map<String,String>
      - java.util.Map<String,Object>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection>
      - int
      - boolean
      - long
      - XnioExecutor.Key
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.nio.channels.Channel
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection].handleException(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSinkChannel,io.undertow.server.ServerConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection].handleException(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.sse.ServerSentEventConnection
      - String
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - connection
    - data
    - event
    - id
    argTypes:
    - io.undertow.server.handlers.sse.ServerSentEventConnection
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].done(io.undertow.server.handlers.sse.ServerSentEventConnection,String,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].done(io.undertow.server.handlers.sse.ServerSentEventConnection,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.sse.ServerSentEventConnection
      - String
      - String
      - String
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - connection
    - data
    - event
    - id
    - e
    argTypes:
    - io.undertow.server.handlers.sse.ServerSentEventConnection
    - String
    - String
    - String
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].failed(io.undertow.server.handlers.sse.ServerSentEventConnection,String,String,String,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].failed(io.undertow.server.handlers.sse.ServerSentEventConnection,String,String,String,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - EventCallback
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - long
      - EventCallback
      - int
      - byte[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventConnection.SSEData
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - event
    - data
    - id
    - callback
    argTypes:
    - String
    - String
    - String
    - EventCallback
    constantsTouched: []
    func_position:
      end: 535
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 535
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SSEData].<init>(String,String,String,EventCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventConnection.SSEData
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SSEData].<init>(String,String,String,EventCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - EventCallback
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - long
      - EventCallback
      - int
      - byte[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventConnection.SSEData
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - retry
    - callback
    argTypes:
    - long
    - EventCallback
    constantsTouched: []
    func_position:
      end: 543
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 543
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SSEData].<init>(long,EventCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventConnection.SSEData
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SSEData].<init>(long,EventCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flushingMessages.isEmpty()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:553,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:554,1
    - Dst: data.callback.done(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:559,1
    - Dst: flushingMessages.clear()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:562,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:563,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].hasRemaining()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:564,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].fillBuffer()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:565,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:567,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:568,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:574,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:575,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:580,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:583,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:584,1
    - Dst: buffered.isEmpty()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:585,1
    - Dst: buffered.peek()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:587,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].position()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:588,1
    - Dst: buffered.poll()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:589,1
    - Dst: data.callback.done(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:592,1
    - Dst: flushingMessages.add(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:596,1
    - Dst: buffered.poll()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:601,1
    - Dst: flushingMessages.isEmpty()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:606,1
    - Dst: sink.resumeWrites()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:607,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].hasRemaining()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:611,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].fillBuffer()'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:612,1
    - Dst: sink.resumeWrites()
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:617,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].handleException(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)'
      Src: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener:623,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 626
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 626
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached:
    - flushingMessages.clear()
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].fillBuffer()'
    - buffered.isEmpty()
    - buffered.peek()
    - '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].position()'
    - buffered.poll()
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].handleException(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)'
    - data.callback.done(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener,io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].hasRemaining()'
    - pooled.getBuffer()
    - '[org.xnio.channels.StreamSinkChannel].write(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)'
    - sink.resumeWrites()
    - flushingMessages.isEmpty()
    - flushingMessages.add(io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnection.SseWriteListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.sse.ServerSentEventConnection
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - connection
    - lastEventId
    argTypes:
    - io.undertow.server.handlers.sse.ServerSentEventConnection
    - String
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].connected(io.undertow.server.handlers.sse.ServerSentEventConnection,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnectionCallback.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].connected(io.undertow.server.handlers.sse.ServerSentEventConnection,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventConnectionCallback.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
    signature: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:44,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:48,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
      - java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventHandler.java
    functionUses: 6
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventHandler
    signature: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>(io.undertow.server.handlers.sse.ServerSentEventConnectionCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:44,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:48,1
    - Dst: '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
      - java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.sse.ServerSentEventHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[java.util.Collections].newSetFromMap(java.util.concurrent.ConcurrentHashMap)'
    linkageType: ''
    returnType: io.undertow.server.handlers.sse.ServerSentEventHandler
    signature: '[io.undertow.server.handlers.sse.ServerSentEventHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:60,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:60,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:61,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:62,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:63,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:64,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:64,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:69,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:64,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].set(io.undertow.server.handlers.sse.ServerSentEventHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:64,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:75,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:77,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:77,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(org.xnio.XnioIoThread,Runnable)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
      - java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventHandler.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].set(io.undertow.server.handlers.sse.ServerSentEventHandler)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[Runnable].<init>()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[io.undertow.server.HttpServerExchange].dispatch(org.xnio.XnioIoThread,Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].debugf(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:87,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].<init>(io.undertow.server.HttpServerExchange,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:88,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:89,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].getParameters()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:91,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventHandler].entrySet()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:91,1
    - Dst: p.getKey()
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:92,1
    - Dst: p.getValue()
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:92,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].setParameter(io.undertow.server.handlers.sse.ServerSentEventHandler,io.undertow.server.handlers.sse.ServerSentEventHandler)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:92,1
    - Dst: '[java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>].add(io.undertow.server.handlers.sse.ServerSentEventConnection)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:95,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:96,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnection].addCloseTask(org.xnio.ChannelListener)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:96,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:103,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:103,1
    - Dst: '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].connected(io.undertow.server.handlers.sse.ServerSentEventConnection,String)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
      - java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - exchange
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventHandler].handleConnect(org.xnio.channels.StreamSinkChannel,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.sse.ServerSentEventConnectionCallback].connected(io.undertow.server.handlers.sse.ServerSentEventConnection,String)'
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].getParameters()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].setParameter(io.undertow.server.handlers.sse.ServerSentEventHandler,io.undertow.server.handlers.sse.ServerSentEventHandler)'
    - p.getKey()
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].debugf(String,io.undertow.server.HttpServerExchange)'
    - '[java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>].add(io.undertow.server.handlers.sse.ServerSentEventConnection)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - p.getValue()
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].<init>(io.undertow.server.HttpServerExchange,org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>)'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.sse.ServerSentEventConnection].addCloseTask(org.xnio.ChannelListener)'
    - '[io.undertow.server.handlers.sse.ServerSentEventHandler].entrySet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.sse.ServerSentEventHandler].handleConnect(org.xnio.channels.StreamSinkChannel,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>)'
      Src: io.undertow.server.handlers.sse.ServerSentEventHandler:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.server.handlers.sse.ServerSentEventConnectionCallback
      - java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.sse.ServerSentEventHandler].getConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/sse/ServerSentEventHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>)'
    linkageType: ''
    returnType: java.util.Set<io.undertow.server.handlers.sse.ServerSentEventConnection>
    signature: '[io.undertow.server.handlers.sse.ServerSentEventHandler].getConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormEncodedDataDefinition
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormEncodedDataDefinition
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition:57,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition:57,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition:61,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition:61,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition:63,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].tracef(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition:68,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].<init>(io.undertow.server.handlers.form.FormEncodedDataDefinition,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormDataParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].create(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition].tracef(String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].<init>(io.undertow.server.handlers.form.FormEncodedDataDefinition,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormDataParser
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].create(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].getDefaultEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].getDefaultEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].isForceCreation()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].isForceCreation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormEncodedDataDefinition
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - forceCreation
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].setForceCreation(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormEncodedDataDefinition
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].setForceCreation(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormEncodedDataDefinition
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultEncoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].setDefaultEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormEncodedDataDefinition
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].setDefaultEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:96,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:111,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:111,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:111,1
    - Dst: '[io.undertow.server.handlers.form.FormData].<init>(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - charset
    - exchange
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].<init>(String,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[io.undertow.server.handlers.form.FormData].<init>(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].<init>(String,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].doParse(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:117,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,HttpHandler)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:119,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:122,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].ioExceptionReadingFromChannel(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:123,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].ioExceptionReadingFromChannel(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,HttpHandler)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].doParse(org.xnio.channels.StreamSourceChannel)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSourceChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:131,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:131,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:131,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:133,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:135,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:136,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:138,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:139,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:140,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:144,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:145,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:148,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:148,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:149,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:153,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:155,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:161,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:161,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterName(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:161,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:162,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:165,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:165,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterName(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:165,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:165,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:166,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:169,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:175,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:175,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:176,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:180,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:182,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:188,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:188,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterValue(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:188,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:188,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:189,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:192,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:202,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:202,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:204,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:204,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterValue(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:204,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:204,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:205,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:207,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:207,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterName(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:207,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:207,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:209,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:209,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,FormData)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:213,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:216,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 218
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 218
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].doParse(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterValue(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String,boolean,StringBuilder)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterName(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String,boolean,StringBuilder)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,FormData)'
    - '[StringBuilder].setLength(int)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[StringBuilder].length()'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,String)'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[StringBuilder].append(char)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].doParse(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData].add(String,String)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].add(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].addPair(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:231,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].failedToDecodeParameterValue(String,String,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:234,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].errorf(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:234,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].failedToDecodeParameterValue(String,String,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:237,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].debugf(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - boolean
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - name
    - value
    - charset
    - decodeSlash
    - stringBuilder
    argTypes:
    - String
    - String
    - String
    - boolean
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterValue(String,String,String,boolean,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].debugf(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].errorf(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].failedToDecodeParameterValue(String,String,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.util.URLUtils].decode(String,String,boolean,StringBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterValue(String,String,String,boolean,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,StringBuilder)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:248,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].failedToDecodeParameterName(String,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:251,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].errorf(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:251,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].failedToDecodeParameterName(String,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:254,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].debugf(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - name
    - charset
    - decodeSlash
    - stringBuilder
    argTypes:
    - String
    - String
    - boolean
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterName(String,String,boolean,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].debugf(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].errorf(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].failedToDecodeParameterName(String,io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.util.URLUtils].decode(String,String,boolean,StringBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].decodeParameterName(String,String,boolean,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:263,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(HttpServerExchange)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:264,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:268,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].requestChannelAlreadyProvided()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:270,1
    - Dst: '[java.io.IOException].<init>(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:270,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].doParse(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:272,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:274,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].set()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:274,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:275,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].parse(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].set()'
    - '[java.io.IOException].<init>(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].doParse(org.xnio.channels.StreamSourceChannel)'
    - '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].handleRequest(HttpServerExchange)'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].requestChannelAlreadyProvided()'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].parse(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:284,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:289,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].requestChannelAlreadyProvided()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:291,1
    - Dst: '[java.io.IOException].<init>(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:291,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].doParse(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:294,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].awaitReadable()'
      Src: io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].parseBlocking()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].doParse(org.xnio.channels.StreamSourceChannel)'
    - '[org.xnio.channels.StreamSourceChannel].awaitReadable()'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].requestChannelAlreadyProvided()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].parseBlocking()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - StringBuilder
      - String
      - String
      - HttpHandler
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].setCharacterEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormEncodedDataDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormEncodedDataDefinition.FormEncodedDataParser].setCharacterEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.form.FormDataParser].parse(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormDataParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParser].parse(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.FormData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.form.FormDataParser].parseBlocking()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormDataParser.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData
    signature: '[io.undertow.server.handlers.form.FormDataParser].parseBlocking()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.form.FormDataParser].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormDataParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParser].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.form.FormDataParser].setCharacterEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormDataParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormDataParser].setCharacterEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormDataParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.form.FormDataParser].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormDataParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormDataParser
    signature: '[io.undertow.server.handlers.form.FormDataParser].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Long.getLong(String,long)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:72,1
    - Dst: StandardCharsets.ISO_8859_1.displayName()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:78,1
    - Dst: System.getProperty(String)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:91,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.server.handlers.form.MultiPartParserDefinition)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 1
    functionsReached:
    - Long.getLong(String,long)
    - StandardCharsets.ISO_8859_1.displayName()
    - '[java.nio.file.Paths].get(io.undertow.server.handlers.form.MultiPartParserDefinition)'
    - System.getProperty(String)
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Long.getLong(String,long)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:72,1
    - Dst: StandardCharsets.ISO_8859_1.displayName()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tempDir
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].<init>(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - Long.getLong(String,long)
    - StandardCharsets.ISO_8859_1.displayName()
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].<init>(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:100,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:100,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:101,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:102,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition].debugf(String,String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:104,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:107,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:107,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Long>,long)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:107,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].<init>(io.undertow.server.HttpServerExchange,String,long,long,String,io.undertow.server.handlers.form.MultiPartParserDefinition)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:108,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:109,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:109,1
    - Dst: '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:116,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:117,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:117,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Long>,long)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:117,1
    - Dst: '[io.undertow.server.HttpServerExchange].setMaxEntitySize(io.undertow.server.handlers.form.MultiPartParserDefinition)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:119,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition].tracef(String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormDataParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].create(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].<init>(io.undertow.server.HttpServerExchange,String,long,long,String,io.undertow.server.handlers.form.MultiPartParserDefinition)'
    - '[io.undertow.server.HttpServerExchange].getMaxEntitySize()'
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Long>,long)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition].tracef(String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setMaxEntitySize(io.undertow.server.handlers.form.MultiPartParserDefinition)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition].debugf(String,String)'
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[String].startsWith(String)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormDataParser
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].create(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.Executor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].getExecutor()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.Executor
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].getExecutor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - executor
    argTypes:
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setExecutor(java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setExecutor(java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fieldSizeThreshold
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setFieldSizeThreshold(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setFieldSizeThreshold(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].getTempFileLocation()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].getTempFileLocation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tempFileLocation
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setTempFileLocation(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setTempFileLocation(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].getDefaultEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].getDefaultEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultEncoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setDefaultEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setDefaultEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].getMaxIndividualFileSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].getMaxIndividualFileSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxIndividualFileSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setMaxIndividualFileSize(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setMaxIndividualFileSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - long
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - long
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fileSizeThreshold
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setFileSizeThreshold(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition].setFileSizeThreshold(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:178,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:183,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:200,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:200,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:200,1
    - Dst: '[io.undertow.server.handlers.form.FormData].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:200,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:202,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:202,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:204,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:209,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:209,1
    - Dst: '[String].getBytes(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:209,1
    - Dst: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - long
      - long
      - String
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - exchange
    - boundary
    - maxIndividualFileSize
    - fileSizeThreshold
    - defaultEncoding
    - fieldSizeThreshold
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - long
    - long
    - String
    - long
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].<init>(io.undertow.server.HttpServerExchange,String,long,long,String,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[String].getBytes(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.server.handlers.form.FormData].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].<init>(io.undertow.server.HttpServerExchange,String,long,long,String,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:216,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(HttpServerExchange)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:217,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestChannel()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:224,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].requestChannelAlreadyProvided()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:226,1
    - Dst: '[java.io.IOException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:226,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:229,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:229,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].<init>(org.xnio.XnioWorker,org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:229,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:229,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:231,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].parse(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,org.xnio.channels.StreamSourceChannel)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].<init>(org.xnio.XnioWorker,org.xnio.channels.StreamSourceChannel)'
    - '[io.undertow.server.HttpHandler].handleRequest(HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getRequestChannel()'
    - '[java.io.IOException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].requestChannelAlreadyProvided()'
    - '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
    - '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].parse(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:237,1
    - Dst: '[io.undertow.server.HttpServerExchange].getInputStream()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:241,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].requestChannelAlreadyProvided()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:243,1
    - Dst: '[java.io.IOException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:243,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:245,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:245,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:245,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:245,1
    - Dst: pooled.getBuffer()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:247,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].clear()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:249,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].array()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:250,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].arrayOffset()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:250,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].remaining()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:250,1
    - Dst: '[java.io.InputStream].read(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:250,1
    - Dst: '[MultipartParser.ParseState].isComplete()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:252,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].connectionTerminatedReadingMultiPartData()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:255,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].limit(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:258,1
    - Dst: '[MultipartParser.ParseState].parse(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:259,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,FormData)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:262,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].failedToAllocateResource()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:264,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:267,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 268
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].parseBlocking()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].connectionTerminatedReadingMultiPartData()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].remaining()'
    - '[MultipartParser.ParseState].parse(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].array()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,FormData)'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].clear()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].limit(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[java.io.InputStream].read(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].requestChannelAlreadyProvided()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].failedToAllocateResource()'
    - '[io.undertow.connector.ByteBufferPool].getArrayBackedPool()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - pooled.getBuffer()
    - '[MultipartParser.ParseState].isComplete()'
    - '[io.undertow.server.HttpServerExchange].getInputStream()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.io.IOException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].arrayOffset()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].parseBlocking()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:274,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:276,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:277,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeaderWithEncoding(String,String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 281
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].beginPart(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[String].startsWith(String)'
    - '[io.undertow.util.Headers].extractQuotedValueFromHeaderWithEncoding(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].beginPart(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempFileLocation.normalize()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:288,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:289,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getNameCount()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:290,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:292,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:294,1
    - Dst: '[java.nio.file.Files].isDirectory(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:295,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].pathElementIsRegularFile(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:298,1
    - Dst: '[java.util.LinkedList].addFirst(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:302,1
    - Dst: tmp.getParent()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:303,1
    - Dst: '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:307,1
    - Dst: p.toFile()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:311,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].deleteOnExit()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:311,1
    - Dst: '[java.nio.file.Files].isDirectory(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:317,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].pathNotADirectory(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:318,1
    - Dst: '[java.io.IOException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:318,1
    - Dst: '[java.nio.file.Files].createTempFile(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,String,String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:320,1
    - Dst: '[java.nio.file.Files].createTempFile(String,String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:322,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 325
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].createFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 1
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    - tempFileLocation.normalize()
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getNameCount()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].pathElementIsRegularFile(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].pathNotADirectory(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - p.toFile()
    - '[java.nio.file.Files].exists(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].deleteOnExit()'
    - tmp.getParent()
    - '[java.util.LinkedList].addFirst(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[java.nio.file.Files].createTempFile(String,String)'
    - '[java.nio.file.Files].exists(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[java.nio.file.Files].createDirectories(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[java.io.IOException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[java.nio.file.Files].createTempFile(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,String,String)'
    - '[java.nio.file.Files].isDirectory(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].createFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:329,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].maxFileSizeExceeded(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:331,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].createFile()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:334,1
    - Dst: '[List<Path>].add(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:334,1
    - Dst: '[Path].toFile()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:336,1
    - Dst: '[java.io.FileOutputStream].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:336,1
    - Dst: '[ByteArrayOutputStream].writeTo(java.io.FileOutputStream)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:338,1
    - Dst: '[java.io.FileOutputStream].getChannel()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:340,1
    - Dst: '[java.io.FileOutputStream].close()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:342,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:348,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:349,1
    - Dst: '[ByteArrayOutputStream].write(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:349,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].write(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:352,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 354
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 354
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].data(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[Path].toFile()'
    - '[List<Path>].add(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[java.io.FileOutputStream].close()'
    - '[java.io.FileOutputStream].getChannel()'
    - '[ByteArrayOutputStream].writeTo(java.io.FileOutputStream)'
    - '[java.io.FileOutputStream].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].createFile()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].maxFileSizeExceeded(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[ByteArrayOutputStream].write(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].data(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData].add(String,Path,String,HeaderMap)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:360,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCharset()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:362,1
    - Dst: '[io.undertow.server.handlers.form.FormData].add(String,Path,null,HeaderMap,boolean,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:362,1
    - Dst: '[ByteArrayOutputStream].reset()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:365,1
    - Dst: '[FileChannel].close()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:367,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:370,1
    - Dst: '[ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:373,1
    - Dst: '[ByteArrayOutputStream].size()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:373,1
    - Dst: '[java.util.Arrays].copyOf(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:373,1
    - Dst: '[io.undertow.server.handlers.form.FormData].add(String,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,String,HeaderMap)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:373,1
    - Dst: '[ByteArrayOutputStream].reset()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:374,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCharset()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:377,1
    - Dst: '[ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:378,1
    - Dst: '[String].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:378,1
    - Dst: '[io.undertow.server.handlers.form.FormData].add(String,String,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,HeaderMap)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:378,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:380,1
    - Dst: '[ByteArrayOutputStream].reset()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 356
    functionDepth: 6
    functionLinenumber: 356
    functionLinenumberEnd: 384
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].endPart()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].add(String,Path,null,HeaderMap,boolean,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[String].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[io.undertow.server.handlers.form.FormData].add(String,Path,String,HeaderMap)'
    - '[ByteArrayOutputStream].toByteArray()'
    - '[RuntimeException].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[FileChannel].close()'
    - '[io.undertow.server.handlers.form.FormData].add(String,String,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,HeaderMap)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCharset()'
    - '[java.util.Arrays].copyOf(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[ByteArrayOutputStream].size()'
    - '[io.undertow.server.handlers.form.FormData].add(String,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler,String,HeaderMap)'
    - '[ByteArrayOutputStream].reset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].endPart()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:388,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 5
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCharset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCharset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<java.nio.file.Path>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCreatedFiles()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<java.nio.file.Path>
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCreatedFiles()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(FileChannel)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:404,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCreatedFiles()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:406,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:406,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:407,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:407,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:407,1
    - Dst: '[org.xnio.XnioWorker].execute(Runnable)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 424
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].<init>(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler)'
    - '[org.xnio.XnioWorker].execute(Runnable)'
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[Runnable].<init>()'
    - '[org.xnio.IoUtils].safeClose(FileChannel)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].getCreatedFiles()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[MultipartParser.ParseState].setCharacterEncoding(String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - FormData
      - List<Path>
      - long
      - long
      - String
      - ByteArrayOutputStream
      - String
      - String
      - Path
      - FileChannel
      - HeaderMap
      - HttpHandler
      - long
      - MultipartParser.ParseState
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - MultipartParser.PartHandler
      - FormDataParser
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].setCharacterEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[MultipartParser.ParseState].setCharacterEncoding(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler].setCharacterEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - StreamSourceChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - executor
    - requestChannel
    argTypes:
    - java.util.concurrent.Executor
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].<init>(java.util.concurrent.Executor,org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].<init>(java.util.concurrent.Executor,org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exchange.getAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:445,1
    - Dst: exchange.dispatch(java.util.concurrent.Executor,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:447,1
    - Dst: exchange.getConnection()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:450,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].getByteBufferPool()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:450,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].allocate()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:450,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].getBuffer()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:453,1
    - Dst: '[StreamSourceChannel].read(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:453,1
    - Dst: '[StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:455,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:455,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].set(org.xnio.ChannelListener)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:455,1
    - Dst: '[StreamSourceChannel].resumeReads()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:462,1
    - Dst: parser.isComplete()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:465,1
    - Dst: exchange.putAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:466,1
    - Dst: exchange.dispatch(java.util.concurrent.Executor,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:467,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].connectionTerminatedReadingMultiPartData()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:469,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].ioException(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:469,1
    - Dst: exchange.setStatusCode(int)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:470,1
    - Dst: exchange.endExchange()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:471,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].getBuffer()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:475,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].flip()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:475,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].getBuffer()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:476,1
    - Dst: parser.parse(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:476,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].getBuffer()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:477,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].compact()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:477,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].ioException(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:481,1
    - Dst: exchange.setStatusCode(int)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:482,1
    - Dst: exchange.endExchange()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:483,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].close()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:485,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].debug(String,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:489,1
    - Dst: exchange.setStatusCode(int)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:490,1
    - Dst: exchange.endExchange()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:491,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].debug(String,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:493,1
    - Dst: exchange.setStatusCode(int)
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:494,1
    - Dst: exchange.endExchange()
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask:495,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - StreamSourceChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 497
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].compact()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].connectionTerminatedReadingMultiPartData()'
    - parser.isComplete()
    - parser.parse(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].flip()'
    - exchange.putAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].allocate()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].getBuffer()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].set(org.xnio.ChannelListener)'
    - exchange.setStatusCode(int)
    - '[StreamSourceChannel].resumeReads()'
    - exchange.getConnection()
    - '[StreamSourceChannel].getReadSetter()'
    - exchange.getAttachment(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].getByteBufferPool()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].close()'
    - exchange.endExchange()
    - exchange.dispatch(java.util.concurrent.Executor,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)
    - '[StreamSourceChannel].read(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].debug(String,io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].ioException(io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.MultiPartUploadHandler.NonBlockingParseTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>()'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
      static: false
      superClass: IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
      static: false
      superClass: IOException
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String,Throwable)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
      static: false
      superClass: IOException
    argCount: 2
    argNames:
    - message
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
      static: false
      superClass: IOException
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/MultiPartParserDefinition.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
    signature: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.form.FormParserFactory
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.HandlerWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.EagerFormParsingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - formParserFactory
    argTypes:
    - io.undertow.server.handlers.form.FormParserFactory
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>(io.undertow.server.handlers.form.FormParserFactory)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.EagerFormParsingHandler
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>(io.undertow.server.handlers.form.FormParserFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:49,1
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].builder()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:61,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.HandlerWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.EagerFormParsingHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.form.FormParserFactory].builder()'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.EagerFormParsingHandler
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:49,1
    - Dst: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.HandlerWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.EagerFormParsingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>()'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.EagerFormParsingHandler
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler].<init>(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].createParser(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:71,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:73,1
    - Dst: '[io.undertow.server.HttpServerExchange].isBlocking()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:76,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParser].parseBlocking()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:77,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.form.EagerFormParsingHandler,io.undertow.server.handlers.form.FormData)'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:77,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:78,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParser].parse(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.HandlerWrapper
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormDataParser].parse(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.form.FormDataParser].parseBlocking()'
    - '[io.undertow.server.handlers.form.FormParserFactory].createParser(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].isBlocking()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.form.EagerFormParsingHandler,io.undertow.server.handlers.form.FormData)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.HandlerWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.HandlerWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.EagerFormParsingHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.EagerFormParsingHandler
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.HandlerWrapper
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler.Builder:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.server.handlers.form.EagerFormParsingHandler.Builder:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.EagerFormParsingHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/EagerFormParsingHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.EagerFormParsingHandler.Builder
    signature: '[io.undertow.server.handlers.form.EagerFormParsingHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.server.handlers.form.FormData:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormData
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxValues
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.handlers.form.FormData].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[java.util.LinkedHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData
    signature: '[io.undertow.server.handlers.form.FormData].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].keySet()'
      Src: io.undertow.server.handlers.form.FormData:58,1
    - Dst: '[io.undertow.server.handlers.form.FormData].iterator()'
      Src: io.undertow.server.handlers.form.FormData:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.handlers.form.FormData].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].iterator()'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].keySet()'
    linkageType: ''
    returnType: java.util.Iterator<String>
    signature: '[io.undertow.server.handlers.form.FormData].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
      Src: io.undertow.server.handlers.form.FormData:62,1
    - Dst: '[io.undertow.server.handlers.form.FormData].peekFirst()'
      Src: io.undertow.server.handlers.form.FormData:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: FormValue
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.form.FormData].getFirst(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 2
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
    - '[io.undertow.server.handlers.form.FormData].peekFirst()'
    linkageType: ''
    returnType: FormValue
    signature: '[io.undertow.server.handlers.form.FormData].getFirst(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
      Src: io.undertow.server.handlers.form.FormData:67,1
    - Dst: '[io.undertow.server.handlers.form.FormData].peekLast()'
      Src: io.undertow.server.handlers.form.FormData:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: FormValue
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.form.FormData].getLast(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
    - '[io.undertow.server.handlers.form.FormData].peekLast()'
    linkageType: ''
    returnType: FormValue
    signature: '[io.undertow.server.handlers.form.FormData].getLast(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
      Src: io.undertow.server.handlers.form.FormData:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Deque<FormValue>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.form.FormData].get(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
    linkageType: ''
    returnType: java.util.Deque<FormValue>
    signature: '[io.undertow.server.handlers.form.FormData].get(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
      Src: io.undertow.server.handlers.form.FormData:76,1
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].put(String)'
      Src: io.undertow.server.handlers.form.FormData:78,1
    - Dst: '[FormValueImpl].<init>(byte[],String,io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.form.FormData:80,1
    - Dst: '[io.undertow.server.handlers.form.FormData].add(FormValueImpl)'
      Src: io.undertow.server.handlers.form.FormData:80,1
    - Dst: '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
      Src: io.undertow.server.handlers.form.FormData:82,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
      Src: io.undertow.server.handlers.form.FormData:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - name
    - value
    - fileName
    - headers
    argTypes:
    - String
    - byte[]
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.form.FormData].add(String,byte[],String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[FormValueImpl].<init>(byte[],String,io.undertow.util.HeaderMap)'
    - '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
    - '[io.undertow.server.handlers.form.FormData].add(FormValueImpl)'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].put(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData].add(String,byte[],String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData].add(String,String,null,null)'
      Src: io.undertow.server.handlers.form.FormData:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.form.FormData].add(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].add(String,String,null,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData].add(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData].add(String,String,null,io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.form.FormData:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - value
    - headers
    argTypes:
    - String
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.form.FormData].add(String,String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].add(String,String,null,io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData].add(String,String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
      Src: io.undertow.server.handlers.form.FormData:95,1
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].put(String)'
      Src: io.undertow.server.handlers.form.FormData:97,1
    - Dst: '[FormValueImpl].<init>(String,String,io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.form.FormData:99,1
    - Dst: '[io.undertow.server.handlers.form.FormData].add(FormValueImpl)'
      Src: io.undertow.server.handlers.form.FormData:99,1
    - Dst: '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
      Src: io.undertow.server.handlers.form.FormData:101,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
      Src: io.undertow.server.handlers.form.FormData:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - name
    - value
    - charset
    - headers
    argTypes:
    - String
    - String
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.form.FormData].add(String,String,String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[FormValueImpl].<init>(String,String,io.undertow.util.HeaderMap)'
    - '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
    - '[io.undertow.server.handlers.form.FormData].add(FormValueImpl)'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].put(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData].add(String,String,String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData].add(String,java.nio.file.Path,String,io.undertow.util.HeaderMap,boolean,null)'
      Src: io.undertow.server.handlers.form.FormData:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.file.Path
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - name
    - value
    - fileName
    - headers
    argTypes:
    - String
    - java.nio.file.Path
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.form.FormData].add(String,java.nio.file.Path,String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].add(String,java.nio.file.Path,String,io.undertow.util.HeaderMap,boolean,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData].add(String,java.nio.file.Path,String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
      Src: io.undertow.server.handlers.form.FormData:110,1
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].put(String)'
      Src: io.undertow.server.handlers.form.FormData:112,1
    - Dst: '[FormValueImpl].<init>(java.nio.file.Path,String,io.undertow.util.HeaderMap,boolean,String)'
      Src: io.undertow.server.handlers.form.FormData:114,1
    - Dst: '[io.undertow.server.handlers.form.FormData].add(FormValueImpl)'
      Src: io.undertow.server.handlers.form.FormData:114,1
    - Dst: '[io.undertow.server.handlers.form.FormData].size()'
      Src: io.undertow.server.handlers.form.FormData:115,1
    - Dst: '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
      Src: io.undertow.server.handlers.form.FormData:116,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
      Src: io.undertow.server.handlers.form.FormData:116,1
    - Dst: '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
      Src: io.undertow.server.handlers.form.FormData:119,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
      Src: io.undertow.server.handlers.form.FormData:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.file.Path
      - String
      - io.undertow.util.HeaderMap
      - boolean
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - name
    - value
    - fileName
    - headers
    - bigField
    - charset
    argTypes:
    - String
    - java.nio.file.Path
    - String
    - io.undertow.util.HeaderMap
    - boolean
    - String
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.form.FormData].add(String,java.nio.file.Path,String,io.undertow.util.HeaderMap,boolean,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].size()'
    - '[FormValueImpl].<init>(java.nio.file.Path,String,io.undertow.util.HeaderMap,boolean,String)'
    - '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
    - '[io.undertow.server.handlers.form.FormData].add(FormValueImpl)'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].put(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData].add(String,java.nio.file.Path,String,io.undertow.util.HeaderMap,boolean,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayDeque].<init>(int)'
      Src: io.undertow.server.handlers.form.FormData:124,1
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].put(String,java.util.ArrayDeque)'
      Src: io.undertow.server.handlers.form.FormData:125,1
    - Dst: '[io.undertow.server.handlers.form.FormData].size()'
      Src: io.undertow.server.handlers.form.FormData:127,1
    - Dst: '[FormValueImpl].<init>(String,io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.form.FormData:129,1
    - Dst: '[java.util.ArrayDeque].add(FormValueImpl)'
      Src: io.undertow.server.handlers.form.FormData:129,1
    - Dst: '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
      Src: io.undertow.server.handlers.form.FormData:132,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
      Src: io.undertow.server.handlers.form.FormData:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - value
    - headers
    argTypes:
    - String
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.form.FormData].put(String,String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayDeque].add(FormValueImpl)'
    - '[java.util.ArrayDeque].<init>(int)'
    - '[io.undertow.server.handlers.form.FormData].size()'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].put(String,java.util.ArrayDeque)'
    - '[io.undertow.server.handlers.form.FormData].tooManyParameters(int)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.form.FormData)'
    - '[FormValueImpl].<init>(String,io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData].put(String,String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].remove(String)'
      Src: io.undertow.server.handlers.form.FormData:137,1
    - Dst: '[io.undertow.server.handlers.form.FormData].size()'
      Src: io.undertow.server.handlers.form.FormData:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Deque<FormValue>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.form.FormData].remove(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<FormValue>>].remove(String)'
    - '[io.undertow.server.handlers.form.FormData].size()'
    linkageType: ''
    returnType: java.util.Deque<FormValue>
    signature: '[io.undertow.server.handlers.form.FormData].remove(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
      Src: io.undertow.server.handlers.form.FormData:145,1
    - Dst: '[io.undertow.server.handlers.form.FormData].isEmpty()'
      Src: io.undertow.server.handlers.form.FormData:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.form.FormData].contains(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].isEmpty()'
    - '[java.util.Map<String,java.util.Deque<FormValue>>].get(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData].contains(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData].getClass()'
      Src: io.undertow.server.handlers.form.FormData:152,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.server.handlers.form.FormData:152,1
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].equals(io.undertow.server.handlers.form.FormData)'
      Src: io.undertow.server.handlers.form.FormData:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.form.FormData].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<FormValue>>].equals(io.undertow.server.handlers.form.FormData)'
    - '[Object].getClass()'
    - '[io.undertow.server.handlers.form.FormData].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<FormValue>>].hashCode()'
      Src: io.undertow.server.handlers.form.FormData:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.form.FormData].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<FormValue>>].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.form.FormData].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Deque<FormValue>>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.form.FormData].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormData].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].getCharset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].getCharset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].isFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].isFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].getFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: FileItem
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].getFileItem()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: FileItem
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].getFileItem()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].isFileItem()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].isFileItem()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].getFileName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].getFileName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].getHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 228
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].isBigField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].isBigField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormData.FormValue
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.form.FormData.FormValue].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData.FormValue
    signature: '[io.undertow.server.handlers.form.FormData.FormValue].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormData.FileItem
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: '[io.undertow.server.handlers.form.FormData.FileItem].<init>(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData.FileItem
    signature: '[io.undertow.server.handlers.form.FormData.FileItem].<init>(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormData.FileItem
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - content
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: '[io.undertow.server.handlers.form.FormData.FileItem].<init>(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData.FileItem
    signature: '[io.undertow.server.handlers.form.FormData.FileItem].<init>(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: '[io.undertow.server.handlers.form.FormData.FileItem].isInMemory()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData.FileItem].isInMemory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: '[io.undertow.server.handlers.form.FormData.FileItem].getFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.form.FormData.FileItem].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData.FileItem].isInMemory()'
      Src: io.undertow.server.handlers.form.FormData.FileItem:254,1
    - Dst: '[java.nio.file.Files].size(Path)'
      Src: io.undertow.server.handlers.form.FormData.FileItem:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.handlers.form.FormData.FileItem].getFileSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData.FileItem].isInMemory()'
    - '[java.nio.file.Files].size(Path)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.form.FormData.FileItem].getFileSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].newInputStream(Path)'
      Src: io.undertow.server.handlers.form.FormData.FileItem:263,1
    - Dst: '[java.io.BufferedInputStream].<init>(io.undertow.server.handlers.form.FormData.FileItem)'
      Src: io.undertow.server.handlers.form.FormData.FileItem:263,1
    - Dst: '[java.io.ByteArrayInputStream].<init>(byte[])'
      Src: io.undertow.server.handlers.form.FormData.FileItem:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.InputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: '[io.undertow.server.handlers.form.FormData.FileItem].getInputStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached:
    - '[java.io.ByteArrayInputStream].<init>(byte[])'
    - '[java.io.BufferedInputStream].<init>(io.undertow.server.handlers.form.FormData.FileItem)'
    - '[java.nio.file.Files].newInputStream(Path)'
    linkageType: ''
    returnType: java.io.InputStream
    signature: '[io.undertow.server.handlers.form.FormData.FileItem].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].delete(Path)'
      Src: io.undertow.server.handlers.form.FormData.FileItem:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.handlers.form.FormData.FileItem].delete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].delete(Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData.FileItem].delete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].move(Path,java.nio.file.Path,io.undertow.server.handlers.form.FormData.FileItem)'
      Src: io.undertow.server.handlers.form.FormData.FileItem:281,1
    - Dst: '[io.undertow.server.handlers.form.FormData.FileItem].getInputStream()'
      Src: io.undertow.server.handlers.form.FormData.FileItem:288,1
    - Dst: '[java.nio.file.Files].copy(io.undertow.server.handlers.form.FormData.FileItem,java.nio.file.Path,io.undertow.server.handlers.form.FormData.FileItem)'
      Src: io.undertow.server.handlers.form.FormData.FileItem:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - Path
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - target
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: '[io.undertow.server.handlers.form.FormData.FileItem].write(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Files].copy(io.undertow.server.handlers.form.FormData.FileItem,java.nio.file.Path,io.undertow.server.handlers.form.FormData.FileItem)'
    - '[io.undertow.server.handlers.form.FormData.FileItem].getInputStream()'
    - '[java.nio.file.Files].move(Path,java.nio.file.Path,io.undertow.server.handlers.form.FormData.FileItem)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormData.FileItem].write(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.FormData.FormValueImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - value
    - headers
    argTypes:
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].<init>(String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData.FormValueImpl
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].<init>(String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.FormData.FormValueImpl
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - value
    - charset
    - headers
    argTypes:
    - String
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].<init>(String,String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData.FormValueImpl
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].<init>(String,String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FileItem].<init>(java.nio.file.Path)'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      - String
      - io.undertow.util.HeaderMap
      - boolean
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.FormData.FormValueImpl
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - file
    - fileName
    - headers
    - bigField
    - charset
    argTypes:
    - java.nio.file.Path
    - String
    - io.undertow.util.HeaderMap
    - boolean
    - String
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].<init>(java.nio.file.Path,String,io.undertow.util.HeaderMap,boolean,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[FileItem].<init>(java.nio.file.Path)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData.FormValueImpl
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].<init>(java.nio.file.Path,String,io.undertow.util.HeaderMap,boolean,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FileItem].<init>(byte[])'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.FormData.FormValueImpl
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - fileName
    - headers
    argTypes:
    - byte[]
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].<init>(byte[],String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[FileItem].<init>(byte[])'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormData.FormValueImpl
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].<init>(byte[],String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getFileItem()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:345,1
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getInputStream()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:345,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.form.FormData.FormValueImpl,io.undertow.server.handlers.form.FormData.FormValueImpl)'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:346,1
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValueImpl].formValueIsAFile()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FileUtils].readFile(io.undertow.server.handlers.form.FormData.FormValueImpl,io.undertow.server.handlers.form.FormData.FormValueImpl)'
    - '[io.undertow.server.handlers.form.FormData.FormValueImpl].getFileItem()'
    - '[io.undertow.server.handlers.form.FormData.FormValueImpl].getInputStream()'
    - '[io.undertow.server.handlers.form.FormData.FormValueImpl].formValueIsAFile()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getCharset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getCharset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[FileItem].isInMemory()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].isFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[FileItem].isInMemory()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].isFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValueImpl].formValueIsAString()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:369,1
    - Dst: '[FileItem].isInMemory()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:371,1
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValueImpl].formValueIsInMemoryFile()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:372,1
    - Dst: '[FileItem].getFile()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached:
    - '[FileItem].getFile()'
    - '[io.undertow.server.handlers.form.FormData.FormValueImpl].formValueIsInMemoryFile()'
    - '[FileItem].isInMemory()'
    - '[io.undertow.server.handlers.form.FormData.FormValueImpl].formValueIsAString()'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getPath()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:379,1
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValueImpl].toFile()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getFile()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData.FormValueImpl].getPath()'
    - '[io.undertow.server.handlers.form.FormData.FormValueImpl].toFile()'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValueImpl].formValueIsAString()'
      Src: io.undertow.server.handlers.form.FormData.FormValueImpl:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: FileItem
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getFileItem()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData.FormValueImpl].formValueIsAString()'
    linkageType: ''
    returnType: FileItem
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getFileItem()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].isBigField()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].isBigField()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].isFileItem()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].isFileItem()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - HeaderMap
      - FileItem
      - String
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FormValue
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getFileName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormData.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormData.FormValueImpl].getFileName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.form.FormParserFactory:38,1
    - Dst: '[java.util.List<ParserDefinition>].toArray()'
      Src: io.undertow.server.handlers.form.FormParserFactory:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<ParserDefinition>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.form.FormDataParser>
      - ParserDefinition[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.FormParserFactory
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - parserDefinitions
    argTypes:
    - java.util.List<ParserDefinition>
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.form.FormParserFactory].<init>(java.util.List<ParserDefinition>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<ParserDefinition>].toArray()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormParserFactory
    signature: '[io.undertow.server.handlers.form.FormParserFactory].<init>(java.util.List<ParserDefinition>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.form.FormDataParser>)'
      Src: io.undertow.server.handlers.form.FormParserFactory:54,1
    - Dst: parserDefinitions[i].create(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.handlers.form.FormParserFactory:59,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.form.FormDataParser>,io.undertow.server.handlers.form.FormParserFactory)'
      Src: io.undertow.server.handlers.form.FormParserFactory:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.form.FormDataParser>
      - ParserDefinition[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormDataParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.form.FormParserFactory].createParser(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.form.FormDataParser>)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.form.FormDataParser>,io.undertow.server.handlers.form.FormParserFactory)'
    - parserDefinitions[i].create(io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormDataParser
    signature: '[io.undertow.server.handlers.form.FormParserFactory].createParser(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].builder(boolean)'
      Src: io.undertow.server.handlers.form.FormParserFactory:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.form.FormDataParser>
      - ParserDefinition[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.form.FormParserFactory].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.handlers.form.FormParserFactory].builder(boolean)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.form.FormParserFactory].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.server.handlers.form.FormParserFactory:80,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].<init>()'
      Src: io.undertow.server.handlers.form.FormParserFactory:82,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition].<init>()'
      Src: io.undertow.server.handlers.form.FormParserFactory:82,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addParsers(io.undertow.server.handlers.form.FormEncodedDataDefinition,io.undertow.server.handlers.form.MultiPartParserDefinition)'
      Src: io.undertow.server.handlers.form.FormParserFactory:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.form.FormDataParser>
      - ParserDefinition[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - includeDefault
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.form.FormParserFactory].builder(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition].<init>()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addParsers(io.undertow.server.handlers.form.FormEncodedDataDefinition,io.undertow.server.handlers.form.MultiPartParserDefinition)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition].<init>()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.form.FormParserFactory].builder(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.form.FormDataParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.ParserDefinition].create(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormDataParser
    signature: '[io.undertow.server.handlers.form.FormParserFactory.ParserDefinition].create(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - charset
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.ParserDefinition].setDefaultEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.handlers.form.FormParserFactory.ParserDefinition].setDefaultEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormParserFactory.ParserDefinition
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.ParserDefinition].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormParserFactory.ParserDefinition
    signature: '[io.undertow.server.handlers.form.FormParserFactory.ParserDefinition].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[List<ParserDefinition>].add(ParserDefinition)'
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ParserDefinition
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - definition
    argTypes:
    - ParserDefinition
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].addParser(ParserDefinition)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached:
    - '[List<ParserDefinition>].add(ParserDefinition)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].addParser(ParserDefinition)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.form.FormParserFactory.Builder)'
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:99,1
    - Dst: '[List<ParserDefinition>].addAll(io.undertow.server.handlers.form.FormParserFactory.Builder)'
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].addParsers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(io.undertow.server.handlers.form.FormParserFactory.Builder)'
    - '[List<ParserDefinition>].addAll(io.undertow.server.handlers.form.FormParserFactory.Builder)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].addParsers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[List<ParserDefinition>].addAll(java.util.List<ParserDefinition>)'
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<ParserDefinition>
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - definition
    argTypes:
    - java.util.List<ParserDefinition>
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].addParsers(java.util.List<ParserDefinition>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached:
    - '[List<ParserDefinition>].addAll(java.util.List<ParserDefinition>)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].addParsers(java.util.List<ParserDefinition>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<ParserDefinition>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].getParsers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<ParserDefinition>
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].getParsers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<ParserDefinition>
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - parsers
    argTypes:
    - java.util.List<ParserDefinition>
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].setParsers(java.util.List<ParserDefinition>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].setParsers(java.util.List<ParserDefinition>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory.Builder].setParsers(java.util.List<ParserDefinition>)'
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<ParserDefinition>
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - parsers
    argTypes:
    - java.util.List<ParserDefinition>
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].withParsers(java.util.List<ParserDefinition>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormParserFactory.Builder].setParsers(java.util.List<ParserDefinition>)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].withParsers(java.util.List<ParserDefinition>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].getDefaultCharset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].getDefaultCharset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultCharset
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].setDefaultCharset(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].setDefaultCharset(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory.Builder].setDefaultCharset(String)'
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultCharset
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].withDefaultCharset(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.form.FormParserFactory.Builder].setDefaultCharset(String)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].withDefaultCharset(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parser.setDefaultEncoding(String)
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:143,1
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].<init>(List<ParserDefinition>)'
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormParserFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached:
    - parser.setDefaultEncoding(String)
    - '[io.undertow.server.handlers.form.FormParserFactory].<init>(List<ParserDefinition>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormParserFactory
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.form.FormParserFactory.Builder:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<ParserDefinition>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.FormParserFactory.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.form.FormParserFactory.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/form/FormParserFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.form.FormParserFactory.Builder
    signature: '[io.undertow.server.handlers.form.FormParserFactory.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '[io.undertow.server.handlers.accesslog.LogFileHeaderGenerator].generateHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/LogFileHeaderGenerator.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.LogFileHeaderGenerator].generateHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.LogFileHeaderGenerator].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/LogFileHeaderGenerator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
    signature: '[io.undertow.server.handlers.accesslog.LogFileHeaderGenerator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.jboss.logging.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - category
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/JBossLoggingAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.jboss.logging.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/JBossLoggingAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].info(String)'
      Src: io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.jboss.logging.Logger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].logMessage(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/JBossLoggingAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].info(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].logMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:101,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:105,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,ClassLoader,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - accessLogReceiver
    - formatString
    - classLoader
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.server.handlers.accesslog.AccessLogReceiver
    - String
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,ClassLoader,io.undertow.predicate.Predicate)'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogHandler
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:101,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler].handleCommonNames(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:112,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:113,1
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader,io.undertow.attribute.SubstituteEmptyWrapper)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:113,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - ClassLoader
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogHandler
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - next
    - accessLogReceiver
    - formatString
    - classLoader
    - predicate
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.server.handlers.accesslog.AccessLogReceiver
    - String
    - ClassLoader
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,ClassLoader,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
    - '[io.undertow.attribute.SubstituteEmptyWrapper].<init>(String)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler].handleCommonNames(String)'
    - '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader,io.undertow.attribute.SubstituteEmptyWrapper)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogHandler
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,ClassLoader,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:101,1
    - Dst: '[io.undertow.predicate.Predicates].truePredicate()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:117,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.attribute.ExchangeAttribute,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - next
    - accessLogReceiver
    - formatString
    - attribute
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.server.handlers.accesslog.AccessLogReceiver
    - String
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
    - '[io.undertow.predicate.Predicates].truePredicate()'
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.attribute.ExchangeAttribute,io.undertow.predicate.Predicate)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogHandler
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:101,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler].handleCommonNames(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogHandler
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - next
    - accessLogReceiver
    - formatString
    - attribute
    - predicate
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.server.handlers.accesslog.AccessLogReceiver
    - String
    - io.undertow.attribute.ExchangeAttribute
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.attribute.ExchangeAttribute,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler].handleCommonNames(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogHandler
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.attribute.ExchangeAttribute,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:131,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:133,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:135,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:137,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:139,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - formatString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler].handleCommonNames(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 2
    functionsReached:
    - '[String].equals(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler].handleCommonNames(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:148,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      - String
      - io.undertow.attribute.ExchangeAttribute
      - io.undertow.server.ExchangeCompletionListener
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: predicate.resolve(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener:156,1
    - Dst: tokens.readAttribute(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener:157,1
    - Dst: accessLogReceiver.logMessage(io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener)
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener:157,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - NextListener
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - nextListener
    argTypes:
    - io.undertow.server.HttpServerExchange
    - NextListener
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached:
    - predicate.resolve(io.undertow.server.HttpServerExchange)
    - accessLogReceiver.logMessage(io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener)
    - tokens.readAttribute(io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.AccessLogCompletionListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder:181,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder:182,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder:199,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder:199,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String,String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(String,String)'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogHandler.Builder
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - format
    - category
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].trim()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper:221,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper].isEmpty()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper:221,1
    - Dst: '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].<init>()'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper:222,1
    - Dst: Wrapper.class.getClassLoader()
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper:222,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver,String,io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper:222,1
    - Dst: '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper:224,1
    - Dst: Wrapper.class.getClassLoader()
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper:224,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver,String,io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper)'
      Src: io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].<init>()'
    - '[io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver].<init>(String)'
    - '[String].trim()'
    - Wrapper.class.getClassLoader()
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper].isEmpty()'
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.handlers.accesslog.JBossLoggingAccessLogReceiver,String,io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.accesslog.AccessLogHandler.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:67,1
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:89,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,String,null)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - java.io.File
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - logWriteExecutor
    - outputDirectory
    - logBaseName
    argTypes:
    - java.util.concurrent.Executor
    - java.io.File
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.io.File,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].toPath()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,String,null)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.io.File,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:67,1
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:93,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,String,String,boolean)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - java.io.File
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - logWriteExecutor
    - outputDirectory
    - logBaseName
    - logNameSuffix
    argTypes:
    - java.util.concurrent.Executor
    - java.io.File
    - String
    - String
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.io.File,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].toPath()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,String,String,boolean)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.io.File,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:67,1
    - Dst: '[java.io.File].toPath()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:97,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,String,String,boolean)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - java.io.File
      - String
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - logWriteExecutor
    - outputDirectory
    - logBaseName
    - logNameSuffix
    - rotate
    argTypes:
    - java.util.concurrent.Executor
    - java.io.File
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.io.File,String,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].toPath()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,String,String,boolean)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.io.File,String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:67,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,null)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - logWriteExecutor
    - outputDirectory
    - logBaseName
    argTypes:
    - java.util.concurrent.Executor
    - java.nio.file.Path
    - String
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,null)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:67,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - logWriteExecutor
    - outputDirectory
    - logBaseName
    - logNameSuffix
    argTypes:
    - java.util.concurrent.Executor
    - java.nio.file.Path
    - String
    - String
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:67,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean,null)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - logWriteExecutor
    - outputDirectory
    - logBaseName
    - logNameSuffix
    - rotate
    argTypes:
    - java.util.concurrent.Executor
    - java.nio.file.Path
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean,null)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:67,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean,null,int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - String
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - logWriteExecutor
    - outputDirectory
    - logBaseName
    - logNameSuffix
    - rotate
    - fileHeader
    argTypes:
    - java.util.concurrent.Executor
    - java.nio.file.Path
    - String
    - String
    - boolean
    - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean,io.undertow.server.handlers.accesslog.LogFileHeaderGenerator)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean,null,int,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean,io.undertow.server.handlers.accesslog.LogFileHeaderGenerator)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:67,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:123,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:124,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].calculateChangeOverPoint()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      - java.nio.file.Path
      - String
      - String
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - logWriteExecutor
    - outputDirectory
    - logBaseName
    - logNameSuffix
    - rotate
    - fileHeader
    - closeRetryCount
    - closeRetryDelay
    argTypes:
    - java.util.concurrent.Executor
    - java.nio.file.Path
    - String
    - String
    - boolean
    - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
    - int
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean,io.undertow.server.handlers.accesslog.LogFileHeaderGenerator,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].calculateChangeOverPoint()'
    - '[java.nio.file.Path].resolve(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.util.concurrent.ConcurrentLinkedDeque].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(java.util.concurrent.Executor,java.nio.file.Path,String,String,boolean,io.undertow.server.handlers.accesslog.LogFileHeaderGenerator,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Calendar].getInstance()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:131,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].set(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:132,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].set(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:133,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].set(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:134,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].add(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:135,1
    - Dst: '[java.text.SimpleDateFormat].<init>(String,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:136,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:137,1
    - Dst: '[java.text.SimpleDateFormat].format(java.util.Date)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:137,1
    - Dst: '[java.nio.file.Files].exists(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:139,1
    - Dst: '[java.nio.file.Files].getLastModifiedTime(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:141,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].toMillis()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:141,1
    - Dst: '[java.util.Date].<init>(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:141,1
    - Dst: '[java.text.SimpleDateFormat].format(java.util.Date)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:141,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].getTimeInMillis()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].calculateChangeOverPoint()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].toMillis()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].set(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,int)'
    - '[java.nio.file.Files].exists(java.nio.file.Path)'
    - '[java.text.SimpleDateFormat].format(java.util.Date)'
    - '[java.text.SimpleDateFormat].<init>(String,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].getTimeInMillis()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].add(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,int)'
    - '[java.util.Date].<init>(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.util.Calendar].getInstance()'
    - '[java.nio.file.Files].getLastModifiedTime(java.nio.file.Path)'
    - '[java.util.Date].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].calculateChangeOverPoint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].failedToLogAccessOnClose()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:154,1
    - Dst: '[java.util.Deque<String>].add(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:156,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:157,1
    - Dst: '[java.util.concurrent.Executor].execute()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].logMessage(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[java.util.Deque<String>].add(String)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].failedToLogAccessOnClose()'
    - '[java.util.concurrent.Executor].execute()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].logMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:169,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:175,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].performFileRotation()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:176,1
    - Dst: '[java.nio.file.Files].exists(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:177,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].checkAndRotateOnInitialRun()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:178,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:183,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].accessLogWorkerFailureOnTransition()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:184,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].initOutput()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:190,1
    - Dst: '[java.util.Deque<String>].isEmpty()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:191,1
    - Dst: '[java.util.Deque<String>].peek()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:192,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].writeMessage(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:196,1
    - Dst: '[java.util.Deque<String>].remove(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:202,1
    - Dst: bw.flush()
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:213,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorWritingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:215,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:218,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].accessLogWorkerFailureOnTransition()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:219,1
    - Dst: '[java.util.Deque<String>].isEmpty()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:223,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:224,1
    - Dst: '[java.util.concurrent.Executor].execute()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:225,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].accessLogWorkerFailureOnReschedule()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:227,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:230,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].accessLogWorkerFailureOnTransition()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:231,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 236
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].accessLogWorkerFailureOnTransition()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].initOutput()'
    - '[java.util.Deque<String>].isEmpty()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].performFileRotation()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].checkAndRotateOnInitialRun()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorWritingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.util.Deque<String>].remove(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.nio.file.Files].exists(java.nio.file.Path)'
    - bw.flush()
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].accessLogWorkerFailureOnReschedule()'
    - '[java.util.concurrent.Executor].execute()'
    - '[java.util.Deque<String>].peek()'
    - System.currentTimeMillis()
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].writeMessage(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<String>].isEmpty()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:245,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:246,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 5
    functionsReached:
    - '[java.util.Deque<String>].isEmpty()'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].awaitWrittenForTest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bw.write(String)
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:261,1
    - Dst: bw.newLine()
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:262,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorWritingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].writeMessage(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - bw.newLine()
    - bw.write(String)
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorWritingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].writeMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].newBufferedWriter(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:276,1
    - Dst: '[java.nio.file.Files].size(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:277,1
    - Dst: '[io.undertow.server.handlers.accesslog.LogFileHeaderGenerator].generateHeader()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:278,1
    - Dst: '[java.io.BufferedWriter].write(String)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:280,1
    - Dst: '[java.io.BufferedWriter].newLine()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:281,1
    - Dst: '[java.io.BufferedWriter].flush()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:282,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorWritingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 291
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].initOutput()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorWritingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.io.BufferedWriter].flush()'
    - '[java.nio.file.Files].size(java.nio.file.Path)'
    - '[java.io.BufferedWriter].write(String)'
    - '[java.nio.file.Files].newBufferedWriter(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.server.handlers.accesslog.LogFileHeaderGenerator].generateHeader()'
    - '[java.io.BufferedWriter].newLine()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].initOutput()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].getLastModifiedTime(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:296,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].toMillis()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:296,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorRotatingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:298,1
    - Dst: '[java.util.Calendar].getInstance()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:300,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].setTimeInMillis(long)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:301,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].add(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:302,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].getTimeInMillis()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:303,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].performFileRotation()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 307
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].checkAndRotateOnInitialRun()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorRotatingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].performFileRotation()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].toMillis()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].getTimeInMillis()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].setTimeInMillis(long)'
    - '[java.util.Calendar].getInstance()'
    - '[java.nio.file.Files].getLastModifiedTime(java.nio.file.Path)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].add(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].checkAndRotateOnInitialRun()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.BufferedWriter].flush()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:316,1
    - Dst: '[java.io.BufferedWriter].close()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:317,1
    - Dst: '[java.nio.file.Files].exists(java.nio.file.Path)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:320,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:323,1
    - Dst: '[java.nio.file.Files].exists(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:325,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:327,1
    - Dst: '[java.nio.file.Files].move(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:329,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorRotatingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:331,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].calculateChangeOverPoint()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 335
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].performFileRotation()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorRotatingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.io.BufferedWriter].close()'
    - '[java.nio.file.Files].move(java.nio.file.Path,io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.nio.file.Files].exists(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.nio.file.Files].exists(java.nio.file.Path)'
    - '[java.nio.file.Path].resolve(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].calculateChangeOverPoint()'
    - '[java.io.BufferedWriter].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].performFileRotation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:343,1
    - Dst: '[java.util.concurrent.Executor].execute()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].rotate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.Executor].execute()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].rotate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:357,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].flushAndTerminate()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:358,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:362,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].flushAndTerminate()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:365,1
    - Dst: Thread.currentThread()
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:372,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].sleep(int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:372,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].closeInterrupted(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:374,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].get()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:377,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].getAndSet(int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:381,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].accessLogWorkerNoTermination()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:383,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].flushAndTerminate()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 387
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].get()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].accessLogWorkerNoTermination()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].sleep(int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].getAndSet(int)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].closeInterrupted(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - Thread.currentThread()
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>].compareAndSet(int,int)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].flushAndTerminate()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<String>].isEmpty()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:391,1
    - Dst: '[java.util.Deque<String>].poll()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:392,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].writeMessage(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:397,1
    - Dst: '[java.io.BufferedWriter].flush()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:400,1
    - Dst: '[java.io.BufferedWriter].close()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:401,1
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorWritingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 410
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].flushAndTerminate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[java.io.BufferedWriter].close()'
    - '[java.util.Deque<String>].isEmpty()'
    - '[java.util.Deque<String>].poll()'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].errorWritingAccessLog(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].writeMessage(io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver)'
    - '[java.io.BufferedWriter].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].flushAndTerminate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - java.util.concurrent.Executor
      - java.util.Deque<String>
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver>
      - long
      - String
      - boolean
      - java.nio.file.Path
      - java.nio.file.Path
      - String
      - String
      - java.io.BufferedWriter
      - boolean
      - boolean
      - boolean
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      - java.io.Closeable
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.Executor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getLogWriteExecutor()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.Executor
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getLogWriteExecutor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - logWriteExecutor
    argTypes:
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setLogWriteExecutor(java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setLogWriteExecutor(java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getOutputDirectory()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getOutputDirectory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - outputDirectory
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setOutputDirectory(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setOutputDirectory(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getLogBaseName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getLogBaseName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - logBaseName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setLogBaseName(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setLogBaseName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getLogNameSuffix()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getLogNameSuffix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - logNameSuffix
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setLogNameSuffix(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setLogNameSuffix(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].isRotate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].isRotate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rotate
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setRotate(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setRotate(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getLogFileHeaderGenerator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getLogFileHeaderGenerator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - logFileHeaderGenerator
    argTypes:
    - io.undertow.server.handlers.accesslog.LogFileHeaderGenerator
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setLogFileHeaderGenerator(io.undertow.server.handlers.accesslog.LogFileHeaderGenerator)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setLogFileHeaderGenerator(io.undertow.server.handlers.accesslog.LogFileHeaderGenerator)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getCloseRetryCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getCloseRetryCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - closeRetryCount
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setCloseRetryCount(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setCloseRetryCount(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getCloseRetryDelay()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].getCloseRetryDelay()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - closeRetryDelay
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setCloseRetryDelay(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].setCloseRetryDelay(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(Executor,Path,String,String,boolean,LogFileHeaderGenerator,int,int)'
      Src: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver].<init>(Executor,Path,String,String,boolean,LogFileHeaderGenerator,int,int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Executor
      - Path
      - String
      - String
      - boolean
      - LogFileHeaderGenerator
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/DefaultAccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder
    signature: '[io.undertow.server.handlers.accesslog.DefaultAccessLogReceiver.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader,io.undertow.attribute.ExchangeAttributeWrapper)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttributeParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - classLoader
    argTypes:
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].<init>(ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader,io.undertow.attribute.ExchangeAttributeWrapper)'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].<init>(ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:195,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:197,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getWhiteSpaces()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:201,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].isEnded()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:203,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogEmptyPattern()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:204,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:208,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].isDebugEnabled()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:210,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].debug(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:211,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getLogElement(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser,io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:213,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:217,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getWhiteSpaces()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:218,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].length()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:219,1
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:220,1
    - Dst: '[java.util.ArrayList].add(io.undertow.attribute.ConstantExchangeAttribute)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:220,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].isEnded()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:222,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:225,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].isDebugEnabled()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:227,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:228,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].debug(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:228,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:230,1
    - Dst: '[io.undertow.attribute.CompositeExchangeAttribute].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:230,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogPatternParseError(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttributeParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 235
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 235
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].parse(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].isEnded()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].<init>(String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogEmptyPattern()'
    - '[io.undertow.attribute.ConstantExchangeAttribute].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[java.util.ArrayList].add(io.undertow.attribute.ExchangeAttribute)'
    - '[java.util.ArrayList].size()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
    - '[java.util.ArrayList].toArray()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].length()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getWhiteSpaces()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogPatternParseError(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].debug(String)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(io.undertow.attribute.ConstantExchangeAttribute)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getLogElement(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser,io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].isDebugEnabled()'
    - '[io.undertow.attribute.CompositeExchangeAttribute].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].parse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:238,1
    - Dst: '[io.undertow.attribute.DateTimeAttribute].<init>(String,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:239,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:240,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:241,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:242,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:243,1
    - Dst: '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:245,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ResponseTimeAttribute,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:245,1
    - Dst: '[io.undertow.attribute.DateTimeAttribute].<init>(String,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:248,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:250,1
    - Dst: '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:251,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:252,1
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:254,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:255,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:256,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:257,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:259,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:260,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:278,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:279,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:280,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:282,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:283,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:300,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getClientToServerElement(PatternTokenizer)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:301,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:302,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getServerToClientElement(PatternTokenizer)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:303,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:304,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:304,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getProxyElement(PatternTokenizer)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:305,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:306,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getXParameterElement(PatternTokenizer)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:307,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogUnknownToken(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:309,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - PatternTokenizer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttributeParser
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - token
    - tokenizer
    argTypes:
    - String
    - PatternTokenizer
    constantsTouched: []
    func_position:
      end: 311
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 311
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getLogElement(String,PatternTokenizer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getClientToServerElement(PatternTokenizer)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getServerToClientElement(PatternTokenizer)'
    - '[io.undertow.attribute.ExchangeAttribute].<init>()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getProxyElement(PatternTokenizer)'
    - '[String].equals(String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
    - '[io.undertow.attribute.BytesSentAttribute].<init>(boolean)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogUnknownToken(String)'
    - '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getXParameterElement(PatternTokenizer)'
    - '[io.undertow.attribute.ResponseTimeAttribute].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.attribute.DateTimeAttribute].<init>(String,String)'
    - '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ResponseTimeAttribute,String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getLogElement(String,PatternTokenizer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:315,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:316,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:317,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:319,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:320,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:321,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:322,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:324,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:325,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:328,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:352,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:353,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogMissingClosing()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:355,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:358,1
    - Dst: '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:358,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.RequestHeaderAttribute)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:358,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getRemains()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:360,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecode(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:360,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - PatternTokenizer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttributeParser
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - PatternTokenizer
    constantsTouched: []
    func_position:
      end: 362
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 362
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getClientToServerElement(PatternTokenizer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
    - '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogMissingClosing()'
    - '[io.undertow.attribute.ExchangeAttribute].<init>()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getRemains()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecode(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
    - '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
    - '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.RequestHeaderAttribute)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getClientToServerElement(PatternTokenizer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:366,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:367,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:368,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:370,1
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:371,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:373,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:374,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogMissingClosing()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:376,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:379,1
    - Dst: '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:379,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.ResponseHeaderAttribute)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:379,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getRemains()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:381,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecode(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - PatternTokenizer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttributeParser
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - PatternTokenizer
    constantsTouched: []
    func_position:
      end: 383
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 383
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getServerToClientElement(PatternTokenizer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getRemains()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogMissingClosing()'
    - '[io.undertow.attribute.ResponseHeaderAttribute].<init>(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecode(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
    - '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
    - '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.ResponseHeaderAttribute)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getServerToClientElement(PatternTokenizer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:388,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:389,1
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:390,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:391,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:392,1
    - Dst: '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:393,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecode(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - PatternTokenizer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttributeParser
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - PatternTokenizer
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getProxyElement(PatternTokenizer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecode(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
    - '[io.undertow.attribute.ConstantExchangeAttribute].<init>(String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getProxyElement(PatternTokenizer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:401,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogBadXParam()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:402,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:405,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:406,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogBadXParam()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:407,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:410,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogMissingClosing()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:412,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:415,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:416,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:416,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:417,1
    - Dst: '[io.undertow.attribute.CookieAttribute].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:418,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.CookieAttribute,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:418,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:419,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:420,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:421,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:422,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:422,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:423,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getServletRequestElement(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:424,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:425,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:426,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:426,1
    - Dst: '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:427,1
    - Dst: '[io.undertow.attribute.ExchangeAttribute].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:428,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:428,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecodeXParamValue(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:451,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    JavaMethodInfo:
      argumentGenericTypes:
      - PatternTokenizer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttributeParser
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - tokenizer
    argTypes:
    - PatternTokenizer
    constantsTouched: []
    func_position:
      end: 453
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 453
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getXParameterElement(PatternTokenizer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogMissingClosing()'
    - '[io.undertow.attribute.ExchangeAttribute].<init>()'
    - '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.ExchangeAttribute)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getServletRequestElement(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
    - '[String].equals(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecodeXParamValue(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogBadXParam()'
    - '[io.undertow.attribute.CookieAttribute].<init>(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser)'
    - '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.CookieAttribute,String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getXParameterElement(PatternTokenizer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:456,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:457,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:458,1
    - Dst: '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:459,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:460,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:461,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:462,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:463,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:464,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:465,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:466,1
    - Dst: '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:467,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.RequestHeaderAttribute)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:467,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:468,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:469,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:470,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:471,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:472,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:474,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:476,1
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecodeXParamValue(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser:479,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.attribute.ExchangeAttributeParser
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.attribute.ExchangeAttribute
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - parameter
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getServletRequestElement(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.SubstituteEmptyWrapper.SubstituteEmptyAttribute].<init>(io.undertow.attribute.ExchangeAttribute,String)'
    - '[io.undertow.attribute.RequestHeaderAttribute].<init>(io.undertow.util.HttpString)'
    - '[String].equals(String)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].extendedAccessLogCannotDecodeXParamValue(String)'
    - '[io.undertow.attribute.QuotingExchangeAttribute].<init>(io.undertow.attribute.RequestHeaderAttribute)'
    linkageType: ''
    returnType: io.undertow.attribute.ExchangeAttribute
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser].getServletRequestElement(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:80,1
    - Dst: '[java.io.StringReader].<init>(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - StringReader
      - StringBuilder
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 1
    functionsReached:
    - '[java.io.StringReader].<init>(String)'
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StringReader
      - StringBuilder
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasSubToken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StringReader
      - StringBuilder
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].hasParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringReader].read()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:105,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:109,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:110,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:111,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:114,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:115,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:119,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:120,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:124,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:125,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:128,1
    - Dst: '[StringReader].read()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:130,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:133,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:134,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StringReader
      - StringBuilder
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 6
    functionsReached:
    - '[StringReader].read()'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].length()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getToken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringReader].read()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:146,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:149,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:150,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:153,1
    - Dst: '[StringReader].read()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StringReader
      - StringBuilder
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 4
    functionsReached:
    - '[StringBuilder].toString()'
    - '[StringReader].read()'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].isEnded()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:160,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:162,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:163,1
    - Dst: '[StringBuilder].append(StringBuilder)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:164,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:165,1
    - Dst: '[StringReader].read()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:167,1
    - Dst: Character.isWhitespace(char)
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:168,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:169,1
    - Dst: '[StringReader].read()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:170,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:175,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StringReader
      - StringBuilder
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getWhiteSpaces()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].isEnded()'
    - '[StringReader].read()'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - Character.isWhitespace(char)
    - '[StringBuilder].length()'
    - '[StringBuilder].append(StringBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getWhiteSpaces()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StringReader
      - StringBuilder
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].isEnded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].isEnded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:185,1
    - Dst: '[StringReader].read()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:186,1
    - Dst: '[StringReader].read()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:186,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:187,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - StringReader
      - StringBuilder
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getRemains()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 2
    functionsReached:
    - '[StringBuilder].toString()'
    - '[StringReader].read()'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.PatternTokenizer].getRemains()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - LogFileHeaderGenerator
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:493,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:494,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:495,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:496,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:496,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:497,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:498,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:498,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:499,1
    - Dst: '[io.undertow.Version].getFullVersionString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:500,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:500,1
    - Dst: System.lineSeparator()
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:501,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator)'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:501,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - LogFileHeaderGenerator
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 503
    functionName: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator].generateHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/ExtendedAccessLogParser.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>()'
    - System.lineSeparator()
    - '[StringBuilder].toString()'
    - '[io.undertow.Version].getFullVersionString()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].append(io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.accesslog.ExtendedAccessLogParser.ExtendedAccessLogHeaderGenerator].generateHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogReceiver].logMessage(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogReceiver.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.accesslog.AccessLogReceiver].logMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.accesslog.AccessLogReceiver
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.accesslog.AccessLogReceiver].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/accesslog/AccessLogReceiver.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.accesslog.AccessLogReceiver
    signature: '[io.undertow.server.handlers.accesslog.AccessLogReceiver].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:52,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:55,1
    - Dst: buffer.getBuffer()
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:56,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].clear()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - DirectBufferCache.CacheEntry
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - cacheEntry
    - length
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - DirectBufferCache.CacheEntry
    - long
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,DirectBufferCache.CacheEntry,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].clear()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
    - buffer.getBuffer()
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,DirectBufferCache.CacheEntry,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:62,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:67,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:72,1
    - Dst: '[Object].write(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:73,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:75,1
    - Dst: pooled[i].getBuffer()
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:78,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].position()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:80,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].limit(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:80,1
    - Dst: '[org.xnio.Buffers].copy(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,int,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:81,1
    - Dst: buffer.flip()
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:85,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:87,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:88,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:90,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:90,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].cacheEntryMismatchContent(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:90,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:91,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].limit(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit)'
    - pooled[i].getBuffer()
    - '[Object].write(java.nio.ByteBuffer)'
    - '[org.xnio.Buffers].copy(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,int,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].cacheEntryMismatchContent(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit)'
    - '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].position()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
    - buffer.flip()
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srcs[i].duplicate()
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:104,1
    - Dst: '[Object].write(ByteBuffer[],int,int)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:106,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:108,1
    - Dst: pooled[i].getBuffer()
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:111,1
    - Dst: buf.remaining()
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:116,1
    - Dst: buf.limit(int)
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:117,1
    - Dst: buf.remaining()
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:119,1
    - Dst: '[org.xnio.Buffers].copy(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,int,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:120,1
    - Dst: buffer.flip()
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:129,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:131,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:132,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:134,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:134,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].cacheEntryMismatchContent(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,long)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:134,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:135,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].cacheEntryMismatchContent(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,long)'
    - buf.remaining()
    - pooled[i].getBuffer()
    - '[org.xnio.Buffers].copy(io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,int,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit,io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
    - srcs[i].duplicate()
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
    - buffer.flip()
    - buf.limit(int)
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
    - '[Object].write(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:146,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:147,1
    - Dst: '[Object].terminateWrites()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[Object].terminateWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:155,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:156,1
    - Dst: '[Object].truncateWrites()'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    - '[Object].truncateWrites()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.ResponseCachingStreamSinkConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:43,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:44,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:62,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:65,1
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].checkNotNullParam(String,org.xnio.BufferAllocator<java.nio.ByteBuffer>)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater
      - java.util.Queue<Slice>
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.LimitedBufferSlicePool
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - allocator
    - bufferSize
    - maxRegionSize
    - maxRegions
    argTypes:
    - org.xnio.BufferAllocator<java.nio.ByteBuffer>
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(org.xnio.BufferAllocator<java.nio.ByteBuffer>,int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].checkNotNullParam(String,org.xnio.BufferAllocator<java.nio.ByteBuffer>)'
    - '[IllegalArgumentException].<init>(String)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.LimitedBufferSlicePool
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(org.xnio.BufferAllocator<java.nio.ByteBuffer>,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:43,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:44,1
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(org.xnio.BufferAllocator<java.nio.ByteBuffer>,int,int,int)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater
      - java.util.Queue<Slice>
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.LimitedBufferSlicePool
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - allocator
    - bufferSize
    - maxRegionSize
    argTypes:
    - org.xnio.BufferAllocator<java.nio.ByteBuffer>
    - int
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(org.xnio.BufferAllocator<java.nio.ByteBuffer>,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(org.xnio.BufferAllocator<java.nio.ByteBuffer>,int,int,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.LimitedBufferSlicePool
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(org.xnio.BufferAllocator<java.nio.ByteBuffer>,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:43,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:44,1
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(io.undertow.server.handlers.cache.LimitedBufferSlicePool,int,int)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater
      - java.util.Queue<Slice>
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.LimitedBufferSlicePool
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bufferSize
    - maxRegionSize
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(io.undertow.server.handlers.cache.LimitedBufferSlicePool,int,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.LimitedBufferSlicePool
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Queue<Slice>].poll()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:102,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].getAndIncrement()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:103,1
    - Dst: '[org.xnio.BufferAllocator<java.nio.ByteBuffer>].allocate(io.undertow.server.handlers.cache.LimitedBufferSlicePool)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:106,1
    - Dst: '[Slice].<init>(io.undertow.server.handlers.cache.LimitedBufferSlicePool,io.undertow.server.handlers.cache.LimitedBufferSlicePool,int)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:109,1
    - Dst: '[java.util.Queue<Slice>].add(Slice)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:109,1
    - Dst: '[Slice].<init>(io.undertow.server.handlers.cache.LimitedBufferSlicePool,int,int)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:112,1
    - Dst: '[Slice].slice()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:113,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].<init>(Slice,io.undertow.server.handlers.cache.LimitedBufferSlicePool,java.util.Queue<Slice>)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:113,1
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].slice()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:118,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].<init>(io.undertow.server.handlers.cache.LimitedBufferSlicePool,io.undertow.server.handlers.cache.LimitedBufferSlicePool,java.util.Queue<Slice>)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater
      - java.util.Queue<Slice>
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached:
    - '[java.util.Queue<Slice>].add(Slice)'
    - '[Slice].<init>(io.undertow.server.handlers.cache.LimitedBufferSlicePool,io.undertow.server.handlers.cache.LimitedBufferSlicePool,int)'
    - '[io.undertow.connector.PooledByteBuffer].<init>(Slice,io.undertow.server.handlers.cache.LimitedBufferSlicePool,java.util.Queue<Slice>)'
    - '[Slice].<init>(io.undertow.server.handlers.cache.LimitedBufferSlicePool,int,int)'
    - '[java.util.Queue<Slice>].poll()'
    - '[org.xnio.BufferAllocator<java.nio.ByteBuffer>].allocate(io.undertow.server.handlers.cache.LimitedBufferSlicePool)'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].slice()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].getAndIncrement()'
    - '[io.undertow.connector.PooledByteBuffer].<init>(io.undertow.server.handlers.cache.LimitedBufferSlicePool,io.undertow.server.handlers.cache.LimitedBufferSlicePool,java.util.Queue<Slice>)'
    - '[Slice].slice()'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Queue<Slice>].isEmpty()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:125,1
    - Dst: '[java.util.Queue<Slice>].iterator()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:128,1
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].hasNext()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:130,1
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].next()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater
      - java.util.Queue<Slice>
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - slices
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].canAllocate(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached:
    - '[java.util.Queue<Slice>].iterator()'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].hasNext()'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].next()'
    - '[java.util.Queue<Slice>].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].canAllocate(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Slice
      - java.nio.ByteBuffer
      - java.util.Queue<Slice>
      classConcrete: true
      classEnum: false
      classFields:
      - Slice
      - Queue<Slice>
      - ByteBuffer
      - AtomicReferenceFieldUpdater<PooledByteBuffer, ByteBuffer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - region
    - buffer
    - slices
    argTypes:
    - Slice
    - java.nio.ByteBuffer
    - java.util.Queue<Slice>
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer].<init>(Slice,java.nio.ByteBuffer,java.util.Queue<Slice>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer].<init>(Slice,java.nio.ByteBuffer,java.util.Queue<Slice>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<PooledByteBuffer, ByteBuffer>].getAndSet(null)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer:157,1
    - Dst: '[Queue<Slice>].add(Slice)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Slice
      - Queue<Slice>
      - ByteBuffer
      - AtomicReferenceFieldUpdater<PooledByteBuffer, ByteBuffer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer].free()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<PooledByteBuffer, ByteBuffer>].getAndSet(null)'
    - '[Queue<Slice>].add(Slice)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer].free()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Slice
      - Queue<Slice>
      - ByteBuffer
      - AtomicReferenceFieldUpdater<PooledByteBuffer, ByteBuffer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer].getBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer].getBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Slice
      - Queue<Slice>
      - ByteBuffer
      - AtomicReferenceFieldUpdater<PooledByteBuffer, ByteBuffer>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.PooledByteBuffer].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBuffer
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - parent
    - start
    - size
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice].<init>(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice].<init>(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ByteBuffer].duplicate()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice:188,1
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice].position(int)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice:188,1
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice].limit(io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice)'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice:188,1
    - Dst: '[java.nio.ByteBuffer].slice()'
      Src: io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBuffer
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice].slice()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LimitedBufferSlicePool.java
    functionUses: 0
    functionsReached:
    - '[ByteBuffer].duplicate()'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice].limit(io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice)'
    - '[java.nio.ByteBuffer].slice()'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice].position(int)'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool.Slice].slice()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>(int)'
      Src: io.undertow.server.handlers.cache.LRUCache:69,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
      Src: io.undertow.server.handlers.cache.LRUCache:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.LRUCache
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - maxEntries
    - maxAge
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.LRUCache
    signature: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>(int)'
      Src: io.undertow.server.handlers.cache.LRUCache:77,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
      Src: io.undertow.server.handlers.cache.LRUCache:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.LRUCache
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - maxEntries
    - maxAge
    - fifo
    argTypes:
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.LRUCache
    signature: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].get(K)'
      Src: io.undertow.server.handlers.cache.LRUCache:84,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.cache.LRUCache:92,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].<init>(K,V,io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:94,1
    - Dst: '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].putIfAbsent(K,io.undertow.server.handlers.cache.LRUCache.CacheEntry)'
      Src: io.undertow.server.handlers.cache.LRUCache:95,1
    - Dst: value.setValue(V)
      Src: io.undertow.server.handlers.cache.LRUCache:98,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].bumpAccess(io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:100,1
    - Dst: '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].size()'
      Src: io.undertow.server.handlers.cache.LRUCache:101,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].poll()'
      Src: io.undertow.server.handlers.cache.LRUCache:103,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].key()'
      Src: io.undertow.server.handlers.cache.LRUCache:105,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].remove(io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - newValue
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.cache.LRUCache].add(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].get(K)'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].<init>(K,V,io.undertow.server.handlers.cache.LRUCache)'
    - '[io.undertow.server.handlers.cache.LRUCache].bumpAccess(io.undertow.server.handlers.cache.LRUCache)'
    - '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].size()'
    - '[io.undertow.server.handlers.cache.LRUCache].key()'
    - '[io.undertow.server.handlers.cache.LRUCache].remove(io.undertow.server.handlers.cache.LRUCache)'
    - value.setValue(V)
    - System.currentTimeMillis()
    - '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].poll()'
    - '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].putIfAbsent(K,io.undertow.server.handlers.cache.LRUCache.CacheEntry)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.LRUCache].add(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].get(K)'
      Src: io.undertow.server.handlers.cache.LRUCache:112,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].getExpires()'
      Src: io.undertow.server.handlers.cache.LRUCache:116,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.cache.LRUCache:118,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].remove(K)'
      Src: io.undertow.server.handlers.cache.LRUCache:119,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].hit()'
      Src: io.undertow.server.handlers.cache.LRUCache:125,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].bumpAccess(io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:126,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].getValue()'
      Src: io.undertow.server.handlers.cache.LRUCache:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - K
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.cache.LRUCache].get(K)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].get(K)'
    - '[io.undertow.server.handlers.cache.LRUCache].getExpires()'
    - '[io.undertow.server.handlers.cache.LRUCache].bumpAccess(io.undertow.server.handlers.cache.LRUCache)'
    - '[io.undertow.server.handlers.cache.LRUCache].getValue()'
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.cache.LRUCache].hit()'
    - '[io.undertow.server.handlers.cache.LRUCache].remove(K)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.server.handlers.cache.LRUCache].get(K)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].keySet()'
      Src: io.undertow.server.handlers.cache.LRUCache:134,1
    - Dst: '[java.util.Collections].unmodifiableSet(io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<K>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.cache.LRUCache].keySet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].keySet()'
    - '[java.util.Collections].unmodifiableSet(io.undertow.server.handlers.cache.LRUCache)'
    linkageType: ''
    returnType: java.util.Set<K>
    signature: '[io.undertow.server.handlers.cache.LRUCache].keySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CacheEntry<K,V>].claimToken()'
      Src: io.undertow.server.handlers.cache.LRUCache:138,1
    - Dst: Boolean.FALSE.equals(io.undertow.server.handlers.cache.LRUCache)
      Src: io.undertow.server.handlers.cache.LRUCache:139,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].removeToken(io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:141,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].offerLastAndReturnToken(CacheEntry<K,V>)'
      Src: io.undertow.server.handlers.cache.LRUCache:146,1
    - Dst: '[CacheEntry<K,V>].setToken(io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:151,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].removeToken(io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - CacheEntry<K,V>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cacheEntry
    argTypes:
    - CacheEntry<K,V>
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.cache.LRUCache].bumpAccess(CacheEntry<K,V>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].removeToken(io.undertow.server.handlers.cache.LRUCache)'
    - '[CacheEntry<K,V>].claimToken()'
    - Boolean.FALSE.equals(io.undertow.server.handlers.cache.LRUCache)
    - '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].offerLastAndReturnToken(CacheEntry<K,V>)'
    - '[CacheEntry<K,V>].setToken(io.undertow.server.handlers.cache.LRUCache)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.LRUCache].bumpAccess(CacheEntry<K,V>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].remove(K)'
      Src: io.undertow.server.handlers.cache.LRUCache:158,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].clearToken()'
      Src: io.undertow.server.handlers.cache.LRUCache:160,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].removeToken(io.undertow.server.handlers.cache.LRUCache)'
      Src: io.undertow.server.handlers.cache.LRUCache:162,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].getValue()'
      Src: io.undertow.server.handlers.cache.LRUCache:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - K
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.cache.LRUCache].remove(K)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].remove(K)'
    - '[io.undertow.server.handlers.cache.LRUCache].clearToken()'
    - '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].removeToken(io.undertow.server.handlers.cache.LRUCache)'
    - '[io.undertow.server.handlers.cache.LRUCache].getValue()'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.server.handlers.cache.LRUCache].remove(K)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].clear()'
      Src: io.undertow.server.handlers.cache.LRUCache:171,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].clear()'
      Src: io.undertow.server.handlers.cache.LRUCache:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.cache.LRUCache].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>].clear()'
    - '[io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.LRUCache].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.cache.LRUCache].getMaxEntries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.LRUCache].getMaxEntries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - java.util.concurrent.ConcurrentMap<K,CacheEntry<K,V>>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry<K,V>>
      - int
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: '[io.undertow.server.handlers.cache.LRUCache].getMaxAge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.LRUCache].getMaxAge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.handlers.cache.LRUCache.CacheEntry:185,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.LRUCache.CacheEntry:187,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.LRUCache.CacheEntry:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.cache.LRUCache.CacheEntry
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - key
    - value
    - expires
    argTypes:
    - K
    - V
    - long
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].<init>(K,V,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    - '[Object].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.LRUCache.CacheEntry
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].<init>(K,V,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - V
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].setValue(V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].setValue(V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: V
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicIntegerFieldUpdater<CacheEntry>].weakCompareAndSet(io.undertow.server.handlers.cache.LRUCache.CacheEntry)'
      Src: io.undertow.server.handlers.cache.LRUCache.CacheEntry:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].hit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicIntegerFieldUpdater<CacheEntry>].weakCompareAndSet(io.undertow.server.handlers.cache.LRUCache.CacheEntry)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].hit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: K
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].key()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: K
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].key()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<CacheEntry, Object>].compareAndSet(io.undertow.server.handlers.cache.LRUCache.CacheEntry,Object)'
      Src: io.undertow.server.handlers.cache.LRUCache.CacheEntry:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].claimToken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 1
    functionsReached:
    - '[AtomicReferenceFieldUpdater<CacheEntry, Object>].compareAndSet(io.undertow.server.handlers.cache.LRUCache.CacheEntry,Object)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].claimToken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<CacheEntry, Object>].compareAndSet(Object,Object)'
      Src: io.undertow.server.handlers.cache.LRUCache.CacheEntry:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].setToken(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<CacheEntry, Object>].compareAndSet(Object,Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].setToken(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<CacheEntry, Object>].getAndSet(null)'
      Src: io.undertow.server.handlers.cache.LRUCache.CacheEntry:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].clearToken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<CacheEntry, Object>].getAndSet(null)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].clearToken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - K
      - V
      - long
      - int
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].getExpires()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/LRUCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].getExpires()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:45,1
    - Dst: '[io.undertow.util.ETagUtils].getETag(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:46,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:47,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:47,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:48,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:48,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:49,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:49,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:50,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:50,1
    - Dst: '[io.undertow.util.DateUtils].parseDate(String)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:54,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:58,1
    - Dst: '[io.undertow.server.handlers.cache.CachedHttpRequest].getCurrentContentEncoding()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:60,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:62,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.CachedHttpRequest
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].<init>(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.handlers.cache.CachedHttpRequest].getCurrentContentEncoding()'
    - '[io.undertow.util.DateUtils].parseDate(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.encoding.AllowedContentEncodings>)'
    - '[io.undertow.util.ETagUtils].getETag(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.CachedHttpRequest
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].<init>(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETag
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].getEtag()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].getEtag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].getContentEncoding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].getContentEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].getLanguage()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].getLanguage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].getContentType()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].getContentType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].getLastModified()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].getLastModified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].getContentLocation()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].getContentLocation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].getResponseCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].getResponseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.CachedHttpRequest].getClass()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:102,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:102,1
    - Dst: '[String].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:107,1
    - Dst: '[String].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:109,1
    - Dst: '[String].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:111,1
    - Dst: '[io.undertow.util.ETag].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:112,1
    - Dst: '[String].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:113,1
    - Dst: '[java.util.Date].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:114,1
    - Dst: '[String].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:115,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
    - '[io.undertow.util.ETag].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
    - '[io.undertow.server.handlers.cache.CachedHttpRequest].getClass()'
    - '[java.util.Date].equals(io.undertow.server.handlers.cache.CachedHttpRequest)'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:122,1
    - Dst: '[io.undertow.util.ETag].hashCode()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:123,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:124,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:125,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:126,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:127,1
    - Dst: '[java.util.Date].hashCode()'
      Src: io.undertow.server.handlers.cache.CachedHttpRequest:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.util.ETag
      - String
      - String
      - String
      - String
      - java.util.Date
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.cache.CachedHttpRequest].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CachedHttpRequest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ETag].hashCode()'
    - '[java.util.Date].hashCode()'
    - '[String].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.CachedHttpRequest].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.cache.ResponseCache:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.cache.ResponseCache>
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpServerExchange
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.ResponseCache
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cache
    - exchange
    argTypes:
    - io.undertow.server.handlers.cache.DirectBufferCache
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.cache.ResponseCache].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCache.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.ResponseCache
    signature: '[io.undertow.server.handlers.cache.ResponseCache].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.ResponseCache].tryServeResponse(boolean)'
      Src: io.undertow.server.handlers.cache.ResponseCache:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.cache.ResponseCache>
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpServerExchange
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 8
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.cache.ResponseCache].tryServeResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCache.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.ResponseCache].tryServeResponse(boolean)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.ResponseCache].tryServeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.CachedHttpRequest].<init>(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.cache.ResponseCache:103,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].get(io.undertow.server.handlers.cache.CachedHttpRequest)'
      Src: io.undertow.server.handlers.cache.ResponseCache:104,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.cache.ResponseCache:107,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:107,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.cache.ResponseCache:108,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:108,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].enabled()'
      Src: io.undertow.server.handlers.cache.ResponseCache:118,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].reference()'
      Src: io.undertow.server.handlers.cache.ResponseCache:118,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].key()'
      Src: io.undertow.server.handlers.cache.ResponseCache:123,1
    - Dst: existingKey.getEtag()
      Src: io.undertow.server.handlers.cache.ResponseCache:127,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfMatch(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.cache.ResponseCache,boolean)'
      Src: io.undertow.server.handlers.cache.ResponseCache:128,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.cache.ResponseCache,boolean)'
      Src: io.undertow.server.handlers.cache.ResponseCache:132,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.cache.ResponseCache:133,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.cache.ResponseCache:134,1
    - Dst: existingKey.getLastModified()
      Src: io.undertow.server.handlers.cache.ResponseCache:138,1
    - Dst: '[io.undertow.util.DateUtils].handleIfUnmodifiedSince(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:138,1
    - Dst: existingKey.getLastModified()
      Src: io.undertow.server.handlers.cache.ResponseCache:141,1
    - Dst: '[io.undertow.util.DateUtils].handleIfModifiedSince(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:141,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.cache.ResponseCache:142,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.cache.ResponseCache:143,1
    - Dst: existingKey.getContentType()
      Src: io.undertow.server.handlers.cache.ResponseCache:148,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.ResponseCache:149,1
    - Dst: existingKey.getContentType()
      Src: io.undertow.server.handlers.cache.ResponseCache:149,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:149,1
    - Dst: existingKey.getContentEncoding()
      Src: io.undertow.server.handlers.cache.ResponseCache:151,1
    - Dst: existingKey.getContentEncoding()
      Src: io.undertow.server.handlers.cache.ResponseCache:151,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:151,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.cache.ResponseCache:151,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.ResponseCache:152,1
    - Dst: existingKey.getContentEncoding()
      Src: io.undertow.server.handlers.cache.ResponseCache:152,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:152,1
    - Dst: existingKey.getLastModified()
      Src: io.undertow.server.handlers.cache.ResponseCache:154,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.ResponseCache:155,1
    - Dst: existingKey.getLastModified()
      Src: io.undertow.server.handlers.cache.ResponseCache:155,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:155,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.cache.ResponseCache:155,1
    - Dst: existingKey.getContentLocation()
      Src: io.undertow.server.handlers.cache.ResponseCache:157,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.ResponseCache:158,1
    - Dst: existingKey.getContentLocation()
      Src: io.undertow.server.handlers.cache.ResponseCache:158,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:158,1
    - Dst: existingKey.getLanguage()
      Src: io.undertow.server.handlers.cache.ResponseCache:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.ResponseCache:161,1
    - Dst: existingKey.getLanguage()
      Src: io.undertow.server.handlers.cache.ResponseCache:161,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:161,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.ResponseCache:164,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCache].toString()'
      Src: io.undertow.server.handlers.cache.ResponseCache:164,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:164,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.cache.ResponseCache:168,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCache:168,1
    - Dst: Long.toString(io.undertow.server.handlers.cache.ResponseCache)
      Src: io.undertow.server.handlers.cache.ResponseCache:168,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:168,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.cache.ResponseCache:169,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.ResponseCache:169,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.cache.ResponseCache:170,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].buffers()'
      Src: io.undertow.server.handlers.cache.ResponseCache:179,1
    - Dst: pooled[i].getBuffer()
      Src: io.undertow.server.handlers.cache.ResponseCache:183,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCache].duplicate()'
      Src: io.undertow.server.handlers.cache.ResponseCache:183,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCache:188,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.cache.ResponseCache:194,1
    - Dst: '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].<init>(CacheEntry)'
      Src: io.undertow.server.handlers.cache.ResponseCache:194,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.cache.ResponseCache,io.undertow.server.handlers.resource.CachedResource.DereferenceCallback)'
      Src: io.undertow.server.handlers.cache.ResponseCache:194,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 90
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.cache.ResponseCache>
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpServerExchange
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - markCacheable
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 196
      start: 102
    functionDepth: 7
    functionLinenumber: 102
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.handlers.cache.ResponseCache].tryServeResponse(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCache.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ETagUtils].handleIfMatch(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.cache.ResponseCache,boolean)'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].enabled()'
    - '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.cache.ResponseCache,boolean)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - existingKey.getContentLocation()
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].reference()'
    - existingKey.getEtag()
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.cache.ResponseCache,io.undertow.server.handlers.resource.CachedResource.DereferenceCallback)'
    - '[io.undertow.server.handlers.cache.CachedHttpRequest].<init>(io.undertow.server.HttpServerExchange)'
    - existingKey.getLanguage()
    - '[io.undertow.util.DateUtils].handleIfModifiedSince(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.cache.ResponseCache)'
    - '[io.undertow.util.DateUtils].handleIfUnmodifiedSince(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.cache.ResponseCache)'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].buffers()'
    - '[io.undertow.util.HttpString].equals(io.undertow.server.handlers.cache.ResponseCache)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.handlers.cache.ResponseCache].toString()'
    - existingKey.getContentType()
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].dereference()'
    - '[io.undertow.server.handlers.cache.ResponseCache].duplicate()'
    - Long.toString(io.undertow.server.handlers.cache.ResponseCache)
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - existingKey.getContentEncoding()
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].size()'
    - '[io.undertow.util.DateUtils].toDateString(io.undertow.server.handlers.cache.ResponseCache)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.cache.ResponseCache)'
    - '[io.undertow.util.HttpString].tryFromString(io.undertow.server.handlers.cache.ResponseCache)'
    - existingKey.getLastModified()
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - pooled[i].getBuffer()
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].key()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].get(io.undertow.server.handlers.cache.CachedHttpRequest)'
    - '[io.undertow.server.handlers.resource.CachedResource.DereferenceCallback].<init>(CacheEntry)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.ResponseCache].tryServeResponse(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.cache.ResponseCache>
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpServerExchange
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.handlers.cache.ResponseCache].isResponseCachable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.ResponseCache].isResponseCachable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - DirectBufferCache.CacheEntry
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - IoCallback
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DirectBufferCache.CacheEntry
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: '[io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback].<init>(DirectBufferCache.CacheEntry)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback
    signature: '[io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback].<init>(DirectBufferCache.CacheEntry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback:211,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - IoCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sender
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.Sender
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 6
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: '[io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCache.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback].onComplete(io.undertow.server.HttpServerExchange,io.undertow.io.Sender)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback].ioException(java.io.IOException)'
      Src: io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback:217,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback:218,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.Sender
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - DirectBufferCache.CacheEntry
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - IoCallback
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - sender
    - exception
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.Sender
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 6
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: '[io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCache.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback].ioException(java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCache.DereferenceCallback].onException(io.undertow.server.HttpServerExchange,io.undertow.io.Sender,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.CacheHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cache
    - next
    argTypes:
    - io.undertow.server.handlers.cache.DirectBufferCache
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.handlers.cache.CacheHandler].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CacheHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.CacheHandler
    signature: '[io.undertow.server.handlers.cache.CacheHandler].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.cache.DirectBufferCache
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.CacheHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cache
    argTypes:
    - io.undertow.server.handlers.cache.DirectBufferCache
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.cache.CacheHandler].<init>(io.undertow.server.handlers.cache.DirectBufferCache)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CacheHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.CacheHandler
    signature: '[io.undertow.server.handlers.cache.CacheHandler].<init>(io.undertow.server.handlers.cache.DirectBufferCache)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.ResponseCache].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.cache.CacheHandler:56,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.cache.ResponseCache>,io.undertow.server.handlers.cache.ResponseCache)'
      Src: io.undertow.server.handlers.cache.CacheHandler:57,1
    - Dst: '[io.undertow.server.ConduitWrapper].<init>()'
      Src: io.undertow.server.handlers.cache.CacheHandler:58,1
    - Dst: '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
      Src: io.undertow.server.handlers.cache.CacheHandler:58,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.cache.CacheHandler:92,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 93
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.cache.CacheHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CacheHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<io.undertow.server.handlers.cache.ResponseCache>,io.undertow.server.handlers.cache.ResponseCache)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.ConduitWrapper].<init>()'
    - '[io.undertow.server.HttpServerExchange].addResponseWrapper(io.undertow.server.ConduitWrapper)'
    - '[io.undertow.server.handlers.cache.ResponseCache].<init>(io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.CacheHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.cache.CacheHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CacheHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.cache.CacheHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.cache.CacheHandler:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.handlers.cache.DirectBufferCache
      - io.undertow.server.HttpHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.CacheHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.cache.CacheHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/CacheHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.CacheHandler
    signature: '[io.undertow.server.handlers.cache.CacheHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.ResponseCachingSender
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - delegate
    - cacheEntry
    - length
    argTypes:
    - io.undertow.io.Sender
    - DirectBufferCache.CacheEntry
    - long
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].<init>(io.undertow.io.Sender,DirectBufferCache.CacheEntry,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.ResponseCachingSender
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].<init>(io.undertow.io.Sender,DirectBufferCache.CacheEntry,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:49,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:50,1
    - Dst: '[io.undertow.io.Sender].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - src
    - callback
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[java.nio.ByteBuffer].duplicate()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(java.nio.ByteBuffer,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srcs[i].duplicate()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:60,1
    - Dst: origSrc[i].remaining()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:61,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:63,1
    - Dst: '[io.undertow.io.Sender].send(ByteBuffer[],io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - srcs
    - callback
    argTypes:
    - ByteBuffer[]
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(ByteBuffer[],io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - srcs[i].duplicate()
    - '[io.undertow.io.Sender].send(ByteBuffer[],io.undertow.io.IoCallback)'
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender)'
    - origSrc[i].remaining()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(ByteBuffer[],io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:69,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:70,1
    - Dst: '[io.undertow.io.Sender].send(java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.io.Sender].send(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srcs[i].duplicate()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:79,1
    - Dst: origSrc[i].remaining()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:80,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:82,1
    - Dst: '[io.undertow.io.Sender].send(ByteBuffer[])'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - srcs[i].duplicate()
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.io.Sender].send(ByteBuffer[])'
    - origSrc[i].remaining()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:88,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:88,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:88,1
    - Dst: '[io.undertow.io.Sender].send(String,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - callback
    argTypes:
    - String
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(String,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.io.Sender].send(String,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(String,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:94,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:94,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:94,1
    - Dst: '[io.undertow.io.Sender].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - charset
    - callback
    argTypes:
    - String
    - java.nio.charset.Charset
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(String,java.nio.charset.Charset,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:100,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:100,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:100,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.io.Sender].send(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:106,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:106,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:106,1
    - Dst: '[io.undertow.io.Sender].send(String,java.nio.charset.Charset)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - charset
    argTypes:
    - String
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(String,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.io.Sender].send(String,java.nio.charset.Charset)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].send(String,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.io.Sender].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - callback
    argTypes:
    - java.nio.channels.FileChannel
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.io.Sender].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].transferFrom(java.nio.channels.FileChannel,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:119,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:120,1
    - Dst: '[io.undertow.io.Sender].close()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].close(io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.io.Sender].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].close(io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:128,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].contentEntryMismatch(io.undertow.server.handlers.cache.ResponseCachingSender,long,long)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:128,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:129,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:130,1
    - Dst: '[io.undertow.io.Sender].close()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].contentEntryMismatch(io.undertow.server.handlers.cache.ResponseCachingSender,long,long)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.io.Sender].close()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:136,1
    - Dst: pooled[i].getBuffer()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:139,1
    - Dst: '[org.xnio.Buffers].copy(io.undertow.server.handlers.cache.ResponseCachingSender,int,io.undertow.server.handlers.cache.ResponseCachingSender,java.nio.ByteBuffer)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:141,1
    - Dst: buffer.flip()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:145,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:147,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:148,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:150,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:150,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].cacheEntryMismatchContent(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:150,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:151,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - origSrc
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - pooled[i].getBuffer()
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].cacheEntryMismatchContent(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[org.xnio.Buffers].copy(io.undertow.server.handlers.cache.ResponseCachingSender,int,io.undertow.server.handlers.cache.ResponseCachingSender,java.nio.ByteBuffer)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
    - buffer.flip()
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:158,1
    - Dst: pooled[i].getBuffer()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:161,1
    - Dst: buf.remaining()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:166,1
    - Dst: buf.limit(int)
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:167,1
    - Dst: buf.remaining()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:169,1
    - Dst: '[org.xnio.Buffers].copy(io.undertow.server.handlers.cache.ResponseCachingSender,int,io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:170,1
    - Dst: buffer.flip()
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:179,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:181,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:182,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:184,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:184,1
    - Dst: '[io.undertow.server.handlers.cache.ResponseCachingSender].cacheEntryMismatchContent(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender,long)'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:184,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:185,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
      Src: io.undertow.server.handlers.cache.ResponseCachingSender:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.io.Sender
      - DirectBufferCache.CacheEntry
      - long
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.io.Sender
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - origSrc
    - totalWritten
    argTypes:
    - ByteBuffer[]
    - long
    constantsTouched: []
    func_position:
      end: 189
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 189
    functionName: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(ByteBuffer[],long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/ResponseCachingSender.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.ResponseCachingSender].cacheEntryMismatchContent(io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender,long)'
    - pooled[i].getBuffer()
    - buf.remaining()
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
    - buffer.flip()
    - '[org.xnio.Buffers].copy(io.undertow.server.handlers.cache.ResponseCachingSender,int,io.undertow.server.handlers.cache.ResponseCachingSender,io.undertow.server.handlers.cache.ResponseCachingSender)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
    - buf.limit(int)
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.ResponseCachingSender].handleUpdate(ByteBuffer[],long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.DirectBufferCache
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sliceSize
    - slicesPerPage
    - maxMemory
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,io.undertow.server.handlers.cache.DirectBufferCache)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.DirectBufferCache
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,org.xnio.BufferAllocator<java.nio.ByteBuffer>)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.DirectBufferCache
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - sliceSize
    - slicesPerPage
    - maxMemory
    - bufferAllocator
    argTypes:
    - int
    - int
    - int
    - org.xnio.BufferAllocator<java.nio.ByteBuffer>
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,org.xnio.BufferAllocator<java.nio.ByteBuffer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,org.xnio.BufferAllocator<java.nio.ByteBuffer>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.DirectBufferCache
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,org.xnio.BufferAllocator<java.nio.ByteBuffer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(org.xnio.BufferAllocator<java.nio.ByteBuffer>,int,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:76,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>(int)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:77,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - org.xnio.BufferAllocator<java.nio.ByteBuffer>
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.cache.DirectBufferCache
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sliceSize
    - slicesPerPage
    - maxMemory
    - bufferAllocator
    - maxAge
    argTypes:
    - int
    - int
    - int
    - org.xnio.BufferAllocator<java.nio.ByteBuffer>
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,org.xnio.BufferAllocator<java.nio.ByteBuffer>,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
    - '[io.undertow.server.handlers.cache.LimitedBufferSlicePool].<init>(org.xnio.BufferAllocator<java.nio.ByteBuffer>,int,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.cache.DirectBufferCache)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.DirectBufferCache
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,org.xnio.BufferAllocator<java.nio.ByteBuffer>,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].add(Object,int,int)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: CacheEntry
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - size
    argTypes:
    - Object
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].add(Object,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].add(Object,int,int)'
    linkageType: ''
    returnType: CacheEntry
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].add(Object,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].get(Object)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:87,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].<init>(Object,int,int)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:89,1
    - Dst: '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].putIfAbsent(Object,io.undertow.server.handlers.cache.LRUCache.CacheEntry)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:90,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].bumpAccess(io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: CacheEntry
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - key
    - size
    - maxAge
    argTypes:
    - Object
    - int
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].add(Object,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].bumpAccess(io.undertow.server.handlers.cache.DirectBufferCache)'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].<init>(Object,int,int)'
    - '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].putIfAbsent(Object,io.undertow.server.handlers.cache.LRUCache.CacheEntry)'
    - '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].get(Object)'
    linkageType: ''
    returnType: CacheEntry
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].add(Object,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].get(Object)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:102,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].getExpires()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:107,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.cache.DirectBufferCache:108,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(Object)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:109,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].hit()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:114,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].bumpAccess(io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:116,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].allocate()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:118,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].size()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:120,1
    - Dst: oldest.buffers()
      Src: io.undertow.server.handlers.cache.DirectBufferCache:126,1
    - Dst: oldest.size()
      Src: io.undertow.server.handlers.cache.DirectBufferCache:127,1
    - Dst: oldest.key()
      Src: io.undertow.server.handlers.cache.DirectBufferCache:130,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:130,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].allocate()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:138,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: CacheEntry
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 143
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].get(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].allocate()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.server.handlers.cache.DirectBufferCache)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].remove(Object)'
    - '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].get(Object)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].hit()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].size()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].getExpires()'
    - System.currentTimeMillis()
    - oldest.size()
    - oldest.buffers()
    - '[io.undertow.server.handlers.cache.DirectBufferCache].bumpAccess(io.undertow.server.handlers.cache.DirectBufferCache)'
    - oldest.key()
    linkageType: ''
    returnType: CacheEntry
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].get(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].keySet()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:152,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].getAllKeys()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 3
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].keySet()'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.cache.DirectBufferCache)'
    linkageType: ''
    returnType: java.util.Set<Object>
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].getAllKeys()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].claimToken()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:156,1
    - Dst: Boolean.FALSE.equals(io.undertow.server.handlers.cache.DirectBufferCache)
      Src: io.undertow.server.handlers.cache.DirectBufferCache:157,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry>].removeToken(io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:159,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry>].offerLastAndReturnToken(CacheEntry)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:164,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].setToken(io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:169,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry>].removeToken(io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - CacheEntry
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cacheEntry
    argTypes:
    - CacheEntry
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].bumpAccess(CacheEntry)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - Boolean.FALSE.equals(io.undertow.server.handlers.cache.DirectBufferCache)
    - '[io.undertow.util.ConcurrentDirectDeque<CacheEntry>].offerLastAndReturnToken(CacheEntry)'
    - '[io.undertow.util.ConcurrentDirectDeque<CacheEntry>].removeToken(io.undertow.server.handlers.cache.DirectBufferCache)'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].setToken(io.undertow.server.handlers.cache.DirectBufferCache)'
    - '[io.undertow.server.handlers.cache.LRUCache.CacheEntry].claimToken()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].bumpAccess(CacheEntry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].remove(Object)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:177,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].clearToken()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:179,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<CacheEntry>].removeToken(io.undertow.server.handlers.cache.DirectBufferCache)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:181,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].dereference()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - io.undertow.server.handlers.cache.LimitedBufferSlicePool
      - java.util.concurrent.ConcurrentMap<Object,CacheEntry>
      - io.undertow.util.ConcurrentDirectDeque<CacheEntry>
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<Object,CacheEntry>].remove(Object)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].clearToken()'
    - '[io.undertow.util.ConcurrentDirectDeque<CacheEntry>].removeToken(io.undertow.server.handlers.cache.DirectBufferCache)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].dereference()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:190,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:192,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:193,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:194,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:196,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - int
      - io.undertow.server.handlers.cache.DirectBufferCache
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - key
    - size
    - cache
    - maxAge
    argTypes:
    - Object
    - int
    - io.undertow.server.handlers.cache.DirectBufferCache
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].<init>(Object,int,io.undertow.server.handlers.cache.DirectBufferCache,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    - '[Object].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].<init>(Object,int,io.undertow.server.handlers.cache.DirectBufferCache,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: PooledByteBuffer[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: PooledByteBuffer[]
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].buffers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicIntegerFieldUpdater<CacheEntry>].weakCompareAndSet(io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].hit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicIntegerFieldUpdater<CacheEntry>].weakCompareAndSet(io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].hit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].key()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enabled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:247,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:252,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].wrongCacheTTLValue(io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry,io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:256,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].wrongCacheTTLValue(io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry,io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry)'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].enable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].disable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicIntegerFieldUpdater<CacheEntry>].compareAndSet(int,int)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].claimEnable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicIntegerFieldUpdater<CacheEntry>].compareAndSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].claimEnable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicIntegerFieldUpdater<CacheEntry>].compareAndSet(int)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].reference()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicIntegerFieldUpdater<CacheEntry>].compareAndSet(int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].reference()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicIntegerFieldUpdater<CacheEntry>].compareAndSet(int)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:289,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].destroy()'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 12
    functionsReached:
    - '[AtomicIntegerFieldUpdater<CacheEntry>].compareAndSet(int)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].destroy()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].dereference()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>].compareAndSet(PooledByteBuffer[],PooledByteBuffer[])'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:302,1
    - Dst: slicePool.canAllocate(io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry)
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:315,1
    - Dst: slicePool.allocate()
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:322,1
    - Dst: buffers[i].free()
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 336
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - buffers[i].free()
    - '[AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>].compareAndSet(PooledByteBuffer[],PooledByteBuffer[])'
    - slicePool.allocate()
    - slicePool.canAllocate(io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer.free()
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].destroy()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 1
    functionsReached:
    - buffer.free()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<CacheEntry, Object>].compareAndSet(io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry,Object)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].claimToken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<CacheEntry, Object>].compareAndSet(io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry,Object)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].claimToken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<CacheEntry, Object>].compareAndSet(Object,Object)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].setToken(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<CacheEntry, Object>].compareAndSet(Object,Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].setToken(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<CacheEntry, Object>].getAndSet(null)'
      Src: io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].clearToken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<CacheEntry, Object>].getAndSet(null)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].clearToken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer[]
      - PooledByteBuffer[]
      - Object
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicIntegerFieldUpdater<CacheEntry>
      - AtomicReferenceFieldUpdater<CacheEntry, PooledByteBuffer[]>
      - AtomicReferenceFieldUpdater<CacheEntry, Object>
      - Object
      - int
      - DirectBufferCache
      - int
      - PooledByteBuffer[]
      - int
      - int
      - Object
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].getExpires()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/cache/DirectBufferCache.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.cache.DirectBufferCache.CacheEntry].getExpires()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - result
    argTypes:
    - io.undertow.server.HttpServerExchange
    - T
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.server.handlers.proxy.ProxyCallback].completed(io.undertow.server.HttpServerExchange,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyCallback].completed(io.undertow.server.HttpServerExchange,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.handlers.proxy.ProxyCallback].failed(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyCallback].failed(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.proxy.ProxyCallback].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyCallback].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.proxy.ProxyCallback].queuedRequestFailed(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyCallback].queuedRequestFailed(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyCallback.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyCallback
    signature: '[io.undertow.server.handlers.proxy.ProxyCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.handlers.proxy.ExclusivityChecker].isExclusivityRequired(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ExclusivityChecker.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ExclusivityChecker].isExclusivityRequired(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ExclusivityChecker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ExclusivityChecker].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ExclusivityChecker.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ExclusivityChecker
    signature: '[io.undertow.server.handlers.proxy.ExclusivityChecker].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.proxy.ProxyHandler:105,1
    - Dst: ProxyHandler.class.getPackage()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:109,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:111,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:112,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:113,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:121,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler,boolean,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - proxyClient
    - maxRequestTime
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyClient
    - int
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - ProxyHandler.class.getPackage()
    - '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler,boolean,boolean)'
    - StandardCharsets.UTF_8.name()
    - Integer.getInteger(String,int)
    - '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.proxy.ProxyHandler:105,1
    - Dst: ProxyHandler.class.getPackage()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:109,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:111,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:112,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:113,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:121,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler,boolean,boolean,int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - proxyClient
    - maxRequestTime
    - next
    - rewriteHostHeader
    - reuseXForwarded
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyClient
    - int
    - io.undertow.server.HttpHandler
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 1
    functionsReached:
    - ProxyHandler.class.getPackage()
    - StandardCharsets.UTF_8.name()
    - Integer.getInteger(String,int)
    - '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler,boolean,boolean,int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.proxy.ProxyHandler:105,1
    - Dst: ProxyHandler.class.getPackage()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:109,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:111,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:112,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:113,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - proxyClient
    - maxRequestTime
    - next
    - rewriteHostHeader
    - reuseXForwarded
    - maxConnectionRetries
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyClient
    - int
    - io.undertow.server.HttpHandler
    - boolean
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler,boolean,boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 1
    functionsReached:
    - ProxyHandler.class.getPackage()
    - StandardCharsets.UTF_8.name()
    - Integer.getInteger(String,int)
    - '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,int,io.undertow.server.HttpHandler,boolean,boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.proxy.ProxyHandler:105,1
    - Dst: ProxyHandler.class.getPackage()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:109,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:111,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:112,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:113,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:121,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - proxyClient
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyClient
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 1
    functionsReached:
    - ProxyHandler.class.getPackage()
    - StandardCharsets.UTF_8.name()
    - Integer.getInteger(String,int)
    - '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.ProxyClient,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.server.handlers.proxy.ProxyHandler:105,1
    - Dst: ProxyHandler.class.getPackage()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:107,1
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:109,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:111,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:112,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:113,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:121,1
    - Dst: builder.requestHeaders.entrySet()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:181,1
    - Dst: e.getKey()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:182,1
    - Dst: e.getValue()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:182,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].put(io.undertow.server.handlers.proxy.ProxyHandler,io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Builder
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - builder
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(Builder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - e.getValue()
    - ProxyHandler.class.getPackage()
    - StandardCharsets.UTF_8.name()
    - Integer.getInteger(String,int)
    - '[io.undertow.server.handlers.proxy.ProxyHandler].getName()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[org.jboss.logging.Logger].getLogger(io.undertow.server.handlers.proxy.ProxyHandler)'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - builder.requestHeaders.entrySet()
    - '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].put(io.undertow.server.handlers.proxy.ProxyHandler,io.undertow.server.handlers.proxy.ProxyHandler)'
    - e.getKey()
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(Builder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient].findTarget(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:187,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURL()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:189,1
    - Dst: '[org.jboss.logging.Logger].debugf(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:189,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:190,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:193,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].cannotProxyStartedRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:195,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:196,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:197,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.ProxyHandler:200,1
    - Dst: '[ProxyClient.MaxRetriesProxyTarget].getMaxRetries()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:203,1
    - Dst: Math.max(io.undertow.server.handlers.proxy.ProxyHandler,io.undertow.server.handlers.proxy.ProxyHandler)
      Src: io.undertow.server.handlers.proxy.ProxyHandler:203,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].<init>(io.undertow.server.HttpServerExchange,ProxyTarget,io.undertow.server.handlers.proxy.ProxyHandler,io.undertow.server.handlers.proxy.ProxyHandler,io.undertow.predicate.Predicate)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:205,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,int,io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:207,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<XnioExecutor.Key>,XnioExecutor.Key)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:213,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:214,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:214,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 223
      start: 186
    functionDepth: 7
    functionLinenumber: 186
    functionLinenumberEnd: 223
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].<init>(io.undertow.server.HttpServerExchange,ProxyTarget,io.undertow.server.handlers.proxy.ProxyHandler,io.undertow.server.handlers.proxy.ProxyHandler,io.undertow.predicate.Predicate)'
    - '[io.undertow.server.HttpServerExchange].dispatch(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].cannotProxyStartedRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - Math.max(io.undertow.server.handlers.proxy.ProxyHandler,io.undertow.server.handlers.proxy.ProxyHandler)
    - '[org.jboss.logging.Logger].debugf(String,String)'
    - '[io.undertow.server.HttpServerExchange].getRequestURL()'
    - '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,int,io.undertow.server.handlers.proxy.ProxyHandler)'
    - '[ProxyClient.MaxRetriesProxyTarget].getMaxRetries()'
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.proxy.ProxyClient].findTarget(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<XnioExecutor.Key>,XnioExecutor.Key)'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].put(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - header
    - attribute
    argTypes:
    - io.undertow.util.HttpString
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].put(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].constant(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:249,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].put(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - header
    - value
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].constant(String)'
    - '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].put(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:266,1
    - Dst: '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:266,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].put(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - header
    - attribute
    - classLoader
    argTypes:
    - io.undertow.util.HttpString
    - String
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String,ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.ExchangeAttributes].parser(ClassLoader)'
    - '[io.undertow.attribute.ExchangeAttributeParser].parse(String)'
    - '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].put(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].addRequestHeader(io.undertow.util.HttpString,String,ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].removeRequestHeader(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>].remove(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].removeRequestHeader(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].fastIterateNonEmpty()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:284,1
    - Dst: '[io.undertow.util.HeaderMap].fiCurrent(long)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:287,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:288,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:288,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:289,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:289,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:289,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:290,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:290,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:291,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:291,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:292,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].createSettingsFrame(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:292,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:292,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:295,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.util.HttpString,io.undertow.util.HeaderValues)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:295,1
    - Dst: '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - to
    - from
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.util.HeaderMap
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].copyHeaders(io.undertow.server.HttpServerExchange,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.util.HeaderMap].fastIterateNonEmpty()'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[String].equals(String)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].createSettingsFrame(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
    - '[io.undertow.util.HeaderValues].getHeaderName()'
    - '[io.undertow.util.HeaderMap].fiCurrent(long)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.util.HttpString,io.undertow.util.HeaderValues)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].copyHeaders(io.undertow.server.HttpServerExchange,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].getProxyClient()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyClient
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].getProxyClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient].getAllTargets()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:308,1
    - Dst: '[java.util.List<ProxyTarget>].isEmpty()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:309,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient].getClass()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:310,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].getSimpleName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:310,1
    - Dst: '[java.util.List<ProxyTarget>].size()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:312,1
    - Dst: '[java.util.List<ProxyTarget>].get(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:313,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:313,1
    - Dst: '[java.util.List<ProxyTarget>].stream()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:315,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].map()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:315,1
    - Dst: '[java.util.stream.Collectors].joining(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:315,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].collect(io.undertow.server.handlers.proxy.ProxyHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:315,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 321
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<ProxyTarget>].size()'
    - '[io.undertow.server.handlers.proxy.ProxyClient].getClass()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].map()'
    - '[io.undertow.server.handlers.proxy.ProxyClient].getAllTargets()'
    - '[java.util.List<ProxyTarget>].get(int)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].getSimpleName()'
    - '[java.util.List<ProxyTarget>].isEmpty()'
    - '[java.util.List<ProxyTarget>].stream()'
    - '[java.util.stream.Collectors].joining(String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].collect(io.undertow.server.handlers.proxy.ProxyHandler)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:708,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].proxyRequestFailed(String,java.io.IOException)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:708,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:709,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:710,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:710,1
    - Dst: '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:711,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].failed(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:712,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:714,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - ProxyClientHandler
      - io.undertow.predicate.Predicate
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - exchange
    - proxyClientHandler
    - idempotentRequestPredicate
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    - ProxyClientHandler
    - io.undertow.predicate.Predicate
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 717
      start: 707
    functionDepth: 8
    functionLinenumber: 707
    functionLinenumberEnd: 717
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].handleFailure(io.undertow.server.HttpServerExchange,ProxyClientHandler,io.undertow.predicate.Predicate,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler].proxyRequestFailed(String,java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].failed(io.undertow.server.HttpServerExchange)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.predicate.Predicate].resolve(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].handleFailure(io.undertow.server.HttpServerExchange,ProxyClientHandler,io.undertow.predicate.Predicate,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxConnectionRetries
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].setMaxConnectionRetries(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].setMaxConnectionRetries(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].isRewriteHostHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].isRewriteHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rewriteHostHeader
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 874
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 874
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].setRewriteHostHeader(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].setRewriteHostHeader(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 878
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 878
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].isReuseXForwarded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].isReuseXForwarded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reuseXForwarded
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 884
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 884
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].setReuseXForwarded(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].setReuseXForwarded(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 888
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].getMaxConnectionRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].getMaxConnectionRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 892
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 892
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].getIdempotentRequestPredicate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].getIdempotentRequestPredicate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - org.jboss.logging.Logger
      - String
      - io.undertow.util.AttachmentKey<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.util.AttachmentKey<io.undertow.server.HttpServerExchange>
      - io.undertow.util.AttachmentKey<XnioExecutor.Key>
      - io.undertow.server.handlers.proxy.ProxyClient
      - int
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - io.undertow.server.HttpHandler
      - boolean
      - boolean
      - int
      - io.undertow.predicate.Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 912
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 20
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - ProxyClient.ProxyTarget
      - long
      - int
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - int
      - HttpServerExchange
      - Predicate
      - ProxyClient.ProxyTarget
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - exchange
    - target
    - timeout
    - maxRetryAttempts
    - idempotentPredicate
    argTypes:
    - io.undertow.server.HttpServerExchange
    - ProxyClient.ProxyTarget
    - long
    - int
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].<init>(io.undertow.server.HttpServerExchange,ProxyClient.ProxyTarget,long,int,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].<init>(io.undertow.server.HttpServerExchange,ProxyClient.ProxyTarget,long,int,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxyClient.getConnection(ProxyClient.ProxyTarget,HttpServerExchange,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - int
      - HttpServerExchange
      - Predicate
      - ProxyClient.ProxyTarget
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - proxyClient.getConnection(ProxyClient.ProxyTarget,HttpServerExchange,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.handlers.proxy.ProxyConnection)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:348,1
    - Dst: '[ProxyAction].<init>(io.undertow.server.handlers.proxy.ProxyConnection,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,Predicate)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:349,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.ProxyConnection
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - int
      - HttpServerExchange
      - Predicate
      - ProxyClient.ProxyTarget
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - connection
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.proxy.ProxyConnection
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.handlers.proxy.ProxyConnection)'
    - '[io.undertow.server.HttpServerExchange].dispatch(java.util.concurrent.Executor,ProxyAction)'
    - '[ProxyAction].<init>(io.undertow.server.handlers.proxy.ProxyConnection,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,Predicate)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:354,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].cancel(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:357,1
    - Dst: proxyClient.findTarget(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:359,1
    - Dst: proxyClient.getConnection(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:362,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:364,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - int
      - HttpServerExchange
      - Predicate
      - ProxyClient.ProxyTarget
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].failed(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
    - proxyClient.findTarget(io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].cancel(io.undertow.server.HttpServerExchange)'
    - System.currentTimeMillis()
    - proxyClient.getConnection(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler,io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].failed(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].failed(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - int
      - HttpServerExchange
      - Predicate
      - ProxyClient.ProxyTarget
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 8
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].queuedRequestFailed(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].failed(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].queuedRequestFailed(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:379,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:380,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:380,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:382,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - int
      - HttpServerExchange
      - Predicate
      - ProxyClient.ProxyTarget
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 6
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:389,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:391,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:392,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].timingOutRequest(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:392,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:393,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:395,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].timingOutRequest(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:395,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:397,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:398,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:398,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:400,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - int
      - HttpServerExchange
      - Predicate
      - ProxyClient.ProxyTarget
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 6
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].cancel(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].timingOutRequest(String)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].timingOutRequest(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].getConnection()'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyClientHandler].cancel(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyConnection
      - io.undertow.server.HttpServerExchange
      - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      - boolean
      - boolean
      - ProxyClientHandler
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnection
      - HttpServerExchange
      - Map<HttpString, ExchangeAttribute>
      - boolean
      - boolean
      - ProxyClientHandler
      - Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - clientConnection
    - exchange
    - requestHeaders
    - rewriteHostHeader
    - reuseXForwarded
    - proxyClientHandler
    - idempotentPredicate
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyConnection
    - io.undertow.server.HttpServerExchange
    - java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
    - boolean
    - boolean
    - ProxyClientHandler
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].<init>(io.undertow.server.handlers.proxy.ProxyConnection,io.undertow.server.HttpServerExchange,java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>,boolean,boolean,ProxyClientHandler,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].<init>(io.undertow.server.handlers.proxy.ProxyConnection,io.undertow.server.HttpServerExchange,java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>,boolean,boolean,ProxyClientHandler,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientRequest].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:429,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:431,1
    - Dst: '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:432,1
    - Dst: '[String].indexOf(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:433,1
    - Dst: '[String].indexOf(String,int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:435,1
    - Dst: '[String].substring(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:437,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:442,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:442,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:442,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:442,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:443,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:443,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].substring(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:443,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:446,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getTargetPath()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:447,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:447,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getTargetPath()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:448,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:448,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].isEmpty()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:448,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getTargetPath()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:449,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:449,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:451,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:453,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:454,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:455,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:456,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:458,1
    - Dst: '[io.undertow.client.ClientRequest].setPath(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:458,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:459,1
    - Dst: '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:458,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:460,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:461,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].copyHeaders(HttpServerExchange,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:462,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:464,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:467,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:469,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:469,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:469,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:471,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:471,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:472,1
    - Dst: '[Map<HttpString, ExchangeAttribute>].entrySet()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:475,1
    - Dst: entry.getValue()
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:476,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].readAttribute(HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:476,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].isEmpty()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:477,1
    - Dst: entry.getKey()
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:478,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:478,1
    - Dst: entry.getKey()
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:480,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].replace(String,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:480,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:480,1
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:484,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:486,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:487,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].getHostAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:487,1
    - Dst: '[java.net.InetSocketAddress].isUnresolved()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:488,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:489,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:492,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:499,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:501,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:501,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:503,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:503,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:504,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:506,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:506,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:510,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:510,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:515,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:515,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:520,1
    - Dst: '[io.undertow.server.ServerConnection].isPushSupported()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:520,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:520,1
    - Dst: '[io.undertow.client.ClientConnection].isPushSupported()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:520,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:521,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:521,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:525,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:525,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:526,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:526,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:527,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Boolean>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:527,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:529,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:529,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:530,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:530,1
    - Dst: proto.equals(String)
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:531,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Boolean>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:531,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:535,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:535,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:536,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:536,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:537,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:539,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:540,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:540,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:541,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:543,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:543,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostName()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:544,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:546,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:546,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:546,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:551,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:551,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:553,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:553,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:553,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Integer>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:554,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:556,1
    - Dst: '[io.undertow.server.ServerConnection].getLocalAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:556,1
    - Dst: '[java.net.SocketAddress].getPort()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:556,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:557,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:557,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Integer>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:558,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostPort()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:561,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:562,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:562,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Integer>,int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:563,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:566,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:566,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:570,1
    - Dst: '[io.undertow.util.Certificates].toPem()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:572,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:572,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getCipherSuite()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:577,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,java.lang.String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:577,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSessionId()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:578,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<byte[]>,byte[])'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:578,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getKeySize()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:579,1
    - Dst: '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Integer>,int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:579,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:583,1
    - Dst: '[io.undertow.client.ClientConnection].getPeerAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:583,1
    - Dst: '[java.net.SocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:584,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:585,1
    - Dst: '[java.net.SocketAddress].getPort()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:585,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:585,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:587,1
    - Dst: '[java.net.SocketAddress].getPort()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:587,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:587,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:589,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:589,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:589,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:589,1
    - Dst: log.isDebugEnabled()
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:591,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:592,1
    - Dst: '[io.undertow.client.ClientConnection].getPeerAddress()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:592,1
    - Dst: log.debugf(String,io.undertow.client.ClientRequest,java.net.SocketAddress,HttpServerExchange)
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:592,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:597,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:597,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:597,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:597,1
    - Dst: '[io.undertow.server.HttpServerExchange].isRequestComplete()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:598,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:599,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:599,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:599,1
    - Dst: '[io.undertow.util.Cookies].isCrumbsAssemplyDisabled()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:604,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:604,1
    - Dst: '[io.undertow.util.Cookies].assembleCrumbs(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:605,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:607,1
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:607,1
    - Dst: '[io.undertow.client.ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction:607,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 299
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnection
      - HttpServerExchange
      - Map<HttpString, ExchangeAttribute>
      - boolean
      - boolean
      - ProxyClientHandler
      - Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 427
    functionDepth: 5
    functionLinenumber: 427
    functionLinenumberEnd: 704
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - log.isDebugEnabled()
    - '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
    - '[io.undertow.util.Cookies].assembleCrumbs(io.undertow.util.HeaderMap)'
    - '[StringBuilder].append(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Integer>,int)'
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[String].indexOf(String)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].substring(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - '[io.undertow.client.ClientRequest].<init>()'
    - entry.getKey()
    - '[String].length()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].copyHeaders(HttpServerExchange,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[String].substring(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - log.debugf(String,io.undertow.client.ClientRequest,java.net.SocketAddress,HttpServerExchange)
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    - '[io.undertow.util.Cookies].isCrumbsAssemplyDisabled()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].replace(String,String)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].readAttribute(HttpServerExchange)'
    - '[io.undertow.client.ClientCallback].<init>()'
    - '[io.undertow.server.ServerConnection].isPushSupported()'
    - '[io.undertow.server.handlers.proxy.ProxyConnection].getTargetPath()'
    - '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Integer>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - '[String].indexOf(String,int)'
    - '[io.undertow.server.ServerConnection].getLocalAddress()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[String].equals(String)'
    - '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - '[Map<HttpString, ExchangeAttribute>].entrySet()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].isEmpty()'
    - '[java.net.SocketAddress].getAddress()'
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,String)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - entry.getValue()
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].getHostAddress()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].startsWith(String)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<byte[]>,byte[])'
    - Integer.parseInt(String)
    - '[String].isEmpty()'
    - '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<String>,java.lang.String)'
    - '[io.undertow.server.SSLSessionInfo].getKeySize()'
    - '[java.net.InetSocketAddress].isUnresolved()'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.client.ClientRequest].putAttachment(io.undertow.util.AttachmentKey<Boolean>,io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    - proto.equals(String)
    - '[io.undertow.server.SSLSessionInfo].getCipherSuite()'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,int)'
    - '[io.undertow.client.ClientConnection].isPushSupported()'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[java.net.SocketAddress].getPort()'
    - '[io.undertow.server.SSLSessionInfo].getPeerCertificates()'
    - '[io.undertow.server.HttpServerExchange].isRequestComplete()'
    - '[io.undertow.server.HttpServerExchange].getResolvedPath()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.HttpServerExchange].isHostIncludedInRequestURI()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.client.ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback)'
    - '[io.undertow.client.ClientConnection].getPeerAddress()'
    - '[StringBuilder].append(char)'
    - '[io.undertow.server.HttpServerExchange].getHostPort()'
    - '[io.undertow.server.HttpServerExchange].getHostName()'
    - '[io.undertow.server.SSLSessionInfo].getSessionId()'
    - '[io.undertow.util.Certificates].toPem()'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    - '[io.undertow.client.ClientRequest].setPath(io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ProxyAction].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - ProxyClientHandler
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ProxyClientHandler
      - Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - proxyClientHandler
    - idempotentPredicate
    argTypes:
    - io.undertow.server.HttpServerExchange
    - ProxyClientHandler
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 729
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].<init>(io.undertow.server.HttpServerExchange,ProxyClientHandler,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].<init>(io.undertow.server.HttpServerExchange,ProxyClientHandler,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientExchange].getResponse()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:734,1
    - Dst: log.isDebugEnabled()
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:736,1
    - Dst: '[io.undertow.client.ClientExchange].getRequest()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:737,1
    - Dst: log.debugf(String,io.undertow.client.ClientResponse,io.undertow.client.ClientRequest,HttpServerExchange)
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:737,1
    - Dst: '[io.undertow.client.ClientResponse].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:739,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:740,1
    - Dst: '[io.undertow.client.ClientResponse].getResponseCode()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:741,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:741,1
    - Dst: '[io.undertow.client.ClientResponse].getStatus()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:742,1
    - Dst: '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:742,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].copyHeaders(HttpServerExchange,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:743,1
    - Dst: '[io.undertow.util.Cookies].isCrumbsAssemplyDisabled()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:747,1
    - Dst: '[io.undertow.server.HttpServerExchange].getProtocol()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:747,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:747,1
    - Dst: '[io.undertow.util.Cookies].assembleCrumbs(io.undertow.util.HeaderMap)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:748,1
    - Dst: '[io.undertow.server.HttpServerExchange].isUpgrade()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:751,1
    - Dst: '[io.undertow.server.HttpUpgradeListener].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:753,1
    - Dst: '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:753,1
    - Dst: '[io.undertow.client.ClientExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:774,1
    - Dst: '[IoExceptionHandler].<init>(HttpServerExchange,io.undertow.client.ClientConnection)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:774,1
    - Dst: '[io.undertow.client.ClientExchange].getResponseChannel()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:775,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseChannel()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:775,1
    - Dst: '[org.xnio.ChannelListeners].closingChannelListener()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:775,1
    - Dst: '[HTTPTrailerChannelListener].<init>(io.undertow.client.ClientExchange,HttpServerExchange,HttpServerExchange,ProxyClientHandler,Predicate)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:775,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:775,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:775,1
    - Dst: '[io.undertow.util.Transfer].initiateTransfer(org.xnio.channels.StreamSourceChannel,org.xnio.channels.StreamSinkChannel,io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback,HTTPTrailerChannelListener,IoExceptionHandler,IoExceptionHandler,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientExchange
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ProxyClientHandler
      - Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - io.undertow.client.ClientExchange
    constantsTouched: []
    func_position:
      end: 776
      start: 731
    functionDepth: 5
    functionLinenumber: 731
    functionLinenumberEnd: 776
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].completed(io.undertow.client.ClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - log.isDebugEnabled()
    - '[io.undertow.client.ClientExchange].getRequest()'
    - '[io.undertow.util.Cookies].isCrumbsAssemplyDisabled()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.util.Cookies].assembleCrumbs(io.undertow.util.HeaderMap)'
    - '[io.undertow.client.ClientResponse].getStatus()'
    - '[io.undertow.server.HttpServerExchange].getProtocol()'
    - '[io.undertow.client.ClientResponse].getResponseHeaders()'
    - '[org.xnio.ChannelListeners].closingChannelListener()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - log.debugf(String,io.undertow.client.ClientResponse,io.undertow.client.ClientRequest,HttpServerExchange)
    - '[io.undertow.server.HttpServerExchange].upgradeChannel(io.undertow.server.HttpUpgradeListener)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[IoExceptionHandler].<init>(HttpServerExchange,io.undertow.client.ClientConnection)'
    - '[io.undertow.server.HttpServerExchange].isUpgrade()'
    - '[io.undertow.client.ClientExchange].getResponse()'
    - '[io.undertow.server.HttpServerExchange].getResponseChannel()'
    - '[io.undertow.server.HttpServerExchange].setReasonPhrase(String)'
    - '[io.undertow.client.ClientResponse].getResponseCode()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpUpgradeListener].<init>()'
    - '[io.undertow.util.Transfer].initiateTransfer(org.xnio.channels.StreamSourceChannel,org.xnio.channels.StreamSinkChannel,io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback,HTTPTrailerChannelListener,IoExceptionHandler,IoExceptionHandler,io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.client.ClientExchange].getResponseChannel()'
    - '[HTTPTrailerChannelListener].<init>(io.undertow.client.ClientExchange,HttpServerExchange,HttpServerExchange,ProxyClientHandler,Predicate)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].copyHeaders(HttpServerExchange,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
    - '[io.undertow.client.ClientExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].completed(io.undertow.client.ClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].handleFailure(HttpServerExchange,ProxyClientHandler,Predicate,java.io.IOException)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ProxyClientHandler
      - Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 781
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 781
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].handleFailure(HttpServerExchange,ProxyClientHandler,Predicate,java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ResponseCallback].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.Attachable
      - io.undertow.util.Attachable
      - io.undertow.server.HttpServerExchange
      - ProxyClientHandler
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - Attachable
      - Attachable
      - HttpServerExchange
      - ProxyClientHandler
      - Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - source
    - target
    - exchange
    - proxyClientHandler
    - idempotentPredicate
    argTypes:
    - io.undertow.util.Attachable
    - io.undertow.util.Attachable
    - io.undertow.server.HttpServerExchange
    - ProxyClientHandler
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 798
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].<init>(io.undertow.util.Attachable,io.undertow.util.Attachable,io.undertow.server.HttpServerExchange,ProxyClientHandler,io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].<init>(io.undertow.util.Attachable,io.undertow.util.Attachable,io.undertow.server.HttpServerExchange,ProxyClientHandler,io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:802,1
    - Dst: '[io.undertow.util.Attachable].putAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,T)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:804,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:807,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:808,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:809,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:809,1
    - Dst: '[org.xnio.ChannelListeners].closingChannelExceptionHandler()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:815,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:809,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].set(io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:809,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:816,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:818,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].set(null)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:818,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:819,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].handleFailure(HttpServerExchange,ProxyClientHandler,Predicate,io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:822,1
    - Dst: '[java.io.IOException].<init>(io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:824,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].handleFailure(HttpServerExchange,ProxyClientHandler,Predicate,java.io.IOException)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener:824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - Attachable
      - Attachable
      - HttpServerExchange
      - ProxyClientHandler
      - Predicate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 827
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 827
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[org.xnio.ChannelListeners].closingChannelExceptionHandler()'
    - '[io.undertow.util.Attachable].putAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>,T)'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].set(io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener)'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].handleFailure(HttpServerExchange,ProxyClientHandler,Predicate,io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener)'
    - '[java.io.IOException].<init>(io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].set(null)'
    - '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.HeaderMap>)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].handleFailure(HttpServerExchange,ProxyClientHandler,Predicate,java.io.IOException)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.HTTPTrailerChannelListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.client.ClientConnection
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ClientConnection
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - clientConnection
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.client.ClientConnection
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler].<init>(io.undertow.server.HttpServerExchange,io.undertow.client.ClientConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler].<init>(io.undertow.server.HttpServerExchange,io.undertow.client.ClientConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(java.nio.channels.Channel)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:842,1
    - Dst: '[org.xnio.IoUtils].safeClose(ClientConnection)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:843,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:844,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler].debug(String,java.io.IOException)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:845,1
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:846,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:847,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:848,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:850,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:850,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler].ioException(java.io.IOException)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:853,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:854,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.Channel
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - HttpServerExchange
      - ClientConnection
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - exception
    argTypes:
    - java.nio.channels.Channel
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 857
      start: 840
    functionDepth: 6
    functionLinenumber: 840
    functionLinenumberEnd: 857
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler].handleException(java.nio.channels.Channel,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler].ioException(java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[org.xnio.IoUtils].safeClose(java.nio.channels.Channel)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.ServerConnection)'
    - '[io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler].debug(String,java.io.IOException)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    - '[org.xnio.IoUtils].safeClose(ClientConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.IoExceptionHandler].handleException(java.nio.channels.Channel,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Closeable[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler.ClosingExceptionHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 900
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 900
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ClosingExceptionHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler.ClosingExceptionHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ClosingExceptionHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(java.nio.channels.Channel)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ClosingExceptionHandler:905,1
    - Dst: '[org.xnio.IoUtils].safeClose(Closeable[])'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.ClosingExceptionHandler:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.Channel
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - Closeable[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - exception
    argTypes:
    - java.nio.channels.Channel
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 907
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 907
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.ClosingExceptionHandler].handleException(java.nio.channels.Channel,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(Closeable[])'
    - '[org.xnio.IoUtils].safeClose(java.nio.channels.Channel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.ClosingExceptionHandler].handleException(java.nio.channels.Channel,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.Builder:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 925
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 925
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler.Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 929
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 929
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getProxyClient()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyClient
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getProxyClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.Builder:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyClient
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - proxyClient
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyClient
    constantsTouched: []
    func_position:
      end: 937
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 937
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 941
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getMaxRequestTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getMaxRequestTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxRequestTime
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setMaxRequestTime(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setMaxRequestTime(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableMap(Map<HttpString, ExchangeAttribute>)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.Builder:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getRequestHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableMap(Map<HttpString, ExchangeAttribute>)'
    linkageType: ''
    returnType: java.util.Map<io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute>
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getRequestHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.requestHeaders.put(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)
      Src: io.undertow.server.handlers.proxy.ProxyHandler.Builder:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - io.undertow.attribute.ExchangeAttribute
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - header
    - value
    argTypes:
    - io.undertow.util.HttpString
    - io.undertow.attribute.ExchangeAttribute
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].addRequestHeader(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - this.requestHeaders.put(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].addRequestHeader(io.undertow.util.HttpString,io.undertow.attribute.ExchangeAttribute)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 959
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 959
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 968
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 968
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].isRewriteHostHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].isRewriteHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rewriteHostHeader
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setRewriteHostHeader(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setRewriteHostHeader(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].isReuseXForwarded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].isReuseXForwarded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reuseXForwarded
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 982
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 982
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setReuseXForwarded(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setReuseXForwarded(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 986
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getMaxConnectionRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getMaxConnectionRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxConnectionRetries
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 991
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 991
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setMaxConnectionRetries(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setMaxConnectionRetries(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.predicate.Predicate
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 995
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 995
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getIdempotentRequestPredicate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.predicate.Predicate
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].getIdempotentRequestPredicate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].argumentCannotBeNull(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.Builder:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.predicate.Predicate
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - idempotentRequestPredicate
    argTypes:
    - io.undertow.predicate.Predicate
    constantsTouched: []
    func_position:
      end: 1003
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1003
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setIdempotentRequestPredicate(io.undertow.predicate.Predicate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].setIdempotentRequestPredicate(io.undertow.predicate.Predicate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandler.Builder:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient
      - int
      - Map<HttpString, ExchangeAttribute>
      - HttpHandler
      - boolean
      - boolean
      - int
      - Predicate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1007
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandler.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPoolConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getMaxCachedConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPoolConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getMaxCachedConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getSMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPoolConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getSMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getTtl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPoolConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getMaxQueueSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPoolConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].getMaxQueueSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPoolConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPoolConfig].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: ProxyTarget
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient].findTarget(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ProxyTarget
    signature: '[io.undertow.server.handlers.proxy.ProxyClient].findTarget(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ProxyTarget
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - target
    - exchange
    - callback
    - timeout
    - timeUnit
    argTypes:
    - ProxyTarget
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient].getConnection(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyClient].getConnection(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyClient:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<ProxyTarget>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient].getAllTargets()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: java.util.List<ProxyTarget>
    signature: '[io.undertow.server.handlers.proxy.ProxyClient].getAllTargets()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyClient
    signature: '[io.undertow.server.handlers.proxy.ProxyClient].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget
    signature: '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient.MaxRetriesProxyTarget].getMaxRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyClient.MaxRetriesProxyTarget].getMaxRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyClient.MaxRetriesProxyTarget
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient.MaxRetriesProxyTarget].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyClient.MaxRetriesProxyTarget
    signature: '[io.undertow.server.handlers.proxy.ProxyClient.MaxRetriesProxyTarget].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient.HostProxyTarget].setHost(io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyClient.HostProxyTarget].setHost(io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyClient.HostProxyTarget
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyClient.HostProxyTarget].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyClient.HostProxyTarget
    signature: '[io.undertow.server.handlers.proxy.ProxyClient.HostProxyTarget].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:99,1
    - Dst: '[HostProxyTarget].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:101,1
    - Dst: '[HostProxyTarget].setHost(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:110,1
    - Dst: '[java.util.ArrayList].add(HostProxyTarget)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<ProxyTarget>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getAllTargets()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[HostProxyTarget].<init>()'
    - '[java.util.ArrayList].add(HostProxyTarget)'
    - '[HostProxyTarget].setHost(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: java.util.List<ProxyTarget>
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getAllTargets()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:62,1
    - Dst: '[io.undertow.util.AttachmentKey].createList()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:64,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:71,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:89,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:90,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:94,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:119,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 11
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient)'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[io.undertow.util.AttachmentKey].createList()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:62,1
    - Dst: '[io.undertow.util.AttachmentKey].createList()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:64,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:71,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:89,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:90,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:94,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.UndertowClient
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - client
    argTypes:
    - io.undertow.client.UndertowClient
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[io.undertow.util.AttachmentKey].createList()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,null,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:62,1
    - Dst: '[io.undertow.util.AttachmentKey].createList()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:64,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:71,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:89,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:90,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:94,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:127,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.ExclusivityChecker,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - client
    argTypes:
    - io.undertow.server.handlers.proxy.ExclusivityChecker
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.ExclusivityChecker,null)'
    - '[io.undertow.util.AttachmentKey].createList()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:62,1
    - Dst: '[io.undertow.util.AttachmentKey].createList()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:64,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:71,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:89,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:90,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:94,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.ExclusivityChecker,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - client
    - exclusivityChecker
    argTypes:
    - io.undertow.client.UndertowClient
    - io.undertow.server.handlers.proxy.ExclusivityChecker
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.ExclusivityChecker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.ExclusivityChecker,null)'
    - '[io.undertow.util.AttachmentKey].createList()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.ExclusivityChecker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:62,1
    - Dst: '[io.undertow.util.AttachmentKey].createList()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:64,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:71,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:89,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:90,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:94,1
    - Dst: '[java.util.Set<String>].add(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:137,1
    - Dst: '[RoundRobinHostSelector].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - HostSelector
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - client
    - exclusivityChecker
    - hostSelector
    argTypes:
    - io.undertow.client.UndertowClient
    - io.undertow.server.handlers.proxy.ExclusivityChecker
    - HostSelector
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.ExclusivityChecker,HostSelector)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[io.undertow.util.AttachmentKey].createList()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[java.util.Set<String>].add(String)'
    - '[RoundRobinHostSelector].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>(io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.ExclusivityChecker,HostSelector)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<String>].add(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionCookieName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addSessionCookieName(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<String>].add(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addSessionCookieName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<String>].remove(String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionCookieName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].removeSessionCookieName(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<String>].remove(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].removeSessionCookieName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - problemServerRetry
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setProblemServerRetry(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setProblemServerRetry(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getProblemServerRetry()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getProblemServerRetry()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getConnectionsPerThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getConnectionsPerThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connectionsPerThread
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setConnectionsPerThread(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getMaxQueueSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getMaxQueueSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxQueueSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setMaxQueueSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setTtl(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setTtl(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - softMaxConnectionsPerThread
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setSoftMaxConnectionsPerThread(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setSoftMaxConnectionsPerThread(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(RouteParsingStrategy,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteParsingStrategy
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - routeParsingStrategy
    argTypes:
    - RouteParsingStrategy
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setRouteParsingStrategy(RouteParsingStrategy)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(RouteParsingStrategy,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setRouteParsingStrategy(RouteParsingStrategy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,String)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rankedRoutingDelimiter
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setRankedRoutingDelimiter(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].setRankedRoutingDelimiter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,null,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,null,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,null,org.xnio.ssl.XnioSsl)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - org.xnio.ssl.XnioSsl
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - ssl
    argTypes:
    - java.net.URI
    - org.xnio.ssl.XnioSsl
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,org.xnio.ssl.XnioSsl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,null,org.xnio.ssl.XnioSsl)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,org.xnio.ssl.XnioSsl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - host
    - jvmRoute
    argTypes:
    - java.net.URI
    - String
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].<init>(String,null,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:222,1
    - Dst: System.arraycopy(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:225,1
    - Dst: '[java.util.Map<String,Host>].put(String,io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - String
      - org.xnio.ssl.XnioSsl
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - host
    - jvmRoute
    - ssl
    argTypes:
    - java.net.URI
    - String
    - org.xnio.ssl.XnioSsl
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,org.xnio.ssl.XnioSsl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)
    - '[java.util.Map<String,Host>].put(String,io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].<init>(String,null,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,org.xnio.ssl.XnioSsl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(null,java.net.URI,String,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - String
      - org.xnio.ssl.XnioSsl
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - host
    - jvmRoute
    - ssl
    - options
    argTypes:
    - java.net.URI
    - String
    - org.xnio.ssl.XnioSsl
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(null,java.net.URI,String,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.URI,String,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].<init>(String,java.net.InetSocketAddress,java.net.URI,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:239,1
    - Dst: System.arraycopy(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:242,1
    - Dst: '[java.util.Map<String,Host>].put(String,io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - java.net.URI
      - String
      - org.xnio.ssl.XnioSsl
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - bindAddress
    - host
    - jvmRoute
    - ssl
    - options
    argTypes:
    - java.net.InetSocketAddress
    - java.net.URI
    - String
    - org.xnio.ssl.XnioSsl
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.InetSocketAddress,java.net.URI,String,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)
    - '[java.util.Map<String,Host>].put(String,io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].<init>(String,java.net.InetSocketAddress,java.net.URI,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(java.net.InetSocketAddress,java.net.URI,String,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: existing[i].uri.equals(java.net.URI)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:256,1
    - Dst: System.arraycopy(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:266,1
    - Dst: System.arraycopy(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:267,1
    - Dst: removedHost.connectionPool.close()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:269,1
    - Dst: '[java.util.Map<String,Host>].remove(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - uri
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 274
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 274
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].removeHost(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int)
    - '[java.util.Map<String,Host>].remove(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - existing[i].uri.equals(java.net.URI)
    - System.arraycopy(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient,int,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)
    - removedHost.connectionPool.close()
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].removeHost(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ProxyTarget
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].findTarget(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxyTarget
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].findTarget(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:283,1
    - Dst: '[io.undertow.server.ServerConnection].getAttachment(io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:283,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getConnection()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:284,1
    - Dst: '[void].isOpen()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:284,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:286,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].selectHost(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:290,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:292,1
    - Dst: '[io.undertow.server.HttpServerExchange].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>,Host)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:294,1
    - Dst: '[io.undertow.server.handlers.proxy.ExclusivityChecker].isExclusivityRequired(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:295,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:298,1
    - Dst: host.connectionPool.connect(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback,long,java.util.concurrent.TimeUnit,boolean)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:298,1
    - Dst: host.connectionPool.connect(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:340,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - ProxyTarget
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - target
    - exchange
    - callback
    - timeout
    - timeUnit
    argTypes:
    - ProxyTarget
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 343
      start: 281
    functionDepth: 7
    functionLinenumber: 281
    functionLinenumberEnd: 343
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getConnection(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>,Host)'
    - '[io.undertow.server.ServerConnection].getAttachment(io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>)'
    - '[io.undertow.server.handlers.proxy.ExclusivityChecker].isExclusivityRequired(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.ProxyCallback].<init>()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].selectHost(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getConnection()'
    - host.connectionPool.connect(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback,long,java.util.concurrent.TimeUnit,boolean)
    - host.connectionPool.connect(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)
    - '[void].isOpen()'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].getConnection(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:346,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].parseRoutes(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:352,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:353,1
    - Dst: '[java.util.Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:355,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].toString()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:355,1
    - Dst: '[java.util.Map<String,Host>].get(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:355,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].contains(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:357,1
    - Dst: '[HostSelector].selectHost(Host[],io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:363,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].contains(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:370,1
    - Dst: selected.connectionPool.available()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:371,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Host
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 390
      start: 345
    functionDepth: 6
    functionLinenumber: 345
    functionLinenumberEnd: 390
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].selectHost(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].parseRoutes(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>)'
    - '[HostSelector].selectHost(Host[],io.undertow.server.HttpServerExchange)'
    - '[java.util.Map<String,Host>].get(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].contains(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - '[java.util.Iterator<CharSequence>].hasNext()'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].toString()'
    - selected.connectionPool.available()
    - '[java.util.Iterator<CharSequence>].next()'
    linkageType: ''
    returnType: Host
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].selectHost(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:394,1
    - Dst: cookie.getName()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:395,1
    - Dst: cookieName.equals(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:395,1
    - Dst: cookie.getValue()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:396,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:396,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(null)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Iterator<CharSequence>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].parseRoutes(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - cookie.getName()
    - cookie.getValue()
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)'
    - cookieName.equals(io.undertow.server.handlers.proxy.LoadBalancingProxyClient)
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(null)'
    linkageType: ''
    returnType: java.util.Iterator<CharSequence>
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].parseRoutes(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: host.closeCurrentConnections()
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<Host>>
      - int
      - java.util.Set<String>
      - int
      - int
      - int
      - int
      - Host[]
      - HostSelector
      - io.undertow.client.UndertowClient
      - java.util.Map<String,Host>
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].closeCurrentConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached:
    - host.closeCurrentConnections()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].closeCurrentConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(java.net.InetSocketAddress,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.ssl.XnioSsl
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 5
    argNames:
    - jvmRoute
    - bindAddress
    - uri
    - ssl
    - options
    argTypes:
    - String
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.ssl.XnioSsl
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].<init>(String,java.net.InetSocketAddress,java.net.URI,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(java.net.InetSocketAddress,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host,org.xnio.OptionMap)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].<init>(String,java.net.InetSocketAddress,java.net.URI,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getProblemServerRetry()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getProblemServerRetry()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getMaxCachedConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getMaxCachedConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getSMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getSMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getTtl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getMaxQueueSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getMaxQueueSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URI
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getUri()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].getUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].closeCurrentConnections()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnectionPool
      - String
      - URI
      - XnioSsl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].closeCurrentConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].closeCurrentConnections()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.Host].closeCurrentConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnection
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.ExclusiveConnectionHolder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.ExclusiveConnectionHolder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.ExclusiveConnectionHolder
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.ExclusiveConnectionHolder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Host[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - availableHosts
    argTypes:
    - Host[]
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector].selectHost(Host[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector].selectHost(Host[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Host[]
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - availableHosts
    - exchange
    argTypes:
    - Host[]
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector].selectHost(Host[],io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector].selectHost(Host[],io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.HostSelector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicInteger].incrementAndGet()'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Host[]
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HostSelector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - availableHosts
    argTypes:
    - Host[]
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector].selectHost(Host[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 1
    functionsReached:
    - '[AtomicInteger].incrementAndGet()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector].selectHost(Host[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector].selectHost(Host[])'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Host[]
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HostSelector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - availableHosts
    - exchange
    argTypes:
    - Host[]
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector].selectHost(Host[],io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector].selectHost(Host[])'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector].selectHost(Host[],io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HostSelector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/LoadBalancingProxyClient.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector
    signature: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient.RoundRobinHostSelector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:110,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:115,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:119,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:123,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:125,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.URI,null,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - java.net.URI
      - io.undertow.client.UndertowClient
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPool
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - connectionPoolManager
    - uri
    - client
    - options
    argTypes:
    - io.undertow.server.handlers.proxy.ConnectionPoolManager
    - java.net.URI
    - io.undertow.client.UndertowClient
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.URI,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.URI,null,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPool
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.URI,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:110,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:115,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:119,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:123,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:125,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.InetSocketAddress,java.net.URI,null,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - java.net.InetSocketAddress
      - java.net.URI
      - io.undertow.client.UndertowClient
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPool
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - connectionPoolManager
    - bindAddress
    - uri
    - client
    - options
    argTypes:
    - io.undertow.server.handlers.proxy.ConnectionPoolManager
    - java.net.InetSocketAddress
    - java.net.URI
    - io.undertow.client.UndertowClient
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.InetSocketAddress,java.net.URI,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.InetSocketAddress,java.net.URI,null,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPool
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.InetSocketAddress,java.net.URI,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:110,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:115,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:119,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:123,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:125,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,null,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - java.net.URI
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPool
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - connectionPoolManager
    - uri
    - ssl
    - client
    - options
    argTypes:
    - io.undertow.server.handlers.proxy.ConnectionPoolManager
    - java.net.URI
    - org.xnio.ssl.XnioSsl
    - io.undertow.client.UndertowClient
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,null,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPool
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:110,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:115,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:119,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:123,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:125,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getMaxConnections()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:141,1
    - Dst: Math.max(io.undertow.server.handlers.proxy.ProxyConnectionPool,int)
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:141,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getMaxCachedConnections()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:142,1
    - Dst: Math.max(io.undertow.server.handlers.proxy.ProxyConnectionPool,int)
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:142,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getSMaxConnections()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:143,1
    - Dst: Math.max(io.undertow.server.handlers.proxy.ProxyConnectionPool,int)
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:143,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getTtl()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPool
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - connectionPoolManager
    - bindAddress
    - uri
    - ssl
    - client
    - options
    argTypes:
    - io.undertow.server.handlers.proxy.ConnectionPoolManager
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.ssl.XnioSsl
    - io.undertow.client.UndertowClient
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.InetSocketAddress,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - Math.max(io.undertow.server.handlers.proxy.ProxyConnectionPool,int)
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getMaxConnections()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getSMaxConnections()'
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getTtl()'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(int)'
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getMaxCachedConnections()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPool
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.InetSocketAddress,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getUri()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getBindAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getBindAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].values()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:162,1
    - Dst: data.availableConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:163,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getIoThread()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:165,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:165,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].execute(Runnable)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - data.availableConnections.poll()
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].values()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].execute(Runnable)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getIoThread()'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connectionHolder.clientConnection.getStatistics()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:182,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:183,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getRead()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:186,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].addAndGet(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:186,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getWritten()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:187,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].addAndGet(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:187,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].reset()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:188,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getData()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:191,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:194,1
    - Dst: hostData.availableConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:195,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:197,1
    - Dst: hostData.availableConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:198,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].redistributeQueued(HostThreadData)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:200,1
    - Dst: connection.isOpen()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:208,1
    - Dst: connection.isUpgraded()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:208,1
    - Dst: hostData.awaitingConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:209,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isCancelled()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:210,1
    - Dst: hostData.awaitingConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:211,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getTimeoutKey()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:214,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getTimeoutKey()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:215,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].remove()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:215,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getCallback()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:218,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:218,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connectionReady(ConnectionHolder,io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:218,1
    - Dst: hostData.availableConnections.size()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:220,1
    - Dst: hostData.availableConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:223,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:225,1
    - Dst: hostData.availableConnections.add(ConnectionHolder)
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:228,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:235,1
    - Dst: hostData.availableConnections.size()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:237,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,long,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:239,1
    - Dst: connection.isOpen()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:245,1
    - Dst: connection.isUpgraded()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:245,1
    - Dst: connection.getCloseSetter()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:249,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].set(null)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:249,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].handleClosedConnection(HostThreadData,ConnectionHolder)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:250,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - ConnectionHolder
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connectionHolder
    argTypes:
    - ConnectionHolder
    constantsTouched: []
    func_position:
      end: 252
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 252
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].returnConnection(ConnectionHolder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getExchange()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isCancelled()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - hostData.availableConnections.poll()
    - '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].reset()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getWritten()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].remove()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].handleClosedConnection(HostThreadData,ConnectionHolder)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getData()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getCallback()'
    - hostData.availableConnections.add(ConnectionHolder)
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connectionReady(ConnectionHolder,io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,boolean)'
    - '[java.util.concurrent.atomic.AtomicLong].addAndGet(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - connection.isOpen()
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,long,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getTimeoutKey()'
    - connection.isUpgraded()
    - connectionHolder.clientConnection.getStatistics()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].set(null)'
    - connection.getCloseSetter()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getRead()'
    - hostData.availableConnections.size()
    - hostData.awaitingConnections.poll()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].redistributeQueued(HostThreadData)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].returnConnection(ConnectionHolder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].decrementAndGet()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:255,1
    - Dst: hostData.availableConnections.remove(ConnectionHolder)
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:257,1
    - Dst: hostData.awaitingConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:259,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isCancelled()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:260,1
    - Dst: hostData.awaitingConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:261,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].openConnection(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,HostThreadData,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - HostThreadData
      - ConnectionHolder
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - hostData
    - connection
    argTypes:
    - HostThreadData
    - ConnectionHolder
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].handleClosedConnection(HostThreadData,ConnectionHolder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].openConnection(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,HostThreadData,boolean)'
    - '[java.util.concurrent.atomic.AtomicInteger].decrementAndGet()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isCancelled()'
    - hostData.availableConnections.remove(ConnectionHolder)
    - hostData.awaitingConnections.poll()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].handleClosedConnection(HostThreadData,ConnectionHolder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:274,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getUri()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:302,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:302,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:302,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:302,1
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:274,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].handleError()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:313,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].failed(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - HostThreadData
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - exchange
    - callback
    - data
    - exclusive
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - HostThreadData
    - boolean
    constantsTouched: []
    func_position:
      end: 317
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 317
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].openConnection(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,HostThreadData,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].failed(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].handleError()'
    - '[io.undertow.client.ClientCallback].<init>()'
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getUri()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].openConnection(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,HostThreadData,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hostData.awaitingConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:320,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getTimeoutKey()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:322,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getTimeoutKey()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:323,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].remove()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:323,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isCancelled()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:325,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:326,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getExpireTime()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:327,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getExpireTime()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:327,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getCallback()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:328,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:328,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].failed(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:328,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getCallback()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:330,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getExchange()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:330,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].queuedRequestFailed(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:330,1
    - Dst: hostData.awaitingConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - HostThreadData
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hostData
    argTypes:
    - HostThreadData
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].redistributeQueued(HostThreadData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].remove()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getExchange()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isCancelled()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getCallback()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getExpireTime()'
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].queuedRequestFailed(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getTimeoutKey()'
    - hostData.awaitingConnections.poll()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].failed(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].redistributeQueued(HostThreadData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:339,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:339,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].returnConnection(ConnectionHolder)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:349,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].failed(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:350,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].<init>(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:353,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnection)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - ConnectionHolder
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.server.HttpServerExchange
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - result
    - callback
    - exchange
    - exclusive
    argTypes:
    - ConnectionHolder
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - io.undertow.server.HttpServerExchange
    - boolean
    constantsTouched: []
    func_position:
      end: 354
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 354
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connectionReady(ConnectionHolder,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyConnection].<init>(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnection)'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].failed(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].returnConnection(ConnectionHolder)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connectionReady(ConnectionHolder,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].isAvailable()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:360,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getData()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:363,1
    - Dst: data.availableConnections.isEmpty()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:367,1
    - Dst: data.awaitingConnections.size()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:370,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getMaxQueueSize()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:370,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AvailabilityType
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 374
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].available()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getMaxQueueSize()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getData()'
    - data.availableConnections.isEmpty()
    - data.awaitingConnections.size()
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].isAvailable()'
    linkageType: ''
    returnType: AvailabilityType
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].available()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getProblemServerRetry()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:382,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].isAvailable()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:384,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,int,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 433
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 433
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].scheduleFailedHostRetry(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getProblemServerRetry()'
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].isAvailable()'
    - '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,int,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].scheduleFailedHostRetry(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data.availableConnections.size()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:442,1
    - Dst: data.availableConnections.peek()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:445,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isOpen()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:446,1
    - Dst: data.availableConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:451,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:452,1
    - Dst: data.timeoutKey.remove()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:456,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:462,1
    - Dst: data.timeoutKey.remove()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:468,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - HostThreadData
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - currentTime
    - data
    argTypes:
    - long
    - HostThreadData
    constantsTouched: []
    func_position:
      end: 475
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 475
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].timeoutConnections(long,HostThreadData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - data.availableConnections.peek()
    - data.availableConnections.poll()
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - data.timeoutKey.remove()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isOpen()'
    - data.availableConnections.size()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].timeoutConnections(long,HostThreadData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.currentThread()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:483,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].canOnlyBeCalledByIoThread()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:485,1
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].get(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:488,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:492,1
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].putIfAbsent(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: HostThreadData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 498
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData].<init>()'
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].putIfAbsent(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].canOnlyBeCalledByIoThread()'
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].get(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - Thread.currentThread()
    linkageType: ''
    returnType: HostThreadData
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientStatistics].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 524
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getClientStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.ClientStatistics].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientStatistics
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getClientStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getOpenConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getOpenConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getData()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:538,1
    - Dst: data.availableConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:539,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isOpen()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:540,1
    - Dst: data.availableConnections.poll()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:541,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:543,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:543,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isUpgradeSupported()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:544,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connectionReady(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:548,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].openConnection(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,HostThreadData,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:550,1
    - Dst: data.awaitingConnections.size()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:553,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getMaxQueueSize()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:553,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].queuedRequestFailed(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:554,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:559,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:560,1
    - Dst: '[CallbackHolder].<init>(ProxyClient.ProxyTarget,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:560,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:561,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,CallbackHolder,long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:561,1
    - Dst: '[CallbackHolder].setTimeoutKey(XnioExecutor.Key)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:561,1
    - Dst: '[CallbackHolder].<init>(ProxyClient.ProxyTarget,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:563,1
    - Dst: data.awaitingConnections.add(CallbackHolder)
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:565,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - ProxyClient.ProxyTarget
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - long
      - java.util.concurrent.TimeUnit
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - proxyTarget
    - exchange
    - callback
    - timeout
    - timeUnit
    - exclusive
    argTypes:
    - ProxyClient.ProxyTarget
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - long
    - java.util.concurrent.TimeUnit
    - boolean
    constantsTouched: []
    func_position:
      end: 567
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 567
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connect(ProxyClient.ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,CallbackHolder,long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].queuedRequestFailed(io.undertow.server.HttpServerExchange)'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    - data.availableConnections.poll()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getData()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isUpgradeSupported()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].openConnection(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,HostThreadData,boolean)'
    - '[CallbackHolder].setTimeoutKey(XnioExecutor.Key)'
    - '[CallbackHolder].<init>(ProxyClient.ProxyTarget,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - data.awaitingConnections.size()
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].isOpen()'
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getMaxQueueSize()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connectionReady(io.undertow.server.handlers.proxy.ProxyConnectionPool,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange,boolean)'
    - '[CallbackHolder].<init>(ProxyClient.ProxyTarget,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - data.awaitingConnections.add(CallbackHolder)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connect(ProxyClient.ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].size()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:574,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:574,1
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].entrySet()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:575,1
    - Dst: data.getKey()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:576,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:576,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].execute(Runnable)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:576,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:590,1
    - Dst: Thread.currentThread()
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:592,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].interrupt()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:592,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - java.net.InetSocketAddress
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - org.xnio.OptionMap
      - boolean
      - int
      - int
      - int
      - long
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 595
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 595
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].closeCurrentConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].interrupt()'
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].entrySet()'
    - data.getKey()
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HostThreadData>].size()'
    - '[RuntimeException].<init>(io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].execute(Runnable)'
    - Thread.currentThread()
    - '[Runnable].<init>()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.server.handlers.proxy.ProxyConnectionPool)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].closeCurrentConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData:603,1
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData:604,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - XnioIoThread.Key
      - long
      - Deque<ConnectionHolder>
      - Deque<CallbackHolder>
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayDeque].<init>()'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.HostThreadData].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientConnection
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - ClientConnection
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPool.ConnectionHolder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clientConnection
    argTypes:
    - io.undertow.client.ClientConnection
    constantsTouched: []
    func_position:
      end: 622
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.ConnectionHolder].<init>(io.undertow.client.ClientConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPool.ConnectionHolder
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.ConnectionHolder].<init>(io.undertow.client.ClientConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ProxyClient.ProxyTarget
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.server.HttpServerExchange
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - proxyTarget
    - callback
    - exchange
    - expireTime
    argTypes:
    - ProxyClient.ProxyTarget
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - io.undertow.server.HttpServerExchange
    - long
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].<init>(ProxyClient.ProxyTarget,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].<init>(ProxyClient.ProxyTarget,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getCallback()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getCallback()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.HttpServerExchange
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getExchange()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpServerExchange
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getExchange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 652
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getExpireTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getExpireTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: XnioExecutor.Key
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 656
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getTimeoutKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XnioExecutor.Key
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getTimeoutKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].isResponseStarted()'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 660
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].isCancelled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].isResponseStarted()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].isCancelled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - XnioExecutor.Key
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutKey
    argTypes:
    - XnioExecutor.Key
    constantsTouched: []
    func_position:
      end: 664
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 664
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].setTimeoutKey(XnioExecutor.Key)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].setTimeoutKey(XnioExecutor.Key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ProxyCallback<ProxyConnection>].failed(HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached:
    - '[ProxyCallback<ProxyConnection>].failed(HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyClient.ProxyTarget
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      - long
      - XnioExecutor.Key
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ProxyClient.ProxyTarget
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getProxyTarget()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnectionPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxyClient.ProxyTarget
    signature: '[io.undertow.server.handlers.proxy.ProxyConnectionPool.CallbackHolder].getProxyTarget()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientConnection
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientConnection
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnection
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - connection
    - targetPath
    argTypes:
    - io.undertow.client.ClientConnection
    - String
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnection].<init>(io.undertow.client.ClientConnection,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnection
    signature: '[io.undertow.server.handlers.proxy.ProxyConnection].<init>(io.undertow.client.ClientConnection,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientConnection
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnection.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientConnection
    signature: '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientConnection
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.proxy.ProxyConnection].getTargetPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.ProxyConnection].getTargetPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].isAvailable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].isAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].handleError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].handleError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].clearError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].clearError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].isAvailable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].isAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].handleError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].handleError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].clearError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].clearError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:85,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].<init>(int,int,long,io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler)'
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - long
      - int
      - int
      - ConnectionPoolErrorHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - errorCount
    - successCount
    - interval
    argTypes:
    - int
    - int
    - long
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].<init>(int,int,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler].<init>()'
    - '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].<init>(int,int,long,io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.SimpleConnectionPoolErrorHandler)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].<init>(int,int,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Math.max(int,int)
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:89,1
    - Dst: Math.max(int,int)
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:90,1
    - Dst: Math.max(long,int)
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - long
      - io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - long
      - int
      - int
      - ConnectionPoolErrorHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - errorCount
    - successCount
    - interval
    - delegate
    argTypes:
    - int
    - int
    - long
    - io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].<init>(int,int,long,io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached:
    - Math.max(long,int)
    - Math.max(int,int)
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].<init>(int,int,long,io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].isAvailable()'
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - long
      - int
      - int
      - ConnectionPoolErrorHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].isAvailable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].isAvailable()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].isAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].isAvailable()'
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:102,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:103,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].handleError()'
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - long
      - int
      - int
      - ConnectionPoolErrorHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].handleError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].handleError()'
    - System.currentTimeMillis()
    - '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].isAvailable()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].handleError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].isAvailable()'
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:125,1
    - Dst: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].clearError()'
      Src: io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      - long
      - int
      - int
      - ConnectionPoolErrorHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolErrorHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].clearError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolErrorHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].clearError()'
    - '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler].isAvailable()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolErrorHandler.CountingErrorHandler].clearError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getProblemServerRetry()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].getProblemServerRetry()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ConnectionPoolManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ConnectionPoolManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ConnectionPoolManager
    signature: '[io.undertow.server.handlers.proxy.ConnectionPoolManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:49,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:52,1
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - io.undertow.util.AttachmentKey<io.undertow.client.ClientConnection>
      - io.undertow.client.UndertowClient
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.SimpleProxyClientProvider
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - uri
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider].<init>(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/SimpleProxyClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyClient.ProxyTarget].<init>()'
    - '[io.undertow.client.UndertowClient].getInstance()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.SimpleProxyClientProvider
    signature: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider].<init>(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - io.undertow.util.AttachmentKey<io.undertow.client.ClientConnection>
      - io.undertow.client.UndertowClient
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ProxyTarget
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider].findTarget(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/SimpleProxyClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProxyTarget
    signature: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider].findTarget(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:66,1
    - Dst: '[io.undertow.server.ServerConnection].getAttachment(io.undertow.util.AttachmentKey<io.undertow.client.ClientConnection>)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:66,1
    - Dst: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider].isOpen()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:68,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].<init>(io.undertow.server.handlers.proxy.SimpleProxyClientProvider)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:70,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnection)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:70,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:73,1
    - Dst: '[io.undertow.server.ServerConnection].removeAttachment(io.undertow.util.AttachmentKey<io.undertow.client.ClientConnection>)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:73,1
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier,java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,io.undertow.server.handlers.proxy.SimpleProxyClientProvider)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - ProxyTarget
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.URI
      - io.undertow.util.AttachmentKey<io.undertow.client.ClientConnection>
      - io.undertow.client.UndertowClient
      - ProxyTarget
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - target
    - exchange
    - callback
    - timeout
    - timeUnit
    argTypes:
    - ProxyTarget
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider].getConnection(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/SimpleProxyClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getAttachment(io.undertow.util.AttachmentKey<io.undertow.client.ClientConnection>)'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnection)'
    - '[io.undertow.server.handlers.proxy.ProxyConnection].<init>(io.undertow.server.handlers.proxy.SimpleProxyClientProvider)'
    - '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider].isOpen()'
    - '[io.undertow.client.UndertowClient].connect(io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier,java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,io.undertow.server.handlers.proxy.SimpleProxyClientProvider)'
    - '[io.undertow.server.ServerConnection].removeAttachment(io.undertow.util.AttachmentKey<io.undertow.client.ClientConnection>)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider].getConnection(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - callback
    - exchange
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier].<init>(io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/SimpleProxyClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier
    signature: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier].<init>(io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:90,1
    - Dst: '[io.undertow.server.ServerConnection].putAttachment(io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier,io.undertow.client.ClientConnection)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:92,1
    - Dst: '[io.undertow.server.ServerConnection.CloseListener].<init>()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:93,1
    - Dst: '[io.undertow.server.ServerConnection].addCloseListener(io.undertow.server.ServerConnection.CloseListener)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:93,1
    - Dst: '[io.undertow.client.ClientConnection].getCloseSetter()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:99,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:99,1
    - Dst: '[ChannelListener.Setter<?extendsClientConnection>].set(org.xnio.ChannelListener)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:99,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].<init>(io.undertow.client.ClientConnection)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:105,1
    - Dst: '[ProxyCallback<ProxyConnection>].completed(HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnection)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientConnection
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - io.undertow.client.ClientConnection
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier].completed(io.undertow.client.ClientConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/SimpleProxyClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection.CloseListener].<init>()'
    - '[ChannelListener.Setter<?extendsClientConnection>].set(org.xnio.ChannelListener)'
    - '[io.undertow.server.ServerConnection].putAttachment(io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier,io.undertow.client.ClientConnection)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.client.ClientConnection].getCloseSetter()'
    - '[io.undertow.server.ServerConnection].addCloseListener(io.undertow.server.ServerConnection.CloseListener)'
    - '[ProxyCallback<ProxyConnection>].completed(HttpServerExchange,io.undertow.server.handlers.proxy.ProxyConnection)'
    - '[io.undertow.server.handlers.proxy.ProxyConnection].<init>(io.undertow.client.ClientConnection)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier].completed(io.undertow.client.ClientConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ProxyCallback<ProxyConnection>].failed(HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyCallback<ProxyConnection>
      - HttpServerExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/SimpleProxyClientProvider.java
    functionUses: 0
    functionsReached:
    - '[ProxyCallback<ProxyConnection>].failed(HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.SimpleProxyClientProvider.ConnectNotifier].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<H,java.util.Set<Target>>].containsKey(H)'
      Src: io.undertow.server.handlers.proxy.HostTable:44,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].hostAlreadyRegistered(H)'
      Src: io.undertow.server.handlers.proxy.HostTable:45,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
      Src: io.undertow.server.handlers.proxy.HostTable:47,1
    - Dst: '[java.util.Map<H,java.util.Set<Target>>].put(H,java.util.concurrent.CopyOnWriteArraySet)'
      Src: io.undertow.server.handlers.proxy.HostTable:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - H
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<H,java.util.Set<Target>>
      - java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.HostTable
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - H
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.proxy.HostTable].addHost(H)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
    - '[java.util.Map<H,java.util.Set<Target>>].put(H,java.util.concurrent.CopyOnWriteArraySet)'
    - '[io.undertow.server.handlers.proxy.HostTable].hostAlreadyRegistered(H)'
    - '[java.util.Map<H,java.util.Set<Target>>].containsKey(H)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.HostTable
    signature: '[io.undertow.server.handlers.proxy.HostTable].addHost(H)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<H,java.util.Set<Target>>].remove(H)'
      Src: io.undertow.server.handlers.proxy.HostTable:52,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].removeRoute(H,io.undertow.server.handlers.proxy.HostTable,io.undertow.server.handlers.proxy.HostTable)'
      Src: io.undertow.server.handlers.proxy.HostTable:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - H
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<H,java.util.Set<Target>>
      - java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.HostTable
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - H
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.proxy.HostTable].removeHost(H)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<H,java.util.Set<Target>>].remove(H)'
    - '[io.undertow.server.handlers.proxy.HostTable].removeRoute(H,io.undertow.server.handlers.proxy.HostTable,io.undertow.server.handlers.proxy.HostTable)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.HostTable
    signature: '[io.undertow.server.handlers.proxy.HostTable].removeHost(H)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<H,java.util.Set<Target>>].get(H)'
      Src: io.undertow.server.handlers.proxy.HostTable:60,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].hostHasNotBeenRegistered(H)'
      Src: io.undertow.server.handlers.proxy.HostTable:62,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable.Target].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.HostTable:64,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].add(io.undertow.server.handlers.proxy.HostTable.Target)'
      Src: io.undertow.server.handlers.proxy.HostTable:64,1
    - Dst: '[java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>].get(String)'
      Src: io.undertow.server.handlers.proxy.HostTable:65,1
    - Dst: '[io.undertow.util.PathMatcher].<init>()'
      Src: io.undertow.server.handlers.proxy.HostTable:67,1
    - Dst: '[java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>].put(String,io.undertow.util.PathMatcher)'
      Src: io.undertow.server.handlers.proxy.HostTable:68,1
    - Dst: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
      Src: io.undertow.server.handlers.proxy.HostTable:70,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
      Src: io.undertow.server.handlers.proxy.HostTable:72,1
    - Dst: '[io.undertow.util.PathMatcher].addPrefixPath(String,java.util.concurrent.CopyOnWriteArraySet)'
      Src: io.undertow.server.handlers.proxy.HostTable:73,1
    - Dst: '[java.util.concurrent.CopyOnWriteArraySet].add(H)'
      Src: io.undertow.server.handlers.proxy.HostTable:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - H
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<H,java.util.Set<Target>>
      - java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.HostTable
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - host
    - virtualHost
    - contextPath
    argTypes:
    - H
    - String
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.proxy.HostTable].addRoute(H,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArraySet].<init>()'
    - '[java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>].put(String,io.undertow.util.PathMatcher)'
    - '[io.undertow.util.PathMatcher].addPrefixPath(String,java.util.concurrent.CopyOnWriteArraySet)'
    - '[java.util.concurrent.CopyOnWriteArraySet].add(H)'
    - '[io.undertow.server.handlers.proxy.HostTable].add(io.undertow.server.handlers.proxy.HostTable.Target)'
    - '[java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>].get(String)'
    - '[io.undertow.util.PathMatcher].<init>()'
    - '[io.undertow.server.handlers.proxy.HostTable.Target].<init>(String,String)'
    - '[io.undertow.server.handlers.proxy.HostTable].hostHasNotBeenRegistered(H)'
    - '[java.util.Map<H,java.util.Set<Target>>].get(H)'
    - '[io.undertow.util.PathMatcher].getPrefixPath(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.HostTable
    signature: '[io.undertow.server.handlers.proxy.HostTable].addRoute(H,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<H,java.util.Set<Target>>].get(H)'
      Src: io.undertow.server.handlers.proxy.HostTable:81,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable.Target].<init>(String,String)'
      Src: io.undertow.server.handlers.proxy.HostTable:83,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].remove(io.undertow.server.handlers.proxy.HostTable.Target)'
      Src: io.undertow.server.handlers.proxy.HostTable:83,1
    - Dst: '[java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>].get(String)'
      Src: io.undertow.server.handlers.proxy.HostTable:85,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].getPrefixPath(String)'
      Src: io.undertow.server.handlers.proxy.HostTable:89,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].remove(H)'
      Src: io.undertow.server.handlers.proxy.HostTable:93,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].isEmpty()'
      Src: io.undertow.server.handlers.proxy.HostTable:94,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].removePrefixPath(String)'
      Src: io.undertow.server.handlers.proxy.HostTable:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - H
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<H,java.util.Set<Target>>
      - java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.HostTable
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - host
    - virtualHost
    - contextPath
    argTypes:
    - H
    - String
    - String
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.proxy.HostTable].removeRoute(H,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.HostTable].remove(io.undertow.server.handlers.proxy.HostTable.Target)'
    - '[io.undertow.server.handlers.proxy.HostTable].removePrefixPath(String)'
    - '[io.undertow.server.handlers.proxy.HostTable].isEmpty()'
    - '[io.undertow.server.handlers.proxy.HostTable].getPrefixPath(String)'
    - '[java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>].get(String)'
    - '[io.undertow.server.handlers.proxy.HostTable.Target].<init>(String,String)'
    - '[java.util.Map<H,java.util.Set<Target>>].get(H)'
    - '[io.undertow.server.handlers.proxy.HostTable].remove(H)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.HostTable
    signature: '[io.undertow.server.handlers.proxy.HostTable].removeRoute(H,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>].get(String)'
      Src: io.undertow.server.handlers.proxy.HostTable:101,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].match(String)'
      Src: io.undertow.server.handlers.proxy.HostTable:105,1
    - Dst: '[io.undertow.server.handlers.proxy.HostTable].getValue()'
      Src: io.undertow.server.handlers.proxy.HostTable:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<H,java.util.Set<Target>>
      - java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<H>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - hostName
    - path
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.proxy.HostTable].getHostsForTarget(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>].get(String)'
    - '[io.undertow.server.handlers.proxy.HostTable].getValue()'
    - '[io.undertow.server.handlers.proxy.HostTable].match(String)'
    linkageType: ''
    returnType: java.util.Set<H>
    signature: '[io.undertow.server.handlers.proxy.HostTable].getHostsForTarget(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.HostTable:40,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.HostTable:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<H,java.util.Set<Target>>
      - java.util.Map<String,io.undertow.util.PathMatcher<java.util.Set<H>>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.HostTable
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.HostTable].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.HostTable
    signature: '[io.undertow.server.handlers.proxy.HostTable].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.HostTable.Target
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - virtualHost
    - contextPath
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.proxy.HostTable.Target].<init>(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.HostTable.Target
    signature: '[io.undertow.server.handlers.proxy.HostTable.Target].<init>(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.HostTable.Target].getClass()'
      Src: io.undertow.server.handlers.proxy.HostTable.Target:120,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.server.handlers.proxy.HostTable.Target:120,1
    - Dst: '[String].equals(io.undertow.server.handlers.proxy.HostTable.Target)'
      Src: io.undertow.server.handlers.proxy.HostTable.Target:124,1
    - Dst: '[String].equals(io.undertow.server.handlers.proxy.HostTable.Target)'
      Src: io.undertow.server.handlers.proxy.HostTable.Target:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.proxy.HostTable.Target].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.HostTable.Target].getClass()'
    - '[String].equals(io.undertow.server.handlers.proxy.HostTable.Target)'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.HostTable.Target].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.proxy.HostTable.Target:134,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.handlers.proxy.HostTable.Target:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.proxy.HostTable.Target].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/HostTable.java
    functionUses: 0
    functionsReached:
    - '[String].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.HostTable.Target].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(RouteParsingStrategy,ParsingCompatibility,null)'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteParsingStrategy
      - ParsingCompatibility
      classConcrete: true
      classEnum: false
      classFields:
      - RouteParsingStrategy
      - ParsingCompatibility
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.RouteIteratorFactory
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - routeParsingStrategy
    - parsingCompatibility
    argTypes:
    - RouteParsingStrategy
    - ParsingCompatibility
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(RouteParsingStrategy,ParsingCompatibility)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/RouteIteratorFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(RouteParsingStrategy,ParsingCompatibility,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.RouteIteratorFactory
    signature: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(RouteParsingStrategy,ParsingCompatibility)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteParsingStrategy
      - ParsingCompatibility
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RouteParsingStrategy
      - ParsingCompatibility
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.RouteIteratorFactory
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - routeParsingStrategy
    - parsingCompatibility
    - rankedRouteDelimiter
    argTypes:
    - RouteParsingStrategy
    - ParsingCompatibility
    - String
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(RouteParsingStrategy,ParsingCompatibility,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/RouteIteratorFactory.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.RouteIteratorFactory
    signature: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(RouteParsingStrategy,ParsingCompatibility,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].<init>(String)'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RouteParsingStrategy
      - ParsingCompatibility
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<CharSequence>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/RouteIteratorFactory.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].<init>(String)'
    linkageType: ''
    returnType: java.util.Iterator<CharSequence>
    signature: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - int
      - CharSequence
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/RouteIteratorFactory.java
    functionUses: 1
    functionsReached:
    - '[String].indexOf(char)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator
    signature: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].resolveNext()'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - int
      - CharSequence
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].hasNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/RouteIteratorFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].resolveNext()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].hasNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].resolveNext()'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:110,1
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - int
      - CharSequence
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: CharSequence
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].next()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/RouteIteratorFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].resolveNext()'
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: CharSequence
    signature: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].next()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char,int)'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:129,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:131,1
    - Dst: '[java.nio.CharBuffer].wrap(String,int,io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator)'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:133,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:136,1
    - Dst: '[java.nio.CharBuffer].wrap(String,int,io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator)'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:136,1
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:138,1
    - Dst: '[String].indexOf(io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator,int)'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:141,1
    - Dst: '[java.nio.CharBuffer].wrap(String,int)'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:142,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].length()'
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:143,1
    - Dst: rankedRouteDelimiter.length()
      Src: io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - int
      - CharSequence
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].resolveNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/RouteIteratorFactory.java
    functionUses: 2
    functionsReached:
    - '[String].indexOf(io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator,int)'
    - rankedRouteDelimiter.length()
    - '[String].indexOf(char,int)'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].length()'
    - '[String].length()'
    - '[java.nio.CharBuffer].wrap(String,int,io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator)'
    - '[java.nio.CharBuffer].wrap(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.RouteIteratorFactory.RouteIterator].resolveNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.builder.HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].name()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].name()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:28,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:29,1
    - Dst: '[java.util.HashMap].put(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.builder.HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,Class<?>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].parameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,Class<?>>
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].parameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singleton(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.builder.HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].requiredParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].singleton(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].requiredParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.builder.HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].defaultParameter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].defaultParameter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:46,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:47,1
    - Dst: '[java.net.URI].<init>(io.undertow.server.handlers.proxy.ProxyHandlerBuilder)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:50,1
    - Dst: '[java.util.ArrayList].add(java.net.URI)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:50,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.proxy.ProxyHandlerBuilder)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:52,1
    - Dst: '[java.util.Map<String,Object>].get(String)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:55,1
    - Dst: '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(java.util.ArrayList,io.undertow.server.handlers.proxy.ProxyHandlerBuilder)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,Object>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.builder.HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - java.util.Map<String,Object>
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].build(java.util.Map<String,Object>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].add(java.net.URI)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.proxy.ProxyHandlerBuilder)'
    - '[io.undertow.attribute.QuotingExchangeAttribute.Wrapper].<init>(java.util.ArrayList,io.undertow.server.handlers.proxy.ProxyHandlerBuilder)'
    - '[java.net.URI].<init>(io.undertow.server.handlers.proxy.ProxyHandlerBuilder)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.Map<String,Object>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.HandlerWrapper
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].build(java.util.Map<String,Object>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.builder.HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].priority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].priority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.builder.HandlerBuilder
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandlerBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandlerBuilder
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<java.net.URI>
      - Boolean
      classConcrete: true
      classEnum: false
      classFields:
      - List<URI>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - uris
    - rewriteHostHeader
    argTypes:
    - java.util.List<java.net.URI>
    - Boolean
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper].<init>(java.util.List<java.net.URI>,Boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper].<init>(java.util.List<java.net.URI>,Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper:76,1
    - Dst: '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper:78,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.HttpHandler,boolean,boolean)'
      Src: io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - List<URI>
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/ProxyHandlerBuilder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyHandler].<init>(io.undertow.server.handlers.proxy.LoadBalancingProxyClient,io.undertow.server.HttpHandler,boolean,boolean)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].addHost(io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper)'
    - '[io.undertow.server.handlers.proxy.LoadBalancingProxyClient].<init>()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.ProxyHandlerBuilder.Wrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterController].getStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterController.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterController].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterController].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterController.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterController].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exclusivityChecker
    - container
    argTypes:
    - io.undertow.server.handlers.proxy.ExclusivityChecker
    - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].<init>(io.undertow.server.handlers.proxy.ExclusivityChecker,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findTarget(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ProxyTarget
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 7
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].findTarget(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findTarget(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: ProxyTarget
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].findTarget(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:59,1
    - Dst: '[io.undertow.server.ServerConnection].getAttachment(io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:59,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].getConnection()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:60,1
    - Dst: '[void].isOpen()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:60,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:63,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:67,1
    - Dst: proxyTarget.resolveContext(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:73,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:75,1
    - Dst: '[io.undertow.server.handlers.proxy.ExclusivityChecker].isExclusivityRequired(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:77,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:81,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].handleRequest(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback,long,java.util.concurrent.TimeUnit,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].handleRequest(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - ProxyTarget
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>
      - io.undertow.server.handlers.proxy.ExclusivityChecker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.ProxyClient
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - target
    - exchange
    - callback
    - timeout
    - timeUnit
    argTypes:
    - ProxyTarget
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 127
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 127
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].getConnection(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyClient.java
    functionUses: 0
    functionsReached:
    - proxyTarget.resolveContext(io.undertow.server.HttpServerExchange)
    - '[io.undertow.server.ServerConnection].getAttachment(io.undertow.util.AttachmentKey<ExclusiveConnectionHolder>)'
    - '[io.undertow.server.handlers.proxy.ExclusivityChecker].isExclusivityRequired(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.ProxyCallback].<init>()'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].completed(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient)'
    - '[void].isOpen()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].getConnection()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].handleRequest(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback,long,java.util.concurrent.TimeUnit,boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].handleRequest(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].couldNotResolveBackend(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].getConnection(ProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ProxyConnection
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient.ExclusiveConnectionHolder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient.ExclusiveConnectionHolder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyClient.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient.ExclusiveConnectionHolder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient.ExclusiveConnectionHolder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:42,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HostEntry
      - java.util.concurrent.ConcurrentMap<String,HostEntry>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].<init>(String)'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:61,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:66,1
    - Dst: '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:68,1
    - Dst: '[String].charAt(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:71,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:73,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].get(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:74,1
    - Dst: '[String].substring(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:76,1
    - Dst: '[io.undertow.util.PathMatcher.PathMatch].<init>(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:76,1
    - Dst: defaultHandler.contexts.isEmpty()
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:81,1
    - Dst: '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:82,1
    - Dst: '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,HostEntry)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:84,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HostEntry
      - java.util.concurrent.ConcurrentMap<String,HostEntry>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PathMatcher.PathMatch<HostEntry>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 85
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].match(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,HostEntry)'
    - '[String].substring(int,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
    - '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,null)'
    - '[String].charAt(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
    - '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].get(String)'
    - '[String].length()'
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].get(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
    - '[io.undertow.util.PathMatcher.PathMatch].<init>(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
    - defaultHandler.contexts.isEmpty()
    - '[String].substring(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
    linkageType: ''
    returnType: PathMatcher.PathMatch<HostEntry>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].match(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].pathMustBeSpecified()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:89,1
    - Dst: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:92,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:93,1
    - Dst: defaultHandler.contexts.put(String,io.undertow.server.handlers.proxy.mod_cluster.Context)
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:94,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:99,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:102,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].put(String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:103,1
    - Dst: hostEntry.contexts.containsKey(String)
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:105,1
    - Dst: hostEntry.contexts.put(String,io.undertow.server.handlers.proxy.mod_cluster.Context)
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:106,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].buildLengths()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Context
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HostEntry
      - java.util.concurrent.ConcurrentMap<String,HostEntry>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - jvmRoute
    - context
    argTypes:
    - String
    - String
    - io.undertow.server.handlers.proxy.mod_cluster.Context
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].registerContext(String,String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 1
    functionsReached:
    - hostEntry.contexts.containsKey(String)
    - '[String].equals(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].pathMustBeSpecified()'
    - defaultHandler.contexts.put(String,io.undertow.server.handlers.proxy.mod_cluster.Context)
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].get(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].<init>(String)'
    - '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].put(String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry)'
    - '[String].isEmpty()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].buildLengths()'
    - hostEntry.contexts.put(String,io.undertow.server.handlers.proxy.mod_cluster.Context)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].registerContext(String,String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].pathMustBeSpecified()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:114,1
    - Dst: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:117,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:118,1
    - Dst: defaultHandler.contexts.remove(String,io.undertow.server.handlers.proxy.mod_cluster.Context)
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:119,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:122,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].remove(String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:124,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].isEmpty()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:125,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].remove(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:126,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].buildLengths()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Context
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HostEntry
      - java.util.concurrent.ConcurrentMap<String,HostEntry>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - jvmRoute
    - context
    argTypes:
    - String
    - String
    - io.undertow.server.handlers.proxy.mod_cluster.Context
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].removeContext(String,String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].pathMustBeSpecified()'
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].get(String)'
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].remove(String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].isEmpty()'
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].remove(String)'
    - '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    - '[String].isEmpty()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].buildLengths()'
    - defaultHandler.contexts.remove(String,io.undertow.server.handlers.proxy.mod_cluster.Context)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].removeContext(String,String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].isEmpty()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:134,1
    - Dst: defaultHandler.contexts.isEmpty()
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HostEntry
      - java.util.concurrent.ConcurrentMap<String,HostEntry>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 0
    functionsReached:
    - defaultHandler.contexts.isEmpty()
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:138,1
    - Dst: '[java.util.TreeSet].<init>(java.util.Comparator)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:138,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,HostEntry>].keySet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:144,1
    - Dst: p.length()
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:145,1
    - Dst: '[java.util.TreeSet].add(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:145,1
    - Dst: '[java.util.TreeSet].size()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HostEntry
      - java.util.concurrent.ConcurrentMap<String,HostEntry>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].buildLengths()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 2
    functionsReached:
    - '[java.util.Comparator].<init>()'
    - '[java.util.TreeSet].size()'
    - '[java.util.TreeSet].<init>(java.util.Comparator)'
    - p.length()
    - '[java.util.concurrent.ConcurrentMap<String,HostEntry>].keySet()'
    - '[java.util.TreeSet].add(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].buildLengths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ConcurrentMap<String, Context>
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - contextPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConcurrentMap<String, Context>
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContextPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContextPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ConcurrentMap<String, Context>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ConcurrentMap<String, Context>
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContextForNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 0
    functionsReached:
    - '[ConcurrentMap<String, Context>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContextForNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ConcurrentMap<String, Context>].keySet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry:183,1
    - Dst: '[java.util.Collections].unmodifiableCollection(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConcurrentMap<String, Context>
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getNodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].unmodifiableCollection(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry)'
    - '[ConcurrentMap<String, Context>].keySet()'
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getNodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ConcurrentMap<String, Context>].values()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry:190,1
    - Dst: '[java.util.Collections].unmodifiableCollection(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ConcurrentMap<String, Context>
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.server.handlers.proxy.mod_cluster.Context>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContexts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/VirtualHost.java
    functionUses: 2
    functionsReached:
    - '[ConcurrentMap<String, Context>].values()'
    - '[java.util.Collections].unmodifiableCollection(io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry)'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.handlers.proxy.mod_cluster.Context>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContexts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget].resolveContext(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget].resolveContext(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Iterator<CharSequence>
      - VirtualHost.HostEntry
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Iterator<CharSequence>
      - VirtualHost.HostEntry
      - boolean
      - ModClusterContainer
      - boolean
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterProxyTarget
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - session
    - routes
    - entry
    - container
    - forceStickySession
    argTypes:
    - String
    - java.util.Iterator<CharSequence>
    - VirtualHost.HostEntry
    - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
    - boolean
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].<init>(String,java.util.Iterator<CharSequence>,VirtualHost.HostEntry,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].<init>(String,java.util.Iterator<CharSequence>,VirtualHost.HostEntry,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].resolveContextIfUnresolved()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Iterator<CharSequence>
      - VirtualHost.HostEntry
      - boolean
      - ModClusterContainer
      - boolean
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterProxyTarget
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].resolveContext(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].resolveContextIfUnresolved()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].resolveContext(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:74,1
    - Dst: '[Iterator<CharSequence>].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:75,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:75,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContextForNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].checkAvailable(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:78,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:79,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].elected()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:80,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findFailoverNode(VirtualHost.HostEntry,io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget,String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Iterator<CharSequence>
      - VirtualHost.HostEntry
      - boolean
      - ModClusterContainer
      - boolean
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterProxyTarget
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].resolveContextIfUnresolved()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContextForNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getNode()'
    - '[Iterator<CharSequence>].next()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].toString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].checkAvailable(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findFailoverNode(VirtualHost.HostEntry,io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget,String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget,boolean)'
    - '[Iterator<CharSequence>].hasNext()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].elected()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getDomain()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].resolveContextIfUnresolved()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].resolveContextIfUnresolved()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:97,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:102,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:102,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Iterator<CharSequence>
      - VirtualHost.HostEntry
      - boolean
      - ModClusterContainer
      - boolean
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterProxyTarget
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getMaxRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].resolveContextIfUnresolved()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].getMaxRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - VirtualHost.HostEntry
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classConcrete: true
      classEnum: false
      classFields:
      - VirtualHost.HostEntry
      - ModClusterContainer
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterProxyTarget
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - entry
    - container
    argTypes:
    - VirtualHost.HostEntry
    - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].<init>(VirtualHost.HostEntry,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].<init>(VirtualHost.HostEntry,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].resolveNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget:124,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget:129,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget:129,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - VirtualHost.HostEntry
      - ModClusterContainer
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterProxyTarget
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].getMaxRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].resolveNode()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].getMaxRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].resolveNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - VirtualHost.HostEntry
      - ModClusterContainer
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterProxyTarget
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].resolveContext(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].resolveNode()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].resolveContext(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findNewNode(VirtualHost.HostEntry)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - VirtualHost.HostEntry
      - ModClusterContainer
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterProxyTarget
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].resolveNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterProxyTarget.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findNewNode(VirtualHost.HostEntry)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.BasicTarget].resolveNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<LoadBalancer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus].getLoadBalancers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<LoadBalancer>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus].getLoadBalancers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: LoadBalancer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus].getLoadBalancer(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LoadBalancer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus].getLoadBalancer(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Node>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getNodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Node>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getNodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].isStickySession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].isStickySession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getStickySessionCookie()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getStickySessionCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getStickySessionPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getStickySessionPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].isStickySessionRemove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].isStickySessionRemove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].isStickySessionForce()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].isStickySessionForce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getWaitWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getWaitWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getMaxRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getMaxRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getMaxAttempts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].getMaxAttempts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.LoadBalancer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getUri()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getContexts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getContexts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getContext(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getContext(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getLoad()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getLoad()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: NodeStatus
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeStatus
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getOpenConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getOpenConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getTransferred()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getTransferred()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getElected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getElected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getCacheConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getCacheConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getJvmRoute()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getJvmRoute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getDomain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getFlushWait()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getFlushWait()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getPing()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getRequestQueueSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getRequestQueueSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getTtl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].isFlushPackets()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].isFlushPackets()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].isQueueNewRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].isQueueNewRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getAliases()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].getAliases()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].resetStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].resetStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Node].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].isEnabled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].isEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].isStopped()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].isStopped()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].getRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].getRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].enable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].enable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].disable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].disable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].stop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterStatus.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus.Context].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getName()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:32,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySession()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:33,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOneZero(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:33,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionCookie()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:34,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:34,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionRemove()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:35,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOneZero(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:35,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionForce()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:36,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOneZero(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:36,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getWaitWorker()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:37,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:38,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - balancer
    - builder
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Balancer
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.Balancer,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionCookie()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOneZero(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getId()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getName()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySession()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionPath()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionRemove()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getWaitWorker()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionForce()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.Balancer,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Node.VHostMapping].getAliases()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:44,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    - Dst: '[Node.VHostMapping].getNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:46,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:46,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    - Dst: '[Node.VHostMapping].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:47,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - Node.VHostMapping
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - host
    - builder
    argTypes:
    - Node.VHostMapping
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(Node.VHostMapping,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
    - '[Node.VHostMapping].getAliases()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
    - '[Node.VHostMapping].getNode()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].getId()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append()'
    - '[Node.VHostMapping].getId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(Node.VHostMapping,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Node.VHostMapping].getAliases()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:56,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[Node.VHostMapping].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[Node.VHostMapping].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:59,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[Node.VHostMapping].getNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:60,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:60,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - Node.VHostMapping
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - host
    - builder
    argTypes:
    - Node.VHostMapping
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(Node.VHostMapping,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
    - '[Node.VHostMapping].getAliases()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
    - '[Node.VHostMapping].getNode()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].getId()'
    - '[Node.VHostMapping].getId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(Node.VHostMapping,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:67,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:67,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVhost()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:68,1
    - Dst: '[Node.VHostMapping].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:68,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:69,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:71,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getStatus()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:72,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(Status)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Context
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - context
    - builder
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Context
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(io.undertow.server.handlers.proxy.mod_cluster.Context,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVhost()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(Status)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getPath()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getId()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getStatus()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
    - '[Node.VHostMapping].getId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(io.undertow.server.handlers.proxy.mod_cluster.Context,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:78,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVhost()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:79,1
    - Dst: '[Node.VHostMapping].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:79,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:80,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:80,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getStatus()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:81,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatStatus(Status)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:81,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Context
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - context
    - builder
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Context
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.Context,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVhost()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatStatus(Status)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getPath()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getId()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getStatus()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
    - '[Node.VHostMapping].getId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.Context,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:87,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:89,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getBalancer()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:89,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:90,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:90,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatString(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:90,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:91,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:91,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:91,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:92,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:92,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:92,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:93,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:93,1
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:93,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:94,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isFlushPackets()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:94,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOnOff(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:94,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getFlushwait()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:96,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:96,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:97,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getSmax()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:97,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:98,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTtl()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:98,1
    - Dst: TimeUnit.MILLISECONDS.toSeconds(long)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:98,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getElected()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:99,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:100,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getClientStatistics()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:100,1
    - Dst: '[io.undertow.client.ClientStatistics].getRead()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:100,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(long)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:101,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getClientStatistics()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:101,1
    - Dst: '[io.undertow.client.ClientStatistics].getWritten()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:101,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(long)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:102,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getOpenConnections()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:102,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getLoad()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:103,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 75
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - node
    - builder
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(io.undertow.server.handlers.proxy.mod_cluster.Node,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getLoad()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getBalancer()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatString(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isFlushPackets()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getConnectionPool()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
    - TimeUnit.MILLISECONDS.toSeconds(long)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getClientStatistics()'
    - '[java.net.URI].getHost()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTtl()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getElected()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getFlushwait()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
    - '[io.undertow.client.ClientStatistics].getRead()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].getOpenConnections()'
    - '[java.net.URI].getPort()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getDomain()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOnOff(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(long)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
    - '[io.undertow.client.ClientStatistics].getWritten()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getSmax()'
    - '[java.net.URI].getScheme()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(io.undertow.server.handlers.proxy.mod_cluster.Node,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:109,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:109,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:110,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:111,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getBalancer()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:111,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:112,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatString(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:113,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:114,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:114,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:114,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:115,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:115,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:115,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:116,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:116,1
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:116,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:117,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isFlushPackets()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:117,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOneZero(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:117,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:118,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getFlushwait()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:118,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:119,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:119,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:120,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getSmax()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:120,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:121,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTtl()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:121,1
    - Dst: TimeUnit.MILLISECONDS.toSeconds(long)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:121,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTimeout()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - node
    - builder
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.Node,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getBalancer()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatString(String)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isFlushPackets()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOneZero(boolean)'
    - TimeUnit.MILLISECONDS.toSeconds(long)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].append(int)'
    - '[java.net.URI].getHost()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTtl()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getFlushwait()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
    - '[java.net.URI].getPort()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getDomain()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getId()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getSmax()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
    - '[java.net.URI].getScheme()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTimeout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.Node,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - bool
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOneZero(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOneZero(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - bool
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOnOff(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].toStringOnOff(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - str
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Context.Status
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - status
    argTypes:
    - Context.Status
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatStatus(Context.Status)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].formatStatus(Context.Status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPInfoUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:56,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:59,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:62,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:65,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:68,1
    - Dst: '[UpdateLoadTask].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:69,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getHealthChecker()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].<init>(null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:87,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getHealthCheckInterval()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getRemoveBrokenNodes()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeThreshold(long,long)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].rankedAffinityDelimiter()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:89,1
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.RouteParsingStrategy,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - modCluster
    - xnioSsl
    - client
    - clientOptions
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    - org.xnio.ssl.XnioSsl
    - io.undertow.client.UndertowClient
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].rankedAffinityDelimiter()'
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].<init>(io.undertow.server.handlers.proxy.RouteParsingStrategy,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getRemoveBrokenNodes()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getHealthCheckInterval()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyClient].<init>(null)'
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getHealthChecker()'
    - '[io.undertow.server.handlers.cache.LRUCache].<init>(int,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeThreshold(long,long)'
    - '[UpdateLoadTask].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getServerID()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getServerID()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getServerID()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getServerID()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClient()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ssl.XnioSsl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getXnioSsl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ssl.XnioSsl
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getXnioSsl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getProxyClient()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyClient
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getProxyClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].values()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:114,1
    - Dst: '[java.util.Collections].unmodifiableCollection(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getBalancers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].unmodifiableCollection(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].values()'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.handlers.proxy.mod_cluster.Balancer>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getBalancers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].values()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:118,1
    - Dst: '[java.util.Collections].unmodifiableCollection(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.server.handlers.proxy.mod_cluster.Node>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 3
    functionsReached:
    - '[java.util.Collections].unmodifiableCollection(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].values()'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.handlers.proxy.mod_cluster.Node>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].mapVirtualHost(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:133,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].values()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:137,1
    - Dst: balancer.isStickySession()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:138,1
    - Dst: '[io.undertow.server.HttpServerExchange].requestCookies()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:139,1
    - Dst: balancer.getStickySessionCookie()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:140,1
    - Dst: cookie.getName()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:140,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].equals(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:140,1
    - Dst: cookie.getValue()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:141,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].parseRoutes(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:142,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:143,1
    - Dst: '[PathMatcher.PathMatch<VirtualHost.HostEntry>].getValue()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:144,1
    - Dst: balancer.isStickySessionForce()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:144,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.Iterator<CharSequence>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:144,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:148,1
    - Dst: balancer.getStickySessionPath()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:148,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:148,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:149,1
    - Dst: balancer.getStickySessionPath()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:149,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].parseRoutes(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:150,1
    - Dst: '[java.util.Iterator<CharSequence>].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:151,1
    - Dst: '[PathMatcher.PathMatch<VirtualHost.HostEntry>].getValue()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:152,1
    - Dst: balancer.isStickySessionForce()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:152,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.Iterator<CharSequence>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:152,1
    - Dst: '[PathMatcher.PathMatch<VirtualHost.HostEntry>].getValue()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:157,1
    - Dst: '[ModClusterProxyTarget.BasicTarget].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 158
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findTarget(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - balancer.getStickySessionPath()
    - cookie.getName()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget.ExistingSessionTarget].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.Iterator<CharSequence>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].parseRoutes(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - balancer.isStickySessionForce()
    - '[PathMatcher.PathMatch<VirtualHost.HostEntry>].getValue()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].values()'
    - '[io.undertow.server.HttpServerExchange].requestCookies()'
    - balancer.getStickySessionCookie()
    - '[java.util.Map<String,java.util.Deque<String>>].containsKey(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - cookie.getValue()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getFirst()'
    - '[java.util.Iterator<CharSequence>].hasNext()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].equals(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - balancer.isStickySession()
    - '[java.util.Map<String,java.util.Deque<String>>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[ModClusterProxyTarget.BasicTarget].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].mapVirtualHost(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findTarget(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:171,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:172,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:174,1
    - Dst: '[java.net.URI].equals(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].resetState()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:176,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].markRemoved()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:179,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:180,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isInErrorState()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:181,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getBalancer()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:187,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:188,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].debugf(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:190,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:192,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].put(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:193,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.server.handlers.proxy.mod_cluster.NodeConfig,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:195,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].put(String,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:196,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].scheduleHealthCheck(io.undertow.server.handlers.proxy.mod_cluster.Node,org.xnio.XnioIoThread)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:198,1
    - Dst: '[org.xnio.XnioIoThread].executeAtInterval(UpdateLoadTask,long,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:201,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:204,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,String>].remove(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:204,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:205,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].registeringNode(String,java.net.URI)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - Balancer.BalancerBuilder
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - config
    - balancerConfig
    - ioThread
    - bufferPool
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
    - Balancer.BalancerBuilder
    - org.xnio.XnioIoThread
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 207
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 207
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].addNode(io.undertow.server.handlers.proxy.mod_cluster.NodeConfig,Balancer.BalancerBuilder,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].resetState()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getBalancer()'
    - '[java.net.URI].equals(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.server.handlers.proxy.mod_cluster.NodeConfig,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].get(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getConnectionURI()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].markRemoved()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].put(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
    - '[io.undertow.server.handlers.cache.LRUCache<String,String>].remove(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].build()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].debugf(String,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isInErrorState()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].registeringNode(String,java.net.URI)'
    - '[org.xnio.XnioIoThread].executeAtInterval(UpdateLoadTask,long,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].scheduleHealthCheck(io.undertow.server.handlers.proxy.mod_cluster.Node,org.xnio.XnioIoThread)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].put(String,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].addNode(io.undertow.server.handlers.proxy.mod_cluster.NodeConfig,Balancer.BalancerBuilder,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:216,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getContexts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:218,1
    - Dst: context.enable()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - context.enable()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getContexts()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:233,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getContexts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:235,1
    - Dst: context.disable()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].disableNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - context.disable()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getContexts()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].disableNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:250,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getContexts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:252,1
    - Dst: context.stop()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].stopNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - context.stop()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getContexts()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].stopNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:267,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.Node,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - node
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.Node)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.Node,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.Node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].isInErrorState()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:279,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:282,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].markRemoved()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:283,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].remove(String,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:284,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removingNode(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:285,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].markRemoved()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:286,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getIoThread()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:288,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeHealthCheck(io.undertow.server.handlers.proxy.mod_cluster.Node,org.xnio.XnioIoThread)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:288,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContexts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:290,1
    - Dst: context.getPath()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:291,1
    - Dst: context.getVirtualHosts()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:291,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:291,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:293,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:293,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:295,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,String>].add(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:295,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:297,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getName()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:297,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].values()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:298,1
    - Dst: other.getBalancer()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:299,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getName()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:299,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:299,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].remove(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:303,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].size()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:305,1
    - Dst: updateLoadTask.cancelKey.remove()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - node
    - onlyInError
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - boolean
    constantsTouched: []
    func_position:
      end: 310
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 310
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.Node,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].isInErrorState()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removingNode(String)'
    - updateLoadTask.cancelKey.remove()
    - other.getBalancer()
    - context.getPath()
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].size()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].remove(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].equals(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContexts()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getName()'
    - '[io.undertow.server.handlers.cache.LRUCache<String,String>].add(String,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].markRemoved()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].remove(String,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getIoThread()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeHealthCheck(io.undertow.server.handlers.proxy.mod_cluster.Node,org.xnio.XnioIoThread)'
    - context.getVirtualHosts()
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getDomain()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getName()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].values()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(io.undertow.server.handlers.proxy.mod_cluster.Node,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:320,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getOrRegisterContext(String,String,java.util.List<String>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:322,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].enable()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - contextPath
    - jvmRoute
    - aliases
    argTypes:
    - String
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableContext(String,String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].enable()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getOrRegisterContext(String,String,java.util.List<String>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableContext(String,String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:330,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getOrRegisterContext(String,String,java.util.List<String>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:332,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].disable()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - contextPath
    - jvmRoute
    - aliases
    argTypes:
    - String
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].disableContext(String,String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getOrRegisterContext(String,String,java.util.List<String>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].disable()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].disableContext(String,String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:340,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getOrRegisterContext(String,String,java.util.List<String>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:342,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:343,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getActiveRequests()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - contextPath
    - jvmRoute
    - aliases
    argTypes:
    - String
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].stopContext(String,String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getActiveRequests()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getOrRegisterContext(String,String,java.util.List<String>,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].stopContext(String,String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:350,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.List<String>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - contextPath
    - jvmRoute
    - aliases
    argTypes:
    - String
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(String,String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.List<String>)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(String,String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:361,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].unregisteringContext(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:362,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].removeContext(String,java.util.List<String>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:363,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:367,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVirtualHosts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:368,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:369,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(String,String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:371,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isEmpty()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:372,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].remove(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - contextPath
    - node
    - aliases
    argTypes:
    - String
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 378
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 378
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(String,io.undertow.server.handlers.proxy.mod_cluster.Node,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVirtualHosts()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isEmpty()'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].remove(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].unregisteringContext(String,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].removeContext(String,java.util.List<String>)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(String,String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(String,io.undertow.server.handlers.proxy.mod_cluster.Node,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContext(String,java.util.List<String>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:381,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].registerContext(String,java.util.List<String>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:383,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].registeringContext(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:384,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].registeringContext(String,String,java.util.List<String>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:385,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:387,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:389,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].put(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:390,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].registerContext(String,String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - java.util.List<String>
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - contextPath
    - jvmRoute
    - aliases
    - node
    argTypes:
    - String
    - String
    - java.util.List<String>
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getOrRegisterContext(String,String,java.util.List<String>,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContext(String,java.util.List<String>)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].registeringContext(String,String)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].put(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost].registerContext(String,String,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].registerContext(String,java.util.List<String>)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].registeringContext(String,String,java.util.List<String>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getOrRegisterContext(String,String,java.util.List<String>,io.undertow.server.handlers.proxy.mod_cluster.Node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContexts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:405,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].electNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,boolean,null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - VirtualHost.HostEntry
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - entry
    argTypes:
    - VirtualHost.HostEntry
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findNewNode(VirtualHost.HostEntry)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContexts()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].electNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,boolean,null)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findNewNode(VirtualHost.HostEntry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isDeterministicFailover()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:421,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getNodes()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:422,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].size()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:422,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:422,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getNodes()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:423,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:424,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isInErrorState()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:425,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isHotStandby()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:425,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:426,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:431,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getNodes()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:432,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:433,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isInErrorState()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:434,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isHotStandby()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:434,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:435,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:440,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:444,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:444,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].hashCode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:445,1
    - Dst: Math.abs(long)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:445,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:445,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:446,1
    - Dst: '[java.util.ArrayList].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:447,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].debugf(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:448,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContextForNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:449,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:454,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:456,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:456,1
    - Dst: '[io.undertow.server.handlers.cache.LRUCache<String,String>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:459,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContexts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:464,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].electNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,boolean,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:466,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].electNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,boolean,null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:474,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes:
      - VirtualHost.HostEntry
      - String
      - String
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - entry
    - domain
    - session
    - jvmRoute
    - forceStickySession
    argTypes:
    - VirtualHost.HostEntry
    - String
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 476
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 476
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findFailoverNode(VirtualHost.HostEntry,String,String,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - Math.abs(long)
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContextForNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.Collections].sort(java.util.ArrayList)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getContexts()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].size()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].electNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,boolean,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.ArrayList].isEmpty()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].electNode(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,boolean,null)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isDeterministicFailover()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].debugf(String,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.cache.LRUCache<String,String>].get(String)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].get(String)'
    - '[String].indexOf(char)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getDomain()'
    - '[java.util.ArrayList].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.VirtualHost.HostEntry].getNodes()'
    - '[java.util.ArrayList].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isInErrorState()'
    - '[java.util.ArrayList].size()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].hashCode()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isHotStandby()'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[String].substring(int,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].findFailoverNode(VirtualHost.HostEntry,String,String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRelativePath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:484,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isUseAlias()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:485,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:486,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:486,1
    - Dst: '[String].indexOf(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:489,1
    - Dst: '[String].substring(int,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:492,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:492,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:494,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:497,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].match(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:502,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getValue()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:503,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].entrySet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:509,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getValue()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:510,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].match(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:510,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getValue()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:511,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PathMatcher.PathMatch<VirtualHost.HostEntry>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].mapVirtualHost(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[String].indexOf(String)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    - '[io.undertow.server.HttpServerExchange].getRelativePath()'
    - '[String].substring(int,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].match(String)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].get(String)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>].entrySet()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getValue()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isUseAlias()'
    linkageType: ''
    returnType: PathMatcher.PathMatch<VirtualHost.HostEntry>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].mapVirtualHost(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClientOptions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClientOptions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Iterator<CharSequence>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].parseRoutes(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.RouteIteratorFactory].iterator(String)'
    linkageType: ''
    returnType: java.util.Iterator<CharSequence>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].parseRoutes(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: context.checkAvailable(boolean)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:533,1
    - Dst: context.getNode()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:534,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isHotStandby()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:535,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:537,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:537,1
    - Dst: '[String].equals(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:537,1
    - Dst: candidate.getElectedDiff()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:544,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getElectedDiff()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:544,1
    - Dst: candidate.getLoadStatus()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:557,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getLoadStatus()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:558,1
    - Dst: candidate.elected()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:573,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - Iterable<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - boolean
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - contexts
    - existingSession
    - domain
    argTypes:
    - Iterable<io.undertow.server.handlers.proxy.mod_cluster.Context>
    - boolean
    - String
    constantsTouched: []
    func_position:
      end: 576
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 576
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].electNode(Iterable<io.undertow.server.handlers.proxy.mod_cluster.Context>,boolean,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - context.checkAvailable(boolean)
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getDomain()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].isHotStandby()'
    - candidate.getLoadStatus()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodeConfig()'
    - candidate.elected()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getLoadStatus()'
    - '[String].equals(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getElectedDiff()'
    - context.getNode()
    - candidate.getElectedDiff()
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].electNode(Iterable<io.undertow.server.handlers.proxy.mod_cluster.Context>,boolean,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.holdsLock()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:579,1
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>].get(org.xnio.XnioIoThread)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:580,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask].<init>(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:582,1
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>].put(org.xnio.XnioIoThread,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:583,1
    - Dst: '[org.xnio.XnioIoThread].executeAtInterval(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask,long,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:584,1
    - Dst: task.nodes.add(io.undertow.server.handlers.proxy.mod_cluster.Node)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - org.xnio.XnioIoThread
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - node
    - ioThread
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - org.xnio.XnioIoThread
    constantsTouched: []
    func_position:
      end: 587
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 587
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].scheduleHealthCheck(io.undertow.server.handlers.proxy.mod_cluster.Node,org.xnio.XnioIoThread)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.XnioIoThread].executeAtInterval(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask,long,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - task.nodes.add(io.undertow.server.handlers.proxy.mod_cluster.Node)
    - Thread.holdsLock()
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>].get(org.xnio.XnioIoThread)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask].<init>(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>].put(org.xnio.XnioIoThread,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].scheduleHealthCheck(io.undertow.server.handlers.proxy.mod_cluster.Node,org.xnio.XnioIoThread)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.holdsLock()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:590,1
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>].get(org.xnio.XnioIoThread)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:591,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].remove(io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:595,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].size()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:596,1
    - Dst: '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>].remove(org.xnio.XnioIoThread)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:597,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].remove()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - org.xnio.XnioIoThread
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - node
    - ioThread
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - org.xnio.XnioIoThread
    constantsTouched: []
    func_position:
      end: 600
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 600
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeHealthCheck(io.undertow.server.handlers.proxy.mod_cluster.Node,org.xnio.XnioIoThread)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].remove()'
    - Thread.holdsLock()
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>].remove(org.xnio.XnioIoThread)'
    - '[java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>].get(org.xnio.XnioIoThread)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].remove(io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeHealthCheck(io.undertow.server.handlers.proxy.mod_cluster.Node,org.xnio.XnioIoThread)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - healthChecks
    - removeBrokenNodes
    argTypes:
    - long
    - long
    constantsTouched: []
    func_position:
      end: 615
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 615
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeThreshold(long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeThreshold(long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:652,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].entrySet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:653,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:654,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodes()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:655,1
    - Dst: node.getBalancer()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:656,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getName()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:656,1
    - Dst: bentry.getKey()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:656,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].equals(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:656,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:657,1
    - Dst: node.getContexts()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:659,1
    - Dst: '[ContextImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:660,1
    - Dst: '[java.util.ArrayList].add(ContextImpl)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:660,1
    - Dst: '[NodeImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.ArrayList)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:663,1
    - Dst: '[java.util.ArrayList].add(NodeImpl)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:663,1
    - Dst: bentry.getValue()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:667,1
    - Dst: '[BalancerImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.ArrayList)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:667,1
    - Dst: '[java.util.ArrayList].add(BalancerImpl)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:667,1
    - Dst: '[ModClusterStatusImpl].<init>(java.util.ArrayList)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.VirtualHost>
      - io.undertow.server.handlers.cache.LRUCache<String,String>
      - java.util.concurrent.ConcurrentMap<org.xnio.XnioIoThread,HealthCheckTask>
      - UpdateLoadTask
      - org.xnio.ssl.XnioSsl
      - io.undertow.client.UndertowClient
      - io.undertow.server.handlers.proxy.ProxyClient
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - long
      - io.undertow.server.handlers.proxy.RouteIteratorFactory
      - org.xnio.OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 670
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - bentry.getValue()
    - bentry.getKey()
    - '[ModClusterStatusImpl].<init>(java.util.ArrayList)'
    - node.getBalancer()
    - '[BalancerImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.ArrayList)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodes()'
    - '[ContextImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.proxy.mod_cluster.Balancer>].entrySet()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getName()'
    - '[NodeImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,java.util.ArrayList)'
    - '[java.util.ArrayList].add(BalancerImpl)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(ContextImpl)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].equals(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    - '[java.util.ArrayList].add(NodeImpl)'
    - node.getContexts()
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterStatus
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - NodeHealthChecker
      - ArrayList<Node>
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - threshold
    - healthChecker
    argTypes:
    - long
    - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask].<init>(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask].<init>(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: node.checkHealth(long,NodeHealthChecker)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - NodeHealthChecker
      - ArrayList<Node>
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - node.checkHealth(long,NodeHealthChecker)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.HealthCheckTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nodes.values()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.UpdateLoadTask:643,1
    - Dst: node.resetLbStatus()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.UpdateLoadTask:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 646
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.UpdateLoadTask].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - node.resetLbStatus()
    - nodes.values()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.UpdateLoadTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.UpdateLoadTask
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.UpdateLoadTask].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.UpdateLoadTask
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.UpdateLoadTask].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<LoadBalancer>
      classConcrete: true
      classEnum: false
      classFields:
      - List<LoadBalancer>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - balancers
    argTypes:
    - java.util.List<LoadBalancer>
    constantsTouched: []
    func_position:
      end: 678
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 678
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl].<init>(java.util.List<LoadBalancer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl].<init>(java.util.List<LoadBalancer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - List<LoadBalancer>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<LoadBalancer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl].getLoadBalancers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<LoadBalancer>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl].getLoadBalancers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b.getName()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl:688,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - List<LoadBalancer>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: LoadBalancer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 693
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 693
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl].getLoadBalancer(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl].equals(String)'
    - b.getName()
    linkageType: ''
    returnType: LoadBalancer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ModClusterStatusImpl].getLoadBalancer(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - java.util.List<ModClusterStatus.Node>
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - balancer
    - nodes
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Balancer
    - java.util.List<ModClusterStatus.Node>
    constantsTouched: []
    func_position:
      end: 703
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 703
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.Balancer,java.util.List<ModClusterStatus.Node>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.Balancer,java.util.List<ModClusterStatus.Node>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getName()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<ModClusterStatus.Node>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 713
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getNodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<ModClusterStatus.Node>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getNodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i.getName()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:718,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ModClusterStatus.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 723
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getNode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - i.getName()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].equals(String)'
    linkageType: ''
    returnType: ModClusterStatus.Node
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySession()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].isStickySession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySession()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].isStickySession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionCookie()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getStickySessionCookie()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionCookie()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getStickySessionCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 738
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getStickySessionPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getStickySessionPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionRemove()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].isStickySessionRemove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionRemove()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].isStickySessionRemove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionForce()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].isStickySessionForce()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionForce()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].isStickySessionForce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getWaitWorker()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getWaitWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getWaitWorker()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getWaitWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 758
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 758
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getMaxRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getMaxRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Balancer
      - List<ModClusterStatus.Node>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.LoadBalancer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 764
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getMaxAttempts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.BalancerImpl].getMaxAttempts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - java.util.List<ModClusterStatus.Context>
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - node
    - contexts
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - java.util.List<ModClusterStatus.Context>
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node,java.util.List<ModClusterStatus.Context>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node,java.util.List<ModClusterStatus.Context>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getJvmRoute()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:784,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getUri()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 785
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 785
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getUri()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getUri()'
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getUri()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableList(List<ModClusterStatus.Context>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<ModClusterStatus.Context>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getContexts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableList(List<ModClusterStatus.Context>)'
    linkageType: ''
    returnType: java.util.List<ModClusterStatus.Context>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getContexts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i.getName()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:795,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ModClusterStatus.Context
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getContext(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - i.getName()
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].equals(String)'
    linkageType: ''
    returnType: ModClusterStatus.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getContext(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getLoad()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getLoad()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getLoad()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getLoad()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getStatus()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeStatus
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getStatus()'
    linkageType: ''
    returnType: NodeStatus
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:814,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getOpenConnections()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 815
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 815
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getOpenConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getOpenConnections()'
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getOpenConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:819,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getClientStatistics()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:819,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getWritten()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 820
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 820
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTransferred()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getWritten()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getClientStatistics()'
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTransferred()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:824,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getClientStatistics()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:824,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getRead()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 825
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 825
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getClientStatistics()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getRead()'
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getElected()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getElected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getElected()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getElected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:834,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getCacheConnections()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 835
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 835
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getCacheConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getCacheConnections()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getCacheConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:839,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getJvmRoute()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getJvmRoute()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getJvmRoute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:844,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getDomain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getDomain()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:849,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getFlushwait()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getFlushWait()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getFlushwait()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getFlushWait()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:854,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getMaxConnections()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 855
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getMaxConnections()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:859,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getPing()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getPing()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getPing()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:864,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getRequestQueueSize()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getRequestQueueSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getRequestQueueSize()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getRequestQueueSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:869,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTimeout()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 870
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTimeout()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:874,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTtl()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 875
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 875
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTtl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTtl()'
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:879,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].isFlushPackets()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].isFlushPackets()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].isFlushPackets()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].isFlushPackets()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:884,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].isQueueNewRequests()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].isQueueNewRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].isQueueNewRequests()'
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getNodeConfig()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].isQueueNewRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:889,1
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getVHosts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:890,1
    - Dst: host.getAliases()
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:891,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 894
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getAliases()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getVHosts()'
    - host.getAliases()
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].addAll(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl)'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getAliases()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:898,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getClientStatistics()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:898,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].reset()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node
      - List<ModClusterStatus.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Node
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 899
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 899
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].resetStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].getClientStatistics()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].reset()'
    - '[io.undertow.security.impl.AbstractSecurityContext.Node].getConnectionPool()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.NodeImpl].resetStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Context
      classConcrete: true
      classEnum: false
      classFields:
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Context
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - context
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Context
    constantsTouched: []
    func_position:
      end: 907
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 907
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.Context)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].<init>(io.undertow.server.handlers.proxy.mod_cluster.Context)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Context
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getPath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isEnabled()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Context
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].isEnabled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].isEnabled()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].isEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isStopped()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl:921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Context
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].isStopped()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].isStopped()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].isStopped()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getActiveRequests()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Context
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 927
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 927
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].getRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].getActiveRequests()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].getRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].enable()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Context
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].enable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].enable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].enable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].disable()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Context
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].disable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].disable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].disable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Context
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ModClusterStatus.Context
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].stop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModClusterContainer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer.ContextImpl].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientResponse
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - io.undertow.client.ClientResponse
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker].checkResponse(io.undertow.client.ClientResponse)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeHealthChecker.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker].checkResponse(io.undertow.client.ClientResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeHealthChecker.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.UUID].randomUUID()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:64,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:64,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - Builder
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - builder
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].<init>(Builder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].toString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
    - '[java.util.UUID].randomUUID()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].<init>(Builder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getServerID()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getServerID()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getContainer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getContainer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getController()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModClusterController
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getController()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getCacheConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getCacheConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getRequestQueueSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getRequestQueueSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isQueueNewRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isQueueNewRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getHealthCheckInterval()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getHealthCheckInterval()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getRemoveBrokenNodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getRemoveBrokenNodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getHealthChecker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getHealthChecker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getTtl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isUseAlias()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isUseAlias()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isDeterministicFailover()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isDeterministicFailover()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.RouteParsingStrategy
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].routeParsingStrategy()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.RouteParsingStrategy
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].routeParsingStrategy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].rankedAffinityDelimiter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].rankedAffinityDelimiter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].createProxyHandler()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getProxyHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].createProxyHandler()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getProxyHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:162,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getProxyClient()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:163,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:162,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:162,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setMaxConnectionRetries(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:162,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setReuseXForwarded(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:162,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setRewriteHostHeader(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:162,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].createProxyHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setMaxConnectionRetries(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setMaxRequestTime(int)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setRewriteHostHeader(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setReuseXForwarded(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getProxyClient()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].build()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].createProxyHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getProxyClient()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:178,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setNext(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setMaxRequestTime(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setMaxConnectionRetries(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setReuseXForwarded(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setRewriteHostHeader(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].createProxyHandler(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setMaxRequestTime(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setMaxConnectionRetries(int)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].setProxyClient(io.undertow.server.handlers.proxy.ProxyClient)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setRewriteHostHeader(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setReuseXForwarded(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].setNext(io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getProxyClient()'
    - '[io.undertow.server.handlers.proxy.ProxyHandler].builder()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].build()'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].createProxyHandler(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].start()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].checkNotNullParam(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:200,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getAdvertiseConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:201,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].checkNotNullParam(String,AdvertiseConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:201,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].advertise(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,org.xnio.XnioWorker)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].advertise(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].advertise(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,org.xnio.XnioWorker)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].checkNotNullParam(String,AdvertiseConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].checkNotNullParam(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getAdvertiseConfig()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].advertise(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].stop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getInstance()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:214,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient,null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - worker
    argTypes:
    - org.xnio.XnioWorker
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient,null)'
    - '[io.undertow.client.UndertowClient].getInstance()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient,null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - io.undertow.client.UndertowClient
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - worker
    - client
    argTypes:
    - org.xnio.XnioWorker
    - io.undertow.client.UndertowClient
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient,null)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>(org.xnio.XnioWorker,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - io.undertow.client.UndertowClient
      - org.xnio.ssl.XnioSsl
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - org.xnio.XnioWorker
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - int
      - boolean
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      - String
      - boolean
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - worker
    - client
    - xnioSsl
    argTypes:
    - org.xnio.XnioWorker
    - io.undertow.client.UndertowClient
    - org.xnio.ssl.XnioSsl
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>(org.xnio.XnioWorker,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].builder(org.xnio.XnioWorker,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TimeUnit.SECONDS.toMillis(int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder:238,1
    - Dst: TimeUnit.SECONDS.toMillis(int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder:242,1
    - Dst: TimeUnit.MINUTES.toMillis(int)
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - io.undertow.client.UndertowClient
      - org.xnio.ssl.XnioSsl
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - xnioWorker
    - client
    - xnioSsl
    argTypes:
    - org.xnio.XnioWorker
    - io.undertow.client.UndertowClient
    - org.xnio.ssl.XnioSsl
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].<init>(org.xnio.XnioWorker,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached:
    - TimeUnit.MINUTES.toMillis(int)
    - TimeUnit.SECONDS.toMillis(int)
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].<init>(org.xnio.XnioWorker,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxRequestTime
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setMaxRequestTime(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setMaxRequestTime(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - healthCheckInterval
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setHealthCheckInterval(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setHealthCheckInterval(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - removeBrokenNodes
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRemoveBrokenNodes(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRemoveBrokenNodes(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxConnections
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setMaxConnections(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setMaxConnections(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cacheConnections
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setCacheConnections(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setCacheConnections(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requestQueueSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRequestQueueSize(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRequestQueueSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - queueNewRequests
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setQueueNewRequests(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setQueueNewRequests(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - healthChecker
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setHealthChecker(io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setHealthChecker(io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - useAlias
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setUseAlias(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setUseAlias(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxRetries
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setMaxRetries(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setMaxRetries(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - deterministicFailover
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setDeterministicFailover(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setDeterministicFailover(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.RouteParsingStrategy
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - routeParsingStrategy
    argTypes:
    - io.undertow.server.handlers.proxy.RouteParsingStrategy
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRouteParsingStrategy(io.undertow.server.handlers.proxy.RouteParsingStrategy)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRouteParsingStrategy(io.undertow.server.handlers.proxy.RouteParsingStrategy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rankedAffinityDelimiter
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRankedAffinityDelimiter(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRankedAffinityDelimiter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setTtl(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setTtl(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clientOptions
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setClientOptions(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setClientOptions(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reuseXForwarded
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setReuseXForwarded(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setReuseXForwarded(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - XnioSsl
      - UndertowClient
      - XnioWorker
      - int
      - int
      - int
      - boolean
      - int
      - long
      - boolean
      - NodeHealthChecker
      - long
      - long
      - OptionMap
      - int
      - boolean
      - RouteParsingStrategy
      - String
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rewriteHostHeader
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRewriteHostHeader(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/ModCluster.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster.Builder].setRewriteHostHeader(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[MCMPConfig.AdvertiseConfig].getAdvertiseAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:71,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:71,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getAdvertisePort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:74,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:74,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getAdvertisePort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:76,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:76,1
    - Dst: '[org.xnio.XnioWorker].createUdpServer(java.net.InetSocketAddress,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:81,1
    - Dst: e.getLocalizedMessage()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].potentialCrossTalking(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:86,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getAdvertisePort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:87,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:87,1
    - Dst: '[org.xnio.XnioWorker].createUdpServer(java.net.InetSocketAddress,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:88,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getAdvertiseTtl()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].setOption(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:95,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,MCMPConfig.AdvertiseConfig,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:97,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getIoThread()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:99,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:99,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getIoThread()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:100,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].executeAtInterval(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - MCMPConfig.AdvertiseConfig
      - org.xnio.XnioWorker
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.text.SimpleDateFormat
      - boolean
      - boolean
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - java.security.MessageDigest
      - java.net.InetSocketAddress
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - org.xnio.channels.MulticastMessageChannel
      - String
      - char[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - container
    - config
    - worker
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
    - MCMPConfig.AdvertiseConfig
    - org.xnio.XnioWorker
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].advertise(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,MCMPConfig.AdvertiseConfig,org.xnio.XnioWorker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPAdvertiseTask.java
    functionUses: 0
    functionsReached:
    - e.getLocalizedMessage()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].potentialCrossTalking(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[MCMPConfig.AdvertiseConfig].getAdvertiseTtl()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getIoThread()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[MCMPConfig.AdvertiseConfig].getAdvertisePort()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].execute(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].executeAtInterval(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[MCMPConfig.AdvertiseConfig].getAdvertiseAddress()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].setOption(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[org.xnio.XnioWorker].createUdpServer(java.net.InetSocketAddress,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,MCMPConfig.AdvertiseConfig,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[java.net.InetAddress].getByName(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].advertise(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,MCMPConfig.AdvertiseConfig,org.xnio.XnioWorker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.text.SimpleDateFormat].<init>(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:47,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getProtocol()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:106,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getManagementSocketAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getHostString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].indexOf(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:109,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].substring(int,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:110,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getManagementSocketAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:111,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:111,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:112,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getAdvertiseGroup()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:115,1
    - Dst: '[java.net.InetAddress].getByName(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:115,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getAdvertisePort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:116,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:116,1
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:118,1
    - Dst: '[RuntimeException].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:120,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getSecurityKey()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].reset()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:127,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:128,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digest()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:129,1
    - Dst: '[java.net.InetSocketAddress].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:132,1
    - Dst: '[MCMPConfig.AdvertiseConfig].getAdvertiseFrequency()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:132,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].proxyAdvertisementsStarted(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:132,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - MCMPConfig.AdvertiseConfig
      - org.xnio.channels.MulticastMessageChannel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.text.SimpleDateFormat
      - boolean
      - boolean
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - java.security.MessageDigest
      - java.net.InetSocketAddress
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - org.xnio.channels.MulticastMessageChannel
      - String
      - char[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - container
    - config
    - channel
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
    - MCMPConfig.AdvertiseConfig
    - org.xnio.channels.MulticastMessageChannel
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,MCMPConfig.AdvertiseConfig,org.xnio.channels.MulticastMessageChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPAdvertiseTask.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].substring(int,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digest()'
    - '[MCMPConfig.AdvertiseConfig].getManagementSocketAddress()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].reset()'
    - '[MCMPConfig.AdvertiseConfig].getAdvertiseFrequency()'
    - '[MCMPConfig.AdvertiseConfig].getAdvertiseGroup()'
    - '[MCMPConfig.AdvertiseConfig].getProtocol()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].indexOf(String)'
    - '[MCMPConfig.AdvertiseConfig].getPath()'
    - '[MCMPConfig.AdvertiseConfig].getSecurityKey()'
    - '[MCMPConfig.AdvertiseConfig].getAdvertisePort()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[String].toCharArray()'
    - '[java.security.MessageDigest].getInstance(String)'
    - '[java.text.SimpleDateFormat].<init>(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getPort()'
    - '[java.net.InetSocketAddress].toString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].proxyAdvertisementsStarted(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getHostString()'
    - '[java.net.InetAddress].getByName(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[RuntimeException].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer,MCMPConfig.AdvertiseConfig,org.xnio.channels.MulticastMessageChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getServerID()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:161,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:162,1
    - Dst: '[java.util.Date].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:162,1
    - Dst: '[java.text.SimpleDateFormat].format(java.util.Date)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:162,1
    - Dst: '[java.security.MessageDigest].reset()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:167,1
    - Dst: '[java.security.MessageDigest].update(byte[])'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:168,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(java.security.MessageDigest,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:169,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(java.security.MessageDigest,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:170,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(java.security.MessageDigest,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:171,1
    - Dst: '[java.security.MessageDigest].digest()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:172,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].bytesToHexString(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:174,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:176,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:182,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:177,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:187,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getBytes(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:188,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:188,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].proxyAdvertiseMessagePayload(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:189,1
    - Dst: '[org.xnio.channels.MulticastMessageChannel].sendTo(java.net.InetSocketAddress,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:190,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].proxyAdvertiseCannotSendMessage(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,java.net.InetSocketAddress)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.text.SimpleDateFormat
      - boolean
      - boolean
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - java.security.MessageDigest
      - java.net.InetSocketAddress
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - org.xnio.channels.MulticastMessageChannel
      - String
      - char[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 194
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPAdvertiseTask.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getServerID()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].proxyAdvertiseCannotSendMessage(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask,java.net.InetSocketAddress)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].proxyAdvertiseMessagePayload(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[java.util.Date].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(java.security.MessageDigest,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].bytesToHexString(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[java.security.MessageDigest].digest()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].getBytes(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[org.xnio.channels.MulticastMessageChannel].sendTo(java.net.InetSocketAddress,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[java.security.MessageDigest].reset()'
    - '[java.text.SimpleDateFormat].format(java.util.Date)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - System.currentTimeMillis()
    - '[java.nio.ByteBuffer].wrap(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(java.security.MessageDigest,io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[java.security.MessageDigest].update(byte[])'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(java.security.MessageDigest,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:197,1
    - Dst: '[java.security.MessageDigest].update(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.security.MessageDigest
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.text.SimpleDateFormat
      - boolean
      - boolean
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - java.security.MessageDigest
      - java.net.InetSocketAddress
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - org.xnio.channels.MulticastMessageChannel
      - String
      - char[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - md
    - securityKey
    argTypes:
    - java.security.MessageDigest
    - String
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(java.security.MessageDigest,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPAdvertiseTask.java
    functionUses: 1
    functionsReached:
    - '[java.security.MessageDigest].update(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    - '[String].getBytes(io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].digestString(java.security.MessageDigest,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:203,1
    - Dst: '[StringBuilder].append()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:205,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:205,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.text.SimpleDateFormat
      - boolean
      - boolean
      - int
      - String
      - String
      - int
      - String
      - byte[]
      - java.security.MessageDigest
      - java.net.InetSocketAddress
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - org.xnio.channels.MulticastMessageChannel
      - String
      - char[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].bytesToHexString(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPAdvertiseTask.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].append()'
    - '[StringBuilder].append()'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPAdvertiseTask].bytesToHexString(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:76,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:79,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getName()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:80,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySession()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:81,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getStickySessionCookie()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:82,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getStickySessionPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:83,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySessionRemove()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:84,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySessionForce()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:85,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getWaitWorker()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:86,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getMaxRetries()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:87,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].balancerCreated(int,String,boolean,String,String,boolean,boolean,int,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - BalancerBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Balancer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - BalancerBuilder
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].<init>(BalancerBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySession()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getWaitWorker()'
    - '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getStickySessionPath()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getStickySessionCookie()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySessionForce()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getMaxRetries()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].balancerCreated(int,String,boolean,String,String,boolean,boolean,int,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getName()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySessionRemove()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Balancer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].<init>(BalancerBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionCookie()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getStickySessionPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionRemove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionRemove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionForce()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].isStickySessionForce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getWaitWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getWaitWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxattempts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].getMaxattempts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append()'
    - '[StringBuilder].<init>(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].append(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].toString()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: BalancerBuilder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].<init>()'
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setName(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySession
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySession(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySession(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getStickySessionCookie()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getStickySessionCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder:182,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder:183,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].stickySessionCookieLengthTruncated(String,io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySessionCookie
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionCookie(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].stickySessionCookieLengthTruncated(String,io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder)'
    - '[String].substring(int,int)'
    - '[String].length()'
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionCookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getStickySessionPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getStickySessionPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySessionPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySessionRemove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySessionRemove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySessionRemove
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionRemove(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionRemove(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySessionForce()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].isStickySessionForce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stickySessionForce
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionForce(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionForce(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getWaitWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getWaitWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - waitWorker
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setWaitWorker(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setWaitWorker(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getMaxRetries()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getMaxRetries()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxRetries
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setMaxRetries(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setMaxRetries(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getMaxattempts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].getMaxattempts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: BalancerBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxattempts
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setMaxattempts(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setMaxattempts(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Balancer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Balancer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Balancer.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].nodeConfigCreated(java.net.URI,String,String,String,boolean,int,int,long,int,int,int,int,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - NodeBuilder
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - b
    - connectionURI
    argTypes:
    - NodeBuilder
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].<init>(NodeBuilder,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].nodeConfigCreated(java.net.URI,String,String,String,boolean,int,int,long,int,int,int,int,boolean)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].<init>(NodeBuilder,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URI
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: java.net.URI
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getDomain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getFlushwait()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getFlushwait()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getSmax()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getSmax()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTtl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getBalancer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getBalancer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isFlushPackets()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isFlushPackets()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flushPackets
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].setFlushPackets(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].setFlushPackets(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getJvmRoute()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getJvmRoute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getCacheConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getCacheConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getRequestQueueSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getRequestQueueSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isQueueNewRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isQueueNewRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.net.URI
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - modCluster
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].builder(io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].builder(io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getMaxConnections()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder:253,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getCacheConnections()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder:254,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getRequestQueueSize()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder:255,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isQueueNewRequests()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder:256,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getTtl()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - modCluster
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getTtl()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].isQueueNewRequests()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getMaxConnections()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getRequestQueueSize()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getCacheConnections()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setHostname(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setHostname(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setPort(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setPort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setType(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setType(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - balancer
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setBalancer(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setBalancer(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - domain
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setDomain(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setJvmRoute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setJvmRoute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flushPackets
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushPackets(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushPackets(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - flushwait
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushwait(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushwait(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ping
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setPing(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setPing(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - smax
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setSmax(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setSmax(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxConnections
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setMaxConnections(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setMaxConnections(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cacheConnections
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setCacheConnections(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setCacheConnections(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requestQueueSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setRequestQueueSize(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setRequestQueueSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - queueNewRequests
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setQueueNewRequests(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setQueueNewRequests(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setTtl(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setTtl(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setTimeout(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setTimeout(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder:341,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].<init>(java.net.URI)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].<init>(java.net.URI)'
    - '[java.net.URI].<init>(String,null,String,int,String,String,String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - waitWorker
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setWaitWorker(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setWaitWorker(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - boolean
      - long
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].getWaitWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].getWaitWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:40,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:61,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Node.VHostMapping
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - vHost
    - node
    argTypes:
    - String
    - Node.VHostMapping
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].<init>(String,Node.VHostMapping,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].<init>(String,Node.VHostMapping,io.undertow.server.handlers.proxy.mod_cluster.Node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getJVMRoute()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getJVMRoute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Node.VHostMapping].getAliases()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVirtualHosts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 1
    functionsReached:
    - '[Node.VHostMapping].getAliases()'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVirtualHosts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getActiveRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getActiveRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Status
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].allAreClear(int,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isEnabled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].allAreClear(int,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].allAreSet(int,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isStopped()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].allAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isStopped()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].allAreSet(int,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isDisabled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].allAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Node.VHostMapping
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVhost()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Node.VHostMapping
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].getVhost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].checkAvailable(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:121,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isStopped()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].isEnabled()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - existingSession
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].checkAvailable(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].isStopped()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].isEnabled()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].checkAvailable(boolean)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].checkAvailable(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].enable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].enable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].disable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 2
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].disable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 4
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].addRequest()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:171,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:172,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:172,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getConnectionPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:179,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connect(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:179,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].failed(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
      - long
      - java.util.concurrent.TimeUnit
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - target
    - exchange
    - callback
    - timeout
    - timeUnit
    - exclusive
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>
    - long
    - java.util.concurrent.TimeUnit
    - boolean
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].handleRequest(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].addRequest()'
    - '[io.undertow.server.ExchangeCompletionListener].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getConnectionPool()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].connect(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)'
    - '[io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>].failed(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].handleRequest(io.undertow.server.handlers.proxy.mod_cluster.ModClusterProxyTarget,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.ProxyCallback<io.undertow.server.handlers.proxy.ProxyConnection>,long,java.util.concurrent.TimeUnit,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].addRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].addRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Context:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].requestDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Context,io.undertow.server.handlers.proxy.mod_cluster.Context)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].requestDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.atomic.AtomicInteger
      - int
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - String
      - Node.VHostMapping
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Context>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Context].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Context.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Context].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.InetSocketAddress
      - AdvertiseConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[WebBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.InetSocketAddress
      - AdvertiseConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: WebBuilder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].webBuilder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 3
    functionsReached:
    - '[WebBuilder].<init>()'
    linkageType: ''
    returnType: WebBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].webBuilder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig,io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:45,1
    - Dst: '[java.net.InetSocketAddress].isUnresolved()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:46,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].unableToResolveModClusterManagementHost(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:47,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:49,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].isAnyLocalAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:49,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].cannotUseWildcardAddressAsModClusterManagementHost(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:50,1
    - Dst: '[AdvertiseConfig].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Builder
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.InetSocketAddress
      - AdvertiseConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - builder
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].<init>(Builder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetSocketAddress].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig,io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].unableToResolveModClusterManagementHost(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].isAnyLocalAddress()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].cannotUseWildcardAddressAsModClusterManagementHost(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
    - '[java.net.InetSocketAddress].isUnresolved()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[AdvertiseConfig].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].<init>(Builder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.InetSocketAddress
      - AdvertiseConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementHost()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetSocketAddress].getHostString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.InetSocketAddress
      - AdvertiseConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementPort()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[java.net.InetSocketAddress].getPort()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.InetSocketAddress
      - AdvertiseConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementSocketAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementSocketAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.InetSocketAddress
      - AdvertiseConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getAdvertiseConfig()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: AdvertiseConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getAdvertiseConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.net.InetSocketAddress
      - AdvertiseConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - modCluster
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].create(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].create(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].<init>(WebBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - WebBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig
      static: false
      superClass: MCMPConfig
    argCount: 1
    argNames:
    - builder
    argTypes:
    - WebBuilder
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].<init>(WebBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].<init>(WebBuilder)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].<init>(WebBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: MCMPConfig
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isAllowCmd()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isAllowCmd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: MCMPConfig
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isCheckNonce()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isCheckNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: MCMPConfig
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isReduceDisplay()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isReduceDisplay()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: MCMPConfig
    argCount: 2
    argNames:
    - modCluster
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].create(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].<init>(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].create(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementSocketAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - AdvertiseBuilder
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - builder
    - config
    argTypes:
    - AdvertiseBuilder
    - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].<init>(AdvertiseBuilder,io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementSocketAddress()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].<init>(AdvertiseBuilder,io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertiseGroup()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertiseGroup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertiseAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertiseAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertisePort()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertisePort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertiseTtl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertiseTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertiseFrequency()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getAdvertiseFrequency()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getSecurityKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getSecurityKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - InetSocketAddress
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getManagementSocketAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseConfig].getManagementSocketAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - AdvertiseBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - managementHost
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].setManagementHost(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].setManagementHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - AdvertiseBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - managementPort
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].setManagementPort(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].setManagementPort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AdvertiseBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - AdvertiseBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].enableAdvertise()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[AdvertiseBuilder].<init>()'
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].enableAdvertise()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - AdvertiseBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder:200,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].create(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - AdvertiseBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - modCluster
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].create(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].build()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].create(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].create(io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - AdvertiseBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: WebBuilder
      static: false
      superClass: Builder
    argCount: 1
    argNames:
    - checkNonce
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].setCheckNonce(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WebBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].setCheckNonce(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: WebBuilder
      static: false
      superClass: Builder
    argCount: 1
    argNames:
    - reduceDisplay
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].setReduceDisplay(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WebBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].setReduceDisplay(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: WebBuilder
      static: false
      superClass: Builder
    argCount: 1
    argNames:
    - allowCmd
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].setAllowCmd(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WebBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].setAllowCmd(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      static: false
      superClass: Builder
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder
      static: false
      superClass: Builder
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.WebBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Builder
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - parent
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].<init>(Builder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].<init>(Builder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - advertiseGroup
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertiseGroup(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertiseGroup(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - advertiseAddress
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertiseAddress(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertiseAddress(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - advertisePort
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertisePort(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertisePort(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - advertiseTtl
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertiseTtl(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertiseTtl(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - advertiseFrequency
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertiseFrequency(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setAdvertiseFrequency(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - securityKey
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setSecurityKey(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setSecurityKey(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setProtocol(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setProtocol(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AdvertiseBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached:
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: AdvertiseBuilder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].setPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - int
      - int
      - int
      - String
      - String
      - String
      - Builder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].getParent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.AdvertiseBuilder].getParent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPConstants.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:50,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].<init>(MCMPConfig.MCMPWebManagerConfig,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:54,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isCheckNonce()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:55,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isReduceDisplay()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:56,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isAllowCmd()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - MCMPConfig.MCMPWebManagerConfig
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 3
    argNames:
    - config
    - modCluster
    - next
    argTypes:
    - MCMPConfig.MCMPWebManagerConfig
    - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].<init>(MCMPConfig.MCMPWebManagerConfig,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - '[java.security.SecureRandom].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isReduceDisplay()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isAllowCmd()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].<init>(MCMPConfig.MCMPWebManagerConfig,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig.MCMPWebManagerConfig].isCheckNonce()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].<init>(MCMPConfig.MCMPWebManagerConfig,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getRawNonce()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getNonce()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getRawNonce()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].nextBytes(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:67,1
    - Dst: Integer.toHexString(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:70,1
    - Dst: '[String].concat(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getRawNonce()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 2
    functionsReached:
    - '[String].concat(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - Integer.toHexString(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)
    - '[java.util.Random].nextBytes(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getRawNonce()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:78,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handleRequest(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:79,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 2
    argNames:
    - method
    - exchange
    argTypes:
    - io.undertow.util.HttpString
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 9
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].handleRequest(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handleRequest(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].handleRequest(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:88,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handlesMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 1
    argNames:
    - method
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].handlesMethod(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handlesMethod(io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].handlesMethod(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryParameters()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:95,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:96,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:101,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:101,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getRawNonce()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:102,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:102,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:103,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:105,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:105,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:106,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:109,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:109,1
    - Dst: Integer.toString(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:109,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:109,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:111,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:112,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:114,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:114,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:115,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processInfo(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:116,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:118,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processDump(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:119,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:121,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].buildRequestData(io.undertow.server.HttpServerExchange,java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:123,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:124,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processNodeCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:125,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:127,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:128,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:130,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:130,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processDomainCmd(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:131,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:134,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processAppCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:135,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:137,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:138,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:138,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].buildRequestData(io.undertow.server.HttpServerExchange,java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:139,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:140,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processNodeCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:141,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:143,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:144,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:146,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:146,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processDomainCmd(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:147,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:150,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processAppCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:151,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:160,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:161,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:161,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:162,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:164,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:165,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:166,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:168,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getNonce()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:169,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:171,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:171,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:171,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:171,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:171,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:171,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:171,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:173,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:174,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:174,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:175,1
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:178,1
    - Dst: container.getNodes()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:179,1
    - Dst: node.getNodeConfig()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:180,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:180,1
    - Dst: node.getNodeConfig()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:180,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:180,1
    - Dst: '[java.util.LinkedHashMap].get(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:181,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:183,1
    - Dst: '[java.util.LinkedHashMap].put(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,java.util.ArrayList)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:184,1
    - Dst: '[java.util.ArrayList].add(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:186,1
    - Dst: '[java.util.LinkedHashMap].entrySet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:189,1
    - Dst: entry.getKey()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:190,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:192,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:194,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].domainCommandString(StringBuilder,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:197,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].domainCommandString(StringBuilder,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:198,1
    - Dst: entry.getValue()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:201,1
    - Dst: node.getNodeConfig()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:202,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:204,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:204,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printProxyStat(StringBuilder,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:205,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:207,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:211,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].nodeCommandString(StringBuilder,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:211,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:212,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].nodeCommandString(StringBuilder,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:212,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:215,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:216,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:216,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].isFlushPackets()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:218,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getTtl()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:221,1
    - Dst: TimeUnit.MILLISECONDS.toSeconds(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:221,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:221,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printProxyStat(StringBuilder,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:222,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:224,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:226,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printInfoHost(StringBuilder,String,boolean,boolean,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:229,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:232,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:233,1
    - Dst: '[io.undertow.io.Sender].send(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:233,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 158
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 234
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 234
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.io.Sender].send(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[java.util.LinkedHashMap].get(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - entry.getValue()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printInfoHost(StringBuilder,String,boolean,boolean,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].isFlushPackets()'
    - container.getNodes()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getDomain()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].nodeCommandString(StringBuilder,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[StringBuilder].append(String)'
    - Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getFirst()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getRawNonce()'
    - '[java.util.ArrayList].add(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - node.getNodeConfig()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printProxyStat(StringBuilder,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,boolean)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - entry.getKey()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processAppCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processNodeCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processDomainCmd(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processDump(io.undertow.server.HttpServerExchange)'
    - '[java.util.Map<String,java.util.Deque<String>>].containsKey(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].equals(String)'
    - '[java.util.LinkedHashMap].entrySet()'
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getJvmRoute()'
    - '[StringBuilder].<init>()'
    - TimeUnit.MILLISECONDS.toSeconds(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(String)'
    - '[java.util.LinkedHashMap].<init>()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.server.HttpServerExchange].getQueryParameters()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getTtl()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processInfo(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].buildRequestData(io.undertow.server.HttpServerExchange,java.util.Map<String,java.util.Deque<String>>)'
    - Integer.toString(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getNonce()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].domainCommandString(StringBuilder,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[java.util.LinkedHashMap].put(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:239,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - String
      - MCMPAction
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 4
    argNames:
    - buf
    - uri
    - status
    - jvmRoute
    argTypes:
    - StringBuilder
    - String
    - MCMPAction
    - String
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].nodeCommandString(StringBuilder,String,MCMPAction,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].nodeCommandString(StringBuilder,String,MCMPAction,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getStatus()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:249,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:252,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getLoad()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:255,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 3
    argNames:
    - buf
    - node
    - reduceDisplay
    argTypes:
    - StringBuilder
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - boolean
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printProxyStat(StringBuilder,io.undertow.server.handlers.proxy.mod_cluster.Node,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getStatus()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getLoad()'
    - '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printProxyStat(StringBuilder,io.undertow.server.handlers.proxy.mod_cluster.Node,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:263,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - String
      - MCMPAction
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 4
    argNames:
    - buf
    - uri
    - status
    - lbgroup
    argTypes:
    - StringBuilder
    - String
    - MCMPAction
    - String
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].domainCommandString(StringBuilder,String,MCMPAction,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].domainCommandString(StringBuilder,String,MCMPAction,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container.getNodes()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:273,1
    - Dst: node.getNodeConfig()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:274,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getDomain()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:274,1
    - Dst: '[String].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:274,1
    - Dst: node.getJvmRoute()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:275,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processNodeCommand(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,MCMPAction)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:275,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processOK(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - MCMPAction
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 3
    argNames:
    - exchange
    - domain
    - action
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - MCMPAction
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processDomainCmd(io.undertow.server.HttpServerExchange,String,MCMPAction)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - node.getJvmRoute()
    - '[String].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - node.getNodeConfig()
    - container.getNodes()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].getDomain()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processOK(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processNodeCommand(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,MCMPAction)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].processDomainCmd(io.undertow.server.HttpServerExchange,String,MCMPAction)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getVHosts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:284,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:286,1
    - Dst: host.getId()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:288,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printInfoContexts(StringBuilder,String,boolean,boolean,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:288,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:290,1
    - Dst: host.getAliases()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:291,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:292,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:295,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:296,1
    - Dst: host.getAliases()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:297,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:298,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - String
      - boolean
      - boolean
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 5
    argNames:
    - buf
    - uri
    - reduceDisplay
    - allowCmd
    - node
    argTypes:
    - StringBuilder
    - String
    - boolean
    - boolean
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printInfoHost(StringBuilder,String,boolean,boolean,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - host.getId()
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getVHosts()'
    - host.getAliases()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printInfoContexts(StringBuilder,String,boolean,boolean,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printInfoHost(StringBuilder,String,boolean,boolean,io.undertow.server.handlers.proxy.mod_cluster.Node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:308,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:309,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContexts()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:310,1
    - Dst: context.getVhost()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:311,1
    - Dst: context.getStatus()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:313,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:324,1
    - Dst: context.getStatus()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:326,1
    - Dst: context.getPath()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:326,1
    - Dst: '[Node.VHostMapping].getAliases()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:326,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:326,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextCommandString(StringBuilder,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:326,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:328,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - String
      - boolean
      - boolean
      - long
      - Node.VHostMapping
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 7
    argNames:
    - buf
    - uri
    - reduceDisplay
    - allowCmd
    - host
    - vhost
    - node
    argTypes:
    - StringBuilder
    - String
    - boolean
    - boolean
    - long
    - Node.VHostMapping
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    constantsTouched: []
    func_position:
      end: 332
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 332
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printInfoContexts(StringBuilder,String,boolean,boolean,long,Node.VHostMapping,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - context.getVhost()
    - '[Node.VHostMapping].getAliases()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
    - context.getStatus()
    - '[StringBuilder].append(String)'
    - context.getPath()
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContexts()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextCommandString(StringBuilder,String,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].printInfoContexts(StringBuilder,String,boolean,boolean,long,Node.VHostMapping,io.undertow.server.handlers.proxy.mod_cluster.Node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:338,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextString(StringBuilder,String,java.util.List<String>,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:339,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:340,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:343,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextString(StringBuilder,String,java.util.List<String>,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:344,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - String
      - Context.Status
      - String
      - java.util.List<String>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 6
    argNames:
    - buf
    - uri
    - status
    - path
    - alias
    - jvmRoute
    argTypes:
    - StringBuilder
    - String
    - Context.Status
    - String
    - java.util.List<String>
    - String
    constantsTouched: []
    func_position:
      end: 348
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 348
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextCommandString(StringBuilder,String,Context.Status,String,java.util.List<String>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextString(StringBuilder,String,java.util.List<String>,String)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextCommandString(StringBuilder,String,Context.Status,String,java.util.List<String>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:351,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:357,1
    - Dst: '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:359,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - String
      - java.util.List<String>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 4
    argNames:
    - buf
    - path
    - alias
    - jvmRoute
    argTypes:
    - StringBuilder
    - String
    - java.util.List<String>
    - String
    constantsTouched: []
    func_position:
      end: 362
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 362
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextString(StringBuilder,String,java.util.List<String>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].contextString(StringBuilder,String,java.util.List<String>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:365,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:366,1
    - Dst: entry.getKey()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:367,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:367,1
    - Dst: entry.getValue()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:368,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].addValues(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.util.Map<String,java.util.Deque<String>>
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - java.util.Random
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RequestData
      static: true
      superClass: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    argCount: 2
    argNames:
    - exchange
    - params
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.util.Map<String,java.util.Deque<String>>
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].buildRequestData(io.undertow.server.HttpServerExchange,java.util.Map<String,java.util.Deque<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPWebManager.java
    functionUses: 1
    functionsReached:
    - entry.getValue()
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].<init>()'
    - entry.getKey()
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].addValues(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager)'
    linkageType: ''
    returnType: RequestData
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPWebManager].buildRequestData(io.undertow.server.HttpServerExchange,java.util.Map<String,java.util.Deque<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:51,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:53,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:54,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:67,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:68,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:71,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:72,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:78,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:79,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getXnioSsl()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:79,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClient()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:79,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClientOptions()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:79,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:79,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - nodeConfig
    - balancerConfig
    - ioThread
    - bufferPool
    - container
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
    - io.undertow.server.handlers.proxy.mod_cluster.Balancer
    - org.xnio.XnioIoThread
    - io.undertow.connector.ByteBufferPool
    - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.server.handlers.proxy.mod_cluster.NodeConfig,io.undertow.server.handlers.proxy.mod_cluster.Balancer,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClient()'
    - '[java.util.concurrent.atomic.AtomicInteger].incrementAndGet()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getXnioSsl()'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].<init>(io.undertow.server.handlers.proxy.ConnectionPoolManager,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.client.UndertowClient,org.xnio.OptionMap)'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClientOptions()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.server.handlers.proxy.mod_cluster.NodeConfig,io.undertow.server.handlers.proxy.mod_cluster.Balancer,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getJvmRoute()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Balancer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Balancer
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getBalancer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.ProxyConnectionPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getConnectionPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.ProxyConnectionPool
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getConnectionPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(io.undertow.server.handlers.proxy.mod_cluster.Node,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:118,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(io.undertow.server.handlers.proxy.mod_cluster.Node,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NodeStatus
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(io.undertow.server.handlers.proxy.mod_cluster.Node,int)'
    linkageType: ''
    returnType: NodeStatus
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getElected()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getElected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getElected()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getElected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getElectedDiff()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getElectedDiff()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getElectedDiff()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getElectedDiff()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(io.undertow.server.handlers.proxy.mod_cluster.Node,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:142,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(io.undertow.server.handlers.proxy.mod_cluster.Node,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:144,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getLbFactor()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getLoad()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getLbFactor()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(io.undertow.server.handlers.proxy.mod_cluster.Node,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getLoad()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getLbStatus()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getLoadStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getLbStatus()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getLoadStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].elected()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].elected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].elected()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].elected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableList(java.util.List<VHostMapping>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<VHostMapping>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getVHosts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].unmodifiableList(java.util.List<VHostMapping>)'
    linkageType: ''
    returnType: java.util.List<VHostMapping>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getVHosts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableCollection(java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.server.handlers.proxy.mod_cluster.Context>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContexts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 2
    functionsReached:
    - '[java.util.Collections].unmodifiableCollection(java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>)'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.handlers.proxy.mod_cluster.Context>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContexts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].allAreClear(int,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:176,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].update()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].resetLbStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].allAreClear(int,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].update()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].resetLbStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(int,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:191,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].healthCheckPing(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - threshold
    - healthChecker
    argTypes:
    - long
    - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].checkHealth(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(int,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].healthCheckPing(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].checkHealth(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:206,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].internalPingNode(io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - threshold
    - healthChecker
    argTypes:
    - long
    - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
    constantsTouched: []
    func_position:
      end: 233
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 233
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].healthCheckPing(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].internalPingNode(io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].healthCheckPing(long,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingNode(io.undertow.server.HttpServerExchange,NodePingUtil.PingCallback)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - NodePingUtil.PingCallback
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - callback
    argTypes:
    - io.undertow.server.HttpServerExchange
    - NodePingUtil.PingCallback
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].ping(io.undertow.server.HttpServerExchange,NodePingUtil.PingCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingNode(io.undertow.server.HttpServerExchange,NodePingUtil.PingCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].ping(io.undertow.server.HttpServerExchange,NodePingUtil.PingCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vhost.getAliases()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:254,1
    - Dst: '[java.util.List<String>].equals(io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:254,1
    - Dst: '[VHostMapping].<init>(java.util.List<String>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:260,1
    - Dst: '[java.util.List<VHostMapping>].add(VHostMapping)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:261,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].<init>(String,VHostMapping)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:263,1
    - Dst: '[java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>].add(io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - virtualHosts
    argTypes:
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].registerContext(String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<VHostMapping>].add(VHostMapping)'
    - '[java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>].add(io.undertow.server.handlers.proxy.mod_cluster.Context)'
    - '[VHostMapping].<init>(java.util.List<String>)'
    - vhost.getAliases()
    - '[java.util.List<String>].equals(io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].<init>(String,VHostMapping)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].registerContext(String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vhost.getAliases()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:278,1
    - Dst: '[java.util.List<String>].equals(io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:278,1
    - Dst: context.getPath()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:287,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:287,1
    - Dst: context.getVhost()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - aliases
    argTypes:
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 292
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 292
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContext(String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 2
    functionsReached:
    - context.getVhost()
    - vhost.getAliases()
    - '[java.util.List<String>].equals(io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - context.getPath()
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].equals(String)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContext(String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContext(String,java.util.List<String>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:295,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:297,1
    - Dst: '[java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>].remove(io.undertow.server.handlers.proxy.mod_cluster.Context)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Context
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - aliases
    argTypes:
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].removeContext(String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getContext(String,java.util.List<String>)'
    - '[java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>].remove(io.undertow.server.handlers.proxy.mod_cluster.Context)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Context].stop()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Context
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].removeContext(String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:309,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].updateLoad(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].updateLoad(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].updateLoad(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].updateLoad(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:321,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].updateLoad(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].hotStandby()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].updateLoad(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].hotStandby()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:333,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].close()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].markRemoved()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].close()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].markRemoved()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:345,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].nodeIsInError(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].markInError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].nodeIsInError(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].markInError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].clearActivePing()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].clearActivePing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].nodeIsInError(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:374,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].healthCheckFailed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].nodeIsInError(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].healthCheckFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].updateLoad(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].resetState()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].updateLoad(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].resetState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].isInErrorState()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].isInErrorState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(int,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].isHotStandby()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].isHotStandby()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].allAreClear(int,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:400,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnectionPool].available()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:402,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isQueueNewRequests()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node:408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - existingSession
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 414
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].checkAvailable(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].isQueueNewRequests()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].allAreClear(int,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.ProxyConnectionPool].available()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].checkAvailable(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - io.undertow.server.handlers.proxy.ConnectionPoolManager
      - io.undertow.server.handlers.proxy.mod_cluster.NodeConfig
      - io.undertow.server.handlers.proxy.mod_cluster.Balancer
      - io.undertow.server.handlers.proxy.ProxyConnectionPool
      - io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      - java.util.List<VHostMapping>
      - java.util.List<io.undertow.server.handlers.proxy.mod_cluster.Context>
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicInteger
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicInteger
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].allAreClear(io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager,io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].isAvailable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].allAreClear(io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager,io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].isAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].markInError()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].handleError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].markInError()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].handleError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].isAvailable()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].clearError()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].isAvailable()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].clearError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nodeConfig.getMaxConnections()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - nodeConfig.getMaxConnections()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nodeConfig.getMaxConnections()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getMaxCachedConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - nodeConfig.getMaxConnections()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getMaxCachedConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nodeConfig.getSmax()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getSMaxConnections()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - nodeConfig.getSmax()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getSMaxConnections()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nodeConfig.getTtl()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getTtl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - nodeConfig.getTtl()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getTtl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nodeConfig.getRequestQueueSize()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getMaxQueueSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - nodeConfig.getRequestQueueSize()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getMaxQueueSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getProblemServerRetry()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].getProblemServerRetry()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ConnectionPoolManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.NodeConnectionPoolManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vHostIdGen.incrementAndGet()
      Src: io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - List<String>
      - Node
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - node
    - aliases
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached:
    - vHostIdGen.incrementAndGet()
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping].<init>(io.undertow.server.handlers.proxy.mod_cluster.Node,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - List<String>
      - Node
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - List<String>
      - Node
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping].getAliases()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping].getAliases()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - List<String>
      - Node
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping].getNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/Node.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.Node.VHostMapping].getNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getLbFactor()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeLbStatus.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getLbFactor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getElected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeLbStatus.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getElected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getElectedDiff()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeLbStatus.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getElectedDiff()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].update()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeLbStatus.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].update()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].elected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeLbStatus.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].elected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - load
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].updateLoad(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeLbStatus.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].updateLoad(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getLbStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeLbStatus.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].getLbStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodeLbStatus.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodeLbStatus].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:85,1
    - Dst: '[org.xnio.XnioIoThread].getWorker()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:86,1
    - Dst: '[HostPingTask].<init>(java.net.InetSocketAddress,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil,PingCallback,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:87,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].scheduleCancelTask(org.xnio.XnioIoThread,HostPingTask,int,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:89,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(HostPingTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - io.undertow.server.HttpServerExchange
      - PingCallback
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - address
    - exchange
    - callback
    - options
    argTypes:
    - java.net.InetSocketAddress
    - io.undertow.server.HttpServerExchange
    - PingCallback
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingHost(java.net.InetSocketAddress,io.undertow.server.HttpServerExchange,PingCallback,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].dispatch(HostPingTask)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[org.xnio.XnioIoThread].getWorker()'
    - '[HostPingTask].<init>(java.net.InetSocketAddress,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil,PingCallback,org.xnio.OptionMap)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].scheduleCancelTask(org.xnio.XnioIoThread,HostPingTask,int,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingHost(java.net.InetSocketAddress,io.undertow.server.HttpServerExchange,PingCallback,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:105,1
    - Dst: '[RequestExchangeListener].<init>(PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:106,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:107,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:107,1
    - Dst: '[HttpClientPingTask].<init>(java.net.URI,RequestExchangeListener,org.xnio.XnioIoThread,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:107,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(HttpClientPingTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:108,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].scheduleCancelTask(org.xnio.XnioIoThread,RequestExchangeListener,int,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - PingCallback
      - io.undertow.server.HttpServerExchange
      - io.undertow.client.UndertowClient
      - org.xnio.ssl.XnioSsl
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - connection
    - callback
    - exchange
    - client
    - xnioSsl
    - options
    argTypes:
    - java.net.URI
    - PingCallback
    - io.undertow.server.HttpServerExchange
    - io.undertow.client.UndertowClient
    - org.xnio.ssl.XnioSsl
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingHttpClient(java.net.URI,PingCallback,io.undertow.server.HttpServerExchange,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].dispatch(HttpClientPingTask)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].scheduleCancelTask(org.xnio.XnioIoThread,RequestExchangeListener,int,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[HttpClientPingTask].<init>(java.net.URI,RequestExchangeListener,org.xnio.XnioIoThread,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    - '[RequestExchangeListener].<init>(PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingHttpClient(java.net.URI,PingCallback,io.undertow.server.HttpServerExchange,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:122,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:126,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:126,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:127,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch(Runnable)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - io.undertow.server.HttpServerExchange
      - PingCallback
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - node
    - exchange
    - callback
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - io.undertow.server.HttpServerExchange
    - PingCallback
    constantsTouched: []
    func_position:
      end: 157
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 157
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingNode(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.HttpServerExchange,PingCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
    - '[io.undertow.server.HttpServerExchange].dispatch(Runnable)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
    - '[Runnable].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingNode(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.HttpServerExchange,PingCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:172,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:172,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:173,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:173,1
    - Dst: '[RequestExchangeListener].<init>(PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:174,1
    - Dst: '[HttpClientPingTask].<init>(java.net.URI,RequestExchangeListener,org.xnio.XnioIoThread,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:175,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].scheduleCancelTask(org.xnio.XnioIoThread,RequestExchangeListener,int,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:177,1
    - Dst: '[org.xnio.XnioIoThread].execute(HttpClientPingTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node
      - PingCallback
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - io.undertow.client.UndertowClient
      - org.xnio.ssl.XnioSsl
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 8
    argNames:
    - node
    - callback
    - healthChecker
    - ioThread
    - bufferPool
    - client
    - xnioSsl
    - options
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node
    - PingCallback
    - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
    - org.xnio.XnioIoThread
    - io.undertow.connector.ByteBufferPool
    - io.undertow.client.UndertowClient
    - org.xnio.ssl.XnioSsl
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].internalPingNode(io.undertow.server.handlers.proxy.mod_cluster.Node,PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.XnioIoThread].execute(HttpClientPingTask)'
    - '[RequestExchangeListener].<init>(PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker,boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getConnectionURI()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].getNodeConfig()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].scheduleCancelTask(org.xnio.XnioIoThread,RequestExchangeListener,int,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].getPing()'
    - '[HttpClientPingTask].<init>(java.net.URI,RequestExchangeListener,org.xnio.XnioIoThread,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].internalPingNode(io.undertow.server.handlers.proxy.mod_cluster.Node,PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:490,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:490,1
    - Dst: '[CancellableTask].setCancelKey(XnioExecutor.Key)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioIoThread
      - CancellableTask
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - ioThread
    - cancellable
    - timeout
    - timeUnit
    argTypes:
    - org.xnio.XnioIoThread
    - CancellableTask
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].scheduleCancelTask(org.xnio.XnioIoThread,CancellableTask,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[Runnable].<init>()'
    - '[CancellableTask].setCancelKey(XnioExecutor.Key)'
    - '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].scheduleCancelTask(org.xnio.XnioIoThread,CancellableTask,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].completed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].completed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.ProxyConnection
      - RequestExchangeListener
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - RequestExchangeListener
      - ProxyConnection
      - URI
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - proxyConnection
    - exchangeListener
    - uri
    argTypes:
    - io.undertow.server.handlers.proxy.ProxyConnection
    - RequestExchangeListener
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask].<init>(io.undertow.server.handlers.proxy.ProxyConnection,RequestExchangeListener,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask].<init>(io.undertow.server.handlers.proxy.ProxyConnection,RequestExchangeListener,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientRequest].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:198,1
    - Dst: '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:199,1
    - Dst: '[io.undertow.client.ClientRequest].setPath(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:200,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:201,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:201,1
    - Dst: '[URI].getHost()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:203,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:201,1
    - Dst: '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:204,1
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:204,1
    - Dst: '[io.undertow.client.ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RequestExchangeListener
      - ProxyConnection
      - URI
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 236
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientRequest].<init>()'
    - '[io.undertow.client.ClientCallback].<init>()'
    - '[URI].getHost()'
    - '[io.undertow.server.handlers.proxy.ProxyConnection].getConnection()'
    - '[io.undertow.client.ClientRequest].setPath(String)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.client.ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.ConnectionPoolPingTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CancellableTask].<init>(PingCallback)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - org.xnio.XnioWorker
      - PingCallback
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - InetSocketAddress
      - XnioWorker
      - OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask
      static: false
      superClass: CancellableTask
    argCount: 4
    argNames:
    - address
    - worker
    - callback
    - options
    argTypes:
    - java.net.InetSocketAddress
    - org.xnio.XnioWorker
    - PingCallback
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask].<init>(java.net.InetSocketAddress,org.xnio.XnioWorker,PingCallback,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[CancellableTask].<init>(PingCallback)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask].<init>(java.net.InetSocketAddress,org.xnio.XnioWorker,PingCallback,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask:256,1
    - Dst: '[XnioWorker].openStreamConnection(InetSocketAddress,org.xnio.ChannelListener,OptionMap)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask:256,1
    - Dst: '[IoFuture.HandlingNotifier].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask:263,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask].addNotifier(IoFuture.HandlingNotifier,null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask:263,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask].taskFailed()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InetSocketAddress
      - XnioWorker
      - OptionMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: CancellableTask
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 284
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask].taskFailed()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[XnioWorker].openStreamConnection(InetSocketAddress,org.xnio.ChannelListener,OptionMap)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask].addNotifier(IoFuture.HandlingNotifier,null)'
    - '[IoFuture.HandlingNotifier].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HostPingTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - RequestExchangeListener
      - org.xnio.XnioIoThread
      - io.undertow.client.UndertowClient
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - URI
      - XnioIoThread
      - UndertowClient
      - XnioSsl
      - ByteBufferPool
      - OptionMap
      - RequestExchangeListener
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - connection
    - exchangeListener
    - thread
    - client
    - xnioSsl
    - bufferPool
    - options
    argTypes:
    - java.net.URI
    - RequestExchangeListener
    - org.xnio.XnioIoThread
    - io.undertow.client.UndertowClient
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask].<init>(java.net.URI,RequestExchangeListener,org.xnio.XnioIoThread,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask].<init>(java.net.URI,RequestExchangeListener,org.xnio.XnioIoThread,io.undertow.client.UndertowClient,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask].httpClientPingTask(URI)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask:311,1
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask:313,1
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback,URI,XnioIoThread,XnioSsl,ByteBufferPool,OptionMap)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - URI
      - XnioIoThread
      - UndertowClient
      - XnioSsl
      - ByteBufferPool
      - OptionMap
      - RequestExchangeListener
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 368
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback,URI,XnioIoThread,XnioSsl,ByteBufferPool,OptionMap)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask].httpClientPingTask(URI)'
    - '[io.undertow.client.ClientCallback].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.HttpClientPingTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CancellableTask].<init>(PingCallback)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - PingCallback
      - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - boolean
      - NodeHealthChecker
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener
      static: false
      superClass: CancellableTask
    argCount: 3
    argNames:
    - callback
    - healthChecker
    - closeConnection
    argTypes:
    - PingCallback
    - io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker
    - boolean
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].<init>(PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[CancellableTask].<init>(PingCallback)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].<init>(PingCallback,io.undertow.server.handlers.proxy.mod_cluster.NodeHealthChecker,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].isDone()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:386,1
    - Dst: '[io.undertow.client.ClientExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:387,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.ClientConnection)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:387,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:390,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:407,1
    - Dst: '[org.xnio.ChannelListeners].drainListener(io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener,org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:390,1
    - Dst: '[io.undertow.client.ClientExchange].getResponseChannel()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:416,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:417,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].set(io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:417,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:418,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientExchange
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - boolean
      - NodeHealthChecker
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: CancellableTask
    argCount: 1
    argNames:
    - result
    argTypes:
    - io.undertow.client.ClientExchange
    constantsTouched: []
    func_position:
      end: 420
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 420
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].completed(io.undertow.client.ClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].isDone()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].set(io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener)'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    - '[org.xnio.ChannelListeners].drainListener(io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener,org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.client.ClientExchange].getResponseChannel()'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.client.ClientExchange].getConnection()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.ClientConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].completed(io.undertow.client.ClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].taskFailed()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:424,1
    - Dst: '[io.undertow.client.ClientExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:426,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.ClientConnection)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - ClientExchange
      - boolean
      - NodeHealthChecker
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: CancellableTask
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].taskFailed()'
    - '[io.undertow.client.ClientExchange].getConnection()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.ClientConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.RequestExchangeListener].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PingCallback
      classConcrete: true
      classEnum: false
      classFields:
      - PingCallback
      - State
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - callback
    argTypes:
    - PingCallback
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].<init>(PingCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].<init>(PingCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PingCallback
      - State
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].isDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].isDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - XnioExecutor.Key
      classConcrete: true
      classEnum: false
      classFields:
      - PingCallback
      - State
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cancelKey
    argTypes:
    - XnioExecutor.Key
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].setCancelKey(XnioExecutor.Key)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].setCancelKey(XnioExecutor.Key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask:461,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].completed()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PingCallback
      - State
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].taskCompleted()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].completed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].taskCompleted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask:471,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PingCallback
      - State
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].taskFailed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].taskFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask:481,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PingCallback
      - State
      - XnioExecutor.Key
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].cancel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/NodePingUtil.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.CancellableTask].cancel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:97,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:98,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:99,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:100,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:101,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:102,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:103,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:104,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:105,1
    - Dst: '[java.util.Arrays].asList(io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:107,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:107,1
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:107,1
    - Dst: '[io.undertow.Version].getVersionString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:110,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:124,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getContainer()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:132,1
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].builder(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:133,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:133,1
    - Dst: '[io.undertow.server.handlers.form.FormEncodedDataDefinition].setForceCreation(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:133,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].addParser(io.undertow.server.handlers.form.FormEncodedDataDefinition)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:133,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:133,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpHandlerCreated()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - config
    - modCluster
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
    - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(java.util.HashSet)'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition].<init>()'
    - '[io.undertow.server.handlers.form.FormEncodedDataDefinition].setForceCreation(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].build()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].addParser(io.undertow.server.handlers.form.FormEncodedDataDefinition)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - System.currentTimeMillis()
    - '[java.util.Arrays].asList(io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[io.undertow.Version].getVersionString()'
    - '[io.undertow.server.handlers.form.FormParserFactory].builder(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpHandlerCreated()'
    - '[java.util.HashSet].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModCluster].getContainer()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig,io.undertow.server.handlers.proxy.mod_cluster.ModCluster,io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:139,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handlesMethod(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:140,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:141,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:148,1
    - Dst: '[io.undertow.server.ServerConnection].getLocalAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:148,1
    - Dst: '[java.net.SocketAddress].isUnresolved()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[java.net.SocketAddress].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementSocketAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[java.net.SocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].getAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementSocketAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].getAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[java.util.Arrays].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:149,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:150,1
    - Dst: '[io.undertow.server.HttpServerExchange].isInIoThread()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:154,1
    - Dst: '[io.undertow.server.HttpServerExchange].dispatch()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:156,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handleRequest(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:161,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].failedToProcessManagementReq(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:163,1
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:164,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:165,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:165,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:166,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[java.net.InetSocketAddress].getPort()'
    - '[io.undertow.server.HttpServerExchange].isInIoThread()'
    - '[io.undertow.io.Sender].send(String)'
    - '[java.net.SocketAddress].getPort()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig].getManagementSocketAddress()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].getAddress()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handleRequest(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[java.net.SocketAddress].isUnresolved()'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.ServerConnection].getLocalAddress()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].failedToProcessManagementReq(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handlesMethod(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    - '[java.net.SocketAddress].getAddress()'
    - '[java.util.Arrays].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.HttpServerExchange].dispatch()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handlesMethod(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handlesMethod(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].parseFormData(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:183,1
    - Dst: '[io.undertow.server.HttpServerExchange].isPersistent()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:184,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:185,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:186,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processConfig(io.undertow.server.HttpServerExchange,RequestData)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:187,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:188,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:189,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:190,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:191,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:192,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:193,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:194,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:195,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:196,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processStatus(io.undertow.server.HttpServerExchange,RequestData)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:197,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:198,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processInfo(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:199,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:200,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processDump(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:201,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:202,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processPing(io.undertow.server.HttpServerExchange,RequestData)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:203,1
    - Dst: '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:205,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - method
    - exchange
    argTypes:
    - io.undertow.util.HttpString
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 208
      start: 182
    functionDepth: 8
    functionLinenumber: 182
    functionLinenumberEnd: 208
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handleRequest(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processDump(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].parseFormData(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processInfo(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processCommand(io.undertow.server.HttpServerExchange,RequestData,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.HttpServerExchange].isPersistent()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processPing(io.undertow.server.HttpServerExchange,RequestData)'
    - '[io.undertow.server.HttpServerExchange].setPersistent(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processConfig(io.undertow.server.HttpServerExchange,RequestData)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processStatus(io.undertow.server.HttpServerExchange,RequestData)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].handleRequest(io.undertow.util.HttpString,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].builder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:221,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].builder(io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:222,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].iterator()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:223,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].hasNext()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:224,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].next()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:225,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:226,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpKeyValue(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:228,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkString(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:229,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:230,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.BALANCER].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:234,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setBalancer(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:235,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setName(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:236,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.MAXATTEMPTS].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:237,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:238,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setMaxRetries(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:238,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSION].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:239,1
    - Dst: '[String].equalsIgnoreCase(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:240,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySession(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:241,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSIONCOOKIE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:243,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionCookie(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:244,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSIONPATH].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:245,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionPath(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:246,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSIONREMOVE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:247,1
    - Dst: '[String].equalsIgnoreCase(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:248,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionRemove(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:249,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSIONFORCE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:251,1
    - Dst: '[String].equalsIgnoreCase(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:252,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionForce(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:253,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.JVMROUTE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:255,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setJvmRoute(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:256,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.DOMAIN].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:257,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setDomain(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:258,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.HOST].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:259,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setHostname(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:260,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.PORT].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:261,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:262,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setPort(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:262,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.TYPE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:263,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setType(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:264,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.REVERSED].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:265,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.FLUSH_PACKET].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:267,1
    - Dst: '[String].equalsIgnoreCase(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:268,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushPackets(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:269,1
    - Dst: '[String].equalsIgnoreCase(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:270,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushPackets(boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:271,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.FLUSH_WAIT].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:273,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:274,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushwait(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:274,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:275,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:276,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setPing(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:276,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.SMAX].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:277,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:278,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setSmax(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:278,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.TTL].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:279,1
    - Dst: Long.parseLong(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:280,1
    - Dst: TimeUnit.SECONDS.toMillis(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:280,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setTtl(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:280,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.TIMEOUT].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:281,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:282,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setTimeout(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:282,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.CONTEXT].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:283,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].split(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:284,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:285,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.ALIAS].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:286,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].split(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:287,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:288,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.WAITWORKER].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:289,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:290,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setWaitWorker(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:290,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:292,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].build()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:300,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:301,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:301,1
    - Dst: '[io.undertow.server.ServerConnection].getByteBufferPool()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:301,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].addNode(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,BalancerBuilder,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:301,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].getJvmRoute()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:305,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:305,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processOK(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:308,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:310,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:313,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 92
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - RequestData
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - requestData
    argTypes:
    - io.undertow.server.HttpServerExchange
    - RequestData
    constantsTouched: []
    func_position:
      end: 315
      start: 216
    functionDepth: 7
    functionLinenumber: 216
    functionLinenumberEnd: 315
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processConfig(io.undertow.server.HttpServerExchange,RequestData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].build()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushPackets(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionRemove(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.TIMEOUT].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setPing(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].hasNext()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.ALIAS].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.PORT].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.DOMAIN].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.HOST].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setType(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.ServerConnection].getByteBufferPool()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].split(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionPath(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.TTL].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setTimeout(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.JVMROUTE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.TYPE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.CONTEXT].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionCookie(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig].builder(io.undertow.server.handlers.proxy.mod_cluster.ModCluster)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setPort(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].iterator()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.FLUSH_PACKET].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySessionForce(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.BALANCER].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setFlushwait(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setStickySession(boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.SMAX].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].addNode(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,BalancerBuilder,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool)'
    - TimeUnit.SECONDS.toMillis(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.FLUSH_WAIT].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - Long.parseLong(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].getJvmRoute()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.WAITWORKER].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].next()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSIONREMOVE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSION].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSIONCOOKIE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer].builder()'
    - '[String].equalsIgnoreCase(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkString(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSIONFORCE].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setJvmRoute(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setHostname(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setSmax(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setTtl(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setBalancer(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpKeyValue(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setMaxRetries(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processOK(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Balancer.BalancerBuilder].setName(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.MAXATTEMPTS].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.STICKYSESSIONPATH].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setWaitWorker(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodeConfig.NodeBuilder].setDomain(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPConstants.REVERSED].equals(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processConfig(io.undertow.server.HttpServerExchange,RequestData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:326,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:326,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestPath()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:326,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:326,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processNodeCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:327,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processAppCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - RequestData
      - MCMPAction
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - requestData
    - action
    argTypes:
    - io.undertow.server.HttpServerExchange
    - RequestData
    - MCMPAction
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 8
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[String].equals(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processNodeCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
    - '[io.undertow.server.HttpServerExchange].getRequestPath()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processAppCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
    - '[String].endsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:342,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:344,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processNodeCommand(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,MCMPAction)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:347,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processOK(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:348,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - RequestData
      - MCMPAction
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - requestData
    - action
    argTypes:
    - io.undertow.server.HttpServerExchange
    - RequestData
    - MCMPAction
    constantsTouched: []
    func_position:
      end: 352
      start: 341
    functionDepth: 7
    functionLinenumber: 341
    functionLinenumberEnd: 352
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processNodeCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processOK(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processNodeCommand(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,MCMPAction)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processNodeCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableNode(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:357,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].disableNode(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:359,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].stopNode(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:361,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - MCMPAction
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - jvmRoute
    - action
    argTypes:
    - String
    - MCMPAction
    constantsTouched: []
    func_position:
      end: 366
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 366
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processNodeCommand(String,MCMPAction)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].disableNode(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeNode(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].stopNode(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableNode(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processNodeCommand(String,MCMPAction)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:379,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:380,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:381,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:384,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].split(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:387,1
    - Dst: '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:387,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].isEmpty()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:388,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:389,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:396,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:397,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].disableContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:402,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:403,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].stopContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:408,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:409,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:410,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:410,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:411,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:411,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:412,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:412,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:413,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].append(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:413,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:414,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:417,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:418,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:423,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:428,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processOK(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:430,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - RequestData
      - MCMPAction
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - requestData
    - action
    argTypes:
    - io.undertow.server.HttpServerExchange
    - RequestData
    - MCMPAction
    constantsTouched: []
    func_position:
      end: 432
      start: 377
    functionDepth: 7
    functionLinenumber: 377
    functionLinenumberEnd: 432
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processAppCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].append(int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].stopContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].isEmpty()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].enableContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].append(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processOK(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].removeContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].split(String)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].disableContext(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
    - '[java.util.Arrays].asList(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processAppCommand(io.undertow.server.HttpServerExchange,RequestData,MCMPAction)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:443,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:444,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:447,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].receivedNodeLoad(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:451,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:452,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNode(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:455,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:457,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:461,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].ping(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:488,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNode(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:491,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].hotStandby()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:493,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:494,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:496,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNode(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:500,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].markInError()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:502,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:503,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:505,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:508,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - RequestData
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - requestData
    argTypes:
    - io.undertow.server.HttpServerExchange
    - RequestData
    constantsTouched: []
    func_position:
      end: 510
      start: 441
    functionDepth: 7
    functionLinenumber: 441
    functionLinenumberEnd: 510
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processStatus(io.undertow.server.HttpServerExchange,RequestData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].markInError()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].receivedNodeLoad(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].ping(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNode(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].hotStandby()'
    - Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processStatus(io.undertow.server.HttpServerExchange,RequestData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:521,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:522,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:523,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:524,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNode(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:531,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:533,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:536,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].ping(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:556,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:559,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:563,1
    - Dst: Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:567,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:567,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkHostUp(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:567,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - RequestData
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - requestData
    argTypes:
    - io.undertow.server.HttpServerExchange
    - RequestData
    constantsTouched: []
    func_position:
      end: 581
      start: 519
    functionDepth: 7
    functionLinenumber: 519
    functionLinenumberEnd: 581
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processPing(io.undertow.server.HttpServerExchange,RequestData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkHostUp(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].ping(io.undertow.server.HttpServerExchange,io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNode(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - Integer.parseInt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processPing(io.undertow.server.HttpServerExchange,RequestData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processInfoString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:600,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:601,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:601,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processInfo(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processInfoString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processInfo(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:606,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:607,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:608,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodes()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:609,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:611,1
    - Dst: node.getVHosts()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:612,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:612,1
    - Dst: node.getContexts()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:613,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:613,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:616,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:619,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 622
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processInfoString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - node.getVHosts()
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodes()'
    - '[StringBuilder].toString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printInfo(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
    - '[java.util.ArrayList].addAll(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[java.util.ArrayList].<init>()'
    - node.getContexts()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processInfoString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processDumpString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:643,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:644,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:644,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 4
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processDump(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processDumpString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processDump(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:650,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getBalancers()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:651,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:653,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:656,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:657,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodes()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:658,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:660,1
    - Dst: node.getVHosts()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:661,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:661,1
    - Dst: node.getContexts()
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:662,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:662,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:665,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:668,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 671
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processDumpString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - node.getVHosts()
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPInfoUtil].printDump(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,StringBuilder)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getNodes()'
    - '[StringBuilder].toString()'
    - '[java.util.ArrayList].addAll(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getBalancers()'
    - '[java.util.ArrayList].<init>()'
    - node.getContexts()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processDumpString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:685,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].set(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,boolean)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:685,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].getMap()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:685,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:691,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:691,1
    - Dst: '[java.net.URI].<init>(String,null,String,int,String,null,null)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:692,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClient()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:693,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingHttpClient(java.net.URI,NodePingUtil.PingCallback,io.undertow.server.HttpServerExchange,io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:693,1
    - Dst: '[java.net.InetSocketAddress].<init>(String,int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:695,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingHost(java.net.InetSocketAddress,io.undertow.server.HttpServerExchange,NodePingUtil.PingCallback,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:696,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - int
      - io.undertow.server.HttpServerExchange
      - NodePingUtil.PingCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - scheme
    - host
    - port
    - exchange
    - callback
    argTypes:
    - String
    - String
    - int
    - io.undertow.server.HttpServerExchange
    - NodePingUtil.PingCallback
    constantsTouched: []
    func_position:
      end: 701
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 701
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkHostUp(String,String,int,io.undertow.server.HttpServerExchange,NodePingUtil.PingCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer].getClient()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].set(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,boolean)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingHttpClient(java.net.URI,NodePingUtil.PingCallback,io.undertow.server.HttpServerExchange,io.undertow.client.UndertowClient,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[String].equalsIgnoreCase(String)'
    - '[org.xnio.OptionMap].builder()'
    - '[java.net.URI].<init>(String,null,String,int,String,null,null)'
    - '[java.net.InetSocketAddress].<init>(String,int)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil.PingCallback].failed()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].getMap()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.NodePingUtil].pingHost(java.net.InetSocketAddress,io.undertow.server.HttpServerExchange,NodePingUtil.PingCallback,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkHostUp(String,String,int,io.undertow.server.HttpServerExchange,NodePingUtil.PingCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:710,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:711,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:711,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseSender()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:712,1
    - Dst: '[io.undertow.server.HttpServerExchange].getSourceAddress()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:713,1
    - Dst: '[io.undertow.server.HttpServerExchange].getStatusCode()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:713,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:713,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpSendingResponse(java.net.InetSocketAddress,int,io.undertow.util.HeaderMap,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:713,1
    - Dst: '[io.undertow.io.Sender].send(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - response
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 715
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 715
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.io.Sender].send(String)'
    - '[io.undertow.server.HttpServerExchange].getSourceAddress()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.server.HttpServerExchange].getResponseSender()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpSendingResponse(java.net.InetSocketAddress,int,io.undertow.util.HeaderMap,String)'
    - '[io.undertow.server.HttpServerExchange].getStatusCode()'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].sendResponse(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:723,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:724,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:724,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 726
      start: 722
    functionDepth: 6
    functionLinenumber: 722
    functionLinenumberEnd: 726
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processOK(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processOK(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[MCMPErrorCode].getType()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:729,1
    - Dst: '[MCMPErrorCode].getMessage()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:729,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - MCMPErrorCode
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - errorCode
    - exchange
    argTypes:
    - MCMPErrorCode
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(MCMPErrorCode,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[MCMPErrorCode].getMessage()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler,io.undertow.server.HttpServerExchange)'
    - '[MCMPErrorCode].getType()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(MCMPErrorCode,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:740,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:741,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:741,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:742,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:742,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:742,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:743,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:743,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:743,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:744,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:744,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:744,1
    - Dst: '[io.undertow.server.HttpServerExchange].endExchange()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:745,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpProcessingError(String,String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - type
    - errString
    - exchange
    argTypes:
    - String
    - String
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 747
      start: 739
    functionDepth: 6
    functionLinenumber: 739
    functionLinenumberEnd: 747
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpProcessingError(String,String)'
    - '[io.undertow.server.HttpServerExchange].endExchange()'
    - '[io.undertow.server.HttpServerExchange].setStatusCode(int)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].processError(String,String,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].createParser(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:759,1
    - Dst: '[io.undertow.server.handlers.form.FormDataParser].parseBlocking()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:760,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:761,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:763,1
    - Dst: '[io.undertow.server.handlers.form.FormData].get(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:764,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.util.HttpString,java.util.Deque<FormValue>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RequestData
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 767
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 767
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].parseFormData(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.form.FormData].get(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.util.HttpString].<init>(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    - '[io.undertow.server.handlers.form.FormDataParser].parseBlocking()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].<init>()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.util.HttpString,java.util.Deque<FormValue>)'
    - '[io.undertow.server.handlers.form.FormParserFactory].createParser(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: RequestData
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].parseFormData(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:770,1
    - Dst: '[String].charAt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:771,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpMessageRejectedDueToSuspiciousCharacters(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:773,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 776
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 776
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkStringForSuspiciousCharacters(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].mcmpMessageRejectedDueToSuspiciousCharacters(String)'
    - '[String].charAt(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkStringForSuspiciousCharacters(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Set<io.undertow.util.HttpString>
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.server.handlers.form.FormParserFactory
      - io.undertow.server.handlers.proxy.mod_cluster.MCMPConfig
      - io.undertow.server.HttpHandler
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.ModCluster
      - io.undertow.server.handlers.proxy.mod_cluster.ModClusterContainer
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler].checkString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<HttpString, Deque<String>>].keySet()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:783,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].iterator()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Map<HttpString, Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Iterator<io.undertow.util.HttpString>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].iterator()'
    - '[Map<HttpString, Deque<String>>].keySet()'
    linkageType: ''
    returnType: java.util.Iterator<io.undertow.util.HttpString>
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:787,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].checkStringForSuspiciousCharacters(String)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:787,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - java.util.Deque<FormData.FormValue>
      classConcrete: true
      classEnum: false
      classFields:
      - Map<HttpString, Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - values
    argTypes:
    - io.undertow.util.HttpString
    - java.util.Deque<FormData.FormValue>
    constantsTouched: []
    func_position:
      end: 791
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 791
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.util.HttpString,java.util.Deque<FormData.FormValue>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].checkStringForSuspiciousCharacters(String)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.util.HttpString,io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.util.HttpString,java.util.Deque<FormData.FormValue>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.values.get(io.undertow.util.HttpString)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:796,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].checkStringForSuspiciousCharacters(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:798,1
    - Dst: this.values.put(io.undertow.util.HttpString,java.util.Deque<String>)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:801,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].addAll(java.util.Deque<String>)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - java.util.Deque<String>
      classConcrete: true
      classEnum: false
      classFields:
      - Map<HttpString, Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - io.undertow.util.HttpString
    - java.util.Deque<String>
    constantsTouched: []
    func_position:
      end: 805
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 805
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].addValues(io.undertow.util.HttpString,java.util.Deque<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].checkStringForSuspiciousCharacters(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData)'
    - this.values.put(io.undertow.util.HttpString,java.util.Deque<String>)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].addAll(java.util.Deque<String>)'
    - this.values.get(io.undertow.util.HttpString)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].addValues(io.undertow.util.HttpString,java.util.Deque<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: this.values.get(io.undertow.util.HttpString)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:808,1
    - Dst: this.values.put(io.undertow.util.HttpString)
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:810,1
    - Dst: '[io.undertow.server.handlers.form.FormData.FormValue].getValue()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:812,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].checkStringForSuspiciousCharacters(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:813,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - FormData.FormValue
      classConcrete: true
      classEnum: false
      classFields:
      - Map<HttpString, Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - io.undertow.util.HttpString
    - FormData.FormValue
    constantsTouched: []
    func_position:
      end: 815
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 815
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.util.HttpString,FormData.FormValue)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - this.values.put(io.undertow.util.HttpString)
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].checkStringForSuspiciousCharacters(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData)'
    - '[io.undertow.server.handlers.form.FormData.FormValue].getValue()'
    - this.values.get(io.undertow.util.HttpString)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].add(io.undertow.util.HttpString,FormData.FormValue)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<HttpString, Deque<String>>].get(io.undertow.util.HttpString)'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:818,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].peekFirst()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Map<HttpString, Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 820
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 820
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].peekFirst()'
    - '[Map<HttpString, Deque<String>>].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].getFirst(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Map<HttpString, Deque<String>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/handlers/proxy/mod_cluster/MCMPHandler.java
    functionUses: 2
    functionsReached:
    - '[java.util.LinkedHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData
    signature: '[io.undertow.server.handlers.proxy.mod_cluster.MCMPHandler.RequestData].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: '[io.undertow.server.session.SessionReference].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReference.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionReference].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.SessionManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '[io.undertow.server.session.SessionReference].getSessionManager()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReference.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionManager
    signature: '[io.undertow.server.session.SessionReference].getSessionManager()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionReference
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.SessionReference].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReference.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionReference
    signature: '[io.undertow.server.session.SessionReference].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.session.SessionManager].getDeploymentName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionManager].getDeploymentName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.session.SessionManager].start()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionManager].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.session.SessionManager].stop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionManager].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.session.SessionConfig
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - serverExchange
    - sessionCookieConfig
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.session.SessionConfig
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.session.SessionManager].createSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.server.session.SessionManager].createSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.session.SessionConfig
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - serverExchange
    - sessionCookieConfig
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.session.SessionConfig
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.session.SessionManager].getSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.server.session.SessionManager].getSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.session.SessionManager].getSession(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.server.session.SessionManager].getSession(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionListener
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.session.SessionListener
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '[io.undertow.server.session.SessionManager].registerSessionListener(io.undertow.server.session.SessionListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionManager].registerSessionListener(io.undertow.server.session.SessionListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionListener
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.session.SessionListener
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '[io.undertow.server.session.SessionManager].removeSessionListener(io.undertow.server.session.SessionListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionManager].removeSessionListener(io.undertow.server.session.SessionListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.session.SessionManager].setDefaultSessionTimeout(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionManager].setDefaultSessionTimeout(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: '[io.undertow.server.session.SessionManager].getTransientSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.session.SessionManager].getTransientSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '[io.undertow.server.session.SessionManager].getActiveSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.session.SessionManager].getActiveSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '[io.undertow.server.session.SessionManager].getAllSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.session.SessionManager].getAllSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.SessionManagerStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: '[io.undertow.server.session.SessionManager].getStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionManagerStatistics
    signature: '[io.undertow.server.session.SessionManager].getStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.session.SessionManager].isDistributed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.SessionManager].isDistributed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.SessionManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionManager
    signature: '[io.undertow.server.session.SessionManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.PathParameterSessionConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.session.PathParameterSessionConfig].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/PathParameterSessionConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.PathParameterSessionConfig
    signature: '[io.undertow.server.session.PathParameterSessionConfig].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toLowerCase(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:41,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].<init>(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.PathParameterSessionConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.session.PathParameterSessionConfig].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/PathParameterSessionConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.PathParameterSessionConfig].<init>(io.undertow.server.session.PathParameterSessionConfig)'
    - '[String].toLowerCase(io.undertow.server.session.PathParameterSessionConfig)'
    linkageType: ''
    returnType: io.undertow.server.session.PathParameterSessionConfig
    signature: '[io.undertow.server.session.PathParameterSessionConfig].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.session.PathParameterSessionConfig:46,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].remove(String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:46,1
    - Dst: '[io.undertow.server.HttpServerExchange].addPathParam(String,String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:47,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.PathParameterSessionConfig:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: '[io.undertow.server.session.PathParameterSessionConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/PathParameterSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.PathParameterSessionConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].addPathParam(String,String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.util.Map<String,java.util.Deque<String>>].remove(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.PathParameterSessionConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.PathParameterSessionConfig:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.session.PathParameterSessionConfig:54,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].remove(String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.session.PathParameterSessionConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/PathParameterSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].remove(String)'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[io.undertow.server.session.PathParameterSessionConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.PathParameterSessionConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.server.session.PathParameterSessionConfig:59,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:59,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].getFirst()'
      Src: io.undertow.server.session.PathParameterSessionConfig:63,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].tracef(String,io.undertow.server.session.PathParameterSessionConfig,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.PathParameterSessionConfig:63,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].getFirst()'
      Src: io.undertow.server.session.PathParameterSessionConfig:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.session.PathParameterSessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/PathParameterSessionConfig.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.server.session.PathParameterSessionConfig].getFirst()'
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[io.undertow.server.session.PathParameterSessionConfig].tracef(String,io.undertow.server.session.PathParameterSessionConfig,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.PathParameterSessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.PathParameterSessionConfig:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SessionCookieSource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.session.PathParameterSessionConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/PathParameterSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.PathParameterSessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: SessionCookieSource
    signature: '[io.undertow.server.session.PathParameterSessionConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.server.session.PathParameterSessionConfig:87,1
    - Dst: '[String].substring(int,io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:89,1
    - Dst: '[String].substring(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:90,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].indexOf(char)'
      Src: io.undertow.server.session.PathParameterSessionConfig:92,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].substring(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:94,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].substring(int,io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:95,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.server.session.PathParameterSessionConfig:97,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].indexOf(String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:99,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].substring(int,io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:102,1
    - Dst: '[StringBuilder].append(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:102,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].substring(int)'
      Src: io.undertow.server.session.PathParameterSessionConfig:103,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].indexOf(String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:104,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].indexOf(String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:105,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].substring(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:108,1
    - Dst: '[StringBuilder].append(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:108,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].substring(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:110,1
    - Dst: '[StringBuilder].append(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:110,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].substring(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:113,1
    - Dst: '[StringBuilder].append(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:113,1
    - Dst: '[StringBuilder].append(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:118,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.session.PathParameterSessionConfig:121,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:122,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.server.session.PathParameterSessionConfig:123,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.server.session.PathParameterSessionConfig:124,1
    - Dst: '[StringBuilder].append(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:126,1
    - Dst: '[StringBuilder].append(io.undertow.server.session.PathParameterSessionConfig)'
      Src: io.undertow.server.session.PathParameterSessionConfig:127,1
    - Dst: '[io.undertow.server.session.PathParameterSessionConfig].tracef(String,String,StringBuilder)'
      Src: io.undertow.server.session.PathParameterSessionConfig:128,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.server.session.PathParameterSessionConfig:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - url
    - sessionId
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.session.PathParameterSessionConfig].rewriteUrl(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/PathParameterSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.PathParameterSessionConfig].substring(io.undertow.server.session.PathParameterSessionConfig)'
    - '[io.undertow.server.session.PathParameterSessionConfig].indexOf(char)'
    - '[String].substring(int,io.undertow.server.session.PathParameterSessionConfig)'
    - '[String].indexOf(char)'
    - '[io.undertow.server.session.PathParameterSessionConfig].substring(int,io.undertow.server.session.PathParameterSessionConfig)'
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.server.session.PathParameterSessionConfig].tracef(String,String,StringBuilder)'
    - '[StringBuilder].toString()'
    - '[String].substring(io.undertow.server.session.PathParameterSessionConfig)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].append(io.undertow.server.session.PathParameterSessionConfig)'
    - '[io.undertow.server.session.PathParameterSessionConfig].substring(int)'
    - '[io.undertow.server.session.PathParameterSessionConfig].indexOf(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.PathParameterSessionConfig].rewriteUrl(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionReference
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionReference
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionReferenceConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reference
    argTypes:
    - io.undertow.server.session.SessionReference
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: '[io.undertow.server.session.SessionReferenceConfig].<init>(io.undertow.server.session.SessionReference)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReferenceConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionReferenceConfig
    signature: '[io.undertow.server.session.SessionReferenceConfig].<init>(io.undertow.server.session.SessionReference)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionReference
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '[io.undertow.server.session.SessionReferenceConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReferenceConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionReferenceConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionReference
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '[io.undertow.server.session.SessionReferenceConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReferenceConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionReferenceConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionReference].getId()'
      Src: io.undertow.server.session.SessionReferenceConfig:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionReference
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.session.SessionReferenceConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReferenceConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionReference].getId()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionReferenceConfig].findSessionId(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionReference
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SessionCookieSource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.session.SessionReferenceConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReferenceConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SessionCookieSource
    signature: '[io.undertow.server.session.SessionReferenceConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionReference
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - originalUrl
    - sessionId
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.session.SessionReferenceConfig].rewriteUrl(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionReferenceConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionReferenceConfig].rewriteUrl(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - originalUrl
    - sessionId
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.server.session.SessionCookieConfig].rewriteUrl(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionCookieConfig].rewriteUrl(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.server.session.SessionCookieConfig:45,1
    - Dst: super.kernel.setPath(String)
      Src: io.undertow.server.session.SessionCookieConfig:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionCookieConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.session.SessionCookieConfig].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java
    functionUses: 14
    functionsReached:
    - '[Object].<init>()'
    - super.kernel.setPath(String)
    linkageType: ''
    returnType: io.undertow.server.session.SessionCookieConfig
    signature: '[io.undertow.server.session.SessionCookieConfig].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.session.SessionCookieConfig:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.session.SessionCookieConfig:55,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SessionCookieConfig:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: '[io.undertow.server.session.SessionCookieConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.SessionCookieConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionCookieConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String,io.undertow.server.session.SessionCookieConfig)'
      Src: io.undertow.server.session.SessionCookieConfig:61,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setMaxAge(int)'
      Src: io.undertow.server.session.SessionCookieConfig:61,1
    - Dst: '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
      Src: io.undertow.server.session.SessionCookieConfig:63,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SessionCookieConfig:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.session.SessionCookieConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.SessionCookieConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.handlers.CookieImpl].setMaxAge(int)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String,io.undertow.server.session.SessionCookieConfig)'
    - '[io.undertow.server.HttpServerExchange].setResponseCookie(io.undertow.server.handlers.CookieImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionCookieConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestCookie(String)'
      Src: io.undertow.server.session.SessionCookieConfig:69,1
    - Dst: '[io.undertow.server.session.SessionCookieConfig].tracef(String,io.undertow.server.handlers.Cookie,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SessionCookieConfig:71,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.server.session.SessionCookieConfig:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 6
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.session.SessionCookieConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.server.HttpServerExchange].getRequestCookie(String)'
    - '[io.undertow.server.session.SessionCookieConfig].tracef(String,io.undertow.server.handlers.Cookie,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionCookieConfig].findSessionId(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionCookieConfig].findSessionId(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SessionCookieConfig:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SessionCookieSource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 7
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.session.SessionCookieConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionCookieConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: SessionCookieSource
    signature: '[io.undertow.server.session.SessionCookieConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.session.SessionCookieConfig].getCookieName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionCookieConfig].getCookieName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionCookieConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookieName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.session.SessionCookieConfig].setCookieName(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionCookieConfig
    signature: '[io.undertow.server.session.SessionCookieConfig].setCookieName(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String)'
      Src: io.undertow.server.session.CookieAttributes:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.CookieAttributes
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.session.CookieAttributes].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].<init>(String)'
    linkageType: ''
    returnType: io.undertow.server.session.CookieAttributes
    signature: '[io.undertow.server.session.CookieAttributes].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].getPath()'
      Src: io.undertow.server.session.CookieAttributes:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.server.session.CookieAttributes].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].getPath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.CookieAttributes].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
      Src: io.undertow.server.session.CookieAttributes:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.server.session.CookieAttributes].setPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setPath(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.session.CookieAttributes].setPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].getDomain()'
      Src: io.undertow.server.session.CookieAttributes:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.session.CookieAttributes].getDomain()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].getDomain()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.CookieAttributes].getDomain()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setDomain(String)'
      Src: io.undertow.server.session.CookieAttributes:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - domain
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.server.session.CookieAttributes].setDomain(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setDomain(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.session.CookieAttributes].setDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].isDiscard()'
      Src: io.undertow.server.session.CookieAttributes:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.session.CookieAttributes].isDiscard()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].isDiscard()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.CookieAttributes].isDiscard()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setDiscard(boolean)'
      Src: io.undertow.server.session.CookieAttributes:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - discard
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.server.session.CookieAttributes].setDiscard(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setDiscard(boolean)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.session.CookieAttributes].setDiscard(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].isSecure()'
      Src: io.undertow.server.session.CookieAttributes:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.session.CookieAttributes].isSecure()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].isSecure()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.CookieAttributes].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setSecure(boolean)'
      Src: io.undertow.server.session.CookieAttributes:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - secure
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.server.session.CookieAttributes].setSecure(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setSecure(boolean)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.session.CookieAttributes].setSecure(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].isHttpOnly()'
      Src: io.undertow.server.session.CookieAttributes:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.session.CookieAttributes].isHttpOnly()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].isHttpOnly()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.CookieAttributes].isHttpOnly()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setHttpOnly(boolean)'
      Src: io.undertow.server.session.CookieAttributes:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - httpOnly
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.server.session.CookieAttributes].setHttpOnly(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setHttpOnly(boolean)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.session.CookieAttributes].setHttpOnly(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].getMaxAge()'
      Src: io.undertow.server.session.CookieAttributes:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.server.session.CookieAttributes].getMaxAge()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].getMaxAge()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.session.CookieAttributes].getMaxAge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setMaxAge(int)'
      Src: io.undertow.server.session.CookieAttributes:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxAge
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: '[io.undertow.server.session.CookieAttributes].setMaxAge(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setMaxAge(int)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.session.CookieAttributes].setMaxAge(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].getComment()'
      Src: io.undertow.server.session.CookieAttributes:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.server.session.CookieAttributes].getComment()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].getComment()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.CookieAttributes].getComment()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setComment(String)'
      Src: io.undertow.server.session.CookieAttributes:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - comment
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.session.CookieAttributes].setComment(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setComment(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.session.CookieAttributes].setComment(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String)'
      Src: io.undertow.server.session.CookieAttributes:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.server.session.CookieAttributes].setAttribute(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.server.session.CookieAttributes].setAttribute(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].getAttribute(String)'
      Src: io.undertow.server.session.CookieAttributes:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.server.session.CookieAttributes].getAttribute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].getAttribute(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.CookieAttributes].getAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.CookieImpl].getAttributes()'
      Src: io.undertow.server.session.CookieAttributes:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.server.handlers.CookieImpl
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.server.session.CookieAttributes].getAttributes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/CookieAttributes.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].getAttributes()'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.server.session.CookieAttributes].getAttributes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - exchange
    argTypes:
    - io.undertow.server.session.Session
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: '[io.undertow.server.session.SessionListener].sessionCreated(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListener].sessionCreated(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - io.undertow.server.HttpServerExchange
      - SessionDestroyedReason
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - exchange
    - reason
    argTypes:
    - io.undertow.server.session.Session
    - io.undertow.server.HttpServerExchange
    - SessionDestroyedReason
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.session.SessionListener].sessionDestroyed(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange,SessionDestroyedReason)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListener].sessionDestroyed(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange,SessionDestroyedReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - name
    - value
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: '[io.undertow.server.session.SessionListener].attributeAdded(io.undertow.server.session.Session,String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListener].attributeAdded(io.undertow.server.session.Session,String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      - Object
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - session
    - name
    - newValue
    - oldValue
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    - Object
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.session.SessionListener].attributeUpdated(io.undertow.server.session.Session,String,Object,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListener].attributeUpdated(io.undertow.server.session.Session,String,Object,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - name
    - oldValue
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.session.SessionListener].attributeRemoved(io.undertow.server.session.Session,String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListener].attributeRemoved(io.undertow.server.session.Session,String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - oldSessionId
    argTypes:
    - io.undertow.server.session.Session
    - String
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.session.SessionListener].sessionIdChanged(io.undertow.server.session.Session,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListener].sessionIdChanged(io.undertow.server.session.Session,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.SessionListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListener.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionListener
    signature: '[io.undertow.server.session.SessionListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].sessionManagerMustNotBeNull()'
      Src: io.undertow.server.session.SessionAttachmentHandler:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionAttachmentHandler
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - sessionManager
    - sessionConfig
    argTypes:
    - io.undertow.server.session.SessionManager
    - io.undertow.server.session.SessionConfig
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.SessionManager,io.undertow.server.session.SessionConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionAttachmentHandler].sessionManagerMustNotBeNull()'
    linkageType: ''
    returnType: io.undertow.server.session.SessionAttachmentHandler
    signature: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.session.SessionManager,io.undertow.server.session.SessionConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].sessionManagerMustNotBeNull()'
      Src: io.undertow.server.session.SessionAttachmentHandler:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionAttachmentHandler
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - sessionManager
    - sessionConfig
    argTypes:
    - io.undertow.server.HttpHandler
    - io.undertow.server.session.SessionManager
    - io.undertow.server.session.SessionConfig
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.session.SessionManager,io.undertow.server.session.SessionConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionAttachmentHandler].sessionManagerMustNotBeNull()'
    linkageType: ''
    returnType: io.undertow.server.session.SessionAttachmentHandler
    signature: '[io.undertow.server.session.SessionAttachmentHandler].<init>(io.undertow.server.HttpHandler,io.undertow.server.session.SessionManager,io.undertow.server.session.SessionConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.session.SessionAttachmentHandler,io.undertow.server.session.SessionManager)'
      Src: io.undertow.server.session.SessionAttachmentHandler:64,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.session.SessionAttachmentHandler,io.undertow.server.session.SessionConfig)'
      Src: io.undertow.server.session.SessionAttachmentHandler:65,1
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener].<init>(io.undertow.server.session.SessionConfig,io.undertow.server.session.SessionManager)'
      Src: io.undertow.server.session.SessionAttachmentHandler:66,1
    - Dst: '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener)'
      Src: io.undertow.server.session.SessionAttachmentHandler:67,1
    - Dst: '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SessionAttachmentHandler:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.session.SessionAttachmentHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener].<init>(io.undertow.server.session.SessionConfig,io.undertow.server.session.SessionManager)'
    - '[io.undertow.server.HttpHandler].handleRequest(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.session.SessionAttachmentHandler,io.undertow.server.session.SessionConfig)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.server.session.SessionAttachmentHandler,io.undertow.server.session.SessionManager)'
    - '[io.undertow.server.HttpServerExchange].addExchangeCompleteListener(io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionAttachmentHandler].handleRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.session.SessionAttachmentHandler].getNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.server.session.SessionAttachmentHandler].getNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
      Src: io.undertow.server.session.SessionAttachmentHandler:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionAttachmentHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.Handlers].handlerNotNull(io.undertow.server.HttpHandler)'
    linkageType: ''
    returnType: io.undertow.server.session.SessionAttachmentHandler
    signature: '[io.undertow.server.session.SessionAttachmentHandler].setNext(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.session.SessionAttachmentHandler].getSessionManager()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionManager
    signature: '[io.undertow.server.session.SessionAttachmentHandler].getSessionManager()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionAttachmentHandler].sessionManagerMustNotBeNull()'
      Src: io.undertow.server.session.SessionAttachmentHandler:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.HttpHandler
      - io.undertow.server.session.SessionManager
      - io.undertow.server.session.SessionConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HttpHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionAttachmentHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionManager
    argTypes:
    - io.undertow.server.session.SessionManager
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: '[io.undertow.server.session.SessionAttachmentHandler].setSessionManager(io.undertow.server.session.SessionManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionAttachmentHandler].sessionManagerMustNotBeNull()'
    linkageType: ''
    returnType: io.undertow.server.session.SessionAttachmentHandler
    signature: '[io.undertow.server.session.SessionAttachmentHandler].setSessionManager(io.undertow.server.session.SessionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionConfig
      - io.undertow.server.session.SessionManager
      classConcrete: true
      classEnum: false
      classFields:
      - SessionConfig
      - SessionManager
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - sessionConfig
    - sessionManager
    argTypes:
    - io.undertow.server.session.SessionConfig
    - io.undertow.server.session.SessionManager
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener].<init>(io.undertow.server.session.SessionConfig,io.undertow.server.session.SessionManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener
    signature: '[io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener].<init>(io.undertow.server.session.SessionConfig,io.undertow.server.session.SessionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionManager].getSession(io.undertow.server.HttpServerExchange,SessionConfig)'
      Src: io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener:108,1
    - Dst: '[io.undertow.server.session.Session].requestDone(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener:110,1
    - Dst: '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
      Src: io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - NextListener
      classConcrete: true
      classEnum: false
      classFields:
      - SessionConfig
      - SessionManager
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ExchangeCompletionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - next
    argTypes:
    - io.undertow.server.HttpServerExchange
    - NextListener
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: '[io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionAttachmentHandler.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.Session].requestDone(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.session.SessionManager].getSession(io.undertow.server.HttpServerExchange,SessionConfig)'
    - '[io.undertow.server.ExchangeCompletionListener.NextListener].proceed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionAttachmentHandler.UpdateLastAccessTimeListener].exchangeEvent(io.undertow.server.HttpServerExchange,NextListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].nextBytes(io.undertow.server.session.SecureRandomSessionIdGenerator)'
      Src: io.undertow.server.session.SecureRandomSessionIdGenerator:54,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].encode(io.undertow.server.session.SecureRandomSessionIdGenerator)'
      Src: io.undertow.server.session.SecureRandomSessionIdGenerator:55,1
    - Dst: '[String].<init>(char[])'
      Src: io.undertow.server.session.SecureRandomSessionIdGenerator:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.SecureRandom
      - int
      - char[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionIdGenerator
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SecureRandomSessionIdGenerator.java
    functionUses: 4
    functionsReached:
    - '[java.security.SecureRandom].nextBytes(io.undertow.server.session.SecureRandomSessionIdGenerator)'
    - '[String].<init>(char[])'
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].encode(io.undertow.server.session.SecureRandomSessionIdGenerator)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.SecureRandom
      - int
      - char[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionIdGenerator
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.server.session.SecureRandomSessionIdGenerator].getLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SecureRandomSessionIdGenerator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.session.SecureRandomSessionIdGenerator].getLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.SecureRandom
      - int
      - char[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionIdGenerator
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.session.SecureRandomSessionIdGenerator].setLength(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SecureRandomSessionIdGenerator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SecureRandomSessionIdGenerator].setLength(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.SecureRandom
      - int
      - char[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionIdGenerator
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: char[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 106
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 106
    functionName: '[io.undertow.server.session.SecureRandomSessionIdGenerator].encode(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SecureRandomSessionIdGenerator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char[]
    signature: '[io.undertow.server.session.SecureRandomSessionIdGenerator].encode(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: io.undertow.server.session.SecureRandomSessionIdGenerator:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.security.SecureRandom
      - int
      - char[]
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionIdGenerator
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SecureRandomSessionIdGenerator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SecureRandomSessionIdGenerator.java
    functionUses: 6
    functionsReached:
    - '[java.security.SecureRandom].<init>()'
    linkageType: ''
    returnType: io.undertow.server.session.SecureRandomSessionIdGenerator
    signature: '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.session.InMemorySessionManager:55,1
    - Dst: '[io.undertow.server.session.SessionListeners].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:61,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:74,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:75,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:79,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:89,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(io.undertow.server.session.SecureRandomSessionIdGenerator,String,int,boolean)'
      Src: io.undertow.server.session.InMemorySessionManager:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.InMemorySessionManager
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - deploymentName
    - maxSessions
    - expireOldestUnusedSessionOnMax
    argTypes:
    - String
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.server.session.InMemorySessionManager].<init>(String,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
    - '[io.undertow.server.session.SessionListeners].<init>()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(io.undertow.server.session.SecureRandomSessionIdGenerator,String,int,boolean)'
    linkageType: ''
    returnType: io.undertow.server.session.InMemorySessionManager
    signature: '[io.undertow.server.session.InMemorySessionManager].<init>(String,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.session.InMemorySessionManager:55,1
    - Dst: '[io.undertow.server.session.SessionListeners].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:61,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:74,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:75,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:79,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(io.undertow.server.session.SessionIdGenerator,String,int,boolean,boolean)'
      Src: io.undertow.server.session.InMemorySessionManager:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionIdGenerator
      - String
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.InMemorySessionManager
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - sessionIdGenerator
    - deploymentName
    - maxSessions
    - expireOldestUnusedSessionOnMax
    argTypes:
    - io.undertow.server.session.SessionIdGenerator
    - String
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.server.session.InMemorySessionManager].<init>(io.undertow.server.session.SessionIdGenerator,String,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionListeners].<init>()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(io.undertow.server.session.SessionIdGenerator,String,int,boolean,boolean)'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.session.InMemorySessionManager
    signature: '[io.undertow.server.session.InMemorySessionManager].<init>(io.undertow.server.session.SessionIdGenerator,String,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.session.InMemorySessionManager:55,1
    - Dst: '[io.undertow.server.session.SessionListeners].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:61,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:74,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:75,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:79,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:101,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
      Src: io.undertow.server.session.InMemorySessionManager:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionIdGenerator
      - String
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.InMemorySessionManager
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sessionIdGenerator
    - deploymentName
    - maxSessions
    - expireOldestUnusedSessionOnMax
    - statisticsEnabled
    argTypes:
    - io.undertow.server.session.SessionIdGenerator
    - String
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: '[io.undertow.server.session.InMemorySessionManager].<init>(io.undertow.server.session.SessionIdGenerator,String,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.SessionListeners].<init>()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
    linkageType: ''
    returnType: io.undertow.server.session.InMemorySessionManager
    signature: '[io.undertow.server.session.InMemorySessionManager].<init>(io.undertow.server.session.SessionIdGenerator,String,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.session.InMemorySessionManager:55,1
    - Dst: '[io.undertow.server.session.SessionListeners].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:61,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:74,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:75,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:79,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String,int,boolean)'
      Src: io.undertow.server.session.InMemorySessionManager:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.InMemorySessionManager
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - deploymentName
    - maxSessions
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.server.session.InMemorySessionManager].<init>(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.SessionListeners].<init>()'
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String,int,boolean)'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.session.InMemorySessionManager
    signature: '[io.undertow.server.session.InMemorySessionManager].<init>(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.session.InMemorySessionManager:55,1
    - Dst: '[io.undertow.server.session.SessionListeners].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:61,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:74,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:75,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager:79,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.server.session.InMemorySessionManager:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.InMemorySessionManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - id
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 14
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.server.session.SessionListeners].<init>()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.server.session.InMemorySessionManager
    signature: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.server.session.InMemorySessionManager].getDeploymentName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.InMemorySessionManager].getDeploymentName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLong].set(int)'
      Src: io.undertow.server.session.InMemorySessionManager:125,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].set(int)'
      Src: io.undertow.server.session.InMemorySessionManager:127,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.session.InMemorySessionManager:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: '[io.undertow.server.session.InMemorySessionManager].start()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLong].set(int)'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager].start()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].entrySet()'
      Src: io.undertow.server.session.InMemorySessionManager:134,1
    - Dst: session.getValue()
      Src: io.undertow.server.session.InMemorySessionManager:135,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].destroy()'
      Src: io.undertow.server.session.InMemorySessionManager:136,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].getId()'
      Src: io.undertow.server.session.InMemorySessionManager:137,1
    - Dst: session.getKey()
      Src: io.undertow.server.session.InMemorySessionManager:141,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].setId(io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:141,1
    - Dst: '[io.undertow.server.session.SessionListeners].sessionDestroyed(io.undertow.server.session.InMemorySessionManager,null,io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:143,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].clear()'
      Src: io.undertow.server.session.InMemorySessionManager:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: '[io.undertow.server.session.InMemorySessionManager].stop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].clear()'
    - session.getValue()
    - '[io.undertow.server.session.SessionListeners].sessionDestroyed(io.undertow.server.session.InMemorySessionManager,null,io.undertow.server.session.InMemorySessionManager)'
    - '[io.undertow.server.session.InMemorySessionManager].getId()'
    - '[io.undertow.server.session.InMemorySessionManager].destroy()'
    - '[io.undertow.server.session.InMemorySessionManager].setId(io.undertow.server.session.InMemorySessionManager)'
    - session.getKey()
    - '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].entrySet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].size()'
      Src: io.undertow.server.session.InMemorySessionManager:152,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<String>].isEmpty()'
      Src: io.undertow.server.session.InMemorySessionManager:152,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<String>].poll()'
      Src: io.undertow.server.session.InMemorySessionManager:154,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].debugf(String,io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:158,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].get(io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:159,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].invalidate(null,io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:161,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].size()'
      Src: io.undertow.server.session.InMemorySessionManager:164,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.server.session.InMemorySessionManager:166,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].tooManySessions(int)'
      Src: io.undertow.server.session.InMemorySessionManager:168,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].couldNotFindSessionCookieConfig()'
      Src: io.undertow.server.session.InMemorySessionManager:172,1
    - Dst: '[io.undertow.server.session.SessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.InMemorySessionManager:175,1
    - Dst: '[io.undertow.server.HttpServerExchange].getIoThread()'
      Src: io.undertow.server.session.InMemorySessionManager:176,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.session.InMemorySessionManager:176,1
    - Dst: '[io.undertow.server.ServerConnection].getWorker()'
      Src: io.undertow.server.session.InMemorySessionManager:176,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].<init>(io.undertow.server.session.SessionConfig,org.xnio.XnioIoThread,org.xnio.XnioWorker,int)'
      Src: io.undertow.server.session.InMemorySessionManager:176,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].saveSessionID(String,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager:178,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].destroy()'
      Src: io.undertow.server.session.InMemorySessionManager:179,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].sessionWithIdAlreadyExists(String)'
      Src: io.undertow.server.session.InMemorySessionManager:180,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].createAndSaveNewID(io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager:184,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setId(String)'
      Src: io.undertow.server.session.InMemorySessionManager:186,1
    - Dst: '[io.undertow.util.ConcurrentDirectDeque<String>].offerLastAndReturnToken(String)'
      Src: io.undertow.server.session.InMemorySessionManager:188,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setEvictionToken(io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:188,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].debugf(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.InMemorySessionManager:190,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getId()'
      Src: io.undertow.server.session.InMemorySessionManager:191,1
    - Dst: '[io.undertow.server.session.SessionConfig].setSessionId(io.undertow.server.HttpServerExchange,io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:191,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
      Src: io.undertow.server.session.InMemorySessionManager:192,1
    - Dst: '[io.undertow.server.session.SessionListeners].sessionCreated(io.undertow.server.session.InMemorySessionManager.SessionImpl,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.InMemorySessionManager:193,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<SessionImpl>,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager:194,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.server.session.InMemorySessionManager:197,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.server.session.InMemorySessionManager:201,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].size()'
      Src: io.undertow.server.session.InMemorySessionManager:202,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].compareAndSet(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:206,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.session.SessionConfig
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - serverExchange
    - config
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.session.SessionConfig
    constantsTouched: []
    func_position:
      end: 210
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 210
    functionName: '[io.undertow.server.session.InMemorySessionManager].createSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getIoThread()'
    - '[io.undertow.server.ServerConnection].getWorker()'
    - '[io.undertow.util.ConcurrentDirectDeque<String>].isEmpty()'
    - '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
    - '[io.undertow.util.ConcurrentDirectDeque<String>].poll()'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
    - '[io.undertow.server.session.InMemorySessionManager].debugf(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.session.InMemorySessionManager].debugf(String,io.undertow.server.session.InMemorySessionManager)'
    - '[java.util.concurrent.atomic.AtomicInteger].compareAndSet(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.InMemorySessionManager)'
    - '[io.undertow.server.session.SessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    - '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].size()'
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    - '[io.undertow.server.HttpServerExchange].putAttachment(io.undertow.util.AttachmentKey<SessionImpl>,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].<init>(io.undertow.server.session.SessionConfig,org.xnio.XnioIoThread,org.xnio.XnioWorker,int)'
    - '[io.undertow.server.session.SessionListeners].sessionCreated(io.undertow.server.session.InMemorySessionManager.SessionImpl,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.session.InMemorySessionManager].tooManySessions(int)'
    - '[io.undertow.server.session.InMemorySessionManager].couldNotFindSessionCookieConfig()'
    - '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].get(io.undertow.server.session.InMemorySessionManager)'
    - '[io.undertow.server.session.InMemorySessionManager].saveSessionID(String,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].destroy()'
    - '[io.undertow.util.ConcurrentDirectDeque<String>].offerLastAndReturnToken(String)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getId()'
    - '[io.undertow.server.session.SessionConfig].setSessionId(io.undertow.server.HttpServerExchange,io.undertow.server.session.InMemorySessionManager)'
    - '[io.undertow.server.session.InMemorySessionManager].createAndSaveNewID(io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    - '[io.undertow.server.session.InMemorySessionManager].sessionWithIdAlreadyExists(String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setEvictionToken(io.undertow.server.session.InMemorySessionManager)'
    - '[io.undertow.server.session.InMemorySessionManager].invalidate(null,io.undertow.server.session.InMemorySessionManager)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setId(String)'
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.server.session.InMemorySessionManager].createSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].putIfAbsent(String,SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - SessionImpl
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - sessionID
    - session
    argTypes:
    - String
    - SessionImpl
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.server.session.InMemorySessionManager].saveSessionID(String,SessionImpl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].putIfAbsent(String,SessionImpl)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.InMemorySessionManager].saveSessionID(String,SessionImpl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SessionIdGenerator].createSessionId()'
      Src: io.undertow.server.session.InMemorySessionManager:218,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].saveSessionID(String,SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager:219,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].couldNotGenerateUniqueSessionId()'
      Src: io.undertow.server.session.InMemorySessionManager:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - SessionImpl
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - session
    argTypes:
    - SessionImpl
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: '[io.undertow.server.session.InMemorySessionManager].createAndSaveNewID(SessionImpl)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].couldNotGenerateUniqueSessionId()'
    - '[io.undertow.server.session.SessionIdGenerator].createSessionId()'
    - '[io.undertow.server.session.InMemorySessionManager].saveSessionID(String,SessionImpl)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.InMemorySessionManager].createAndSaveNewID(SessionImpl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<SessionImpl>)'
      Src: io.undertow.server.session.InMemorySessionManager:230,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].couldNotFindSessionCookieConfig()'
      Src: io.undertow.server.session.InMemorySessionManager:237,1
    - Dst: '[io.undertow.server.session.SessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.InMemorySessionManager:240,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].getSession(String)'
      Src: io.undertow.server.session.InMemorySessionManager:241,1
    - Dst: session.requestStarted(io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.session.InMemorySessionManager:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.session.SessionConfig
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - serverExchange
    - config
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.session.SessionConfig
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: '[io.undertow.server.session.InMemorySessionManager].getSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].couldNotFindSessionCookieConfig()'
    - '[io.undertow.server.session.InMemorySessionManager].getSession(String)'
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.AttachmentKey<SessionImpl>)'
    - '[io.undertow.server.session.SessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    - session.requestStarted(io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.server.session.InMemorySessionManager].getSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].get(String)'
      Src: io.undertow.server.session.InMemorySessionManager:253,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].getId()'
      Src: io.undertow.server.session.InMemorySessionManager:257,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].setId(String)'
      Src: io.undertow.server.session.InMemorySessionManager:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 264
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 264
    functionName: '[io.undertow.server.session.InMemorySessionManager].getSession(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].get(String)'
    - '[io.undertow.server.session.InMemorySessionManager].getId()'
    - '[io.undertow.server.session.InMemorySessionManager].setId(String)'
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.server.session.InMemorySessionManager].getSession(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager].debugf(String,io.undertow.server.session.SessionListener)'
      Src: io.undertow.server.session.InMemorySessionManager:268,1
    - Dst: '[io.undertow.server.session.SessionListeners].addSessionListener(io.undertow.server.session.SessionListener)'
      Src: io.undertow.server.session.InMemorySessionManager:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.session.SessionListener
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: '[io.undertow.server.session.InMemorySessionManager].registerSessionListener(io.undertow.server.session.SessionListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionListeners].addSessionListener(io.undertow.server.session.SessionListener)'
    - '[io.undertow.server.session.InMemorySessionManager].debugf(String,io.undertow.server.session.SessionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager].registerSessionListener(io.undertow.server.session.SessionListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager].debugf(String,io.undertow.server.session.SessionListener)'
      Src: io.undertow.server.session.InMemorySessionManager:274,1
    - Dst: '[io.undertow.server.session.SessionListeners].removeSessionListener(io.undertow.server.session.SessionListener)'
      Src: io.undertow.server.session.InMemorySessionManager:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionListener
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.session.SessionListener
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: '[io.undertow.server.session.InMemorySessionManager].removeSessionListener(io.undertow.server.session.SessionListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].debugf(String,io.undertow.server.session.SessionListener)'
    - '[io.undertow.server.session.SessionListeners].removeSessionListener(io.undertow.server.session.SessionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager].removeSessionListener(io.undertow.server.session.SessionListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager].debugf(String,int)'
      Src: io.undertow.server.session.InMemorySessionManager:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: '[io.undertow.server.session.InMemorySessionManager].setDefaultSessionTimeout(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].debugf(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager].setDefaultSessionTimeout(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager].getAllSessions()'
      Src: io.undertow.server.session.InMemorySessionManager:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '[io.undertow.server.session.InMemorySessionManager].getTransientSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].getAllSessions()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.session.InMemorySessionManager].getTransientSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager].getAllSessions()'
      Src: io.undertow.server.session.InMemorySessionManager:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: '[io.undertow.server.session.InMemorySessionManager].getActiveSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].getAllSessions()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.session.InMemorySessionManager].getActiveSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].keySet()'
      Src: io.undertow.server.session.InMemorySessionManager:296,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: '[io.undertow.server.session.InMemorySessionManager].getAllSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 2
    functionsReached:
    - '[java.util.HashSet].<init>(io.undertow.server.session.InMemorySessionManager)'
    - '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].keySet()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.session.InMemorySessionManager].getAllSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: manager.getDeploymentName()
      Src: io.undertow.server.session.InMemorySessionManager:303,1
    - Dst: '[String].equals(io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - object
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: '[io.undertow.server.session.InMemorySessionManager].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - manager.getDeploymentName()
    - '[String].equals(io.undertow.server.session.InMemorySessionManager)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.InMemorySessionManager].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].hashCode()'
      Src: io.undertow.server.session.InMemorySessionManager:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: '[io.undertow.server.session.InMemorySessionManager].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[String].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.session.InMemorySessionManager].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '[io.undertow.server.session.InMemorySessionManager].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.InMemorySessionManager].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionManagerStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: '[io.undertow.server.session.InMemorySessionManager].getStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionManagerStatistics
    signature: '[io.undertow.server.session.InMemorySessionManager].getStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLong].get()'
      Src: io.undertow.server.session.InMemorySessionManager:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: '[io.undertow.server.session.InMemorySessionManager].getCreatedSessionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLong].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getCreatedSessionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: '[io.undertow.server.session.InMemorySessionManager].getMaxActiveSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getMaxActiveSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].get()'
      Src: io.undertow.server.session.InMemorySessionManager:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: '[io.undertow.server.session.InMemorySessionManager].getHighestSessionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicInteger].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getHighestSessionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].size()'
      Src: io.undertow.server.session.InMemorySessionManager:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: '[io.undertow.server.session.InMemorySessionManager].getActiveSessionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,SessionImpl>].size()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getActiveSessionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: '[io.undertow.server.session.InMemorySessionManager].getExpiredSessionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getExpiredSessionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLong].get()'
      Src: io.undertow.server.session.InMemorySessionManager:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: '[io.undertow.server.session.InMemorySessionManager].getRejectedSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicLong].get()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getRejectedSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: '[io.undertow.server.session.InMemorySessionManager].getMaxSessionAliveTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getMaxSessionAliveTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.math.BigDecimal].<init>(java.math.BigInteger)'
      Src: io.undertow.server.session.InMemorySessionManager:362,1
    - Dst: '[java.math.BigDecimal].divide(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.server.session.InMemorySessionManager:362,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].longValue()'
      Src: io.undertow.server.session.InMemorySessionManager:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: '[io.undertow.server.session.InMemorySessionManager].getAverageSessionAliveTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[java.math.BigDecimal].<init>(java.math.BigInteger)'
    - '[java.math.BigDecimal].divide(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.InMemorySessionManager)'
    - '[io.undertow.server.session.InMemorySessionManager].longValue()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getAverageSessionAliveTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<SessionImpl>
      - io.undertow.server.session.SessionIdGenerator
      - java.util.concurrent.ConcurrentMap<String,SessionImpl>
      - io.undertow.server.session.SessionListeners
      - int
      - int
      - io.undertow.util.ConcurrentDirectDeque<String>
      - String
      - java.util.concurrent.atomic.AtomicLong
      - java.util.concurrent.atomic.AtomicLong
      - long
      - long
      - java.math.BigInteger
      - java.util.concurrent.atomic.AtomicInteger
      - boolean
      - long
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionManagerStatistics
      - io.undertow.server.session.SessionManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: '[io.undertow.server.session.InMemorySessionManager].getStartTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager].getStartTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.concurrent.atomic.AtomicReferenceFieldUpdater<SessionImpl,Object>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].createTokenUpdater()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: java.util.concurrent.atomic.AtomicReferenceFieldUpdater<SessionImpl,Object>
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].createTokenUpdater()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:377,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:379,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:414,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:436,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setMaxInactiveInterval(int)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.InMemorySessionManager
      - io.undertow.server.session.SessionConfig
      - org.xnio.XnioIoThread
      - org.xnio.XnioWorker
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.InMemorySessionManager.SessionImpl
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sessionManager
    - sessionCookieConfig
    - executor
    - worker
    - maxInactiveInterval
    argTypes:
    - io.undertow.server.session.InMemorySessionManager
    - io.undertow.server.session.SessionConfig
    - org.xnio.XnioIoThread
    - org.xnio.XnioWorker
    - int
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionConfig,org.xnio.XnioIoThread,org.xnio.XnioWorker,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setMaxInactiveInterval(int)'
    - '[io.undertow.util.AttachmentKey].create()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - System.currentTimeMillis()
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: io.undertow.server.session.InMemorySessionManager.SessionImpl
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].<init>(io.undertow.server.session.InMemorySessionManager,io.undertow.server.session.SessionConfig,org.xnio.XnioIoThread,org.xnio.XnioWorker,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getMaxInactiveIntervalMilis()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:445,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:447,1
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:450,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].tracef(String,String,long)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:456,1
    - Dst: '[XnioIoThread].executeAfter(Runnable,int,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:461,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].remove()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 470
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getMaxInactiveIntervalMilis()'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].tracef(String,String,long)'
    - '[XnioExecutor.Key].remove()'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].remove()'
    - System.currentTimeMillis()
    - '[XnioIoThread].executeAfter(Runnable,int,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<SessionImpl, Object>].compareAndSet(io.undertow.server.session.InMemorySessionManager.SessionImpl,null)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:476,1
    - Dst: sessionManager.evictionQueue.removeToken(io.undertow.server.session.InMemorySessionManager.SessionImpl)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:477,1
    - Dst: sessionManager.evictionQueue.offerLastAndReturnToken(String)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - evictionToken
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setEvictionToken(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - sessionManager.evictionQueue.removeToken(io.undertow.server.session.InMemorySessionManager.SessionImpl)
    - sessionManager.evictionQueue.offerLastAndReturnToken(String)
    - '[AtomicReferenceFieldUpdater<SessionImpl, Object>].compareAndSet(io.undertow.server.session.InMemorySessionManager.SessionImpl,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setEvictionToken(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setId(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setId(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(AttachmentKey<Long>)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:493,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:496,1
    - Dst: '[io.undertow.server.HttpServerExchange].putAttachment(AttachmentKey<Long>,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:496,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - serverExchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 500
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 500
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].requestStarted(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(AttachmentKey<Long>)'
    - '[io.undertow.server.HttpServerExchange].putAttachment(AttachmentKey<Long>,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].requestStarted(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(AttachmentKey<Long>)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:504,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - serverExchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].requestDone(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(AttachmentKey<Long>)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].requestDone(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getCreationTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getCreationTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getLastAccessedTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getLastAccessedTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:530,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].debugf(String,String,int)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:532,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setMaxInactiveInterval(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].debugf(String,String,int)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].bumpTimeout()'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setMaxInactiveInterval(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 543
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getMaxInactiveInterval()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getMaxInactiveInterval()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getMaxInactiveIntervalMilis()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getMaxInactiveIntervalMilis()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:555,1
    - Dst: '[ConcurrentMap<String, Object>].get(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getAttribute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[ConcurrentMap<String, Object>].get(String)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:563,1
    - Dst: '[ConcurrentMap<String, Object>].keySet()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getAttributeNames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[ConcurrentMap<String, Object>].keySet()'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getAttributeNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].removeAttribute(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:571,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:574,1
    - Dst: '[ConcurrentMap<String, Object>].put(String,Object)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:576,1
    - Dst: sessionManager.sessionListeners.attributeAdded(String,Object)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:578,1
    - Dst: sessionManager.sessionListeners.attributeUpdated(String,Object,io.undertow.server.session.InMemorySessionManager.SessionImpl)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:580,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].tracef(String,String,Object,String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 584
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 584
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setAttribute(String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - sessionManager.sessionListeners.attributeAdded(String,Object)
    - sessionManager.sessionListeners.attributeUpdated(String,Object,io.undertow.server.session.InMemorySessionManager.SessionImpl)
    - '[ConcurrentMap<String, Object>].put(String,Object)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].removeAttribute(String)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].tracef(String,String,Object,String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].setAttribute(String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:589,1
    - Dst: '[ConcurrentMap<String, Object>].remove(String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:591,1
    - Dst: sessionManager.sessionListeners.attributeRemoved(String,io.undertow.server.session.InMemorySessionManager.SessionImpl)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:592,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].tracef(String,String,String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 595
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 595
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].removeAttribute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached:
    - '[ConcurrentMap<String, Object>].remove(String)'
    - sessionManager.sessionListeners.attributeRemoved(String,io.undertow.server.session.InMemorySessionManager.SessionImpl)
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].tracef(String,String,String)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionIsInvalid(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].removeAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].invalidate(io.undertow.server.HttpServerExchange,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:599,1
    - Dst: '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:601,1
    - Dst: sessionManager.evictionQueue.removeToken(Object)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 607
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 607
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].invalidate(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - sessionManager.evictionQueue.removeToken(Object)
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].invalidate(io.undertow.server.HttpServerExchange,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    - '[io.undertow.server.HttpServerExchange].removeAttachment(io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].invalidate(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:612,1
    - Dst: sessionManager.sessions.remove(String)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:614,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionAlreadyInvalidated()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:617,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].debugf(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:623,1
    - Dst: sessionManager.sessionListeners.sessionDestroyed(io.undertow.server.HttpServerExchange,SessionListener.SessionDestroyedReason)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:625,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:629,1
    - Dst: '[java.math.BigInteger].valueOf(io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:632,1
    - Dst: sessionManager.totalSessionLifetime.add(io.undertow.server.session.InMemorySessionManager.SessionImpl)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:632,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getId()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:639,1
    - Dst: '[io.undertow.server.session.SessionConfig].clearSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - SessionListener.SessionDestroyedReason
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - reason
    argTypes:
    - io.undertow.server.HttpServerExchange
    - SessionListener.SessionDestroyedReason
    constantsTouched: []
    func_position:
      end: 641
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 641
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].invalidate(io.undertow.server.HttpServerExchange,SessionListener.SessionDestroyedReason)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    - sessionManager.totalSessionLifetime.add(io.undertow.server.session.InMemorySessionManager.SessionImpl)
    - sessionManager.sessionListeners.sessionDestroyed(io.undertow.server.HttpServerExchange,SessionListener.SessionDestroyedReason)
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getId()'
    - '[java.math.BigInteger].valueOf(io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].sessionAlreadyInvalidated()'
    - '[io.undertow.server.session.SessionConfig].clearSession(io.undertow.server.HttpServerExchange,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    - System.currentTimeMillis()
    - sessionManager.sessions.remove(String)
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].debugf(String,String,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].invalidate(io.undertow.server.HttpServerExchange,SessionListener.SessionDestroyedReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getSessionManager()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionManager
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getSessionManager()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.InMemorySessionManager].createAndSaveNewID()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:655,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getId()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:657,1
    - Dst: '[io.undertow.server.session.SessionConfig].setSessionId(io.undertow.server.HttpServerExchange,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:657,1
    - Dst: sessionManager.sessions.remove(io.undertow.server.session.InMemorySessionManager.SessionImpl)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:658,1
    - Dst: sessionManager.sessionListeners.sessionIdChanged(io.undertow.server.session.InMemorySessionManager.SessionImpl)
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:659,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].debugf(String,io.undertow.server.session.InMemorySessionManager.SessionImpl,String)'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.session.SessionConfig
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - config
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.session.SessionConfig
    constantsTouched: []
    func_position:
      end: 665
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 665
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].changeSessionId(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].createAndSaveNewID()'
    - sessionManager.sessions.remove(io.undertow.server.session.InMemorySessionManager.SessionImpl)
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].getId()'
    - '[io.undertow.server.session.InMemorySessionManager.SessionImpl].debugf(String,io.undertow.server.session.InMemorySessionManager.SessionImpl,String)'
    - sessionManager.sessionListeners.sessionIdChanged(io.undertow.server.session.InMemorySessionManager.SessionImpl)
    - '[io.undertow.server.session.SessionConfig].setSessionId(io.undertow.server.HttpServerExchange,io.undertow.server.session.InMemorySessionManager.SessionImpl)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].changeSessionId(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[XnioExecutor.Key].remove()'
      Src: io.undertow.server.session.InMemorySessionManager.SessionImpl:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].destroy()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 1
    functionsReached:
    - '[XnioExecutor.Key].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AttachmentKey<Long>
      - InMemorySessionManager
      - ConcurrentMap<String, Object>
      - long
      - long
      - int
      - AtomicReferenceFieldUpdater<SessionImpl, Object>
      - String
      - Object
      - SessionConfig
      - long
      - boolean
      - boolean
      - XnioIoThread
      - XnioWorker
      - XnioExecutor.Key
      - Runnable
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Session
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].isInvalid()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/InMemorySessionManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.InMemorySessionManager.SessionImpl].isInvalid()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[io.undertow.server.session.SessionIdGenerator].createSessionId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionIdGenerator.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionIdGenerator].createSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionIdGenerator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.SessionIdGenerator].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionIdGenerator.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionIdGenerator
    signature: '[io.undertow.server.session.SessionIdGenerator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[io.undertow.server.session.SessionConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: '[io.undertow.server.session.SessionConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionConfig.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '[io.undertow.server.session.SessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionConfig.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: SessionCookieSource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.session.SessionConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionConfig.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SessionCookieSource
    signature: '[io.undertow.server.session.SessionConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - originalUrl
    - sessionId
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '[io.undertow.server.session.SessionConfig].rewriteUrl(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionConfig.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SessionConfig].rewriteUrl(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.SessionConfig].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionConfig
    signature: '[io.undertow.server.session.SessionConfig].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getCreatedSessionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getCreatedSessionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getMaxActiveSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getMaxActiveSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getHighestSessionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getHighestSessionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getActiveSessionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getActiveSessionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getExpiredSessionCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getExpiredSessionCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getRejectedSessions()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getRejectedSessions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getMaxSessionAliveTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getMaxSessionAliveTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getAverageSessionAliveTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getAverageSessionAliveTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.session.SessionManagerStatistics].getStartTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.SessionManagerStatistics].getStartTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionManagerStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.SessionManagerStatistics].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionManagerStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionManagerStatistics
    signature: '[io.undertow.server.session.SessionManagerStatistics].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.session.SslSessionConfig:38,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.session.SslSessionConfig:39,1
    - Dst: '[io.undertow.server.session.SessionListener].<init>()'
      Src: io.undertow.server.session.SslSessionConfig:43,1
    - Dst: '[io.undertow.server.session.SessionManager].registerSessionListener(io.undertow.server.session.SessionListener)'
      Src: io.undertow.server.session.SslSessionConfig:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionConfig
      - io.undertow.server.session.SessionManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionConfig
      - java.util.Map<Key,String>
      - java.util.Map<String,Key>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SslSessionConfig
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - fallbackSessionConfig
    - sessionManager
    argTypes:
    - io.undertow.server.session.SessionConfig
    - io.undertow.server.session.SessionManager
    constantsTouched: []
    func_position:
      end: 80
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 80
    functionName: '[io.undertow.server.session.SslSessionConfig].<init>(io.undertow.server.session.SessionConfig,io.undertow.server.session.SessionManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SessionManager].registerSessionListener(io.undertow.server.session.SessionListener)'
    - '[io.undertow.server.session.SessionListener].<init>()'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.session.SslSessionConfig
    signature: '[io.undertow.server.session.SslSessionConfig].<init>(io.undertow.server.session.SessionConfig,io.undertow.server.session.SessionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.session.SslSessionConfig:38,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.server.session.SslSessionConfig:39,1
    - Dst: '[io.undertow.server.session.SslSessionConfig].<init>(null,io.undertow.server.session.SessionManager)'
      Src: io.undertow.server.session.SslSessionConfig:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionManager
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionConfig
      - java.util.Map<Key,String>
      - java.util.Map<String,Key>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SslSessionConfig
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionManager
    argTypes:
    - io.undertow.server.session.SessionManager
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[io.undertow.server.session.SslSessionConfig].<init>(io.undertow.server.session.SessionManager)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.session.SslSessionConfig].<init>(null,io.undertow.server.session.SessionManager)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.server.session.SslSessionConfig
    signature: '[io.undertow.server.session.SslSessionConfig].<init>(io.undertow.server.session.SessionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SslSessionConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SslSessionConfig:88,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.session.SslSessionConfig:89,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.server.session.SslSessionConfig:89,1
    - Dst: '[io.undertow.server.session.SessionConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.session.SslSessionConfig:92,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSessionId()'
      Src: io.undertow.server.session.SslSessionConfig:95,1
    - Dst: '[io.undertow.server.protocol.http.ALPNBannedCiphers.Key].<init>(byte[])'
      Src: io.undertow.server.session.SslSessionConfig:95,1
    - Dst: '[java.util.Map<Key,String>].put(io.undertow.server.protocol.http.ALPNBannedCiphers.Key,String)'
      Src: io.undertow.server.session.SslSessionConfig:97,1
    - Dst: '[java.util.Map<String,Key>].put(String,io.undertow.server.protocol.http.ALPNBannedCiphers.Key)'
      Src: io.undertow.server.session.SslSessionConfig:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionConfig
      - java.util.Map<Key,String>
      - java.util.Map<String,Key>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: '[io.undertow.server.session.SslSessionConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[io.undertow.server.session.SessionConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
    - '[io.undertow.server.session.SslSessionConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.SSLSessionInfo].getSessionId()'
    - '[java.util.Map<Key,String>].put(io.undertow.server.protocol.http.ALPNBannedCiphers.Key,String)'
    - '[java.util.Map<String,Key>].put(String,io.undertow.server.protocol.http.ALPNBannedCiphers.Key)'
    - '[io.undertow.server.protocol.http.ALPNBannedCiphers.Key].<init>(byte[])'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SslSessionConfig].setSessionId(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SslSessionConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SslSessionConfig:105,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.session.SslSessionConfig:106,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.server.session.SslSessionConfig:106,1
    - Dst: '[io.undertow.server.session.SessionConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
      Src: io.undertow.server.session.SslSessionConfig:109,1
    - Dst: '[java.util.Map<String,Key>].remove(String)'
      Src: io.undertow.server.session.SslSessionConfig:113,1
    - Dst: '[java.util.Map<Key,String>].remove(io.undertow.server.session.SslSessionConfig)'
      Src: io.undertow.server.session.SslSessionConfig:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionConfig
      - java.util.Map<Key,String>
      - java.util.Map<String,Key>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - sessionId
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: '[io.undertow.server.session.SslSessionConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[java.util.Map<Key,String>].remove(io.undertow.server.session.SslSessionConfig)'
    - '[io.undertow.server.session.SslSessionConfig].tracef(String,String,io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.session.SessionConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
    - '[java.util.Map<String,Key>].remove(String)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SslSessionConfig].clearSession(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.server.session.SslSessionConfig:123,1
    - Dst: '[io.undertow.server.ServerConnection].getSslSessionInfo()'
      Src: io.undertow.server.session.SslSessionConfig:123,1
    - Dst: '[io.undertow.server.session.SessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SslSessionConfig:126,1
    - Dst: '[io.undertow.server.SSLSessionInfo].getSessionId()'
      Src: io.undertow.server.session.SslSessionConfig:130,1
    - Dst: '[io.undertow.server.protocol.http.ALPNBannedCiphers.Key].<init>(byte[])'
      Src: io.undertow.server.session.SslSessionConfig:130,1
    - Dst: '[java.util.Map<Key,String>].get(io.undertow.server.protocol.http.ALPNBannedCiphers.Key)'
      Src: io.undertow.server.session.SslSessionConfig:130,1
    - Dst: '[io.undertow.server.session.SslSessionConfig].tracef(String,io.undertow.server.session.SslSessionConfig,io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SslSessionConfig:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionConfig
      - java.util.Map<Key,String>
      - java.util.Map<String,Key>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: '[io.undertow.server.session.SslSessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.ServerConnection].getSslSessionInfo()'
    - '[io.undertow.server.session.SessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.SSLSessionInfo].getSessionId()'
    - '[java.util.Map<Key,String>].get(io.undertow.server.protocol.http.ALPNBannedCiphers.Key)'
    - '[io.undertow.server.protocol.http.ALPNBannedCiphers.Key].<init>(byte[])'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.server.session.SslSessionConfig].tracef(String,io.undertow.server.session.SslSessionConfig,io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SslSessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SslSessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.server.session.SslSessionConfig:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionConfig
      - java.util.Map<Key,String>
      - java.util.Map<String,Key>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SessionCookieSource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: '[io.undertow.server.session.SslSessionConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SslSessionConfig].findSessionId(io.undertow.server.HttpServerExchange)'
    linkageType: ''
    returnType: SessionCookieSource
    signature: '[io.undertow.server.session.SslSessionConfig].sessionCookieSource(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.session.SessionConfig
      - java.util.Map<Key,String>
      - java.util.Map<String,Key>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.session.SessionConfig
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - originalUrl
    - sessionId
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '[io.undertow.server.session.SslSessionConfig].rewriteUrl(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.SslSessionConfig].rewriteUrl(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.SslSessionConfig.Key
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - id
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.server.session.SslSessionConfig.Key].<init>(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SslSessionConfig.Key
    signature: '[io.undertow.server.session.SslSessionConfig.Key].<init>(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.session.SslSessionConfig.Key].getClass()'
      Src: io.undertow.server.session.SslSessionConfig.Key:160,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.server.session.SslSessionConfig.Key:160,1
    - Dst: '[java.util.Arrays].equals(byte[],io.undertow.server.session.SslSessionConfig.Key)'
      Src: io.undertow.server.session.SslSessionConfig.Key:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: '[io.undertow.server.session.SslSessionConfig.Key].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].equals(byte[],io.undertow.server.session.SslSessionConfig.Key)'
    - '[io.undertow.server.session.SslSessionConfig.Key].getClass()'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.SslSessionConfig.Key].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].hashCode(byte[])'
      Src: io.undertow.server.session.SslSessionConfig.Key:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.server.session.SslSessionConfig.Key].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SslSessionConfig.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].hashCode(byte[])'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.session.SslSessionConfig.Key].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - serverExchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[io.undertow.server.session.Session].requestDone(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.Session].requestDone(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '[io.undertow.server.session.Session].getCreationTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.Session].getCreationTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '[io.undertow.server.session.Session].getLastAccessedTime()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.server.session.Session].getLastAccessedTime()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: '[io.undertow.server.session.Session].setMaxInactiveInterval(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.Session].setMaxInactiveInterval(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '[io.undertow.server.session.Session].getMaxInactiveInterval()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.server.session.Session].getMaxInactiveInterval()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: '[io.undertow.server.session.Session].getAttribute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.session.Session].getAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '[io.undertow.server.session.Session].getAttributeNames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.server.session.Session].getAttributeNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Object
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '[io.undertow.server.session.Session].setAttribute(String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.session.Session].setAttribute(String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: '[io.undertow.server.session.Session].removeAttribute(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.server.session.Session].removeAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: '[io.undertow.server.session.Session].invalidate(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.Session].invalidate(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.server.session.SessionConfig
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - config
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.server.session.SessionConfig
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '[io.undertow.server.session.Session].changeSessionId(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.server.session.Session].changeSessionId(io.undertow.server.HttpServerExchange,io.undertow.server.session.SessionConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '[io.undertow.server.session.Session].isInvalid()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.Session].isInvalid()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.SessionReference
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.server.session.Session].getReference()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.SessionReference
    signature: '[io.undertow.server.session.Session].getReference()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.Session
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.Session].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/Session.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.server.session.Session].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.server.session.SessionListener>].add(io.undertow.server.session.SessionListener)'
      Src: io.undertow.server.session.SessionListeners:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionListener
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.session.SessionListener
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.server.session.SessionListeners].addSessionListener(io.undertow.server.session.SessionListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<io.undertow.server.session.SessionListener>].add(io.undertow.server.session.SessionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListeners].addSessionListener(io.undertow.server.session.SessionListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.server.session.SessionListener>].remove(io.undertow.server.session.SessionListener)'
      Src: io.undertow.server.session.SessionListeners:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.SessionListener
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.server.session.SessionListener
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.server.session.SessionListeners].removeSessionListener(io.undertow.server.session.SessionListener)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<io.undertow.server.session.SessionListener>].remove(io.undertow.server.session.SessionListener)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.server.session.SessionListeners].removeSessionListener(io.undertow.server.session.SessionListener)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<io.undertow.server.session.SessionListener>].clear()'
      Src: io.undertow.server.session.SessionListeners:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.server.session.SessionListeners].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.server.session.SessionListener>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListeners].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener.sessionCreated(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange)
      Src: io.undertow.server.session.SessionListeners:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - exchange
    argTypes:
    - io.undertow.server.session.Session
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '[io.undertow.server.session.SessionListeners].sessionCreated(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 0
    functionsReached:
    - listener.sessionCreated(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListeners].sessionCreated(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(java.util.List<io.undertow.server.session.SessionListener>)'
      Src: io.undertow.server.session.SessionListeners:58,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.server.session.SessionListeners:59,1
    - Dst: '[java.util.ArrayList].listIterator(io.undertow.server.session.SessionListeners)'
      Src: io.undertow.server.session.SessionListeners:59,1
    - Dst: '[io.undertow.server.session.SessionListeners].hasPrevious()'
      Src: io.undertow.server.session.SessionListeners:60,1
    - Dst: '[io.undertow.server.session.SessionListeners].previous()'
      Src: io.undertow.server.session.SessionListeners:61,1
    - Dst: '[io.undertow.server.session.SessionListeners].sessionDestroyed(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange,SessionListener.SessionDestroyedReason)'
      Src: io.undertow.server.session.SessionListeners:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - io.undertow.server.HttpServerExchange
      - SessionListener.SessionDestroyedReason
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - exchange
    - reason
    argTypes:
    - io.undertow.server.session.Session
    - io.undertow.server.HttpServerExchange
    - SessionListener.SessionDestroyedReason
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: '[io.undertow.server.session.SessionListeners].sessionDestroyed(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange,SessionListener.SessionDestroyedReason)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>(java.util.List<io.undertow.server.session.SessionListener>)'
    - '[io.undertow.server.session.SessionListeners].sessionDestroyed(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange,SessionListener.SessionDestroyedReason)'
    - '[io.undertow.server.session.SessionListeners].hasPrevious()'
    - '[java.util.ArrayList].listIterator(io.undertow.server.session.SessionListeners)'
    - '[io.undertow.server.session.SessionListeners].previous()'
    - '[java.util.ArrayList].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListeners].sessionDestroyed(io.undertow.server.session.Session,io.undertow.server.HttpServerExchange,SessionListener.SessionDestroyedReason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener.attributeAdded(io.undertow.server.session.Session,String,Object)
      Src: io.undertow.server.session.SessionListeners:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - name
    - value
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: '[io.undertow.server.session.SessionListeners].attributeAdded(io.undertow.server.session.Session,String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 0
    functionsReached:
    - listener.attributeAdded(io.undertow.server.session.Session,String,Object)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListeners].attributeAdded(io.undertow.server.session.Session,String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener.attributeUpdated(io.undertow.server.session.Session,String,Object,Object)
      Src: io.undertow.server.session.SessionListeners:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - session
    - name
    - newValue
    - oldValue
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    - Object
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: '[io.undertow.server.session.SessionListeners].attributeUpdated(io.undertow.server.session.Session,String,Object,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 0
    functionsReached:
    - listener.attributeUpdated(io.undertow.server.session.Session,String,Object,Object)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListeners].attributeUpdated(io.undertow.server.session.Session,String,Object,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener.attributeRemoved(io.undertow.server.session.Session,String,Object)
      Src: io.undertow.server.session.SessionListeners:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - session
    - name
    - oldValue
    argTypes:
    - io.undertow.server.session.Session
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '[io.undertow.server.session.SessionListeners].attributeRemoved(io.undertow.server.session.Session,String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 0
    functionsReached:
    - listener.attributeRemoved(io.undertow.server.session.Session,String,Object)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListeners].attributeRemoved(io.undertow.server.session.Session,String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener.sessionIdChanged(io.undertow.server.session.Session,String)
      Src: io.undertow.server.session.SessionListeners:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.session.Session
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - session
    - oldSessionId
    argTypes:
    - io.undertow.server.session.Session
    - String
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: '[io.undertow.server.session.SessionListeners].sessionIdChanged(io.undertow.server.session.Session,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 0
    functionsReached:
    - listener.sessionIdChanged(io.undertow.server.session.Session,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.server.session.SessionListeners].sessionIdChanged(io.undertow.server.session.Session,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.server.session.SessionListeners:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.session.SessionListener>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.SessionListeners
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.server.session.SessionListeners].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/server/session/SessionListeners.java
    functionUses: 5
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.server.session.SessionListeners
    signature: '[io.undertow.server.session.SessionListeners].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: '[io.undertow.util.BadRequestException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/BadRequestException.java
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.util.BadRequestException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: io.undertow.util.BadRequestException:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.util.BadRequestException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/BadRequestException.java
    functionUses: 1
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.util.BadRequestException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(Throwable)'
      Src: io.undertow.util.BadRequestException:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.util.BadRequestException].<init>(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/BadRequestException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.util.BadRequestException].<init>(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String,Throwable)'
      Src: io.undertow.util.BadRequestException:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Exception
    argCount: 2
    argNames:
    - message
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.util.BadRequestException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/BadRequestException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.util.BadRequestException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>(int)'
      Src: io.undertow.util.SimpleObjectPool:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.util.function.Supplier<T>
      - java.util.function.Consumer<T>
      - java.util.function.Consumer<T>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.function.Supplier<T>
      - java.util.function.Consumer<T>
      - java.util.function.Consumer<T>
      - java.util.concurrent.LinkedBlockingDeque<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.ObjectPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SimpleObjectPool
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - poolSize
    - supplier
    - recycler
    - consumer
    argTypes:
    - int
    - java.util.function.Supplier<T>
    - java.util.function.Consumer<T>
    - java.util.function.Consumer<T>
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: '[io.undertow.util.SimpleObjectPool].<init>(int,java.util.function.Supplier<T>,java.util.function.Consumer<T>,java.util.function.Consumer<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleObjectPool.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.SimpleObjectPool
    signature: '[io.undertow.util.SimpleObjectPool].<init>(int,java.util.function.Supplier<T>,java.util.function.Consumer<T>,java.util.function.Consumer<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SimpleObjectPool].<init>(int,java.util.function.Supplier<T>,java.util.function.Consumer<T>)'
      Src: io.undertow.util.SimpleObjectPool:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.util.function.Supplier<T>
      - java.util.function.Consumer<T>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.function.Supplier<T>
      - java.util.function.Consumer<T>
      - java.util.function.Consumer<T>
      - java.util.concurrent.LinkedBlockingDeque<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.ObjectPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SimpleObjectPool
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - poolSize
    - supplier
    - consumer
    argTypes:
    - int
    - java.util.function.Supplier<T>
    - java.util.function.Consumer<T>
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.SimpleObjectPool].<init>(int,java.util.function.Supplier<T>,java.util.function.Consumer<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleObjectPool.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SimpleObjectPool].<init>(int,java.util.function.Supplier<T>,java.util.function.Consumer<T>)'
    linkageType: ''
    returnType: io.undertow.util.SimpleObjectPool
    signature: '[io.undertow.util.SimpleObjectPool].<init>(int,java.util.function.Supplier<T>,java.util.function.Consumer<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<T>].poll()'
      Src: io.undertow.util.SimpleObjectPool:55,1
    - Dst: '[java.util.function.Supplier<T>].get()'
      Src: io.undertow.util.SimpleObjectPool:57,1
    - Dst: '[io.undertow.util.SimpleObjectPool.SimplePooledObject].<init>(io.undertow.util.SimpleObjectPool)'
      Src: io.undertow.util.SimpleObjectPool:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.function.Supplier<T>
      - java.util.function.Consumer<T>
      - java.util.function.Consumer<T>
      - java.util.concurrent.LinkedBlockingDeque<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.ObjectPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PooledObject<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: '[io.undertow.util.SimpleObjectPool].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleObjectPool.java
    functionUses: 3
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<T>].poll()'
    - '[java.util.function.Supplier<T>].get()'
    - '[io.undertow.util.SimpleObjectPool.SimplePooledObject].<init>(io.undertow.util.SimpleObjectPool)'
    linkageType: ''
    returnType: io.undertow.util.PooledObject<T>
    signature: '[io.undertow.util.SimpleObjectPool].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.SimpleObjectPool.SimplePooledObject:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      - io.undertow.util.SimpleObjectPool<T>
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicIntegerFieldUpdater<SimplePooledObject>
      - int
      - T
      - SimpleObjectPool<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.SimpleObjectPool.SimplePooledObject
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - object
    - objectPool
    argTypes:
    - T
    - io.undertow.util.SimpleObjectPool<T>
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.util.SimpleObjectPool.SimplePooledObject].<init>(T,io.undertow.util.SimpleObjectPool<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleObjectPool.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.util.SimpleObjectPool.SimplePooledObject
    signature: '[io.undertow.util.SimpleObjectPool.SimplePooledObject].<init>(T,io.undertow.util.SimpleObjectPool<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicIntegerFieldUpdater<SimplePooledObject>].get()'
      Src: io.undertow.util.SimpleObjectPool.SimplePooledObject:77,1
    - Dst: '[io.undertow.util.SimpleObjectPool.SimplePooledObject].objectIsClosed()'
      Src: io.undertow.util.SimpleObjectPool.SimplePooledObject:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicIntegerFieldUpdater<SimplePooledObject>
      - int
      - T
      - SimpleObjectPool<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: '[io.undertow.util.SimpleObjectPool.SimplePooledObject].getObject()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleObjectPool.java
    functionUses: 0
    functionsReached:
    - '[AtomicIntegerFieldUpdater<SimplePooledObject>].get()'
    - '[io.undertow.util.SimpleObjectPool.SimplePooledObject].objectIsClosed()'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.SimpleObjectPool.SimplePooledObject].getObject()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicIntegerFieldUpdater<SimplePooledObject>].compareAndSet(int,int)'
      Src: io.undertow.util.SimpleObjectPool.SimplePooledObject:85,1
    - Dst: objectPool.recycler.accept(T)
      Src: io.undertow.util.SimpleObjectPool.SimplePooledObject:86,1
    - Dst: objectPool.pool.offer(T)
      Src: io.undertow.util.SimpleObjectPool.SimplePooledObject:87,1
    - Dst: objectPool.consumer.accept(T)
      Src: io.undertow.util.SimpleObjectPool.SimplePooledObject:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicIntegerFieldUpdater<SimplePooledObject>
      - int
      - T
      - SimpleObjectPool<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: '[io.undertow.util.SimpleObjectPool.SimplePooledObject].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleObjectPool.java
    functionUses: 0
    functionsReached:
    - '[AtomicIntegerFieldUpdater<SimplePooledObject>].compareAndSet(int,int)'
    - objectPool.recycler.accept(T)
    - objectPool.pool.offer(T)
    - objectPool.consumer.accept(T)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SimpleObjectPool.SimplePooledObject].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.AttachmentKey
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: '[io.undertow.util.AttachmentKey].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.AttachmentKey
    signature: '[io.undertow.util.AttachmentKey].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.util.AttachmentKey].cast(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.AttachmentKey].cast(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SimpleAttachmentKey].<init>(Class<?superT>)'
      Src: io.undertow.util.AttachmentKey:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?superT>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.AttachmentKey<T>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - valueClass
    argTypes:
    - Class<?superT>
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.util.AttachmentKey].create(Class<?superT>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentKey.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SimpleAttachmentKey].<init>(Class<?superT>)'
    linkageType: ''
    returnType: io.undertow.util.AttachmentKey<T>
    signature: '[io.undertow.util.AttachmentKey].create(Class<?superT>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ListAttachmentKey].<init>(Class<?superT>)'
      Src: io.undertow.util.AttachmentKey:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?superT>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - valueClass
    argTypes:
    - Class<?superT>
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.util.AttachmentKey].createList(Class<?superT>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentKey.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ListAttachmentKey].<init>(Class<?superT>)'
    linkageType: ''
    returnType: io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
    signature: '[io.undertow.util.AttachmentKey].createList(Class<?superT>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.ListAttachmentKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - valueClass
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.util.ListAttachmentKey].<init>(Class<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ListAttachmentKey
    signature: '[io.undertow.util.ListAttachmentKey].<init>(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list.getValueClass()
      Src: io.undertow.util.ListAttachmentKey:81,1
    - Dst: '[ClassCastException].<init>()'
      Src: io.undertow.util.ListAttachmentKey:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.AttachmentList<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: '[io.undertow.util.ListAttachmentKey].cast(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentKey.java
    functionUses: 0
    functionsReached:
    - list.getValueClass()
    - '[ClassCastException].<init>()'
    linkageType: ''
    returnType: io.undertow.util.AttachmentList<T>
    signature: '[io.undertow.util.ListAttachmentKey].cast(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Class<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.util.ListAttachmentKey].getValueClass()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Class<T>
    signature: '[io.undertow.util.ListAttachmentKey].getValueClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PooledAdaptor
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.util.PooledAdaptor].<init>(io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledAdaptor.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PooledAdaptor
    signature: '[io.undertow.util.PooledAdaptor].<init>(io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.PooledAdaptor:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.util.PooledAdaptor].discard()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledAdaptor.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PooledAdaptor].discard()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.PooledAdaptor:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.util.PooledAdaptor].free()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledAdaptor.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PooledAdaptor].free()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.PooledAdaptor:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.util.PooledAdaptor].getResource()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledAdaptor.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.PooledAdaptor].getResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.PooledAdaptor:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.util.PooledAdaptor].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledAdaptor.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PooledAdaptor].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.util.PooledAdaptor].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledAdaptor.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PooledAdaptor].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].<init>(char,boolean)'
      Src: io.undertow.util.URLUtils:40,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].<init>(char,boolean)'
      Src: io.undertow.util.URLUtils:46,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.util.URLUtils:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.URLUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.util.URLUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 0
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    - '[io.undertow.util.URLUtils.QueryStringParser].<init>(char,boolean)'
    linkageType: ''
    returnType: io.undertow.util.URLUtils
    signature: '[io.undertow.util.URLUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].parse(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.util.URLUtils:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      - String
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.ParameterLimitException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - string
    - exchange
    - charset
    - doDecode
    - maxParameters
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    - String
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.util.URLUtils].parseQueryString(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.URLUtils.QueryStringParser].parse(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtils].parseQueryString(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].parsePathParams(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.util.URLUtils:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      - String
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.ParameterLimitException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - string
    - exchange
    - charset
    - doDecode
    - maxParameters
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    - String
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.util.URLUtils].parsePathParms(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].parsePathParams(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtils].parsePathParms(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].parse(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
      Src: io.undertow.util.URLUtils:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      - String
      - boolean
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.ParameterLimitException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - string
    - exchange
    - charset
    - doDecode
    - maxParameters
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    - String
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.util.URLUtils].parsePathParams(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.URLUtils.QueryStringParser].parse(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.URLUtils].parsePathParams(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.util.URLUtils:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - s
    - enc
    - decodeSlash
    - buffer
    argTypes:
    - String
    - String
    - boolean
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.URLUtils].decode(String,String,boolean,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.URLUtils].decode(String,String,boolean,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.util.URLUtils:99,1
    - Dst: '[String].length()'
      Src: io.undertow.util.URLUtils:101,1
    - Dst: '[String].charAt(io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:105,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.URLUtils:108,1
    - Dst: '[StringBuilder].append(io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:113,1
    - Dst: '[String].length()'
      Src: io.undertow.util.URLUtils:141,1
    - Dst: '[io.undertow.util.URLUtils].failedToDecodeURL(String,String,null)'
      Src: io.undertow.util.URLUtils:142,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.URLUtils:144,1
    - Dst: Character.toLowerCase(io.undertow.util.URLUtils)
      Src: io.undertow.util.URLUtils:144,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.URLUtils:145,1
    - Dst: Character.toLowerCase(io.undertow.util.URLUtils)
      Src: io.undertow.util.URLUtils:145,1
    - Dst: '[io.undertow.util.URLUtils].expandBytes(io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:148,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.URLUtils:152,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.URLUtils:153,1
    - Dst: '[String].charAt(io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:157,1
    - Dst: '[io.undertow.util.URLUtils].failedToDecodeURL(String,String,null)'
      Src: io.undertow.util.URLUtils:167,1
    - Dst: '[io.undertow.util.URLUtils].failedToDecodeURL(String,String,null)'
      Src: io.undertow.util.URLUtils:174,1
    - Dst: '[io.undertow.util.URLUtils].failedToDecodeURL(String,String,null)'
      Src: io.undertow.util.URLUtils:177,1
    - Dst: '[io.undertow.util.URLUtils].expandBytes(byte[])'
      Src: io.undertow.util.URLUtils:181,1
    - Dst: '[String].charAt(io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:186,1
    - Dst: '[io.undertow.util.URLUtils].expandBytes(byte[])'
      Src: io.undertow.util.URLUtils:190,1
    - Dst: '[String].charAt(io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:195,1
    - Dst: '[io.undertow.util.URLUtils].expandBytes(byte[])'
      Src: io.undertow.util.URLUtils:199,1
    - Dst: '[io.undertow.util.URLUtils].expandBytes(byte[])'
      Src: io.undertow.util.URLUtils:205,1
    - Dst: '[String].charAt(io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:213,1
    - Dst: '[String].<init>(byte[],int,io.undertow.util.URLUtils,String)'
      Src: io.undertow.util.URLUtils:218,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.URLUtils:219,1
    - Dst: '[io.undertow.util.URLUtils].failedToDecodeURL(String,String,io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:221,1
    - Dst: '[io.undertow.util.URLUtils].failedToDecodeURL(String,String,io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:223,1
    - Dst: '[StringBuilder].append(io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:228,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.URLUtils:233,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 139
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      - boolean
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - s
    - enc
    - decodeSlash
    - formEncoding
    - buffer
    argTypes:
    - String
    - String
    - boolean
    - boolean
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 234
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 234
    functionName: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.util.URLUtils].expandBytes(io.undertow.util.URLUtils)'
    - '[StringBuilder].append(io.undertow.util.URLUtils)'
    - '[StringBuilder].append(char)'
    - '[io.undertow.util.URLUtils].failedToDecodeURL(String,String,null)'
    - '[io.undertow.util.URLUtils].expandBytes(byte[])'
    - Character.toLowerCase(io.undertow.util.URLUtils)
    - '[String].charAt(int)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[String].charAt(io.undertow.util.URLUtils)'
    - '[StringBuilder].setLength(int)'
    - '[StringBuilder].append(String)'
    - '[String].<init>(byte[],int,io.undertow.util.URLUtils,String)'
    - '[io.undertow.util.URLUtils].failedToDecodeURL(String,String,io.undertow.util.URLUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,io.undertow.util.URLUtils,int,io.undertow.util.URLUtils)
      Src: io.undertow.util.URLUtils:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: '[io.undertow.util.URLUtils].expandBytes(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],int,io.undertow.util.URLUtils,int,io.undertow.util.URLUtils)
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.URLUtils].expandBytes(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.util.URLUtils:318,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.util.URLUtils:322,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.util.URLUtils:322,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.util.URLUtils:322,1
    - Dst: '[StringBuilder].charAt(int)'
      Src: io.undertow.util.URLUtils:322,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.util.URLUtils:323,1
    - Dst: '[StringBuilder].deleteCharAt(int)'
      Src: io.undertow.util.URLUtils:323,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.util.URLUtils:328,1
    - Dst: '[StringBuilder].charAt(int)'
      Src: io.undertow.util.URLUtils:328,1
    - Dst: '[StringBuilder].insert(int,char)'
      Src: io.undertow.util.URLUtils:329,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.URLUtils:335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 339
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 339
    functionName: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 8
    functionsReached:
    - '[StringBuilder].deleteCharAt(int)'
    - '[StringBuilder].length()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(String)'
    - '[StringBuilder].insert(int,char)'
    - '[StringBuilder].charAt(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.URLUtils:349,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.URLUtils:349,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.URLUtils:351,1
    - Dst: '[io.undertow.util.URLUtils].matches()'
      Src: io.undertow.util.URLUtils:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - location
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 6
    functionsReached:
    - '[java.util.regex.Pattern].matcher(String)'
    - '[String].contains(String)'
    - '[String].length()'
    - '[io.undertow.util.URLUtils].matches()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.URLUtils].isAbsoluteUrl(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,Boolean)'
      Src: io.undertow.util.URLUtils:357,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>)'
      Src: io.undertow.util.URLUtils:358,1
    - Dst: '[io.undertow.util.URLUtils].getSlashDecodingFlag(io.undertow.util.URLUtils,io.undertow.util.URLUtils)'
      Src: io.undertow.util.URLUtils:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - options
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 6
    functionsReached:
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,Boolean)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>)'
    - '[io.undertow.util.URLUtils].getSlashDecodingFlag(io.undertow.util.URLUtils,io.undertow.util.URLUtils)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.URLUtils].getSlashDecodingFlag(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - Boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - QueryStringParser
      - QueryStringParser
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - allowEncodedSlash
    - decodeSlash
    argTypes:
    - boolean
    - Boolean
    constantsTouched: []
    func_position:
      end: 370
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 370
    functionName: '[io.undertow.util.URLUtils].getSlashDecodingFlag(boolean,Boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.URLUtils].getSlashDecodingFlag(boolean,Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - char
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - char
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.URLUtils.QueryStringParser
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - separator
    - parseUntilSeparator
    argTypes:
    - char
    - boolean
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: '[io.undertow.util.URLUtils.QueryStringParser].<init>(char,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.URLUtils.QueryStringParser
    signature: '[io.undertow.util.URLUtils.QueryStringParser].<init>(char,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.URLUtils.QueryStringParser:258,1
    - Dst: '[String].charAt(io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:259,1
    - Dst: '[String].substring(io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:261,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].decode(String,io.undertow.util.URLUtils.QueryStringParser,boolean)'
      Src: io.undertow.util.URLUtils.QueryStringParser:265,1
    - Dst: '[String].substring(io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:265,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].decode(String,io.undertow.util.URLUtils.QueryStringParser,boolean)'
      Src: io.undertow.util.URLUtils.QueryStringParser:265,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].handle(io.undertow.server.HttpServerExchange,io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:265,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].tooManyParameters(int)'
      Src: io.undertow.util.URLUtils.QueryStringParser:267,1
    - Dst: '[String].substring(io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:270,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].decode(String,io.undertow.util.URLUtils.QueryStringParser,boolean)'
      Src: io.undertow.util.URLUtils.QueryStringParser:270,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].handle(io.undertow.server.HttpServerExchange,io.undertow.util.URLUtils.QueryStringParser,String)'
      Src: io.undertow.util.URLUtils.QueryStringParser:270,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].tooManyParameters(int)'
      Src: io.undertow.util.URLUtils.QueryStringParser:272,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].decode(String,io.undertow.util.URLUtils.QueryStringParser,boolean)'
      Src: io.undertow.util.URLUtils.QueryStringParser:282,1
    - Dst: '[String].substring(io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:282,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].decode(String,io.undertow.util.URLUtils.QueryStringParser,boolean)'
      Src: io.undertow.util.URLUtils.QueryStringParser:282,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].handle(io.undertow.server.HttpServerExchange,io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:282,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].tooManyParameters(int)'
      Src: io.undertow.util.URLUtils.QueryStringParser:284,1
    - Dst: '[String].length()'
      Src: io.undertow.util.URLUtils.QueryStringParser:286,1
    - Dst: '[String].substring(io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:287,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].decode(String,io.undertow.util.URLUtils.QueryStringParser,boolean)'
      Src: io.undertow.util.URLUtils.QueryStringParser:287,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].handle(io.undertow.server.HttpServerExchange,io.undertow.util.URLUtils.QueryStringParser,String)'
      Src: io.undertow.util.URLUtils.QueryStringParser:287,1
    - Dst: '[io.undertow.util.URLUtils.QueryStringParser].tooManyParameters(int)'
      Src: io.undertow.util.URLUtils.QueryStringParser:289,1
    - Dst: '[RuntimeException].<init>(io.undertow.util.URLUtils.QueryStringParser)'
      Src: io.undertow.util.URLUtils.QueryStringParser:293,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      - String
      - boolean
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - char
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.util.ParameterLimitException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - string
    - exchange
    - charset
    - doDecode
    - max
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    - String
    - boolean
    - int
    constantsTouched: []
    func_position:
      end: 296
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 296
    functionName: '[io.undertow.util.URLUtils.QueryStringParser].parse(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 2
    functionsReached:
    - '[String].substring(io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
    - '[io.undertow.util.URLUtils.QueryStringParser].tooManyParameters(int)'
    - '[io.undertow.util.URLUtils.QueryStringParser].decode(String,io.undertow.util.URLUtils.QueryStringParser,boolean)'
    - '[String].length()'
    - '[io.undertow.util.URLUtils.QueryStringParser].handle(io.undertow.server.HttpServerExchange,io.undertow.util.URLUtils.QueryStringParser,String)'
    - '[String].charAt(io.undertow.util.URLUtils.QueryStringParser)'
    - '[RuntimeException].<init>(io.undertow.util.URLUtils.QueryStringParser)'
    - '[io.undertow.util.URLUtils.QueryStringParser].handle(io.undertow.server.HttpServerExchange,io.undertow.util.URLUtils.QueryStringParser,io.undertow.util.URLUtils.QueryStringParser)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.URLUtils.QueryStringParser].parse(String,io.undertow.server.HttpServerExchange,String,boolean,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.URLUtils.QueryStringParser:300,1
    - Dst: '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
      Src: io.undertow.util.URLUtils.QueryStringParser:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - char
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - charset
    - attrName
    - doDecode
    argTypes:
    - String
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: '[io.undertow.util.URLUtils.QueryStringParser].decode(String,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].decode(String,String,boolean,boolean,StringBuilder)'
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.URLUtils.QueryStringParser].decode(String,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - char
      - boolean
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - key
    - value
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - String
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: '[io.undertow.util.URLUtils.QueryStringParser].handle(io.undertow.server.HttpServerExchange,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/URLUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.URLUtils.QueryStringParser].handle(io.undertow.server.HttpServerExchange,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Constructor<?extendsConcurrentDirectDeque>].newInstance()'
      Src: io.undertow.util.ConcurrentDirectDeque:51,1
    - Dst: '[IllegalStateException].<init>(io.undertow.util.ConcurrentDirectDeque)'
      Src: io.undertow.util.ConcurrentDirectDeque:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Constructor<?extendsConcurrentDirectDeque>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ConcurrentDirectDeque<K>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConcurrentDirectDeque.java
    functionUses: 4
    functionsReached:
    - '[IllegalStateException].<init>(io.undertow.util.ConcurrentDirectDeque)'
    - '[Constructor<?extendsConcurrentDirectDeque>].newInstance()'
    linkageType: ''
    returnType: io.undertow.util.ConcurrentDirectDeque<K>
    signature: '[io.undertow.util.ConcurrentDirectDeque].newInstance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: false
      classEnum: false
      classFields:
      - Constructor<?extendsConcurrentDirectDeque>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '[io.undertow.util.ConcurrentDirectDeque].offerFirstAndReturnToken(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.util.ConcurrentDirectDeque].offerFirstAndReturnToken(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: false
      classEnum: false
      classFields:
      - Constructor<?extendsConcurrentDirectDeque>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.util.ConcurrentDirectDeque].offerLastAndReturnToken(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.util.ConcurrentDirectDeque].offerLastAndReturnToken(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: false
      classEnum: false
      classFields:
      - Constructor<?extendsConcurrentDirectDeque>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '[io.undertow.util.ConcurrentDirectDeque].removeToken(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ConcurrentDirectDeque].removeToken(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Constructor<?extendsConcurrentDirectDeque>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ConcurrentDirectDeque
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.ConcurrentDirectDeque].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ConcurrentDirectDeque
    signature: '[io.undertow.util.ConcurrentDirectDeque].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Locale].forLanguageTag(String)'
      Src: io.undertow.util.LocaleUtils:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Locale
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - localeString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: '[io.undertow.util.LocaleUtils].getLocaleFromString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LocaleUtils.java
    functionUses: 1
    functionsReached:
    - '[java.util.Locale].forLanguageTag(String)'
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.util.LocaleUtils].getLocaleFromString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.LocaleUtils:50,1
    - Dst: '[java.util.Collections].singletonList(String)'
      Src: io.undertow.util.LocaleUtils:52,1
    - Dst: '[io.undertow.util.LocaleUtils].getLocalesFromHeader(io.undertow.util.LocaleUtils)'
      Src: io.undertow.util.LocaleUtils:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<java.util.Locale>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - acceptLanguage
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: '[io.undertow.util.LocaleUtils].getLocalesFromHeader(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LocaleUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.LocaleUtils].getLocalesFromHeader(io.undertow.util.LocaleUtils)'
    - '[java.util.Collections].singletonList(String)'
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<java.util.Locale>
    signature: '[io.undertow.util.LocaleUtils].getLocalesFromHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].isEmpty()'
      Src: io.undertow.util.LocaleUtils:64,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.LocaleUtils:65,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.LocaleUtils:67,1
    - Dst: '[io.undertow.util.QValueParser].parse(java.util.List<String>)'
      Src: io.undertow.util.LocaleUtils:68,1
    - Dst: res.isQValueZero()
      Src: io.undertow.util.LocaleUtils:71,1
    - Dst: res.getValue()
      Src: io.undertow.util.LocaleUtils:72,1
    - Dst: '[io.undertow.util.LocaleUtils].getLocaleFromString(io.undertow.util.LocaleUtils)'
      Src: io.undertow.util.LocaleUtils:72,1
    - Dst: '[java.util.ArrayList].add(java.util.Locale)'
      Src: io.undertow.util.LocaleUtils:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<java.util.Locale>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - acceptLanguage
    argTypes:
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: '[io.undertow.util.LocaleUtils].getLocalesFromHeader(java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LocaleUtils.java
    functionUses: 0
    functionsReached:
    - res.getValue()
    - '[java.util.Collections].emptyList()'
    - '[java.util.ArrayList].add(java.util.Locale)'
    - '[io.undertow.util.QValueParser].parse(java.util.List<String>)'
    - '[io.undertow.util.LocaleUtils].getLocaleFromString(io.undertow.util.LocaleUtils)'
    - res.isQValueZero()
    - '[java.util.ArrayList].<init>()'
    - '[java.util.List<String>].isEmpty()'
    linkageType: ''
    returnType: java.util.List<java.util.Locale>
    signature: '[io.undertow.util.LocaleUtils].getLocalesFromHeader(java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.LocaleUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.LocaleUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LocaleUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.LocaleUtils
    signature: '[io.undertow.util.LocaleUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.util.PathTemplateMatch:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateMatch
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - matchedTemplate
    - parameters
    argTypes:
    - String
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.util.PathTemplateMatch].<init>(String,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatch.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatch
    signature: '[io.undertow.util.PathTemplateMatch].<init>(String,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.util.PathTemplateMatch].getMatchedTemplate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatch.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateMatch].getMatchedTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<io.undertow.util.PathTemplateMatch>
      - String
      - java.util.Map<String,String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.PathTemplateMatch].getParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatch.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.util.PathTemplateMatch].getParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:129,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:130,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:131,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:132,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:133,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:134,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:135,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:136,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:137,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:138,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:139,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:140,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:141,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:142,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:143,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:144,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:145,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:146,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:147,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:148,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:149,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:150,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:151,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:152,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:153,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:154,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:155,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:156,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:157,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:158,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:159,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:160,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:161,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:162,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:163,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:164,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:165,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:166,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:167,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:168,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:169,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:170,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:171,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:172,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:173,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:174,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:175,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:176,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:177,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:178,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:179,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:180,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:181,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:182,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:183,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:184,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:185,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:186,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:187,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:188,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:189,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:190,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:191,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:192,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:193,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:194,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:195,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:196,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:197,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:198,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:199,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:200,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:201,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:202,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:203,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:204,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:205,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:206,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:207,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:208,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:209,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:210,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:211,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:212,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.Headers:213,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:216,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:217,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:218,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:219,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:220,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:221,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:225,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:232,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:233,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:237,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:240,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:241,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:242,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:245,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:246,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:247,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:248,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:249,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:250,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:251,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:252,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:253,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:254,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:255,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:256,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:257,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:258,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Headers:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Map<String,io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.Headers
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: '[io.undertow.util.Headers].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Headers.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(String,int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.util.Headers
    signature: '[io.undertow.util.Headers].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,io.undertow.util.HttpString>].get(String)'
      Src: io.undertow.util.Headers:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Map<String,io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: '[io.undertow.util.Headers].fromCache(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Headers.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,io.undertow.util.HttpString>].get(String)'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.Headers].fromCache(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.util.Headers:303,1
    - Dst: '[String].startsWith(char)'
      Src: io.undertow.util.Headers:305,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Headers:313,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Headers:314,1
    - Dst: '[String].charAt(io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:315,1
    - Dst: '[String].substring(io.undertow.util.Headers,io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Map<String,io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - header
    - key
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 321
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 321
    functionName: '[io.undertow.util.Headers].extractTokenFromHeader(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Headers.java
    functionUses: 1
    functionsReached:
    - '[String].indexOf(char)'
    - '[String].charAt(io.undertow.util.Headers)'
    - '[String].startsWith(char)'
    - '[String].length()'
    - '[String].substring(io.undertow.util.Headers,io.undertow.util.Headers)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Headers].extractTokenFromHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.Headers:340,1
    - Dst: '[String].charAt(io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:342,1
    - Dst: '[String].charAt(io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:348,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Headers:359,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Headers:360,1
    - Dst: '[String].charAt(io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:376,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Headers:378,1
    - Dst: '[String].charAt(io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:379,1
    - Dst: '[String].substring(io.undertow.util.Headers,io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:384,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Headers:388,1
    - Dst: '[String].charAt(io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:389,1
    - Dst: '[String].substring(io.undertow.util.Headers,io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:394,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Map<String,io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - header
    - key
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 396
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 396
    functionName: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Headers.java
    functionUses: 10
    functionsReached:
    - '[String].charAt(int)'
    - '[String].length()'
    - '[String].substring(io.undertow.util.Headers,io.undertow.util.Headers)'
    - '[String].charAt(io.undertow.util.Headers)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.Headers:410,1
    - Dst: '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
      Src: io.undertow.util.Headers:414,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.util.Headers:416,1
    - Dst: '[String].lastIndexOf(char,int)'
      Src: io.undertow.util.Headers:417,1
    - Dst: '[String].substring(int,io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:418,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.util.Headers:420,1
    - Dst: '[java.net.URLDecoder].decode(io.undertow.util.Headers,io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:421,1
    - Dst: '[RuntimeException].<init>(io.undertow.util.Headers)'
      Src: io.undertow.util.Headers:423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Map<String,io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - header
    - key
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 427
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 427
    functionName: '[io.undertow.util.Headers].extractQuotedValueFromHeaderWithEncoding(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Headers.java
    functionUses: 1
    functionsReached:
    - '[java.net.URLDecoder].decode(io.undertow.util.Headers,io.undertow.util.Headers)'
    - '[String].indexOf(char)'
    - '[String].substring(int)'
    - '[String].substring(int,io.undertow.util.Headers)'
    - '[String].lastIndexOf(char,int)'
    - '[RuntimeException].<init>(io.undertow.util.Headers)'
    - '[io.undertow.util.Headers].extractQuotedValueFromHeader(String,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Headers].extractQuotedValueFromHeaderWithEncoding(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.UTF8Output].<init>()'
      Src: io.undertow.util.StringReadChannelListener:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.StringReadChannelListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bufferPool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.util.StringReadChannelListener].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringReadChannelListener.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.UTF8Output].<init>()'
    linkageType: ''
    returnType: io.undertow.util.StringReadChannelListener
    signature: '[io.undertow.util.StringReadChannelListener].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.UTF8Output].<init>()'
      Src: io.undertow.util.StringReadChannelListener:42,1
    - Dst: '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
      Src: io.undertow.util.StringReadChannelListener:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Pool<java.nio.ByteBuffer>
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.StringReadChannelListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bufferPool
    argTypes:
    - org.xnio.Pool<java.nio.ByteBuffer>
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.util.StringReadChannelListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringReadChannelListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.UTF8Output].<init>()'
    - '[io.undertow.server.XnioByteBufferPool].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
    linkageType: ''
    returnType: io.undertow.util.StringReadChannelListener
    signature: '[io.undertow.util.StringReadChannelListener].<init>(org.xnio.Pool<java.nio.ByteBuffer>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.util.StringReadChannelListener:55,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.StringReadChannelListener:56,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.util.StringReadChannelListener:60,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.util.StringReadChannelListener:62,1
    - Dst: '[io.undertow.util.StringReadChannelListener].set()'
      Src: io.undertow.util.StringReadChannelListener:62,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.util.StringReadChannelListener:63,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].extract()'
      Src: io.undertow.util.StringReadChannelListener:65,1
    - Dst: '[io.undertow.util.StringReadChannelListener].stringDone(String)'
      Src: io.undertow.util.StringReadChannelListener:65,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.util.StringReadChannelListener:66,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.util.StringReadChannelListener:68,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(java.nio.ByteBuffer)'
      Src: io.undertow.util.StringReadChannelListener:69,1
    - Dst: '[io.undertow.util.StringReadChannelListener].error(io.undertow.util.StringReadChannelListener)'
      Src: io.undertow.util.StringReadChannelListener:73,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.StringReadChannelListener:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: '[io.undertow.util.StringReadChannelListener].setup(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringReadChannelListener.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.util.StringReadChannelListener].stringDone(String)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.websockets.core.UTF8Output].extract()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].flip()'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.websockets.core.UTF8Output].write(java.nio.ByteBuffer)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSourceChannel)'
    - '[io.undertow.util.StringReadChannelListener].set()'
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.util.StringReadChannelListener].error(io.undertow.util.StringReadChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StringReadChannelListener].setup(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.util.StringReadChannelListener:81,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.StringReadChannelListener:82,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.util.StringReadChannelListener:86,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].extract()'
      Src: io.undertow.util.StringReadChannelListener:90,1
    - Dst: '[io.undertow.util.StringReadChannelListener].stringDone(String)'
      Src: io.undertow.util.StringReadChannelListener:90,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.util.StringReadChannelListener:91,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.util.StringReadChannelListener:93,1
    - Dst: '[io.undertow.websockets.core.UTF8Output].write(java.nio.ByteBuffer)'
      Src: io.undertow.util.StringReadChannelListener:94,1
    - Dst: '[io.undertow.util.StringReadChannelListener].error(io.undertow.util.StringReadChannelListener)'
      Src: io.undertow.util.StringReadChannelListener:98,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.StringReadChannelListener:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: '[io.undertow.util.StringReadChannelListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringReadChannelListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    - '[io.undertow.util.StringReadChannelListener].stringDone(String)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.websockets.core.UTF8Output].extract()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.websockets.core.UTF8Output].write(java.nio.ByteBuffer)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSourceChannel)'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.util.StringReadChannelListener].error(io.undertow.util.StringReadChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StringReadChannelListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '[io.undertow.util.StringReadChannelListener].stringDone(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringReadChannelListener.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StringReadChannelListener].stringDone(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.websockets.core.UTF8Output
      - io.undertow.connector.ByteBufferPool
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: '[io.undertow.util.StringReadChannelListener].error(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringReadChannelListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StringReadChannelListener].error(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
      Src: io.undertow.util.CanonicalPathUtils:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CanonicalPathUtils.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.CanonicalPathUtils].canonicalize(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.CanonicalPathUtils:41,1
    - Dst: '[String].charAt(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:42,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
      Src: io.undertow.util.CanonicalPathUtils:46,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
      Src: io.undertow.util.CanonicalPathUtils:48,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
      Src: io.undertow.util.CanonicalPathUtils:50,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
      Src: io.undertow.util.CanonicalPathUtils:66,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
      Src: io.undertow.util.CanonicalPathUtils:68,1
    - Dst: '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
      Src: io.undertow.util.CanonicalPathUtils:70,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - path
    - nullAllowed
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 82
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 82
    functionName: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CanonicalPathUtils.java
    functionUses: 3
    functionsReached:
    - '[String].length()'
    - '[String].charAt(io.undertow.util.CanonicalPathUtils)'
    - '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.CanonicalPathUtils].canonicalize(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.CanonicalPathUtils:95,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.CanonicalPathUtils:96,1
    - Dst: '[String].charAt(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:98,1
    - Dst: '[String].substring(int,io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:125,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:125,1
    - Dst: '[String].substring(int,io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:141,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:141,1
    - Dst: '[String].substring(int,io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:154,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:154,1
    - Dst: '[String].substring(int,io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:166,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:166,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.CanonicalPathUtils:181,1
    - Dst: '[String].substring(int,io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:183,1
    - Dst: '[StringBuilder].append(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:183,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.util.CanonicalPathUtils:185,1
    - Dst: '[java.util.ArrayList].get(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:186,1
    - Dst: '[StringBuilder].append(io.undertow.util.CanonicalPathUtils)'
      Src: io.undertow.util.CanonicalPathUtils:186,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.util.CanonicalPathUtils:188,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.CanonicalPathUtils:191,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 89
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - path
    - lastDot
    - initialState
    - nullAllowed
    argTypes:
    - String
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 192
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 192
    functionName: '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CanonicalPathUtils.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].get(io.undertow.util.CanonicalPathUtils)'
    - '[java.util.ArrayList].add(io.undertow.util.CanonicalPathUtils)'
    - '[StringBuilder].append(io.undertow.util.CanonicalPathUtils)'
    - '[String].substring(int,io.undertow.util.CanonicalPathUtils)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[String].charAt(io.undertow.util.CanonicalPathUtils)'
    - '[java.util.ArrayList].<init>()'
    - '[StringBuilder].length()'
    - '[java.util.ArrayList].size()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.CanonicalPathUtils].realCanonicalize(String,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Boolean.parseBoolean(String)
      Src: io.undertow.util.CanonicalPathUtils:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.CanonicalPathUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: '[io.undertow.util.CanonicalPathUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CanonicalPathUtils.java
    functionUses: 0
    functionsReached:
    - Boolean.parseBoolean(String)
    linkageType: ''
    returnType: io.undertow.util.CanonicalPathUtils
    signature: '[io.undertow.util.CanonicalPathUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PooledObject<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '[io.undertow.util.ObjectPool].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ObjectPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PooledObject<T>
    signature: '[io.undertow.util.ObjectPool].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ObjectPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.ObjectPool].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ObjectPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ObjectPool
    signature: '[io.undertow.util.ObjectPool].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Optional<String>].orElse(String)'
      Src: io.undertow.util.PathTemplateRouteResult:69,1
    - Dst: '[java.util.Objects].requireNonNull(java.util.Map<String,String>)'
      Src: io.undertow.util.PathTemplateRouteResult:70,1
    - Dst: '[io.undertow.util.PathTemplateMatch].<init>(io.undertow.util.PathTemplateRouteResult,io.undertow.util.PathTemplateRouteResult)'
      Src: io.undertow.util.PathTemplateRouteResult:68,1
    - Dst: '[java.util.Objects].requireNonNull(T)'
      Src: io.undertow.util.PathTemplateRouteResult:72,1
    - Dst: '[java.util.Objects].requireNonNull(java.util.Optional<String>)'
      Src: io.undertow.util.PathTemplateRouteResult:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      - java.util.Optional<String>
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - java.util.Optional<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult
      static: false
      superClass: io.undertow.util.PathTemplateMatch
    argCount: 3
    argNames:
    - target
    - pathTemplate
    - parameters
    argTypes:
    - T
    - java.util.Optional<String>
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: '[io.undertow.util.PathTemplateRouteResult].<init>(T,java.util.Optional<String>,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouteResult.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatch].<init>(io.undertow.util.PathTemplateRouteResult,io.undertow.util.PathTemplateRouteResult)'
    - '[java.util.Objects].requireNonNull(java.util.Map<String,String>)'
    - '[java.util.Optional<String>].orElse(String)'
    - '[java.util.Objects].requireNonNull(java.util.Optional<String>)'
    - '[java.util.Objects].requireNonNull(T)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult
    signature: '[io.undertow.util.PathTemplateRouteResult].<init>(T,java.util.Optional<String>,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouteResult].getParameters()'
      Src: io.undertow.util.PathTemplateRouteResult:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - java.util.Optional<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.PathTemplateMatch
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '[io.undertow.util.PathTemplateRouteResult].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouteResult.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouteResult].getParameters()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouteResult].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - java.util.Optional<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.util.PathTemplateMatch
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.PathTemplateRouteResult].getTarget()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouteResult.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PathTemplateRouteResult].getTarget()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - java.util.Optional<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Optional<String>
      static: false
      superClass: io.undertow.util.PathTemplateMatch
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.util.PathTemplateRouteResult].getPathTemplate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouteResult.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Optional<String>
    signature: '[io.undertow.util.PathTemplateRouteResult].getPathTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap].<init>()'
      Src: io.undertow.util.PathMatcher:46,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.util.PathMatcher:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultHandler
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.util.PathMatcher].<init>(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[io.undertow.util.SubstringMap].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathMatcher
    signature: '[io.undertow.util.PathMatcher].<init>(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap].<init>()'
      Src: io.undertow.util.PathMatcher:46,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.util.PathMatcher:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: '[io.undertow.util.PathMatcher].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 11
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    - '[io.undertow.util.SubstringMap].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathMatcher
    signature: '[io.undertow.util.PathMatcher].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,T>].keySet()'
      Src: io.undertow.util.PathMatcher:62,1
    - Dst: '[java.util.Collections].unmodifiableSet(io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.util.PathMatcher].getExactPathMatchesSet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,T>].keySet()'
    - '[java.util.Collections].unmodifiableSet(io.undertow.util.PathMatcher)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.util.PathMatcher].getExactPathMatchesSet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap<T>].toMap()'
      Src: io.undertow.util.PathMatcher:67,1
    - Dst: '[io.undertow.util.PathMatcher].keySet()'
      Src: io.undertow.util.PathMatcher:67,1
    - Dst: '[java.util.Collections].unmodifiableSet(io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.util.PathMatcher].getPathMatchesSet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SubstringMap<T>].toMap()'
    - '[io.undertow.util.PathMatcher].keySet()'
    - '[java.util.Collections].unmodifiableSet(io.undertow.util.PathMatcher)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.util.PathMatcher].getPathMatchesSet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,T>].isEmpty()'
      Src: io.undertow.util.PathMatcher:76,1
    - Dst: '[io.undertow.util.PathMatcher].getExactPath(String)'
      Src: io.undertow.util.PathMatcher:77,1
    - Dst: '[io.undertow.util.PathMatcher].debugf(String,String)'
      Src: io.undertow.util.PathMatcher:79,1
    - Dst: '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,T)'
      Src: io.undertow.util.PathMatcher:80,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathMatcher:84,1
    - Dst: '[io.undertow.util.SubstringMap<T>].get(String,io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:89,1
    - Dst: '[io.undertow.util.PathMatcher].getKey()'
      Src: io.undertow.util.PathMatcher:91,1
    - Dst: '[io.undertow.util.PathMatcher].debugf(String,io.undertow.util.PathMatcher,String)'
      Src: io.undertow.util.PathMatcher:91,1
    - Dst: '[io.undertow.util.PathMatcher].getValue()'
      Src: io.undertow.util.PathMatcher:92,1
    - Dst: '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:92,1
    - Dst: '[String].charAt(io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:95,1
    - Dst: '[io.undertow.util.SubstringMap<T>].get(String,io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:98,1
    - Dst: '[io.undertow.util.PathMatcher].getKey()'
      Src: io.undertow.util.PathMatcher:100,1
    - Dst: '[io.undertow.util.PathMatcher].debugf(String,io.undertow.util.PathMatcher,String)'
      Src: io.undertow.util.PathMatcher:100,1
    - Dst: '[io.undertow.util.PathMatcher].getKey()'
      Src: io.undertow.util.PathMatcher:101,1
    - Dst: '[String].substring(io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:101,1
    - Dst: '[io.undertow.util.PathMatcher].getValue()'
      Src: io.undertow.util.PathMatcher:101,1
    - Dst: '[io.undertow.util.PathMatcher.PathMatch].<init>(io.undertow.util.PathMatcher,io.undertow.util.PathMatcher,io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:101,1
    - Dst: '[io.undertow.util.PathMatcher].debugf(String,String)'
      Src: io.undertow.util.PathMatcher:106,1
    - Dst: '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,T)'
      Src: io.undertow.util.PathMatcher:107,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: PathMatch<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: '[io.undertow.util.PathMatcher].match(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 3
    functionsReached:
    - '[String].substring(io.undertow.util.PathMatcher)'
    - '[io.undertow.util.PathMatcher].debugf(String,io.undertow.util.PathMatcher,String)'
    - '[io.undertow.util.PathMatcher.PathMatch].<init>(io.undertow.util.PathMatcher,io.undertow.util.PathMatcher,io.undertow.util.PathMatcher)'
    - '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,T)'
    - '[io.undertow.util.PathMatcher].debugf(String,String)'
    - '[String].charAt(io.undertow.util.PathMatcher)'
    - '[String].length()'
    - '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,io.undertow.util.PathMatcher)'
    - '[java.util.concurrent.ConcurrentMap<String,T>].isEmpty()'
    - '[io.undertow.util.PathMatcher].getKey()'
    - '[io.undertow.util.PathMatcher].getValue()'
    - '[io.undertow.util.PathMatcher].getExactPath(String)'
    - '[io.undertow.util.SubstringMap<T>].get(String,io.undertow.util.PathMatcher)'
    linkageType: ''
    returnType: PathMatch<T>
    signature: '[io.undertow.util.PathMatcher].match(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.PathMatcher:123,1
    - Dst: '[io.undertow.util.PathMatcher].pathMustBeSpecified()'
      Src: io.undertow.util.PathMatcher:124,1
    - Dst: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
      Src: io.undertow.util.PathMatcher:127,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.util.PathMatcher:129,1
    - Dst: '[io.undertow.util.SubstringMap<T>].put(String,T)'
      Src: io.undertow.util.PathMatcher:134,1
    - Dst: '[io.undertow.util.PathMatcher].buildLengths()'
      Src: io.undertow.util.PathMatcher:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - handler
    argTypes:
    - String
    - T
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: '[io.undertow.util.PathMatcher].addPrefixPath(String,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher].buildLengths()'
    - '[String].equals(String)'
    - '[io.undertow.util.SubstringMap<T>].put(String,T)'
    - '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    - '[String].isEmpty()'
    - '[io.undertow.util.PathMatcher].pathMustBeSpecified()'
    linkageType: ''
    returnType: io.undertow.util.PathMatcher
    signature: '[io.undertow.util.PathMatcher].addPrefixPath(String,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.PathMatcher:142,1
    - Dst: '[io.undertow.util.PathMatcher].pathMustBeSpecified()'
      Src: io.undertow.util.PathMatcher:143,1
    - Dst: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
      Src: io.undertow.util.PathMatcher:145,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,T>].put(String,T)'
      Src: io.undertow.util.PathMatcher:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - handler
    argTypes:
    - String
    - T
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: '[io.undertow.util.PathMatcher].addExactPath(String,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    - '[java.util.concurrent.ConcurrentMap<String,T>].put(String,T)'
    - '[String].isEmpty()'
    - '[io.undertow.util.PathMatcher].pathMustBeSpecified()'
    linkageType: ''
    returnType: io.undertow.util.PathMatcher
    signature: '[io.undertow.util.PathMatcher].addExactPath(String,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
      Src: io.undertow.util.PathMatcher:150,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,T>].get(String)'
      Src: io.undertow.util.PathMatcher:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.util.PathMatcher].getExactPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,T>].get(String)'
    - '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PathMatcher].getExactPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
      Src: io.undertow.util.PathMatcher:155,1
    - Dst: '[io.undertow.util.SubstringMap<T>].get(String)'
      Src: io.undertow.util.PathMatcher:158,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.util.PathMatcher:159,1
    - Dst: '[io.undertow.util.PathMatcher].getValue()'
      Src: io.undertow.util.PathMatcher:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    - '[io.undertow.util.PathMatcher].getValue()'
    - '[io.undertow.util.SubstringMap<T>].get(String)'
    - '[String].equals(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PathMatcher].getPrefixPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.util.PathMatcher:171,1
    - Dst: '[java.util.TreeSet].<init>(java.util.Comparator)'
      Src: io.undertow.util.PathMatcher:171,1
    - Dst: '[io.undertow.util.SubstringMap<T>].keys()'
      Src: io.undertow.util.PathMatcher:177,1
    - Dst: p.length()
      Src: io.undertow.util.PathMatcher:178,1
    - Dst: '[java.util.TreeSet].add(io.undertow.util.PathMatcher)'
      Src: io.undertow.util.PathMatcher:178,1
    - Dst: '[java.util.TreeSet].size()'
      Src: io.undertow.util.PathMatcher:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: '[io.undertow.util.PathMatcher].buildLengths()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 2
    functionsReached:
    - '[java.util.TreeSet].add(io.undertow.util.PathMatcher)'
    - '[java.util.Comparator].<init>()'
    - '[java.util.TreeSet].size()'
    - '[io.undertow.util.SubstringMap<T>].keys()'
    - '[java.util.TreeSet].<init>(java.util.Comparator)'
    - p.length()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathMatcher].buildLengths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathMatcher].removePrefixPath(String)'
      Src: io.undertow.util.PathMatcher:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: '[io.undertow.util.PathMatcher].removePath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathMatcher].removePrefixPath(String)'
    linkageType: ''
    returnType: io.undertow.util.PathMatcher
    signature: '[io.undertow.util.PathMatcher].removePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.PathMatcher:195,1
    - Dst: '[io.undertow.util.PathMatcher].pathMustBeSpecified()'
      Src: io.undertow.util.PathMatcher:196,1
    - Dst: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
      Src: io.undertow.util.PathMatcher:199,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.util.PathMatcher:201,1
    - Dst: '[io.undertow.util.SubstringMap<T>].remove(String)'
      Src: io.undertow.util.PathMatcher:206,1
    - Dst: '[io.undertow.util.PathMatcher].buildLengths()'
      Src: io.undertow.util.PathMatcher:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: '[io.undertow.util.PathMatcher].removePrefixPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathMatcher].buildLengths()'
    - '[String].equals(String)'
    - '[io.undertow.util.SubstringMap<T>].remove(String)'
    - '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    - '[String].isEmpty()'
    - '[io.undertow.util.PathMatcher].pathMustBeSpecified()'
    linkageType: ''
    returnType: io.undertow.util.PathMatcher
    signature: '[io.undertow.util.PathMatcher].removePrefixPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.PathMatcher:213,1
    - Dst: '[io.undertow.util.PathMatcher].pathMustBeSpecified()'
      Src: io.undertow.util.PathMatcher:214,1
    - Dst: '[io.undertow.util.URLUtils].normalizeSlashes(String)'
      Src: io.undertow.util.PathMatcher:217,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,T>].remove(String)'
      Src: io.undertow.util.PathMatcher:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: '[io.undertow.util.PathMatcher].removeExactPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.URLUtils].normalizeSlashes(String)'
    - '[String].isEmpty()'
    - '[java.util.concurrent.ConcurrentMap<String,T>].remove(String)'
    - '[io.undertow.util.PathMatcher].pathMustBeSpecified()'
    linkageType: ''
    returnType: io.undertow.util.PathMatcher
    signature: '[io.undertow.util.PathMatcher].removeExactPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap<T>].clear()'
      Src: io.undertow.util.PathMatcher:223,1
    - Dst: '[java.util.concurrent.ConcurrentMap<String,T>].clear()'
      Src: io.undertow.util.PathMatcher:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: '[io.undertow.util.PathMatcher].clearPaths()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.SubstringMap<T>].clear()'
    - '[java.util.concurrent.ConcurrentMap<String,T>].clear()'
    linkageType: ''
    returnType: io.undertow.util.PathMatcher
    signature: '[io.undertow.util.PathMatcher].clearPaths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap<T>].toMap()'
      Src: io.undertow.util.PathMatcher:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - T
      - io.undertow.util.SubstringMap<T>
      - java.util.concurrent.ConcurrentMap<String,T>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: '[io.undertow.util.PathMatcher].getPaths()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SubstringMap<T>].toMap()'
    linkageType: ''
    returnType: java.util.Map<String,T>
    signature: '[io.undertow.util.PathMatcher].getPaths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathMatcher.PathMatch
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - matched
    - remaining
    - value
    argTypes:
    - String
    - String
    - T
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathMatcher.PathMatch
    signature: '[io.undertow.util.PathMatcher.PathMatch].<init>(String,String,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: '[io.undertow.util.PathMatcher.PathMatch].getRemaining()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathMatcher.PathMatch].getRemaining()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: '[io.undertow.util.PathMatcher.PathMatch].getMatched()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathMatcher.PathMatch].getMatched()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: '[io.undertow.util.PathMatcher.PathMatch].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PathMatcher.PathMatch].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.NetworkUtils:81,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.NetworkUtils:84,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.util.NetworkUtils:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - address
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NetworkUtils.java
    functionUses: 6
    functionsReached:
    - '[String].contains(String)'
    - '[String].endsWith(String)'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.NetworkUtils].formatPossibleIpv6Address(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].split(String)'
      Src: io.undertow.util.NetworkUtils:92,1
    - Dst: '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
      Src: io.undertow.util.NetworkUtils:94,1
    - Dst: part.length()
      Src: io.undertow.util.NetworkUtils:99,1
    - Dst: part.charAt(int)
      Src: io.undertow.util.NetworkUtils:99,1
    - Dst: part.length()
      Src: io.undertow.util.NetworkUtils:99,1
    - Dst: '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
      Src: io.undertow.util.NetworkUtils:101,1
    - Dst: Integer.parseInt(io.undertow.util.NetworkUtils)
      Src: io.undertow.util.NetworkUtils:103,1
    - Dst: '[java.net.InetAddress].getByAddress(io.undertow.util.NetworkUtils)'
      Src: io.undertow.util.NetworkUtils:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetAddress
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - addressString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NetworkUtils.java
    functionUses: 12
    functionsReached:
    - part.length()
    - '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
    - '[java.net.InetAddress].getByAddress(io.undertow.util.NetworkUtils)'
    - part.charAt(int)
    - Integer.parseInt(io.undertow.util.NetworkUtils)
    - '[String].split(String)'
    linkageType: ''
    returnType: java.net.InetAddress
    signature: '[io.undertow.util.NetworkUtils].parseIpv4Address(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.NetworkUtils].parseIpv6AddressToBytes(String)'
      Src: io.undertow.util.NetworkUtils:110,1
    - Dst: '[java.net.InetAddress].getByAddress(byte[])'
      Src: io.undertow.util.NetworkUtils:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.InetAddress
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - addressString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NetworkUtils.java
    functionUses: 11
    functionsReached:
    - '[io.undertow.util.NetworkUtils].parseIpv6AddressToBytes(String)'
    - '[java.net.InetAddress].getByAddress(byte[])'
    linkageType: ''
    returnType: java.net.InetAddress
    signature: '[io.undertow.util.NetworkUtils].parseIpv6Address(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.NetworkUtils:114,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.NetworkUtils:115,1
    - Dst: '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
      Src: io.undertow.util.NetworkUtils:116,1
    - Dst: '[io.undertow.util.NetworkUtils].splitIPv6(String)'
      Src: io.undertow.util.NetworkUtils:118,1
    - Dst: '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
      Src: io.undertow.util.NetworkUtils:123,1
    - Dst: part.length()
      Src: io.undertow.util.NetworkUtils:127,1
    - Dst: '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
      Src: io.undertow.util.NetworkUtils:128,1
    - Dst: part.isEmpty()
      Src: io.undertow.util.NetworkUtils:129,1
    - Dst: '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
      Src: io.undertow.util.NetworkUtils:131,1
    - Dst: '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
      Src: io.undertow.util.NetworkUtils:136,1
    - Dst: Integer.parseInt(io.undertow.util.NetworkUtils,int)
      Src: io.undertow.util.NetworkUtils:140,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.util.NetworkUtils:145,1
    - Dst: '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
      Src: io.undertow.util.NetworkUtils:147,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.net.UnknownHostException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - addressString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 150
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 150
    functionName: '[io.undertow.util.NetworkUtils].parseIpv6AddressToBytes(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NetworkUtils.java
    functionUses: 2
    functionsReached:
    - part.isEmpty()
    - part.length()
    - '[io.undertow.util.NetworkUtils].invalidIpAddress(String)'
    - '[String].endsWith(String)'
    - '[io.undertow.util.NetworkUtils].splitIPv6(String)'
    - Integer.parseInt(io.undertow.util.NetworkUtils,int)
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.NetworkUtils].parseIpv6AddressToBytes(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.NetworkUtils:153,1
    - Dst: '[String].length()'
      Src: io.undertow.util.NetworkUtils:154,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.util.NetworkUtils:156,1
    - Dst: '[String].charAt(io.undertow.util.NetworkUtils)'
      Src: io.undertow.util.NetworkUtils:158,1
    - Dst: String.valueOf(io.undertow.util.NetworkUtils)
      Src: io.undertow.util.NetworkUtils:160,1
    - Dst: '[StringBuilder].append(io.undertow.util.NetworkUtils)'
      Src: io.undertow.util.NetworkUtils:160,1
    - Dst: '[java.util.ArrayList].add(String)'
      Src: io.undertow.util.NetworkUtils:164,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.util.NetworkUtils:165,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.NetworkUtils:166,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.NetworkUtils)'
      Src: io.undertow.util.NetworkUtils:166,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.util.NetworkUtils:167,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.util.NetworkUtils:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: '[io.undertow.util.NetworkUtils].splitIPv6(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NetworkUtils.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].length()'
    - '[String].charAt(io.undertow.util.NetworkUtils)'
    - '[java.util.ArrayList].toArray()'
    - '[StringBuilder].toString()'
    - String.valueOf(io.undertow.util.NetworkUtils)
    - '[String].length()'
    - '[StringBuilder].setLength(int)'
    - '[java.util.ArrayList].<init>()'
    - '[StringBuilder].append(io.undertow.util.NetworkUtils)'
    - '[java.util.ArrayList].add(String)'
    - '[StringBuilder].<init>(int)'
    - '[java.util.ArrayList].add(io.undertow.util.NetworkUtils)'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.util.NetworkUtils].splitIPv6(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetAddress].getHostAddress()'
      Src: io.undertow.util.NetworkUtils:177,1
    - Dst: '[io.undertow.util.NetworkUtils].lastIndexOf(String)'
      Src: io.undertow.util.NetworkUtils:180,1
    - Dst: '[io.undertow.util.NetworkUtils].substring(int,int)'
      Src: io.undertow.util.NetworkUtils:180,1
    - Dst: '[io.undertow.util.NetworkUtils].indexOf(String)'
      Src: io.undertow.util.NetworkUtils:183,1
    - Dst: '[io.undertow.util.NetworkUtils].indexOf(String,int)'
      Src: io.undertow.util.NetworkUtils:183,1
    - Dst: '[io.undertow.util.NetworkUtils].substring(int,int)'
      Src: io.undertow.util.NetworkUtils:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.InetAddress
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: '[io.undertow.util.NetworkUtils].toObfuscatedString(java.net.InetAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NetworkUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.NetworkUtils].indexOf(String,int)'
    - '[java.net.InetAddress].getHostAddress()'
    - '[io.undertow.util.NetworkUtils].substring(int,int)'
    - '[io.undertow.util.NetworkUtils].lastIndexOf(String)'
    - '[io.undertow.util.NetworkUtils].indexOf(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.NetworkUtils].toObfuscatedString(java.net.InetAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.NetworkUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: '[io.undertow.util.NetworkUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NetworkUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.NetworkUtils
    signature: '[io.undertow.util.NetworkUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouteRequest].<init>(int,int)'
      Src: io.undertow.util.PathTemplateRouterFactory:1947,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouteRequest].<init>(int,int)'
      Src: io.undertow.util.PathTemplateRouterFactory:1948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - RouteRequest
      - RouteRequest
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1952
    functionName: '[io.undertow.util.PathTemplateRouterFactory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.RouteRequest].<init>(int,int)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory
    signature: '[io.undertow.util.PathTemplateRouterFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory:1961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Matcher<?>[]
      classConcrete: true
      classEnum: false
      classFields:
      - RouteRequest
      - RouteRequest
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - matchers
    argTypes:
    - Matcher<?>[]
    constantsTouched: []
    func_position:
      end: 1962
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1962
    functionName: '[io.undertow.util.PathTemplateRouterFactory].getMinSegmentCount(Matcher<?>[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory].getMinSegmentCount(Matcher<?>[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateRouterFactory:1968,1
    - Dst: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateRouterFactory:1968,1
    - Dst: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateRouterFactory:1969,1
    - Dst: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateRouterFactory:1969,1
    - Dst: o2Static.getValue()
      Src: io.undertow.util.PathTemplateRouterFactory:1976,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory].length()'
      Src: io.undertow.util.PathTemplateRouterFactory:1976,1
    - Dst: o1Static.getValue()
      Src: io.undertow.util.PathTemplateRouterFactory:1976,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory].length()'
      Src: io.undertow.util.PathTemplateRouterFactory:1976,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory:1997,1
    - Dst: o2WildCard.getPrefix()
      Src: io.undertow.util.PathTemplateRouterFactory:2012,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory].length()'
      Src: io.undertow.util.PathTemplateRouterFactory:2012,1
    - Dst: o1WildCard.getPrefix()
      Src: io.undertow.util.PathTemplateRouterFactory:2012,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory].length()'
      Src: io.undertow.util.PathTemplateRouterFactory:2012,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory:2017,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory:2023,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateParser.AbstractTemplateSegment
      - io.undertow.util.PathTemplateParser.AbstractTemplateSegment
      classConcrete: true
      classEnum: false
      classFields:
      - RouteRequest
      - RouteRequest
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - io.undertow.util.PathTemplateParser.AbstractTemplateSegment
    - io.undertow.util.PathTemplateParser.AbstractTemplateSegment
    constantsTouched: []
    func_position:
      end: 2024
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 2024
    functionName: '[io.undertow.util.PathTemplateRouterFactory].compareMostSpecificToLeastSpecific(io.undertow.util.PathTemplateParser.AbstractTemplateSegment,io.undertow.util.PathTemplateParser.AbstractTemplateSegment)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - o2Static.getValue()
    - o2WildCard.getPrefix()
    - o1WildCard.getPrefix()
    - '[io.undertow.util.PathTemplateRouterFactory].length()'
    - o1Static.getValue()
    - '[IllegalArgumentException].<init>()'
    - '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory].compareMostSpecificToLeastSpecific(io.undertow.util.PathTemplateParser.AbstractTemplateSegment,io.undertow.util.PathTemplateParser.AbstractTemplateSegment)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<?extendsMatcher<?extendsT>>].size()'
      Src: io.undertow.util.PathTemplateRouterFactory:2030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<?extendsMatcher<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - RouteRequest
      - RouteRequest
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - matchers
    argTypes:
    - java.util.List<?extendsMatcher<?extendsT>>
    constantsTouched: []
    func_position:
      end: 2037
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2037
    functionName: '[io.undertow.util.PathTemplateRouterFactory].arrayOfMatchers(java.util.List<?extendsMatcher<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<?extendsMatcher<?extendsT>>].size()'
    linkageType: ''
    returnType: Matcher<T>[]
    signature: '[io.undertow.util.PathTemplateRouterFactory].arrayOfMatchers(java.util.List<?extendsMatcher<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>(int)'
      Src: io.undertow.util.PathTemplateRouterFactory:2060,1
    - Dst: '[String].<init>(io.undertow.util.PathTemplateRouterFactory,io.undertow.util.PathTemplateRouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory:2066,1
    - Dst: '[java.util.HashMap].put(io.undertow.util.PathTemplateRouterFactory,String)'
      Src: io.undertow.util.PathTemplateRouterFactory:2071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      - String[]
      - int
      - int
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - RouteRequest
      - RouteRequest
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,String>
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - paramSegmentIndexes
    - paramNames
    - paramCount
    - paramMapSize
    - request
    argTypes:
    - int[]
    - String[]
    - int
    - int
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 2074
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2074
    functionName: '[io.undertow.util.PathTemplateRouterFactory].createParams(int[],String[],int,int,RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[String].<init>(io.undertow.util.PathTemplateRouterFactory,io.undertow.util.PathTemplateRouterFactory)'
    - '[java.util.HashMap].put(io.undertow.util.PathTemplateRouterFactory,String)'
    - '[java.util.HashMap].<init>(int)'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.util.PathTemplateRouterFactory].createParams(int[],String[],int,int,RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>(int)'
      Src: io.undertow.util.PathTemplateRouterFactory:2086,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.util.PathTemplateRouterFactory:2087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - RouteRequest
      - RouteRequest
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,String>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 2089
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2089
    functionName: '[io.undertow.util.PathTemplateRouterFactory].createParams(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String,String)'
    - '[java.util.HashMap].<init>(int)'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.util.PathTemplateRouterFactory].createParams(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.util.PathTemplateRouterFactory:2098,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplateRouterFactory:2100,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory].pathWithForwardSlash(String,io.undertow.util.PathTemplateRouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory:2102,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouteRequest].<init>(io.undertow.util.PathTemplateRouterFactory,io.undertow.util.PathTemplateRouterFactory,io.undertow.util.PathTemplateRouterFactory,io.undertow.util.PathTemplateRouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory:2142,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - RouteRequest
      - RouteRequest
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: RouteRequest
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - pathString
    - minSegmentCount
    - maxSegmentCount
    argTypes:
    - String
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2143
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2143
    functionName: '[io.undertow.util.PathTemplateRouterFactory].createRouteRequest(String,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.RouteRequest].<init>(io.undertow.util.PathTemplateRouterFactory,io.undertow.util.PathTemplateRouterFactory,io.undertow.util.PathTemplateRouterFactory,io.undertow.util.PathTemplateRouterFactory)'
    - '[String].length()'
    - '[String].indexOf(char)'
    - '[io.undertow.util.PathTemplateRouterFactory].pathWithForwardSlash(String,io.undertow.util.PathTemplateRouterFactory)'
    linkageType: ''
    returnType: RouteRequest
    signature: '[io.undertow.util.PathTemplateRouterFactory].createRouteRequest(String,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      - int
      - int[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      - int
      - int[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.RouteRequest
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - path
    - pathLen
    - segmentStartIndexes
    - segmentCount
    argTypes:
    - char[]
    - int
    - int[]
    - int
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouteRequest].<init>(char[],int,int[],int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.RouteRequest
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouteRequest].<init>(char[],int,int[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Matcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Matcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.Matcher
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Matcher].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.Matcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.Matcher].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher:242,1
    - Dst: '[java.util.Objects].requireNonNull(char[])'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher:243,1
    - Dst: '[java.util.Objects].requireNonNull(Matcher<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher:246,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouteResult<T>
      - char[]
      - int
      - Matcher<T>
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - char[]
      - int
      - int
      - Matcher<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - defaultResult
    - value
    - segmentIdx
    - nextMatcher
    argTypes:
    - io.undertow.util.PathTemplateRouteResult<T>
    - char[]
    - int
    - Matcher<T>
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,char[],int,Matcher<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
    - '[java.util.Objects].requireNonNull(char[])'
    - '[java.util.Objects].requireNonNull(Matcher<T>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,char[],int,Matcher<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.copyValueOf(char[])
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - char[]
      - int
      - int
      - Matcher<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - String.copyValueOf(char[])
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Matcher<T>].match(RouteRequest)'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher:277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - char[]
      - int
      - int
      - Matcher<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[Matcher<T>].match(RouteRequest)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SegmentEqualsMatcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher:304,1
    - Dst: '[java.util.Objects].requireNonNull(char[])'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher:305,1
    - Dst: '[java.util.Objects].requireNonNull(Matcher<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher:308,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher:311,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouteResult<T>
      - char[]
      - int
      - Matcher<T>
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - char[]
      - int
      - int
      - Matcher<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - defaultResult
    - value
    - segmentIdx
    - nextMatcher
    argTypes:
    - io.undertow.util.PathTemplateRouteResult<T>
    - char[]
    - int
    - Matcher<T>
    constantsTouched: []
    func_position:
      end: 316
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 316
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,char[],int,Matcher<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
    - '[java.util.Objects].requireNonNull(char[])'
    - '[java.util.Objects].requireNonNull(Matcher<T>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,char[],int,Matcher<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String.copyValueOf(char[])
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - char[]
      - int
      - int
      - Matcher<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - String.copyValueOf(char[])
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Matcher<T>].match(RouteRequest)'
      Src: io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - char[]
      - int
      - int
      - Matcher<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 341
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 341
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[Matcher<T>].match(RouteRequest)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SegmentStartsWithMatcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher].arrayOfMatchers(java.util.List<?extendsMatcher<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher:362,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher:364,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouteResult<T>
      - java.util.List<?extendsMatcher<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - Matcher<T>[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - defaultResult
    - matchers
    argTypes:
    - io.undertow.util.PathTemplateRouteResult<T>
    - java.util.List<?extendsMatcher<?extendsT>>
    constantsTouched: []
    func_position:
      end: 370
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 370
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,java.util.List<?extendsMatcher<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
    - '[IllegalArgumentException].<init>()'
    - '[io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher].arrayOfMatchers(java.util.List<?extendsMatcher<?extendsT>>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,java.util.List<?extendsMatcher<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - Matcher<T>[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: matchers[i].match(RouteRequest)
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - Matcher<T>[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - matchers[i].match(RouteRequest)
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleCompositeMatcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:411,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].sortedSegmentEqualsMatchers(java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:412,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouteResult<T>
      - java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - SegmentEqualsMatcher<T>[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - defaultResult
    - matchers
    argTypes:
    - io.undertow.util.PathTemplateRouteResult<T>
    - java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>
    constantsTouched: []
    func_position:
      end: 434
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 434
    functionName: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
    - '[IllegalArgumentException].<init>()'
    - '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].sortedSegmentEqualsMatchers(java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - SegmentEqualsMatcher<T>[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      - char[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - SegmentEqualsMatcher<T>[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - c1
    - c2
    - len
    argTypes:
    - char[]
    - char[]
    - int
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(char[],char[],int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(char[],char[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.compare(io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher)
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:453,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - SegmentEqualsMatcher<?>
      - SegmentEqualsMatcher<?>
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - SegmentEqualsMatcher<T>[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - SegmentEqualsMatcher<?>
    - SegmentEqualsMatcher<?>
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(SegmentEqualsMatcher<?>,SegmentEqualsMatcher<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - Integer.compare(io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher)
    - '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(SegmentEqualsMatcher<?>,SegmentEqualsMatcher<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:465,1
    - Dst: '[java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:467,1
    - Dst: '[java.util.Arrays].sort(io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - SegmentEqualsMatcher<T>[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: SegmentEqualsMatcher<T>[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - matchers
    argTypes:
    - java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>
    constantsTouched: []
    func_position:
      end: 476
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 476
    functionName: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].sortedSegmentEqualsMatchers(java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>].size()'
    - '[java.util.Arrays].sort(io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher)'
    - '[java.util.Objects].requireNonNull(java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>)'
    linkageType: ''
    returnType: SegmentEqualsMatcher<T>[]
    signature: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].sortedSegmentEqualsMatchers(java.util.List<?extendsSegmentEqualsMatcher<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - char[]
      - SegmentEqualsMatcher<?>
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - SegmentEqualsMatcher<T>[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - requestSegmentStartIdx
    - requestSegmentLength
    - requestPath
    - matcher
    argTypes:
    - int
    - int
    - char[]
    - SegmentEqualsMatcher<?>
    constantsTouched: []
    func_position:
      end: 501
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 501
    functionName: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(int,int,char[],SegmentEqualsMatcher<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(int,int,char[],SegmentEqualsMatcher<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:523,1
    - Dst: midVal.nextMatcher.match(RouteRequest)
      Src: io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      - SegmentEqualsMatcher<T>[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 535
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 535
    functionName: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].compare(io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher,io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher)'
    - midVal.nextMatcher.match(RouteRequest)
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.BinarySearchCompositeMatcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouteResult<T>
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - io.undertow.util.PathTemplateRouteResult<T>
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[PathTemplateRouteResult<T>].getPathTemplate()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher:562,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher].isPresent()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher:562,1
    - Dst: '[PathTemplateRouteResult<T>].getParameters()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher:565,1
    - Dst: '[java.util.HashMap].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher:565,1
    - Dst: '[PathTemplateRouteResult<T>].getTarget()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher:566,1
    - Dst: '[PathTemplateRouteResult<T>].getPathTemplate()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher:566,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher,java.util.HashMap)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher)'
    - '[io.undertow.util.PathTemplateRouteResult].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher,java.util.HashMap)'
    - '[PathTemplateRouteResult<T>].getTarget()'
    - '[PathTemplateRouteResult<T>].getParameters()'
    - '[PathTemplateRouteResult<T>].getPathTemplate()'
    - '[io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher].isPresent()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleTerminalMatcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(T)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher:594,1
    - Dst: '[java.util.Objects].requireNonNull(java.util.Optional<String>)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher:595,1
    - Dst: '[java.util.Objects].requireNonNull(int[])'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher:596,1
    - Dst: '[java.util.Objects].requireNonNull(String[])'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher:597,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      - java.util.Optional<String>
      - int[]
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int[]
      - String[]
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - target
    - pathTemplate
    - paramSegmentIndexes
    - paramNames
    argTypes:
    - T
    - java.util.Optional<String>
    - int[]
    - String[]
    constantsTouched: []
    func_position:
      end: 604
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 604
    functionName: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher].<init>(T,java.util.Optional<String>,int[],String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(int[])'
    - '[java.util.Objects].requireNonNull(java.util.Optional<String>)'
    - '[java.util.Objects].requireNonNull(String[])'
    - '[java.util.Objects].requireNonNull(T)'
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher].<init>(T,java.util.Optional<String>,int[],String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int[]
      - String[]
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher].createParams(int[],String[],int,int,RouteRequest)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher:616,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(T,Optional<String>,io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int[]
      - String[]
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 618
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 618
    functionName: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher].createParams(int[],String[],int,int,RouteRequest)'
    - '[io.undertow.util.PathTemplateRouteResult].<init>(T,Optional<String>,io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedTerminalMatcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(T)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:641,1
    - Dst: '[java.util.Objects].requireNonNull(java.util.Optional<String>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:642,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:647,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      - java.util.Optional<String>
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - target
    - pathTemplate
    - segmentIdx
    - prefixLength
    argTypes:
    - T
    - java.util.Optional<String>
    - int
    - int
    constantsTouched: []
    func_position:
      end: 652
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 652
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].<init>(T,java.util.Optional<String>,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(java.util.Optional<String>)'
    - '[java.util.Objects].requireNonNull(T)'
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].<init>(T,java.util.Optional<String>,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].createParams(String,String)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:666,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(T,Optional<String>,io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:663,1
    - Dst: '[String].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:670,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].createParams(String,String)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:675,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(T,Optional<String>,io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 677
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 677
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher)'
    - '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].createParams(String,String)'
    - '[io.undertow.util.PathTemplateRouteResult].<init>(T,Optional<String>,io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleWildcardTerminalMatcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(T)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:706,1
    - Dst: '[java.util.Objects].requireNonNull(java.util.Optional<String>)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:707,1
    - Dst: '[java.util.Objects].requireNonNull(int[])'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:708,1
    - Dst: '[java.util.Objects].requireNonNull(String[])'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:709,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:716,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:719,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      - java.util.Optional<String>
      - int[]
      - String[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int[]
      - String[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - target
    - pathTemplate
    - paramSegmentIndexes
    - paramNames
    - segmentIdx
    - prefixLength
    argTypes:
    - T
    - java.util.Optional<String>
    - int[]
    - String[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 724
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 724
    functionName: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].<init>(T,java.util.Optional<String>,int[],String[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(int[])'
    - '[java.util.Objects].requireNonNull(java.util.Optional<String>)'
    - '[java.util.Objects].requireNonNull(String[])'
    - '[java.util.Objects].requireNonNull(T)'
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher
    signature: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].<init>(T,java.util.Optional<String>,int[],String[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int[]
      - String[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory].createParams(int[],String[],int,int,RouteRequest)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:735,1
    - Dst: '[java.util.Map<String,String>].put(String,String)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int[]
      - String[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - request
    - wildCardValue
    argTypes:
    - RouteRequest
    - String
    constantsTouched: []
    func_position:
      end: 740
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 740
    functionName: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].createParams(RouteRequest,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,String>].put(String,String)'
    - '[io.undertow.util.PathTemplateRouterFactory].createParams(int[],String[],int,int,RouteRequest)'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].createParams(RouteRequest,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].createParams(RouteRequest,String)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:749,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(T,Optional<String>,io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:746,1
    - Dst: '[String].<init>(io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:753,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].createParams(RouteRequest,String)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:758,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(T,Optional<String>,io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher:755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - Optional<String>
      - int[]
      - String[]
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 760
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 760
    functionName: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].match(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouteResult].<init>(T,Optional<String>,io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher)'
    - '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].createParams(RouteRequest,String)'
    - '[String].<init>(io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher,io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.ParameterisedWildcardTerminalMatcher].match(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 779
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 779
    functionName: '[io.undertow.util.PathTemplateRouterFactory.AbstractRouter].getMinSegmentCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.AbstractRouter].getMinSegmentCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: '[io.undertow.util.PathTemplateRouterFactory.AbstractRouter].getMaxSegmentCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.AbstractRouter].getMaxSegmentCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 794
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 794
    functionName: '[io.undertow.util.PathTemplateRouterFactory.AbstractRouter].route(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.AbstractRouter].route(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.AbstractRouter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathTemplateRouterFactory.AbstractRouter].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.AbstractRouter
    signature: '[io.undertow.util.PathTemplateRouterFactory.AbstractRouter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(Matcher<T>[])'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleRouter:822,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleRouter:823,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory].getMinSegmentCount(Matcher<T>[])'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleRouter:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Matcher<T>[]
      - io.undertow.util.PathTemplateRouteResult<T>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - Matcher<T>[]
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.SimpleRouter
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - matchers
    - defaultResult
    argTypes:
    - Matcher<T>[]
    - io.undertow.util.PathTemplateRouteResult<T>
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].<init>(Matcher<T>[],io.undertow.util.PathTemplateRouteResult<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
    - '[java.util.Objects].requireNonNull(Matcher<T>[])'
    - '[io.undertow.util.PathTemplateRouterFactory].getMinSegmentCount(Matcher<T>[])'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.SimpleRouter
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].<init>(Matcher<T>[],io.undertow.util.PathTemplateRouteResult<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - Matcher<T>[]
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - Matcher<T>[]
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].getMinSegmentCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].getMinSegmentCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - Matcher<T>[]
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].getMaxSegmentCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].getMaxSegmentCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: matcher.match(RouteRequest)
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleRouter:854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - Matcher<T>[]
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 855
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 855
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].route(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - matcher.match(RouteRequest)
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].route(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].createRouteRequest(String,int,int)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleRouter:864,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].route(io.undertow.util.PathTemplateRouterFactory.SimpleRouter)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleRouter:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - Matcher<T>[]
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 866
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 866
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].route(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].createRouteRequest(String,int,int)'
    - '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].route(io.undertow.util.PathTemplateRouterFactory.SimpleRouter)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleRouter].route(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(Matcher<T>[])'
      Src: io.undertow.util.PathTemplateRouterFactory.WildCardRouter:893,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.WildCardRouter:895,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory].getMinSegmentCount(Matcher<T>[])'
      Src: io.undertow.util.PathTemplateRouterFactory.WildCardRouter:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Matcher<T>[]
      - io.undertow.util.PathTemplateRouteResult<T>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Matcher<T>[]
      - int
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.WildCardRouter
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - matchers
    - defaultResult
    argTypes:
    - Matcher<T>[]
    - io.undertow.util.PathTemplateRouteResult<T>
    constantsTouched: []
    func_position:
      end: 898
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 898
    functionName: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].<init>(Matcher<T>[],io.undertow.util.PathTemplateRouteResult<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
    - '[java.util.Objects].requireNonNull(Matcher<T>[])'
    - '[io.undertow.util.PathTemplateRouterFactory].getMinSegmentCount(Matcher<T>[])'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.WildCardRouter
    signature: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].<init>(Matcher<T>[],io.undertow.util.PathTemplateRouteResult<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Matcher<T>[]
      - int
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 903
    functionName: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Matcher<T>[]
      - int
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 908
    functionName: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].getMinSegmentCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].getMinSegmentCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Matcher<T>[]
      - int
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 913
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 913
    functionName: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].getMaxSegmentCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].getMaxSegmentCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Math.min(int,io.undertow.util.PathTemplateRouterFactory.WildCardRouter)
      Src: io.undertow.util.PathTemplateRouterFactory.WildCardRouter:929,1
    - Dst: matcher.match(RouteRequest)
      Src: io.undertow.util.PathTemplateRouterFactory.WildCardRouter:932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Matcher<T>[]
      - int
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 939
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 939
    functionName: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].route(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - Math.min(int,io.undertow.util.PathTemplateRouterFactory.WildCardRouter)
    - matcher.match(RouteRequest)
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].route(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].createRouteRequest(String,int,io.undertow.util.PathTemplateRouterFactory.WildCardRouter)'
      Src: io.undertow.util.PathTemplateRouterFactory.WildCardRouter:943,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].route(io.undertow.util.PathTemplateRouterFactory.WildCardRouter)'
      Src: io.undertow.util.PathTemplateRouterFactory.WildCardRouter:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Matcher<T>[]
      - int
      - PathTemplateRouteResult<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 945
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 945
    functionName: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].route(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].createRouteRequest(String,int,io.undertow.util.PathTemplateRouterFactory.WildCardRouter)'
    - '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].route(io.undertow.util.PathTemplateRouterFactory.WildCardRouter)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.WildCardRouter].route(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(AbstractRouter<T>[])'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:969,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:971,1
    - Dst: '[java.util.Arrays].stream(AbstractRouter<T>[])'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:973,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].mapToInt()'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:973,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].min()'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:973,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].orElse(io.undertow.util.PathTemplateRouterFactory.CompositeRouter)'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:973,1
    - Dst: '[java.util.Arrays].stream(AbstractRouter<T>[])'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:978,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].mapToInt()'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:978,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].max()'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:978,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].orElse(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - AbstractRouter<T>[]
      - io.undertow.util.PathTemplateRouteResult<T>
      classConcrete: true
      classEnum: false
      classFields:
      - AbstractRouter<T>[]
      - int
      - PathTemplateRouteResult<T>
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.CompositeRouter
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - routers
    - defaultResult
    argTypes:
    - AbstractRouter<T>[]
    - io.undertow.util.PathTemplateRouteResult<T>
    constantsTouched: []
    func_position:
      end: 982
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 982
    functionName: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].<init>(AbstractRouter<T>[],io.undertow.util.PathTemplateRouteResult<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].max()'
    - '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].min()'
    - '[java.util.Objects].requireNonNull(AbstractRouter<T>[])'
    - '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].orElse(io.undertow.util.PathTemplateRouterFactory.CompositeRouter)'
    - '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].orElse(int)'
    - '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].mapToInt()'
    - '[java.util.Objects].requireNonNull(io.undertow.util.PathTemplateRouteResult<T>)'
    - '[java.util.Arrays].stream(AbstractRouter<T>[])'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.CompositeRouter
    signature: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].<init>(AbstractRouter<T>[],io.undertow.util.PathTemplateRouteResult<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AbstractRouter<T>[]
      - int
      - PathTemplateRouteResult<T>
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 987
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionName: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].getMinSegmentCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].getMinSegmentCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AbstractRouter<T>[]
      - int
      - PathTemplateRouteResult<T>
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].getMaxSegmentCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].getMaxSegmentCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: routers[i].getMinSegmentCount()
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:999,1
    - Dst: routers[i].getMaxSegmentCount()
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:1000,1
    - Dst: routers[i].route(RouteRequest)
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:1004,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - RouteRequest
      classConcrete: true
      classEnum: false
      classFields:
      - AbstractRouter<T>[]
      - int
      - PathTemplateRouteResult<T>
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - RouteRequest
    constantsTouched: []
    func_position:
      end: 1010
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1010
    functionName: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].route(RouteRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - routers[i].getMinSegmentCount()
    - routers[i].route(RouteRequest)
    - routers[i].getMaxSegmentCount()
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].route(RouteRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].createRouteRequest(String,int,int)'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:1014,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].route(io.undertow.util.PathTemplateRouterFactory.CompositeRouter)'
      Src: io.undertow.util.PathTemplateRouterFactory.CompositeRouter:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - AbstractRouter<T>[]
      - int
      - PathTemplateRouteResult<T>
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1016
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1016
    functionName: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].route(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].route(io.undertow.util.PathTemplateRouterFactory.CompositeRouter)'
    - '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].createRouteRequest(String,int,int)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.CompositeRouter].route(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.MatcherLeafArtefacts:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<AbstractTemplateSegment>,
        MatcherLeafArtefacts<T>>
      - int
      - PathTemplateParser.PathTemplate<? extends T>
      - boolean
      - boolean
      - StaticTemplateSegment
      - int
      - List<Integer>
      - List<String>
      - WildCardTemplateSegment
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.MatcherLeafArtefacts
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathTemplateRouterFactory.MatcherLeafArtefacts].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.MatcherLeafArtefacts
    signature: '[io.undertow.util.PathTemplateRouterFactory.MatcherLeafArtefacts].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.Set<?extendsPathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1111,1
    - Dst: '[java.util.Objects].requireNonNull(T)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<?extendsPathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.RouterFactory
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - templates
    - defaultTarget
    argTypes:
    - java.util.Set<?extendsPathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>>
    - T
    constantsTouched: []
    func_position:
      end: 1113
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1113
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].<init>(java.util.Set<?extendsPathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(T)'
    - '[java.util.Objects].requireNonNull(java.util.Set<?extendsPathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.RouterFactory
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].<init>(java.util.Set<?extendsPathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Optional].empty()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1118,1
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1119,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(T,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - defaultTarget
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 1121
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1121
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createDefaultResult(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.Optional].empty()'
    - '[java.util.Collections].emptyMap()'
    - '[io.undertow.util.PathTemplateRouteResult].<init>(T,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createDefaultResult(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collection<?extendsMatcher<A>>].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?extendsMatcher<A>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<A>[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - matchers
    argTypes:
    - java.util.Collection<?extendsMatcher<A>>
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toMatcherArray(java.util.Collection<?extendsMatcher<A>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collection<?extendsMatcher<A>>].size()'
    linkageType: ''
    returnType: Matcher<A>[]
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toMatcherArray(java.util.Collection<?extendsMatcher<A>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Optional].empty()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1139,1
    - Dst: '[java.util.Map].of()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1139,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(T,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1138,1
    - Dst: '[SimpleTerminalMatcher].<init>(io.undertow.util.PathTemplateRouteResult)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1141,1
    - Dst: '[java.util.List].of(SimpleTerminalMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1144,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toMatcherArray(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1144,1
    - Dst: '[SimpleRouter].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouteResult)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: SimpleRouter<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1149
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createEmptyRouter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[SimpleTerminalMatcher].<init>(io.undertow.util.PathTemplateRouteResult)'
    - '[java.util.Map].of()'
    - '[java.util.List].of(SimpleTerminalMatcher)'
    - '[io.undertow.util.PathTemplateRouteResult].<init>(T,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[SimpleRouter].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouteResult)'
    - '[java.util.Optional].empty()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toMatcherArray(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    linkageType: ''
    returnType: SimpleRouter<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createEmptyRouter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createDefaultResult(T)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1153
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initDefaultResults()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createDefaultResult(T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initDefaultResults()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: template.getSegments()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1158,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1158,1
    - Dst: template.getWildCard()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1169
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initMaxSegmentCounts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].size()'
    - template.getWildCard()
    - template.getSegments()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initMaxSegmentCounts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1174
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initRootLeaves()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initRootLeaves()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1178
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initSegmentStack()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initSegmentStack()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1182
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initCurrentParamIndexes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initCurrentParamIndexes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1186
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initCurrentParamNames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initCurrentParamNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>].getWildCard()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1190,1
    - Dst: '[MatcherLeafArtefacts].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1203
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getCurrentRootLeave()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[MatcherLeafArtefacts].<init>()'
    - '[PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>].getWildCard()'
    linkageType: ''
    returnType: MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getCurrentRootLeave()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[List<AbstractTemplateSegment>].add(io.undertow.util.PathTemplateParser.AbstractTemplateSegment)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1206,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplateParser.AbstractTemplateSegment)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1209,1
    - Dst: currentLeave.children.get(PathTemplateParser.PathTemplatePatternEqualsAdapter)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1210,1
    - Dst: '[MatcherLeafArtefacts].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1212,1
    - Dst: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1213,1
    - Dst: currentLeave.children.put(PathTemplateParser.PathTemplatePatternEqualsAdapter,MatcherLeafArtefacts)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1214,1
    - Dst: '[List<String>].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1223,1
    - Dst: paramSegment.getSegmentIdx()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1224,1
    - Dst: '[List<Integer>].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1224,1
    - Dst: paramSegment.getParamName()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1225,1
    - Dst: '[List<String>].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1225,1
    - Dst: '[List<AbstractTemplateSegment>].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1228,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].wildCardsOnlyAtEndOfTemplate()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1229,1
    - Dst: '[List<String>].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1231,1
    - Dst: wildCardSegment.getSegmentIdx()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1232,1
    - Dst: '[List<Integer>].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1232,1
    - Dst: '[List<String>].add(String)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1233,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateParser.AbstractTemplateSegment
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - segment
    argTypes:
    - io.undertow.util.PathTemplateParser.AbstractTemplateSegment
    constantsTouched: []
    func_position:
      end: 1241
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1241
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].processSegment(io.undertow.util.PathTemplateParser.AbstractTemplateSegment)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(io.undertow.util.PathTemplateParser.AbstractTemplateSegment)'
    - '[List<String>].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - wildCardSegment.getSegmentIdx()
    - '[List<AbstractTemplateSegment>].size()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].wildCardsOnlyAtEndOfTemplate()'
    - '[List<String>].size()'
    - paramSegment.getParamName()
    - '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
    - currentLeave.children.put(PathTemplateParser.PathTemplatePatternEqualsAdapter,MatcherLeafArtefacts)
    - '[List<AbstractTemplateSegment>].add(io.undertow.util.PathTemplateParser.AbstractTemplateSegment)'
    - currentLeave.children.get(PathTemplateParser.PathTemplatePatternEqualsAdapter)
    - paramSegment.getSegmentIdx()
    - '[List<Integer>].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[List<String>].add(String)'
    - '[MatcherLeafArtefacts].<init>()'
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].processSegment(io.undertow.util.PathTemplateParser.AbstractTemplateSegment)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[List<Integer>].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1247,1
    - Dst: '[java.util.ArrayList].<init>(List<Integer>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1248,1
    - Dst: '[java.util.ArrayList].<init>(List<String>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1251
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].finalizeTemplate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[List<Integer>].isEmpty()'
    - '[java.util.ArrayList].<init>(List<String>)'
    - '[java.util.ArrayList].<init>(List<Integer>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].finalizeTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[PathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>].getSegments()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1255,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1255,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getCurrentRootLeave()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1256,1
    - Dst: '[List<AbstractTemplateSegment>].clear()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1257,1
    - Dst: '[List<Integer>].clear()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1258,1
    - Dst: '[List<String>].clear()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1259,1
    - Dst: '[PathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>].getSegments()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1260,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].forEach()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1260,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].finalizeTemplate()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - PathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1262
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1262
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].processTemplate(PathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].size()'
    - '[PathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>].getSegments()'
    - '[List<AbstractTemplateSegment>].clear()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].finalizeTemplate()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].forEach()'
    - '[List<String>].clear()'
    - '[List<Integer>].clear()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getCurrentRootLeave()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].processTemplate(PathTemplateParser.PathTemplate<?extendsSupplier<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].fill(io.undertow.util.PathTemplateRouterFactory.RouterFactory,char)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1266,1
    - Dst: '[String].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1268
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1268
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].indent(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[java.util.Arrays].fill(io.undertow.util.PathTemplateRouterFactory.RouterFactory,char)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].indent(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println(String)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1274,1
    - Dst: artefacts.children.values()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1279,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNode(int,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - MatcherLeafArtefacts<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - indent
    - artefacts
    argTypes:
    - int
    - MatcherLeafArtefacts<?>
    constantsTouched: []
    func_position:
      end: 1282
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1282
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNode(int,MatcherLeafArtefacts<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - System.out.println(String)
    - artefacts.children.values()
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNode(int,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNode(int,MatcherLeafArtefacts<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.out.println(String)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1285,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNode(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1288,1
    - Dst: System.out.println()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1291,1
    - Dst: System.out.println(String)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1292,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNode(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1298
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNodes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - System.out.println()
    - System.out.println(String)
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNode(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNodes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1303
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initMatchers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initMatchers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - leaves
    - segmentCount
    argTypes:
    - MatcherLeafArtefacts[]
    - int
    constantsTouched: []
    func_position:
      end: 1312
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1312
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getLeave(MatcherLeafArtefacts[],int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getLeave(MatcherLeafArtefacts[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: artefacts.template.getTarget()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1317,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].get()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1317,1
    - Dst: artefacts.template.getPathTemplate()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1318,1
    - Dst: '[java.util.Optional].of(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1318,1
    - Dst: '[java.util.Map].of()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1321,1
    - Dst: '[io.undertow.util.PathTemplateRouteResult].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1316,1
    - Dst: '[SimpleTerminalMatcher].<init>(io.undertow.util.PathTemplateRouteResult)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - artefacts
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1324
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1324
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleResultMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateRouteResult].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - artefacts.template.getPathTemplate()
    - '[SimpleTerminalMatcher].<init>(io.undertow.util.PathTemplateRouteResult)'
    - '[java.util.Optional].of(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[java.util.Map].of()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].get()'
    - artefacts.template.getTarget()
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleResultMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: artefacts.paramIndexes.size()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1328,1
    - Dst: artefacts.paramIndexes.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1332,1
    - Dst: artefacts.paramNames.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1333,1
    - Dst: artefacts.template.getTarget()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1337,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].get()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1337,1
    - Dst: artefacts.template.getPathTemplate()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1338,1
    - Dst: '[java.util.Optional].of(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1338,1
    - Dst: '[ParameterisedTerminalMatcher].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - artefacts
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1342
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1342
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createResultWithParamsMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - artefacts.template.getPathTemplate()
    - artefacts.paramIndexes.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
    - '[ParameterisedTerminalMatcher].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[java.util.Optional].of(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - artefacts.paramNames.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].get()'
    - artefacts.template.getTarget()
    - artefacts.paramIndexes.size()
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createResultWithParamsMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: artefacts.paramIndexes.size()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1347,1
    - Dst: artefacts.template.getTarget()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1349,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].get()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1349,1
    - Dst: artefacts.template.getPathTemplate()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1350,1
    - Dst: '[java.util.Optional].of(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1350,1
    - Dst: artefacts.wildCardSegment.getSegmentIdx()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1351,1
    - Dst: artefacts.wildCardSegment.getPrefix()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1352,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].length()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1352,1
    - Dst: '[SimpleWildcardTerminalMatcher].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1348,1
    - Dst: artefacts.paramIndexes.size()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1355,1
    - Dst: artefacts.paramIndexes.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1359,1
    - Dst: artefacts.paramNames.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1360,1
    - Dst: artefacts.template.getTarget()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1363,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].get()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1363,1
    - Dst: artefacts.template.getPathTemplate()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1364,1
    - Dst: '[java.util.Optional].of(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1364,1
    - Dst: artefacts.wildCardSegment.getSegmentIdx()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1367,1
    - Dst: artefacts.wildCardSegment.getPrefix()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1368,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].length()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1368,1
    - Dst: '[ParameterisedWildcardTerminalMatcher].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - artefacts
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1371
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1371
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createWildCardResultMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].length()'
    - artefacts.template.getPathTemplate()
    - '[SimpleWildcardTerminalMatcher].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - artefacts.paramIndexes.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
    - '[ParameterisedWildcardTerminalMatcher].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[java.util.Optional].of(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - artefacts.paramNames.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
    - artefacts.wildCardSegment.getPrefix()
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].get()'
    - artefacts.template.getTarget()
    - artefacts.wildCardSegment.getSegmentIdx()
    - artefacts.paramIndexes.size()
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createWildCardResultMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: artefacts.children.isEmpty()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1374,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1375,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleResultMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1379,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createWildCardResultMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1383,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createResultWithParamsMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - artefacts
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1387
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1387
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createFinalMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createResultWithParamsMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleResultMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    - artefacts.children.isEmpty()
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createWildCardResultMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createFinalMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: artefacts.staticSegment.getValue()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1395,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toCharArray()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1395,1
    - Dst: artefacts.staticSegment.getSegmentIdx()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1396,1
    - Dst: '[SegmentEqualsMatcher].<init>(PathTemplateRouteResult<T>,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,Matcher<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      - Matcher<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - artefacts
    - nextMatcher
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    - Matcher<T>
    constantsTouched: []
    func_position:
      end: 1399
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1399
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createStaticSegmentMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[SegmentEqualsMatcher].<init>(PathTemplateRouteResult<T>,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,Matcher<T>)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toCharArray()'
    - artefacts.staticSegment.getSegmentIdx()
    - artefacts.staticSegment.getValue()
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createStaticSegmentMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: artefacts.wildCardSegment.getPrefix()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1405,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1405,1
    - Dst: artefacts.wildCardSegment.getPrefix()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1411,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toCharArray()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1411,1
    - Dst: artefacts.wildCardSegment.getSegmentIdx()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1412,1
    - Dst: '[SegmentStartsWithMatcher].<init>(PathTemplateRouteResult<T>,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,Matcher<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      - Matcher<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - artefacts
    - nextMatcher
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    - Matcher<T>
    constantsTouched: []
    func_position:
      end: 1415
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1415
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createWildCardSegmentMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[SegmentStartsWithMatcher].<init>(PathTemplateRouteResult<T>,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,Matcher<T>)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toCharArray()'
    - artefacts.wildCardSegment.getPrefix()
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].isEmpty()'
    - artefacts.wildCardSegment.getSegmentIdx()
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createWildCardSegmentMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createStaticSegmentMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1422,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createWildCardSegmentMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1424,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      - Matcher<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - artefacts
    - nextMatcher
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    - Matcher<T>
    constantsTouched: []
    func_position:
      end: 1432
      start: 1417
    functionDepth: 2
    functionLinenumber: 1417
    functionLinenumberEnd: 1432
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createWildCardSegmentMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createStaticSegmentMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,Matcher<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: artefacts.children.keySet()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1438,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1438,1
    - Dst: '[java.util.Comparator].comparing()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1439,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1439,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1444,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1444,1
    - Dst: artefacts.children.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1446,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1446,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<Matcher<T>>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - artefacts
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1449
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1449
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSortedInnerMatchers(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - artefacts.children.keySet()
    - '[java.util.Collections].sort(java.util.ArrayList,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - artefacts.children.get(io.undertow.util.PathTemplateRouterFactory.RouterFactory)
    - '[java.util.Comparator].comparing()'
    - '[java.util.ArrayList].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[java.util.ArrayList].size()'
    linkageType: ''
    returnType: java.util.List<Matcher<T>>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSortedInnerMatchers(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Matcher<T>>].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1457,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1461,1
    - Dst: '[java.util.List<Matcher<T>>].iterator()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1462,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].hasNext()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1464,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].next()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1465,1
    - Dst: '[java.util.LinkedList].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1469,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].remove()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1470,1
    - Dst: '[java.util.LinkedList].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1477,1
    - Dst: '[java.util.LinkedList].get(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1481,1
    - Dst: '[java.util.List<Matcher<T>>].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1481,1
    - Dst: '[BinarySearchCompositeMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,java.util.LinkedList)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1484,1
    - Dst: '[java.util.List<Matcher<T>>].add(BinarySearchCompositeMatcher)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1484,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateRouteResult<T>
      - int
      - java.util.List<Matcher<T>>
      - java.util.List<Matcher<T>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - defaultResult
    - innerSegmentIdx
    - sortedInnerMatchers
    - target
    argTypes:
    - io.undertow.util.PathTemplateRouteResult<T>
    - int
    - java.util.List<Matcher<T>>
    - java.util.List<Matcher<T>>
    constantsTouched: []
    func_position:
      end: 1490
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1490
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addSegmentEqualsRouting(io.undertow.util.PathTemplateRouteResult<T>,int,java.util.List<Matcher<T>>,java.util.List<Matcher<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.LinkedList].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[java.util.LinkedList].<init>()'
    - '[BinarySearchCompositeMatcher].<init>(io.undertow.util.PathTemplateRouteResult<T>,java.util.LinkedList)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].next()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].hasNext()'
    - '[java.util.LinkedList].size()'
    - '[java.util.List<Matcher<T>>].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[java.util.LinkedList].get(int)'
    - '[java.util.List<Matcher<T>>].isEmpty()'
    - '[java.util.List<Matcher<T>>].iterator()'
    - '[java.util.List<Matcher<T>>].add(BinarySearchCompositeMatcher)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addSegmentEqualsRouting(io.undertow.util.PathTemplateRouteResult<T>,int,java.util.List<Matcher<T>>,java.util.List<Matcher<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Matcher<T>>].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1497,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1501,1
    - Dst: '[java.util.List<Matcher<T>>].iterator()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1502,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].hasNext()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1504,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].next()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1505,1
    - Dst: '[java.util.LinkedList].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1509,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].remove()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1510,1
    - Dst: '[java.util.List<Matcher<T>>].addAll(java.util.LinkedList)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.util.List<Matcher<T>>
      - java.util.List<Matcher<T>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - innerSegmentIdx
    - sortedInnerMatchers
    - target
    argTypes:
    - int
    - java.util.List<Matcher<T>>
    - java.util.List<Matcher<T>>
    constantsTouched: []
    func_position:
      end: 1520
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1520
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addWildCardStartsWithRouting(int,java.util.List<Matcher<T>>,java.util.List<Matcher<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.LinkedList].add(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[java.util.LinkedList].<init>()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].next()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].hasNext()'
    - '[java.util.List<Matcher<T>>].addAll(java.util.LinkedList)'
    - '[java.util.List<Matcher<T>>].isEmpty()'
    - '[java.util.List<Matcher<T>>].iterator()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addWildCardStartsWithRouting(int,java.util.List<Matcher<T>>,java.util.List<Matcher<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Matcher<T>>].addAll(java.util.List<Matcher<T>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<Matcher<T>>
      - java.util.List<Matcher<T>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - sortedInnerMatchers
    - target
    argTypes:
    - java.util.List<Matcher<T>>
    - java.util.List<Matcher<T>>
    constantsTouched: []
    func_position:
      end: 1527
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1527
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addRemainingRouting(java.util.List<Matcher<T>>,java.util.List<Matcher<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<Matcher<T>>].addAll(java.util.List<Matcher<T>>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addRemainingRouting(java.util.List<Matcher<T>>,java.util.List<Matcher<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSortedInnerMatchers(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1530,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1531,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addSegmentEqualsRouting(PathTemplateRouteResult<T>,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,java.util.LinkedList)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1533,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addWildCardStartsWithRouting(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,java.util.LinkedList)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1534,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addRemainingRouting(io.undertow.util.PathTemplateRouterFactory.RouterFactory,java.util.LinkedList)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1535,1
    - Dst: '[java.util.LinkedList].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1537,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1540,1
    - Dst: '[java.util.LinkedList].get(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1542,1
    - Dst: '[SimpleCompositeMatcher].<init>(PathTemplateRouteResult<T>,java.util.LinkedList)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - artefacts
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1549
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1549
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createRouterMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    - '[IllegalStateException].<init>()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addRemainingRouting(io.undertow.util.PathTemplateRouterFactory.RouterFactory,java.util.LinkedList)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addSegmentEqualsRouting(PathTemplateRouteResult<T>,io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,java.util.LinkedList)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSortedInnerMatchers(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    - '[java.util.LinkedList].get(int)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].addWildCardStartsWithRouting(io.undertow.util.PathTemplateRouterFactory.RouterFactory,io.undertow.util.PathTemplateRouterFactory.RouterFactory,java.util.LinkedList)'
    - '[java.util.LinkedList].size()'
    - '[SimpleCompositeMatcher].<init>(PathTemplateRouteResult<T>,java.util.LinkedList)'
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createRouterMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createFinalMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1557,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1558,1
    - Dst: artefacts.children.size()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1562,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1565,1
    - Dst: artefacts.children.values()
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1570,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].iterator()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1570,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].next()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1570,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1570,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1571,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createRouterMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1575,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - artefacts
    argTypes:
    - MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1577
      start: 1553
    functionDepth: 3
    functionLinenumber: 1553
    functionLinenumberEnd: 1577
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].next()'
    - artefacts.children.values()
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createRouterMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    - artefacts.children.size()
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].iterator()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createSimpleMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>,io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createFinalMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
    linkageType: ''
    returnType: Matcher<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(MatcherLeafArtefacts<java.util.function.Supplier<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getLeave(MatcherLeafArtefacts[],io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1581,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1583,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getLeave(MatcherLeafArtefacts[],io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1587,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1592
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatchers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getLeave(MatcherLeafArtefacts[],io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatcher(io.undertow.util.PathTemplateRouterFactory.RouterFactory)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatchers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Matcher[]
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Matcher<T>[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - matchers
    argTypes:
    - Matcher[]
    constantsTouched: []
    func_position:
      end: 1597
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1597
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getMatchers(Matcher[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Matcher<T>[]
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getMatchers(Matcher[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<?extendsAbstractRouter<?extendsT>>].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<?extendsAbstractRouter<?extendsT>>
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AbstractRouter<T>[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - routers
    argTypes:
    - java.util.List<?extendsAbstractRouter<?extendsT>>
    constantsTouched: []
    func_position:
      end: 1607
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1607
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toRouterArray(java.util.List<?extendsAbstractRouter<?extendsT>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<?extendsAbstractRouter<?extendsT>>].size()'
    linkageType: ''
    returnType: AbstractRouter<T>[]
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toRouterArray(java.util.List<?extendsAbstractRouter<?extendsT>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1613,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createEmptyRouter()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1614,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initDefaultResults()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1617,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initMaxSegmentCounts()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1618,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initRootLeaves()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1619,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initSegmentStack()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1620,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initCurrentParamIndexes()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1621,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initCurrentParamNames()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1622,1
    - Dst: '[Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>].forEach()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1623,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNodes()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1625,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initMatchers()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1628,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatchers()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1629,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1631,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getMatchers(Matcher[])'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1634,1
    - Dst: '[SimpleRouter].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1633,1
    - Dst: '[java.util.LinkedList].add(SimpleRouter)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1633,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getMatchers(Matcher[])'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1641,1
    - Dst: '[WildCardRouter].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1640,1
    - Dst: '[java.util.LinkedList].add(WildCardRouter)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1640,1
    - Dst: '[java.util.LinkedList].size()'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1646,1
    - Dst: '[java.util.LinkedList].get(int)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1647,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toRouterArray(java.util.LinkedList)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1651,1
    - Dst: '[CompositeRouter].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,PathTemplateRouteResult<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.RouterFactory:1650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
        T>>>
      - T
      - PathTemplateRouteResult<T>
      - int
      - int
      - MatcherLeafArtefacts[]
      - MatcherLeafArtefacts[]
      - PathTemplateParser.PathTemplate<? extends Supplier<? extends T>>
      - int
      - List<AbstractTemplateSegment>
      - List<Integer>
      - List<String>
      - MatcherLeafArtefacts<Supplier<? extends T>>
      - Matcher[]
      - Matcher[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouter<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1612
    functionDepth: 3
    functionLinenumber: 1612
    functionLinenumberEnd: 1654
    functionName: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].create()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    - '[WildCardRouter].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,PathTemplateRouteResult<T>)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].getMatchers(Matcher[])'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initCurrentParamIndexes()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createMatchers()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initCurrentParamNames()'
    - '[Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
      T>>>].isEmpty()'
    - '[java.util.LinkedList].get(int)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initMatchers()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].createEmptyRouter()'
    - '[CompositeRouter].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,PathTemplateRouteResult<T>)'
    - '[java.util.LinkedList].size()'
    - '[java.util.LinkedList].add(SimpleRouter)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initMaxSegmentCounts()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].printNodes()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initSegmentStack()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initDefaultResults()'
    - '[Set<? extends PathTemplateParser.PathTemplate<? extends Supplier<? extends
      T>>>].forEach()'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].toRouterArray(java.util.LinkedList)'
    - '[java.util.LinkedList].add(WildCardRouter)'
    - '[SimpleRouter].<init>(io.undertow.util.PathTemplateRouterFactory.RouterFactory,PathTemplateRouteResult<T>)'
    - '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].initRootLeaves()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouter<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.RouterFactory].create()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1674
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.Builder
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder<java.util.function.Supplier<Void>,Void>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1681
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].newBuilder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>()'
    linkageType: ''
    returnType: Builder<java.util.function.Supplier<Void>,Void>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].newBuilder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - S
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultTargetFactory
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 1688
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1688
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].setDefaultTargetFactory(S)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].setDefaultTargetFactory(S)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1701,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.Builder].defaultTargetUpdatedAfterTemplatesAdded()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - A
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder<A,B>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultTargetFactory
    argTypes:
    - A
    constantsTouched: []
    func_position:
      end: 1708
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1708
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].updateDefaultTargetFactory(A)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.Builder].defaultTargetUpdatedAfterTemplatesAdded()'
    - '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
      S>].isEmpty()'
    linkageType: ''
    returnType: Builder<A,B>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].updateDefaultTargetFactory(A)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(B)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1720,1
    - Dst: '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>].isEmpty()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1722,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.Builder].defaultTargetUpdatedAfterTemplatesAdded()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - B
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder<java.util.function.Supplier<B>,B>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultTarget
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 1729
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1729
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].updateDefaultTarget(B)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
      S>].isEmpty()'
    - '[io.undertow.util.PathTemplateRouterFactory.Builder].defaultTargetUpdatedAfterTemplatesAdded()'
    - '[java.util.Objects].requireNonNull(B)'
    linkageType: ''
    returnType: Builder<java.util.function.Supplier<B>,B>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].updateDefaultTarget(B)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(PathTemplateParser.PathTemplate<S>)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1740,1
    - Dst: '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>].get(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplateParser.PathTemplate<S>
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: S
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - PathTemplateParser.PathTemplate<S>
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].getTemplateTarget(PathTemplateParser.PathTemplate<S>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(PathTemplateParser.PathTemplate<S>)'
    - '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
      S>].get(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    linkageType: ''
    returnType: S
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].getTemplateTarget(PathTemplateParser.PathTemplate<S>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,S>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1750
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].getTemplates()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,S>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].getTemplates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(PathTemplateParser.PathTemplate<S>)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1762,1
    - Dst: '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>].containsKey(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1763,1
    - Dst: '[PathTemplateParser.PathTemplate<S>].getPathTemplate()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1764,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.Builder].duplicateUrlPathTemplate(io.undertow.util.PathTemplateRouterFactory.Builder)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1764,1
    - Dst: '[PathTemplateParser.PathTemplate<S>].getTarget()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1766,1
    - Dst: '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>].put(PathTemplateParser.PathTemplatePatternEqualsAdapter,io.undertow.util.PathTemplateRouterFactory.Builder)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplateParser.PathTemplate<S>
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder<S,T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - PathTemplateParser.PathTemplate<S>
    constantsTouched: []
    func_position:
      end: 1768
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1768
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].addTemplate(PathTemplateParser.PathTemplate<S>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[PathTemplateParser.PathTemplate<S>].getPathTemplate()'
    - '[io.undertow.util.PathTemplateRouterFactory.Builder].duplicateUrlPathTemplate(io.undertow.util.PathTemplateRouterFactory.Builder)'
    - '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
      S>].containsKey(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    - '[PathTemplateParser.PathTemplate<S>].getTarget()'
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(PathTemplateParser.PathTemplate<S>)'
    - '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
      S>].put(PathTemplateParser.PathTemplatePatternEqualsAdapter,io.undertow.util.PathTemplateRouterFactory.Builder)'
    linkageType: ''
    returnType: Builder<S,T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].addTemplate(PathTemplateParser.PathTemplate<S>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,S)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1780,1
    - Dst: Builder.this.addTemplate(io.undertow.util.PathTemplate<T>)
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - S
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder<S,T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pathTemplate
    - targetFactory
    argTypes:
    - String
    - S
    constantsTouched: []
    func_position:
      end: 1782
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1782
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].addTemplate(String,S)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String,S)'
    - Builder.this.addTemplate(io.undertow.util.PathTemplate<T>)
    linkageType: ''
    returnType: Builder<S,T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].addTemplate(String,S)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1792,1
    - Dst: '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(PathTemplateParser.PathTemplate<S>)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1800,1
    - Dst: '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>].remove(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder<S,T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pathTemplate
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1805
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1805
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].removeTemplate(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(PathTemplateParser.PathTemplate<S>)'
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String)'
    - '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
      S>].remove(PathTemplateParser.PathTemplatePatternEqualsAdapter)'
    linkageType: ''
    returnType: Builder<S,T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].removeTemplate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.Builder].defaultTargetFactoryMustBeSetBeforeBuild()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1812,1
    - Dst: '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>].keySet()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1817,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.Builder].stream()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1817,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.Builder].map()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1817,1
    - Dst: '[java.util.stream.Collectors].toSet()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1819,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.Builder].collect(io.undertow.util.PathTemplateRouterFactory.Builder)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1817,1
    - Dst: '[S].get()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1820,1
    - Dst: '[RouterFactory].<init>(io.undertow.util.PathTemplateRouterFactory.Builder,io.undertow.util.PathTemplateRouterFactory.Builder)'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1815,1
    - Dst: '[RouterFactory].create()'
      Src: io.undertow.util.PathTemplateRouterFactory.Builder:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - S
      - Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
        S>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouter<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1822
    functionName: '[io.undertow.util.PathTemplateRouterFactory.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<S>>,
      S>].keySet()'
    - '[io.undertow.util.PathTemplateRouterFactory.Builder].stream()'
    - '[java.util.stream.Collectors].toSet()'
    - '[S].get()'
    - '[RouterFactory].create()'
    - '[io.undertow.util.PathTemplateRouterFactory.Builder].map()'
    - '[io.undertow.util.PathTemplateRouterFactory.Builder].defaultTargetFactoryMustBeSetBeforeBuild()'
    - '[io.undertow.util.PathTemplateRouterFactory.Builder].collect(io.undertow.util.PathTemplateRouterFactory.Builder)'
    - '[RouterFactory].<init>(io.undertow.util.PathTemplateRouterFactory.Builder,io.undertow.util.PathTemplateRouterFactory.Builder)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouter<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(Builder<java.util.function.Supplier<T>,T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Builder<java.util.function.Supplier<T>,T>
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - builder
    argTypes:
    - Builder<java.util.function.Supplier<T>,T>
    constantsTouched: []
    func_position:
      end: 1843
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1843
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].<init>(Builder<java.util.function.Supplier<T>,T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(Builder<java.util.function.Supplier<T>,T>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].<init>(Builder<java.util.function.Supplier<T>,T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Builder.newBuilder()
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1855,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].updateDefaultTarget(T)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1855,1
    - Dst: '[SimpleBuilder].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleBuilder)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SimpleBuilder<T>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - defaultTarget
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 1858
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1858
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].newBuilder(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - Builder.newBuilder()
    - '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].updateDefaultTarget(T)'
    - '[SimpleBuilder].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleBuilder)'
    linkageType: ''
    returnType: SimpleBuilder<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].newBuilder(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Builder.newBuilder()
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1866,1
    - Dst: '[SimpleBuilder].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleBuilder)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SimpleBuilder<Void>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1868
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].newBuilder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - Builder.newBuilder()
    - '[SimpleBuilder].<init>(io.undertow.util.PathTemplateRouterFactory.SimpleBuilder)'
    linkageType: ''
    returnType: SimpleBuilder<Void>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].newBuilder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder<java.util.function.Supplier<T>,T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1875
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].getBuilder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder<java.util.function.Supplier<T>,T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].getBuilder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Builder<Supplier<T>, T>].getTemplates()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<java.util.function.Supplier<T>>>,java.util.function.Supplier<T>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1883
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].getTemplates()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[Builder<Supplier<T>, T>].getTemplates()'
    linkageType: ''
    returnType: java.util.Map<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<java.util.function.Supplier<T>>>,java.util.function.Supplier<T>>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].getTemplates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Builder<Supplier<T>, T>].addTemplate(PathTemplateParser.PathTemplate<java.util.function.Supplier<T>>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplateParser.PathTemplate<java.util.function.Supplier<T>>
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SimpleBuilder<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - PathTemplateParser.PathTemplate<java.util.function.Supplier<T>>
    constantsTouched: []
    func_position:
      end: 1896
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1896
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(PathTemplateParser.PathTemplate<java.util.function.Supplier<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[Builder<Supplier<T>, T>].addTemplate(PathTemplateParser.PathTemplate<java.util.function.Supplier<T>>)'
    linkageType: ''
    returnType: SimpleBuilder<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(PathTemplateParser.PathTemplate<java.util.function.Supplier<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser].parseTemplate(String,java.util.function.Supplier<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1908,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(io.undertow.util.PathTemplate<T>)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.function.Supplier<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SimpleBuilder<T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pathTemplate
    - targetFactory
    argTypes:
    - String
    - java.util.function.Supplier<T>
    constantsTouched: []
    func_position:
      end: 1909
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1909
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(String,java.util.function.Supplier<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(io.undertow.util.PathTemplate<T>)'
    - '[io.undertow.util.PathTemplateParser].parseTemplate(String,java.util.function.Supplier<T>)'
    linkageType: ''
    returnType: SimpleBuilder<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(String,java.util.function.Supplier<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(T)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1921,1
    - Dst: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SimpleBuilder<T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pathTemplate
    - target
    argTypes:
    - String
    - T
    constantsTouched: []
    func_position:
      end: 1923
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1923
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(String,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(T)'
    - '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(String)'
    linkageType: ''
    returnType: SimpleBuilder<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].addTemplate(String,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Builder<Supplier<T>, T>].removeTemplate(String)'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SimpleBuilder<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pathTemplate
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1935
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1935
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].removeTemplate(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[Builder<Supplier<T>, T>].removeTemplate(String)'
    linkageType: ''
    returnType: SimpleBuilder<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].removeTemplate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Builder<Supplier<T>, T>].build()'
      Src: io.undertow.util.PathTemplateRouterFactory.SimpleBuilder:1941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Builder<Supplier<T>, T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouter<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1942
    functionName: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouterFactory.java
    functionUses: 0
    functionsReached:
    - '[Builder<Supplier<T>, T>].build()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouter<T>
    signature: '[io.undertow.util.PathTemplateRouterFactory.SimpleBuilder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String,boolean)'
      Src: io.undertow.util.RedirectBuilder:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - newRelativePath
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 7
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/RedirectBuilder.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String,boolean)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestScheme()'
      Src: io.undertow.util.RedirectBuilder:59,1
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.util.RedirectBuilder:59,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.RedirectBuilder:60,1
    - Dst: '[io.undertow.server.HttpServerExchange].getHostAndPort()'
      Src: io.undertow.util.RedirectBuilder:61,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.RedirectBuilder:61,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.util.RedirectBuilder:62,1
    - Dst: '[io.undertow.util.RedirectBuilder].encodeUrlPart(String)'
      Src: io.undertow.util.RedirectBuilder:62,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.RedirectBuilder:62,1
    - Dst: '[io.undertow.server.HttpServerExchange].getResolvedPath()'
      Src: io.undertow.util.RedirectBuilder:63,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.util.RedirectBuilder:63,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.RedirectBuilder:64,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.util.RedirectBuilder:65,1
    - Dst: '[io.undertow.util.RedirectBuilder].encodeUrlPart(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:65,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.RedirectBuilder:65,1
    - Dst: '[io.undertow.util.RedirectBuilder].encodeUrlPart(String)'
      Src: io.undertow.util.RedirectBuilder:67,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.RedirectBuilder:67,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.RedirectBuilder:70,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.RedirectBuilder:71,1
    - Dst: '[io.undertow.util.RedirectBuilder].encodeUrlPart(String)'
      Src: io.undertow.util.RedirectBuilder:73,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.RedirectBuilder:73,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.util.RedirectBuilder:76,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].isEmpty()'
      Src: io.undertow.util.RedirectBuilder:76,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.RedirectBuilder:78,1
    - Dst: '[io.undertow.server.HttpServerExchange].getPathParameters()'
      Src: io.undertow.util.RedirectBuilder:79,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.util.RedirectBuilder:79,1
    - Dst: param.getValue()
      Src: io.undertow.util.RedirectBuilder:80,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.RedirectBuilder:84,1
    - Dst: param.getKey()
      Src: io.undertow.util.RedirectBuilder:86,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.util.RedirectBuilder,String)'
      Src: io.undertow.util.RedirectBuilder:86,1
    - Dst: '[StringBuilder].append(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:86,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.RedirectBuilder:87,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.util.RedirectBuilder,String)'
      Src: io.undertow.util.RedirectBuilder:88,1
    - Dst: '[StringBuilder].append(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:88,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.util.RedirectBuilder:92,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.RedirectBuilder:92,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.RedirectBuilder:93,1
    - Dst: '[io.undertow.server.HttpServerExchange].getQueryString()'
      Src: io.undertow.util.RedirectBuilder:94,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.RedirectBuilder:94,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.RedirectBuilder:97,1
    - Dst: '[RuntimeException].<init>(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:99,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - newRelativePath
    - includeParameters
    argTypes:
    - io.undertow.server.HttpServerExchange
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 101
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 101
    functionName: '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/RedirectBuilder.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getQueryString()'
    - '[String].substring(int)'
    - '[StringBuilder].<init>(String)'
    - '[io.undertow.server.HttpServerExchange].getHostAndPort()'
    - '[StringBuilder].append(String)'
    - '[RuntimeException].<init>(io.undertow.util.RedirectBuilder)'
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - '[io.undertow.server.HttpServerExchange].getResolvedPath()'
    - '[String].isEmpty()'
    - '[String].startsWith(String)'
    - param.getKey()
    - '[io.undertow.server.HttpServerExchange].getPathParameters()'
    - '[java.net.URLEncoder].encode(io.undertow.util.RedirectBuilder,String)'
    - '[StringBuilder].toString()'
    - '[io.undertow.util.RedirectBuilder].encodeUrlPart(String)'
    - '[io.undertow.util.RedirectBuilder].encodeUrlPart(io.undertow.util.RedirectBuilder)'
    - param.getValue()
    - '[java.util.Map<String,java.util.Deque<String>>].isEmpty()'
    - '[StringBuilder].append(char)'
    - '[String].endsWith(String)'
    - '[io.undertow.server.HttpServerExchange].getRequestScheme()'
    - '[StringBuilder].append(io.undertow.util.RedirectBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.RedirectBuilder].redirect(io.undertow.server.HttpServerExchange,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.RedirectBuilder:115,1
    - Dst: '[String].charAt(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:116,1
    - Dst: '[String].substring(io.undertow.util.RedirectBuilder,io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:121,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.util.RedirectBuilder,String)'
      Src: io.undertow.util.RedirectBuilder:122,1
    - Dst: '[io.undertow.util.RedirectBuilder].equals(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:123,1
    - Dst: '[io.undertow.util.RedirectBuilder].realEncode(String,io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:124,1
    - Dst: '[io.undertow.util.RedirectBuilder].realEncode(String,io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - part
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 133
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 133
    functionName: '[io.undertow.util.RedirectBuilder].encodeUrlPart(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/RedirectBuilder.java
    functionUses: 1
    functionsReached:
    - '[String].substring(io.undertow.util.RedirectBuilder,io.undertow.util.RedirectBuilder)'
    - '[io.undertow.util.RedirectBuilder].realEncode(String,io.undertow.util.RedirectBuilder)'
    - '[java.net.URLEncoder].encode(io.undertow.util.RedirectBuilder,String)'
    - '[String].length()'
    - '[String].charAt(io.undertow.util.RedirectBuilder)'
    - '[io.undertow.util.RedirectBuilder].equals(io.undertow.util.RedirectBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.RedirectBuilder].encodeUrlPart(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.RedirectBuilder:136,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.util.RedirectBuilder:137,1
    - Dst: '[StringBuilder].append(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:137,1
    - Dst: '[String].length()'
      Src: io.undertow.util.RedirectBuilder:139,1
    - Dst: '[String].charAt(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:140,1
    - Dst: '[String].substring(io.undertow.util.RedirectBuilder,io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:145,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.util.RedirectBuilder,String)'
      Src: io.undertow.util.RedirectBuilder:146,1
    - Dst: '[StringBuilder].append(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:147,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.RedirectBuilder:148,1
    - Dst: '[String].substring(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:154,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.util.RedirectBuilder,String)'
      Src: io.undertow.util.RedirectBuilder:155,1
    - Dst: '[StringBuilder].append(io.undertow.util.RedirectBuilder)'
      Src: io.undertow.util.RedirectBuilder:156,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.RedirectBuilder:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - part
    - startPos
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: '[io.undertow.util.RedirectBuilder].realEncode(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/RedirectBuilder.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[String].substring(io.undertow.util.RedirectBuilder)'
    - '[String].substring(io.undertow.util.RedirectBuilder,io.undertow.util.RedirectBuilder)'
    - '[StringBuilder].<init>()'
    - '[java.net.URLEncoder].encode(io.undertow.util.RedirectBuilder,String)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[String].charAt(io.undertow.util.RedirectBuilder)'
    - '[String].substring(int,int)'
    - '[StringBuilder].append(io.undertow.util.RedirectBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.RedirectBuilder].realEncode(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.util.RedirectBuilder:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.RedirectBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: '[io.undertow.util.RedirectBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/RedirectBuilder.java
    functionUses: 0
    functionsReached:
    - StandardCharsets.UTF_8.name()
    linkageType: ''
    returnType: io.undertow.util.RedirectBuilder
    signature: '[io.undertow.util.RedirectBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 606
    functionName: '[io.undertow.util.PathTemplateParser].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateParser
    signature: '[io.undertow.util.PathTemplateParser].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.util.PathTemplateParser:609,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplateParser:614,1
    - Dst: '[io.undertow.util.PathTemplateParser].wildCardsOnlyAtEndOfTemplate()'
      Src: io.undertow.util.PathTemplateParser:615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - pathTemplate
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: '[io.undertow.util.PathTemplateParser].validWildCardOrNotAWildCard(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].wildCardsOnlyAtEndOfTemplate()'
    - '[String].length()'
    - '[String].indexOf(char)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateParser].validWildCardOrNotAWildCard(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateParser:622,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateParser:636,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 644
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 644
    functionName: '[io.undertow.util.PathTemplateParser].countSegments(char[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser].countSegments(char[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].<init>(char[],int,int)'
      Src: io.undertow.util.PathTemplateParser:651,1
    - Dst: '[io.undertow.util.PathTemplateParser].illegalCharacterInPathSegment(io.undertow.util.PathTemplateParser,String,io.undertow.util.PathTemplateParser)'
      Src: io.undertow.util.PathTemplateParser:663,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - template
    - startIdx
    - endIdx
    argTypes:
    - char[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 668
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 668
    functionName: '[io.undertow.util.PathTemplateParser].validSegment(char[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 1
    functionsReached:
    - '[String].<init>(char[],int,int)'
    - '[io.undertow.util.PathTemplateParser].illegalCharacterInPathSegment(io.undertow.util.PathTemplateParser,String,io.undertow.util.PathTemplateParser)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser].validSegment(char[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.util.PathTemplateParser:692,1
    - Dst: '[ArrayIndexOutOfBoundsException].<init>(int)'
      Src: io.undertow.util.PathTemplateParser:696,1
    - Dst: '[ArrayIndexOutOfBoundsException].<init>(int)'
      Src: io.undertow.util.PathTemplateParser:699,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      - int
      - int
      - char
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - a
    - fromIndex
    - toIndex
    - key
    argTypes:
    - char[]
    - int
    - int
    - char
    constantsTouched: []
    func_position:
      end: 708
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 708
    functionName: '[io.undertow.util.PathTemplateParser].firstIndexOf(char[],int,int,char)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 1
    functionsReached:
    - '[ArrayIndexOutOfBoundsException].<init>(int)'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser].firstIndexOf(char[],int,int,char)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StaticTemplateSegment].<init>(int,String)'
      Src: io.undertow.util.PathTemplateParser:718,1
    - Dst: '[io.undertow.util.PathTemplateParser].validSegment(char[],int,int)'
      Src: io.undertow.util.PathTemplateParser:723,1
    - Dst: '[ParamTemplateSegment].<init>(int,String)'
      Src: io.undertow.util.PathTemplateParser:723,1
    - Dst: '[io.undertow.util.PathTemplateParser].firstIndexOf(char[],int,int,char)'
      Src: io.undertow.util.PathTemplateParser:727,1
    - Dst: '[io.undertow.util.PathTemplateParser].validSegment(char[],int,int)'
      Src: io.undertow.util.PathTemplateParser:729,1
    - Dst: '[WildCardTemplateSegment].<init>(int,String)'
      Src: io.undertow.util.PathTemplateParser:730,1
    - Dst: '[io.undertow.util.PathTemplateParser].validSegment(char[],int,int)'
      Src: io.undertow.util.PathTemplateParser:734,1
    - Dst: '[StaticTemplateSegment].<init>(int,String)'
      Src: io.undertow.util.PathTemplateParser:734,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - char[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: AbstractTemplateSegment
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - segmentIdx
    - template
    - startIdx
    - endIdx
    argTypes:
    - int
    - char[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 735
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 735
    functionName: '[io.undertow.util.PathTemplateParser].createSegment(int,char[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].firstIndexOf(char[],int,int,char)'
    - '[io.undertow.util.PathTemplateParser].validSegment(char[],int,int)'
    - '[ParamTemplateSegment].<init>(int,String)'
    - '[StaticTemplateSegment].<init>(int,String)'
    - '[WildCardTemplateSegment].<init>(int,String)'
    linkageType: ''
    returnType: AbstractTemplateSegment
    signature: '[io.undertow.util.PathTemplateParser].createSegment(int,char[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateParser:775,1
    - Dst: '[io.undertow.util.PathTemplateParser].validWildCardOrNotAWildCard(String)'
      Src: io.undertow.util.PathTemplateParser:777,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplateParser:780,1
    - Dst: '[io.undertow.util.PathTemplateParser].pathWithForwardSlash(String,io.undertow.util.PathTemplateParser)'
      Src: io.undertow.util.PathTemplateParser:780,1
    - Dst: '[io.undertow.util.PathTemplateParser].countSegments(io.undertow.util.PathTemplateParser)'
      Src: io.undertow.util.PathTemplateParser:782,1
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.util.PathTemplateParser:786,1
    - Dst: '[io.undertow.util.PathTemplateParser].createSegment(io.undertow.util.PathTemplateParser,io.undertow.util.PathTemplateParser,io.undertow.util.PathTemplateParser)'
      Src: io.undertow.util.PathTemplateParser:792,1
    - Dst: '[java.util.ArrayList].add(AbstractTemplateSegment)'
      Src: io.undertow.util.PathTemplateParser:794,1
    - Dst: '[java.util.List].copyOf(java.util.ArrayList)'
      Src: io.undertow.util.PathTemplateParser:800,1
    - Dst: '[io.undertow.util.PathTemplate].<init>(String,io.undertow.util.PathTemplateParser,io.undertow.util.PathTemplateParser,T)'
      Src: io.undertow.util.PathTemplateParser:798,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - T
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplate<T>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - pathTemplate
    - target
    argTypes:
    - String
    - T
    constantsTouched: []
    func_position:
      end: 804
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 804
    functionName: '[io.undertow.util.PathTemplateParser].parseTemplate(String,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser].pathWithForwardSlash(String,io.undertow.util.PathTemplateParser)'
    - '[java.util.ArrayList].<init>(int)'
    - '[io.undertow.util.PathTemplate].<init>(String,io.undertow.util.PathTemplateParser,io.undertow.util.PathTemplateParser,T)'
    - '[String].length()'
    - '[IllegalArgumentException].<init>()'
    - '[java.util.ArrayList].add(AbstractTemplateSegment)'
    - '[java.util.List].copyOf(java.util.ArrayList)'
    - '[io.undertow.util.PathTemplateParser].countSegments(io.undertow.util.PathTemplateParser)'
    - '[io.undertow.util.PathTemplateParser].validWildCardOrNotAWildCard(String)'
    - '[io.undertow.util.PathTemplateParser].createSegment(io.undertow.util.PathTemplateParser,io.undertow.util.PathTemplateParser,io.undertow.util.PathTemplateParser)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplate<T>
    signature: '[io.undertow.util.PathTemplateParser].parseTemplate(String,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateParser.PathTemplatePattern
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplatePattern].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateParser.PathTemplatePattern
    signature: '[io.undertow.util.PathTemplateParser.PathTemplatePattern].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplatePattern].patternHashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.PathTemplatePattern].patternHashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplatePattern
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - PathTemplatePattern
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplatePattern].patternEquals(PathTemplatePattern)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.PathTemplatePattern].patternEquals(PathTemplatePattern)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(T)'
      Src: io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(T)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter
    signature: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].<init>(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[T].patternHashCode()'
      Src: io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[T].patternHashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].getClass()'
      Src: io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter:195,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter:195,1
    - Dst: this.pattern.patternEquals(io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter)
      Src: io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - this.pattern.patternEquals(io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter)
    - '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].getClass()'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].getPattern()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PathTemplateParser.PathTemplatePatternEqualsAdapter].getPattern()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PathTemplateParser.AbstractTemplateSegment:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateParser.AbstractTemplateSegment
      static: false
      superClass: PathTemplatePattern
    argCount: 1
    argNames:
    - segmentIdx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateParser.AbstractTemplateSegment
    signature: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: PathTemplatePattern
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.AbstractTemplateSegment].getSegmentIdx()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AbstractTemplateSegment].<init>(int)'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:255,1
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateParser.StaticTemplateSegment
      static: false
      superClass: AbstractTemplateSegment
    argCount: 2
    argNames:
    - segmentIdx
    - value
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].<init>(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(String)'
    - '[AbstractTemplateSegment].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateParser.StaticTemplateSegment
    signature: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].<init>(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getSegmentIdx()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:274,1
    - Dst: '[java.util.Objects].hashCode(io.undertow.util.PathTemplateParser.StaticTemplateSegment)'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getSegmentIdx()'
    - '[java.util.Objects].hashCode(io.undertow.util.PathTemplateParser.StaticTemplateSegment)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getClass()'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:287,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:287,1
    - Dst: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:291,1
    - Dst: other.getSegmentIdx()
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:291,1
    - Dst: '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.StaticTemplateSegment,io.undertow.util.PathTemplateParser.StaticTemplateSegment)'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: AbstractTemplateSegment
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.StaticTemplateSegment,io.undertow.util.PathTemplateParser.StaticTemplateSegment)'
    - '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getClass()'
    - '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].getSegmentIdx()'
    - other.getSegmentIdx()
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].hashCode()'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].patternHashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].patternHashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].equals(PathTemplatePattern)'
      Src: io.undertow.util.PathTemplateParser.StaticTemplateSegment:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplatePattern
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: AbstractTemplateSegment
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PathTemplatePattern
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].patternEquals(PathTemplatePattern)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].equals(PathTemplatePattern)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.StaticTemplateSegment].patternEquals(PathTemplatePattern)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AbstractTemplateSegment].<init>(int)'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:321,1
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateParser.ParamTemplateSegment
      static: false
      superClass: AbstractTemplateSegment
    argCount: 2
    argNames:
    - segmentIdx
    - paramName
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].<init>(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(String)'
    - '[AbstractTemplateSegment].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateParser.ParamTemplateSegment
    signature: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].<init>(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getParamName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getParamName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:341,1
    - Dst: '[java.util.Objects].hashCode(io.undertow.util.PathTemplateParser.ParamTemplateSegment)'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].hashCode(io.undertow.util.PathTemplateParser.ParamTemplateSegment)'
    - '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getClass()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:354,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:354,1
    - Dst: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:358,1
    - Dst: other.getSegmentIdx()
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:358,1
    - Dst: '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.ParamTemplateSegment,io.undertow.util.PathTemplateParser.ParamTemplateSegment)'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: AbstractTemplateSegment
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.ParamTemplateSegment,io.undertow.util.PathTemplateParser.ParamTemplateSegment)'
    - '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getClass()'
    - '[Object].getClass()'
    - other.getSegmentIdx()
    - '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].patternHashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].patternHashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getClass()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:379,1
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplatePattern].getClass()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:379,1
    - Dst: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:383,1
    - Dst: other.getSegmentIdx()
      Src: io.undertow.util.PathTemplateParser.ParamTemplateSegment:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplatePattern
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: AbstractTemplateSegment
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PathTemplatePattern
    constantsTouched: []
    func_position:
      end: 384
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 384
    functionName: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].patternEquals(PathTemplatePattern)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.PathTemplatePattern].getClass()'
    - other.getSegmentIdx()
    - '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getClass()'
    - '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].getSegmentIdx()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.ParamTemplateSegment].patternEquals(PathTemplatePattern)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AbstractTemplateSegment].<init>(int)'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:400,1
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateParser.WildCardTemplateSegment
      static: false
      superClass: AbstractTemplateSegment
    argCount: 2
    argNames:
    - segmentIdx
    - prefix
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].<init>(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(String)'
    - '[AbstractTemplateSegment].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateParser.WildCardTemplateSegment
    signature: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].<init>(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getSegmentIdx()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getPrefix()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getPrefix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:419,1
    - Dst: '[java.util.Objects].hashCode(io.undertow.util.PathTemplateParser.WildCardTemplateSegment)'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getSegmentIdx()'
    - '[java.util.Objects].hashCode(io.undertow.util.PathTemplateParser.WildCardTemplateSegment)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getClass()'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:432,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:432,1
    - Dst: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getSegmentIdx()'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:436,1
    - Dst: other.getSegmentIdx()
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:436,1
    - Dst: '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.WildCardTemplateSegment,io.undertow.util.PathTemplateParser.WildCardTemplateSegment)'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:439,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: AbstractTemplateSegment
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getSegmentIdx()'
    - '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].getClass()'
    - '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.WildCardTemplateSegment,io.undertow.util.PathTemplateParser.WildCardTemplateSegment)'
    - other.getSegmentIdx()
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].hashCode()'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: AbstractTemplateSegment
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].patternHashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].patternHashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].equals(PathTemplatePattern)'
      Src: io.undertow.util.PathTemplateParser.WildCardTemplateSegment:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplatePattern
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: AbstractTemplateSegment
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PathTemplatePattern
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].patternEquals(PathTemplatePattern)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].equals(PathTemplatePattern)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.WildCardTemplateSegment].patternEquals(PathTemplatePattern)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(String)'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:501,1
    - Dst: '[java.util.Objects].requireNonNull(java.util.List<AbstractTemplateSegment>)'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:502,1
    - Dst: '[java.util.Objects].requireNonNull(T)'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<AbstractTemplateSegment>
      - boolean
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateParser.PathTemplate
      static: false
      superClass: PathTemplatePattern
    argCount: 4
    argNames:
    - pathTemplate
    - segments
    - wildCard
    - target
    argTypes:
    - String
    - java.util.List<AbstractTemplateSegment>
    - boolean
    - T
    constantsTouched: []
    func_position:
      end: 505
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 505
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].<init>(String,java.util.List<AbstractTemplateSegment>,boolean,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(java.util.List<AbstractTemplateSegment>)'
    - '[java.util.Objects].requireNonNull(T)'
    - '[java.util.Objects].requireNonNull(String)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateParser.PathTemplate
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].<init>(String,java.util.List<AbstractTemplateSegment>,boolean,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].hashCode(io.undertow.util.PathTemplateParser.PathTemplate)'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: PathTemplatePattern
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].hashCode(io.undertow.util.PathTemplateParser.PathTemplate)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplate].getClass()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:522,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:522,1
    - Dst: '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.PathTemplate,io.undertow.util.PathTemplateParser.PathTemplate)'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:529,1
    - Dst: '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.PathTemplate,io.undertow.util.PathTemplateParser.PathTemplate)'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:532,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: PathTemplatePattern
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 533
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 533
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.PathTemplate].getClass()'
    - '[Object].getClass()'
    - '[java.util.Objects].equals(io.undertow.util.PathTemplateParser.PathTemplate,io.undertow.util.PathTemplateParser.PathTemplate)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: segment.patternHashCode()
      Src: io.undertow.util.PathTemplateParser.PathTemplate:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: PathTemplatePattern
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].patternHashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - segment.patternHashCode()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].patternHashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplate].getClass()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:552,1
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplatePattern].getClass()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:552,1
    - Dst: '[List<AbstractTemplateSegment>].size()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:560,1
    - Dst: other.segments.size()
      Src: io.undertow.util.PathTemplateParser.PathTemplate:560,1
    - Dst: '[List<AbstractTemplateSegment>].iterator()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:564,1
    - Dst: other.segments.iterator()
      Src: io.undertow.util.PathTemplateParser.PathTemplate:565,1
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplate].hasNext()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:566,1
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplate].next()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:567,1
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplate].next()'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:567,1
    - Dst: '[io.undertow.util.PathTemplateParser.PathTemplate].patternEquals(io.undertow.util.PathTemplateParser.PathTemplate)'
      Src: io.undertow.util.PathTemplateParser.PathTemplate:567,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplatePattern
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: PathTemplatePattern
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PathTemplatePattern
    constantsTouched: []
    func_position:
      end: 572
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 572
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].patternEquals(PathTemplatePattern)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateParser.PathTemplate].next()'
    - '[io.undertow.util.PathTemplateParser.PathTemplate].hasNext()'
    - '[List<AbstractTemplateSegment>].size()'
    - '[io.undertow.util.PathTemplateParser.PathTemplate].getClass()'
    - '[io.undertow.util.PathTemplateParser.PathTemplatePattern].getClass()'
    - '[io.undertow.util.PathTemplateParser.PathTemplate].patternEquals(io.undertow.util.PathTemplateParser.PathTemplate)'
    - '[List<AbstractTemplateSegment>].iterator()'
    - other.segments.iterator()
    - other.segments.size()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].patternEquals(PathTemplatePattern)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: PathTemplatePattern
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].getPathTemplate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].getPathTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<AbstractTemplateSegment>
      static: false
      superClass: PathTemplatePattern
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].getSegments()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<AbstractTemplateSegment>
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].getSegments()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: PathTemplatePattern
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].getTarget()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].getTarget()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - List<AbstractTemplateSegment>
      - T
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: PathTemplatePattern
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: '[io.undertow.util.PathTemplateParser.PathTemplate].getWildCard()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateParser.PathTemplate].getWildCard()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.SimpleAttachmentKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - valueClass
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: '[io.undertow.util.SimpleAttachmentKey].<init>(Class<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleAttachmentKey.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.SimpleAttachmentKey
    signature: '[io.undertow.util.SimpleAttachmentKey].<init>(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<T>].cast(Object)'
      Src: io.undertow.util.SimpleAttachmentKey:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.util.SimpleAttachmentKey].cast(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleAttachmentKey.java
    functionUses: 0
    functionsReached:
    - '[Class<T>].cast(Object)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.SimpleAttachmentKey].cast(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SimpleAttachmentKey].getClass()'
      Src: io.undertow.util.SimpleAttachmentKey:38,1
    - Dst: '[io.undertow.util.SimpleAttachmentKey].getName()'
      Src: io.undertow.util.SimpleAttachmentKey:38,1
    - Dst: '[StringBuilder].<init>(io.undertow.util.SimpleAttachmentKey)'
      Src: io.undertow.util.SimpleAttachmentKey:38,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.SimpleAttachmentKey:39,1
    - Dst: '[Class<T>].getName()'
      Src: io.undertow.util.SimpleAttachmentKey:40,1
    - Dst: '[StringBuilder].append(io.undertow.util.SimpleAttachmentKey)'
      Src: io.undertow.util.SimpleAttachmentKey:40,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.SimpleAttachmentKey:41,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.SimpleAttachmentKey:42,1
    - Dst: '[Object].toString()'
      Src: io.undertow.util.SimpleAttachmentKey:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: '[io.undertow.util.SimpleAttachmentKey].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SimpleAttachmentKey.java
    functionUses: 0
    functionsReached:
    - '[Class<T>].getName()'
    - '[StringBuilder].append(io.undertow.util.SimpleAttachmentKey)'
    - '[Object].toString()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(io.undertow.util.SimpleAttachmentKey)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.SimpleAttachmentKey].getClass()'
    - '[io.undertow.util.SimpleAttachmentKey].getName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.SimpleAttachmentKey].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange,boolean)'
      Src: io.undertow.util.Sessions:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.Session
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Sessions.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange,boolean)'
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange,boolean)'
      Src: io.undertow.util.Sessions:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.session.Session
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.util.Sessions].getOrCreateSession(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Sessions.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange,boolean)'
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.util.Sessions].getOrCreateSession(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.Sessions)'
      Src: io.undertow.util.Sessions:53,1
    - Dst: '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.Sessions)'
      Src: io.undertow.util.Sessions:54,1
    - Dst: '[io.undertow.util.Sessions].sessionManagerNotFound()'
      Src: io.undertow.util.Sessions:56,1
    - Dst: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange,io.undertow.util.Sessions)'
      Src: io.undertow.util.Sessions:58,1
    - Dst: '[io.undertow.util.Sessions].createSession(io.undertow.server.HttpServerExchange,io.undertow.util.Sessions)'
      Src: io.undertow.util.Sessions:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.session.Session
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - create
    argTypes:
    - io.undertow.server.HttpServerExchange
    - boolean
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Sessions.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.server.HttpServerExchange].getAttachment(io.undertow.util.Sessions)'
    - '[io.undertow.util.Sessions].createSession(io.undertow.server.HttpServerExchange,io.undertow.util.Sessions)'
    - '[io.undertow.util.Sessions].sessionManagerNotFound()'
    - '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange,io.undertow.util.Sessions)'
    linkageType: ''
    returnType: io.undertow.server.session.Session
    signature: '[io.undertow.util.Sessions].getSession(io.undertow.server.HttpServerExchange,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.Sessions
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '[io.undertow.util.Sessions].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Sessions.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.Sessions
    signature: '[io.undertow.util.Sessions].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableSet(java.util.Set<String>)'
      Src: io.undertow.util.PathTemplate:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplate
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - templateString
    - template
    - base
    - parts
    - parameterNames
    - trailingSlash
    argTypes:
    - String
    - boolean
    - String
    - java.util.List<Part>
    - java.util.Set<String>
    - boolean
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: '[io.undertow.util.PathTemplate].<init>(String,boolean,String,java.util.List<Part>,java.util.Set<String>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableSet(java.util.Set<String>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplate
    signature: '[io.undertow.util.PathTemplate].<init>(String,boolean,String,java.util.List<Part>,java.util.Set<String>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].pathMustBeSpecified()'
      Src: io.undertow.util.PathTemplate:64,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.PathTemplate:68,1
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplate:69,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.PathTemplate:77,1
    - Dst: path.length()
      Src: io.undertow.util.PathTemplate:86,1
    - Dst: path.charAt(io.undertow.util.PathTemplate)
      Src: io.undertow.util.PathTemplate:87,1
    - Dst: path.substring(int,int)
      Src: io.undertow.util.PathTemplate:93,1
    - Dst: path.substring(int,io.undertow.util.PathTemplate)
      Src: io.undertow.util.PathTemplate:103,1
    - Dst: path.substring(int,int)
      Src: io.undertow.util.PathTemplate:107,1
    - Dst: path.substring(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)
      Src: io.undertow.util.PathTemplate:117,1
    - Dst: '[io.undertow.util.PathTemplate.Part].<init>(boolean,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:117,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.PathTemplate.Part)'
      Src: io.undertow.util.PathTemplate:118,1
    - Dst: '[io.undertow.util.PathTemplate].couldNotParseUriTemplate(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:128,1
    - Dst: path.substring(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)
      Src: io.undertow.util.PathTemplate:144,1
    - Dst: '[io.undertow.util.PathTemplate.Part].<init>(boolean,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:144,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.PathTemplate.Part)'
      Src: io.undertow.util.PathTemplate:145,1
    - Dst: path.length()
      Src: io.undertow.util.PathTemplate:163,1
    - Dst: '[io.undertow.util.PathTemplate].couldNotParseUriTemplate(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:163,1
    - Dst: path.substring(io.undertow.util.PathTemplate)
      Src: io.undertow.util.PathTemplate:170,1
    - Dst: '[io.undertow.util.PathTemplate.Part].<init>(boolean,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:170,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.PathTemplate.Part)'
      Src: io.undertow.util.PathTemplate:171,1
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.util.PathTemplate:175,1
    - Dst: '[java.util.HashSet].add(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:178,1
    - Dst: '[io.undertow.util.PathTemplate].<init>(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate,String,java.util.ArrayList,java.util.HashSet,boolean)'
      Src: io.undertow.util.PathTemplate:181,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 74
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplate
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - inputPath
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 182
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 182
    functionName: '[io.undertow.util.PathTemplate].create(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.util.PathTemplate.Part].<init>(boolean,io.undertow.util.PathTemplate)'
    - '[io.undertow.util.PathTemplate].couldNotParseUriTemplate(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
    - '[java.util.HashSet].add(io.undertow.util.PathTemplate)'
    - '[io.undertow.util.PathTemplate].<init>(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate,String,java.util.ArrayList,java.util.HashSet,boolean)'
    - path.substring(int,int)
    - path.length()
    - '[java.util.HashSet].<init>()'
    - path.charAt(io.undertow.util.PathTemplate)
    - '[java.util.ArrayList].add(io.undertow.util.PathTemplate.Part)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.util.PathTemplate].create(String)'
    - path.substring(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)
    - path.substring(io.undertow.util.PathTemplate)
    - '[String].startsWith(String)'
    - path.substring(int,io.undertow.util.PathTemplate)
    - '[io.undertow.util.PathTemplate].pathMustBeSpecified()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplate
    signature: '[io.undertow.util.PathTemplate].create(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.PathTemplate:197,1
    - Dst: '[String].indexOf(String)'
      Src: io.undertow.util.PathTemplate:198,1
    - Dst: '[String].substring(int,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:199,1
    - Dst: '[String].startsWith(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:200,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplate:203,1
    - Dst: '[String].substring(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:203,1
    - Dst: '[java.util.Map<String,String>].put(String,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:203,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.PathTemplate:208,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplate:211,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplate:213,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplate:219,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.PathTemplate:219,1
    - Dst: '[java.util.List<Part>].get(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:225,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplate:228,1
    - Dst: '[String].charAt(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:229,1
    - Dst: '[io.undertow.util.PathTemplate].equals(String)'
      Src: io.undertow.util.PathTemplate:230,1
    - Dst: '[String].substring(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:233,1
    - Dst: '[java.util.Map<String,String>].put(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:235,1
    - Dst: '[io.undertow.util.PathTemplate].equals(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:236,1
    - Dst: '[java.util.Map<String,String>].clear()'
      Src: io.undertow.util.PathTemplate:237,1
    - Dst: '[java.util.List<Part>].size()'
      Src: io.undertow.util.PathTemplate:241,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplate:243,1
    - Dst: '[java.util.List<Part>].get(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:245,1
    - Dst: '[java.util.List<Part>].size()'
      Src: io.undertow.util.PathTemplate:249,1
    - Dst: '[java.util.Map<String,String>].clear()'
      Src: io.undertow.util.PathTemplate:250,1
    - Dst: '[String].substring(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:254,1
    - Dst: '[io.undertow.util.PathTemplate].equals(String)'
      Src: io.undertow.util.PathTemplate:255,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplate:256,1
    - Dst: '[String].substring(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:256,1
    - Dst: '[java.util.Map<String,String>].put(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:256,1
    - Dst: '[java.util.Map<String,String>].put(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:260,1
    - Dst: '[io.undertow.util.PathTemplate].equals(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:261,1
    - Dst: '[java.util.Map<String,String>].clear()'
      Src: io.undertow.util.PathTemplate:262,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - pathParameters
    argTypes:
    - String
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 266
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 266
    functionName: '[io.undertow.util.PathTemplate].matches(String,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplate].equals(String)'
    - '[String].indexOf(String)'
    - '[String].substring(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
    - '[io.undertow.util.PathTemplate].equals(io.undertow.util.PathTemplate)'
    - '[java.util.List<Part>].get(io.undertow.util.PathTemplate)'
    - '[String].charAt(int)'
    - '[String].substring(int,io.undertow.util.PathTemplate)'
    - '[String].contains(String)'
    - '[String].length()'
    - '[java.util.List<Part>].size()'
    - '[java.util.Map<String,String>].clear()'
    - '[String].charAt(io.undertow.util.PathTemplate)'
    - '[String].startsWith(io.undertow.util.PathTemplate)'
    - '[java.util.Map<String,String>].put(String,io.undertow.util.PathTemplate)'
    - '[String].startsWith(String)'
    - '[java.util.Map<String,String>].put(io.undertow.util.PathTemplate,io.undertow.util.PathTemplate)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplate].matches(String,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].compareTo(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: '[io.undertow.util.PathTemplate].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplate].compareTo(io.undertow.util.PathTemplate)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplate].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].getTemplateString()'
      Src: io.undertow.util.PathTemplate:281,1
    - Dst: '[io.undertow.util.PathTemplate].getTemplateString()'
      Src: io.undertow.util.PathTemplate:281,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.util.PathTemplate:281,1
    - Dst: '[io.undertow.util.PathTemplate].getBase()'
      Src: io.undertow.util.PathTemplate:283,1
    - Dst: '[io.undertow.util.PathTemplate].getBase()'
      Src: io.undertow.util.PathTemplate:283,1
    - Dst: '[String].hashCode()'
      Src: io.undertow.util.PathTemplate:283,1
    - Dst: '[java.util.List<Part>].hashCode()'
      Src: io.undertow.util.PathTemplate:284,1
    - Dst: '[io.undertow.util.PathTemplate].getParameterNames()'
      Src: io.undertow.util.PathTemplate:285,1
    - Dst: '[io.undertow.util.PathTemplate].getParameterNames()'
      Src: io.undertow.util.PathTemplate:285,1
    - Dst: '[java.util.Set<String>].hashCode()'
      Src: io.undertow.util.PathTemplate:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: '[io.undertow.util.PathTemplate].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PathTemplate].getTemplateString()'
    - '[String].hashCode()'
    - '[io.undertow.util.PathTemplate].getParameterNames()'
    - '[java.util.List<Part>].hashCode()'
    - '[java.util.Set<String>].hashCode()'
    - '[io.undertow.util.PathTemplate].getBase()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplate].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].compareTo(String)'
      Src: io.undertow.util.PathTemplate:301,1
    - Dst: '[java.util.List<Part>].size()'
      Src: io.undertow.util.PathTemplate:315,1
    - Dst: '[java.util.List<Part>].size()'
      Src: io.undertow.util.PathTemplate:316,1
    - Dst: '[String].compareTo(String)'
      Src: io.undertow.util.PathTemplate:317,1
    - Dst: '[java.util.List<Part>].size()'
      Src: io.undertow.util.PathTemplate:320,1
    - Dst: '[java.util.List<Part>].get(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:324,1
    - Dst: '[java.util.List<Part>].get(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:325,1
    - Dst: '[io.undertow.util.PathTemplate].compareTo(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplate:332,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplate
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - io.undertow.util.PathTemplate
    constantsTouched: []
    func_position:
      end: 339
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 339
    functionName: '[io.undertow.util.PathTemplate].compareTo(io.undertow.util.PathTemplate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 2
    functionsReached:
    - '[String].compareTo(String)'
    - '[java.util.List<Part>].get(io.undertow.util.PathTemplate)'
    - '[java.util.List<Part>].size()'
    - '[io.undertow.util.PathTemplate].compareTo(io.undertow.util.PathTemplate)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplate].compareTo(io.undertow.util.PathTemplate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: '[io.undertow.util.PathTemplate].getBase()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplate].getBase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: '[io.undertow.util.PathTemplate].getTemplateString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplate].getTemplateString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: '[io.undertow.util.PathTemplate].getParameterNames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.util.PathTemplate].getParameterNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      - String
      - java.util.List<Part>
      - java.util.Set<String>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: '[io.undertow.util.PathTemplate].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplate].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplate.Part
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - part
    argTypes:
    - boolean
    - String
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '[io.undertow.util.PathTemplate.Part].<init>(boolean,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplate.Part
    signature: '[io.undertow.util.PathTemplate.Part].<init>(boolean,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: '[io.undertow.util.PathTemplate.Part].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplate.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplate.Part].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].prevTerminator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].prevTerminator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].nextTerminator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].nextTerminator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:335,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:336,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetNext(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:350,1
    - Dst: p.casPrev(null,io.undertow.server.handlers.proxy.mod_cluster.Node)
      Src: io.undertow.util.PortableConcurrentDirectDeque:351,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].casHead(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 362
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 362
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].linkFirst(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].casHead(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(E)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetNext(io.undertow.util.PortableConcurrentDirectDeque)'
    - p.casPrev(null,io.undertow.server.handlers.proxy.mod_cluster.Node)
    - '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,E)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].linkFirst(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:368,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:369,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:383,1
    - Dst: p.casNext(null,io.undertow.server.handlers.proxy.mod_cluster.Node)
      Src: io.undertow.util.PortableConcurrentDirectDeque:384,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 395
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 395
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].linkLast(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(E)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)'
    - p.casNext(null,io.undertow.server.handlers.proxy.mod_cluster.Node)
    - '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,E)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].linkLast(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].unlinkFirst(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:406,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].unlinkLast(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:408,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:483,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:484,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].updateHead()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:495,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].updateTail()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:496,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].lazySetPrev()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:499,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].lazySetNext()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:500,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - x
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 503
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 503
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].lazySetPrev()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].updateHead()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].unlinkFirst(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].unlinkLast(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].lazySetNext()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].updateTail()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casNext(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:511,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:512,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].updateHead()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:517,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].updateTail()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:518,1
    - Dst: o.lazySetNext(io.undertow.util.PortableConcurrentDirectDeque)
      Src: io.undertow.util.PortableConcurrentDirectDeque:521,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].prevTerminator()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:522,1
    - Dst: o.lazySetPrev(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)
      Src: io.undertow.util.PortableConcurrentDirectDeque:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - first
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].unlinkFirst(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - o.lazySetNext(io.undertow.util.PortableConcurrentDirectDeque)
    - '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casNext(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.PortableConcurrentDirectDeque)'
    - o.lazySetPrev(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)
    - '[io.undertow.util.PortableConcurrentDirectDeque].updateHead()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].updateTail()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].prevTerminator()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].unlinkFirst(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casPrev(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:542,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:543,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].updateHead()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:548,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].updateTail()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:549,1
    - Dst: o.lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)
      Src: io.undertow.util.PortableConcurrentDirectDeque:552,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].nextTerminator()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:553,1
    - Dst: o.lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)
      Src: io.undertow.util.PortableConcurrentDirectDeque:553,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - last
    - prev
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 565
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 565
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].unlinkLast(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - o.lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)
    - '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].updateHead()'
    - o.lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)
    - '[io.undertow.util.PortableConcurrentDirectDeque].updateTail()'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casPrev(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].nextTerminator()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].unlinkLast(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].casHead(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:584,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 595
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 595
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].updateHead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].casHead(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].updateHead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:614,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 625
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].updateTail()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].updateTail()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casPrev(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:649,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - x
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 653
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 653
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casPrev(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casNext(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:677,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - x
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 681
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 681
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casNext(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].last()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].last()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].casHead(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:722,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 727
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].casHead(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 752
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].last()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].last()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - v
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 4
    functionsReached:
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:776,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:777,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:777,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.ArrayList<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 783
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].toArrayList()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 2
    functionsReached:
    - '[java.util.ArrayList].add(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: java.util.ArrayList<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].toArrayList()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:274,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:275,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(null)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PortableConcurrentDirectDeque
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 790
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(null)'
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.util.PortableConcurrentDirectDeque
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:274,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:275,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:805,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:806,1
    - Dst: t.lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node)
      Src: io.undertow.util.PortableConcurrentDirectDeque:810,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:811,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].initHeadTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?extendsE>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PortableConcurrentDirectDeque
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?extendsE>
    constantsTouched: []
    func_position:
      end: 816
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 816
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].<init>(java.util.Collection<?extendsE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].initHeadTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,io.undertow.util.PortableConcurrentDirectDeque)'
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    - t.lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node)
    linkageType: ''
    returnType: io.undertow.util.PortableConcurrentDirectDeque
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].<init>(java.util.Collection<?extendsE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(null)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:824,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(null)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:827,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:828,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - h
    - t
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 835
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 835
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].initHeadTail(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.server.handlers.proxy.mod_cluster.Node)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(null)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].initHeadTail(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].linkFirst(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 846
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 846
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].addFirst(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].linkFirst(E)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].addFirst(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].linkLast(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 859
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 859
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].addLast(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].linkLast(E)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].addLast(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].linkFirst(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].offerFirst(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].linkFirst(E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].offerFirst(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].linkFirst(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 875
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 875
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].offerFirstAndReturnToken(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].linkFirst(E)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].offerFirstAndReturnToken(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].linkLast(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].offerLastAndReturnToken(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].linkLast(E)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].offerLastAndReturnToken(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:883,1
    - Dst: node.casItem(io.undertow.util.PortableConcurrentDirectDeque,null)
      Src: io.undertow.util.PortableConcurrentDirectDeque:887,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 889
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 889
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].removeToken(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - node.casItem(io.undertow.util.PortableConcurrentDirectDeque,null)
    - '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].removeToken(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].linkLast(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 903
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].offerLast(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].linkLast(E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].offerLast(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:906,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 912
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].peekFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].peekFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].last()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:915,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 921
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 921
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].peekLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].last()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].peekLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].peekFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:927,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 928
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 928
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].getFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].peekFirst()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].getFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].peekLast()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:934,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 935
      start: 933
    functionDepth: 3
    functionLinenumber: 933
    functionLinenumberEnd: 935
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].getLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].peekLast()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].getLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:938,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:938,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casItem(io.undertow.util.PortableConcurrentDirectDeque,null)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:940,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:941,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 3
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].pollFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casItem(io.undertow.util.PortableConcurrentDirectDeque,null)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].pollFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].last()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:949,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:949,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casItem(io.undertow.util.PortableConcurrentDirectDeque,null)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:951,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 957
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 957
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].pollLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casItem(io.undertow.util.PortableConcurrentDirectDeque,null)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].last()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].pollLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].pollFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:963,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].removeFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].pollFirst()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].removeFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].pollLast()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:970,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 971
      start: 969
    functionDepth: 4
    functionLinenumber: 969
    functionLinenumberEnd: 971
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].removeLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].pollLast()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].screenNullResult(E)'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].removeLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].offerLast(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 984
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 984
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].offer(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].offerLast(E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].offer(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].offerLast(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 996
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 996
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].add(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].offerLast(E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].add(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].pollFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1000
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].poll()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].pollFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].poll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].removeFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1002
    functionDepth: 5
    functionLinenumber: 1002
    functionLinenumberEnd: 1004
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].remove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].removeFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].remove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].peekFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1006
    functionDepth: 3
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].peek()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].peekFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].peek()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].getFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 4
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].element()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].getFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].element()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].addFirst(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 1016
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1016
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].push(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].addFirst(E)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].push(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].removeFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1018
    functionDepth: 5
    functionLinenumber: 1018
    functionLinenumberEnd: 1020
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].pop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].removeFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].pop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,Object)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1032,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1033,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1033,1
    - Dst: '[Object].equals(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1035,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casItem(io.undertow.util.PortableConcurrentDirectDeque,null)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1035,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 1041
      start: 1031
    functionDepth: 3
    functionLinenumber: 1031
    functionLinenumberEnd: 1041
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].removeFirstOccurrence(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    - '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[Object].equals(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casItem(io.undertow.util.PortableConcurrentDirectDeque,null)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].removeFirstOccurrence(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,Object)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1053,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].last()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1054,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1054,1
    - Dst: '[Object].equals(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1056,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casItem(io.undertow.util.PortableConcurrentDirectDeque,null)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1056,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 1062
      start: 1052
    functionDepth: 3
    functionLinenumber: 1052
    functionLinenumberEnd: 1062
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].removeLastOccurrence(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].last()'
    - '[Object].equals(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node<E>].casItem(io.undertow.util.PortableConcurrentDirectDeque,null)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].removeLastOccurrence(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1073,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1073,1
    - Dst: '[Object].equals(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1075,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 1079
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1079
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].contains(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    - '[Object].equals(io.undertow.util.PortableConcurrentDirectDeque)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].contains(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].peekFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1088
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].peekFirst()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1108,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1106
    functionDepth: 2
    functionLinenumber: 1106
    functionLinenumberEnd: 1114
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].removeFirstOccurrence(Object)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 1127
      start: 1125
    functionDepth: 4
    functionLinenumber: 1125
    functionLinenumberEnd: 1127
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].remove(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].removeFirstOccurrence(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].remove(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1144,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1149,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1150,1
    - Dst: last.lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node)
      Src: io.undertow.util.PortableConcurrentDirectDeque:1154,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1155,1
    - Dst: beginningOfTheEnd.lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)
      Src: io.undertow.util.PortableConcurrentDirectDeque:1175,1
    - Dst: p.casNext(null,io.undertow.util.PortableConcurrentDirectDeque)
      Src: io.undertow.util.PortableConcurrentDirectDeque:1176,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1179,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1184,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?extendsE>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?extendsE>
    constantsTouched: []
    func_position:
      end: 1191
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1191
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].addAll(java.util.Collection<?extendsE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - last.lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node)
    - p.casNext(null,io.undertow.util.PortableConcurrentDirectDeque)
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,io.undertow.util.PortableConcurrentDirectDeque)'
    - '[IllegalArgumentException].<init>()'
    - beginningOfTheEnd.lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)
    - '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].addAll(java.util.Collection<?extendsE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].pollFirst()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1196
    functionDepth: 4
    functionLinenumber: 1196
    functionLinenumberEnd: 1198
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].pollFirst()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].toArrayList()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1214,1
    - Dst: '[java.util.ArrayList<E>].toArray()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1213
    functionDepth: 3
    functionLinenumber: 1213
    functionLinenumberEnd: 1215
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].toArray()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].toArrayList()'
    - '[java.util.ArrayList<E>].toArray()'
    linkageType: ''
    returnType: Object[]
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].toArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].toArrayList()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1255,1
    - Dst: '[java.util.ArrayList<E>].toArray(T[])'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - T[]
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - a
    argTypes:
    - T[]
    constantsTouched: []
    func_position:
      end: 1256
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1256
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].toArray(T[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].toArrayList()'
    - '[java.util.ArrayList<E>].toArray(T[])'
    linkageType: ''
    returnType: T[]
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].toArray(T[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Itr].<init>()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1273
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[Itr].<init>()'
    linkageType: ''
    returnType: java.util.Iterator<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[DescendingItr].<init>()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1291
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].descendingIterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[DescendingItr].<init>()'
    linkageType: ''
    returnType: java.util.Iterator<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].descendingIterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ObjectOutputStream].defaultWriteObject()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1398,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1401,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1401,1
    - Dst: '[java.io.ObjectOutputStream].writeObject(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1404,1
    - Dst: '[java.io.ObjectOutputStream].writeObject(null)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.ObjectOutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - java.io.ObjectOutputStream
    constantsTouched: []
    func_position:
      end: 1409
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1409
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].writeObject(java.io.ObjectOutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].first()'
    - '[java.io.ObjectOutputStream].writeObject(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[java.io.ObjectOutputStream].writeObject(null)'
    - '[io.undertow.util.PortableConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[java.io.ObjectOutputStream].defaultWriteObject()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].writeObject(java.io.ObjectOutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ObjectInputStream].defaultReadObject()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1416,1
    - Dst: '[java.io.ObjectInputStream].readObject()'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1421,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1423,1
    - Dst: t.lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node)
      Src: io.undertow.util.PortableConcurrentDirectDeque:1427,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1428,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque].initHeadTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.ObjectInputStream
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - ClassNotFoundException
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - java.io.ObjectInputStream
    constantsTouched: []
    func_position:
      end: 1433
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1433
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].readObject(java.io.ObjectInputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque].initHeadTail(io.undertow.util.PortableConcurrentDirectDeque,io.undertow.util.PortableConcurrentDirectDeque)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>(E)'
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].lazySetPrev(io.undertow.util.PortableConcurrentDirectDeque)'
    - '[java.io.ObjectInputStream].readObject()'
    - '[java.io.ObjectInputStream].defaultReadObject()'
    - t.lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].readObject(java.io.ObjectInputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cmp
    - val
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].casHead(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].casHead(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque:1440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cmp
    - val
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1441
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1441
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.util.PortableConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque].casTail(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:290,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:291,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Object>
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PortableConcurrentDirectDeque.Node
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Node].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.util.PortableConcurrentDirectDeque.Node
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Node].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:290,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:291,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Object>
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PortableConcurrentDirectDeque.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - item
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Node].<init>(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.util.PortableConcurrentDirectDeque.Node
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Node].<init>(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<Node, Object>].compareAndSet(E,E)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Object>
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cmp
    - val
    argTypes:
    - E
    - E
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Node].casItem(E,E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<Node, Object>].compareAndSet(E,E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Node].casItem(E,E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Object>
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - val
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Node].lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Node].lazySetNext(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<Node, Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Object>
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cmp
    - val
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Node].casNext(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<Node, Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Node].casNext(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Object>
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - val
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Node].lazySetPrev(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Node].lazySetPrev(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicReferenceFieldUpdater<Node, Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Node:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Node>
      - AtomicReferenceFieldUpdater<Node, Object>
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - cmp
    - val
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Node].casPrev(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[AtomicReferenceFieldUpdater<Node, Node>].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Node].casPrev(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1313
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].startNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].startNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1314
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1314
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].advance()'
      Src: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1318
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].advance()'
    linkageType: ''
    returnType: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].startNode()'
      Src: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr:1327,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].nextNode(Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr:1327,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].nextNode(io.undertow.util.PortableConcurrentDirectDeque.AbstractItr)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr:1328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1342
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].advance()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].nextNode(io.undertow.util.PortableConcurrentDirectDeque.AbstractItr)'
    - '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].startNode()'
    - '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].nextNode(Node<E>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].advance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1346
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].hasNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].hasNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr:1350,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].advance()'
      Src: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1353
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].next()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].advance()'
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].next()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr:1357,1
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].unlink(io.undertow.util.PortableConcurrentDirectDeque.AbstractItr)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.AbstractItr:1359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1361
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].remove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].unlink(io.undertow.util.PortableConcurrentDirectDeque.AbstractItr)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.AbstractItr].remove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.Itr].first()'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Itr:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: AbstractItr
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1368
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Itr].startNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque.Itr].first()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Itr].startNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.Itr].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.Itr:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: AbstractItr
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1372
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1372
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Itr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque.Itr].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Itr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PortableConcurrentDirectDeque.Itr
      static: false
      superClass: AbstractItr
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.Itr].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PortableConcurrentDirectDeque.Itr
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.Itr].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].last()'
      Src: io.undertow.util.PortableConcurrentDirectDeque.DescendingItr:1380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: AbstractItr
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1381
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].startNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].last()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].startNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.PortableConcurrentDirectDeque.DescendingItr:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: AbstractItr
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1385
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1385
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PortableConcurrentDirectDeque.DescendingItr
      static: false
      superClass: AbstractItr
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PortableConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PortableConcurrentDirectDeque.DescendingItr
    signature: '[io.undertow.util.PortableConcurrentDirectDeque.DescendingItr].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonList(io.undertow.util.ETag)'
      Src: io.undertow.util.ETagUtils:45,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETagUtils,boolean)'
      Src: io.undertow.util.ETagUtils:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.util.ETag
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - etag
    - allowWeak
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.util.ETag
    - boolean
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.ETagUtils].handleIfMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETag,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ETagUtils].handleIfMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETagUtils,boolean)'
    - '[java.util.Collections].singletonList(io.undertow.util.ETag)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETagUtils].handleIfMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETag,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.util.ETagUtils:56,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.ETagUtils:56,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfMatch(String,java.util.List<io.undertow.util.ETag>,boolean)'
      Src: io.undertow.util.ETagUtils:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.util.ETag>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - etags
    - allowWeak
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.util.List<io.undertow.util.ETag>
    - boolean
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.util.ETagUtils].handleIfMatch(io.undertow.server.HttpServerExchange,java.util.List<io.undertow.util.ETag>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.ETagUtils].handleIfMatch(String,java.util.List<io.undertow.util.ETag>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETagUtils].handleIfMatch(io.undertow.server.HttpServerExchange,java.util.List<io.undertow.util.ETag>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonList(io.undertow.util.ETag)'
      Src: io.undertow.util.ETagUtils:67,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfMatch(String,io.undertow.util.ETagUtils,boolean)'
      Src: io.undertow.util.ETagUtils:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.util.ETag
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - ifMatch
    - etag
    - allowWeak
    argTypes:
    - String
    - io.undertow.util.ETag
    - boolean
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.util.ETagUtils].handleIfMatch(String,io.undertow.util.ETag,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ETagUtils].handleIfMatch(String,io.undertow.util.ETagUtils,boolean)'
    - '[java.util.Collections].singletonList(io.undertow.util.ETag)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETagUtils].handleIfMatch(String,io.undertow.util.ETag,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.util.ETagUtils:81,1
    - Dst: '[io.undertow.util.ETagUtils].parseETagList(String)'
      Src: io.undertow.util.ETagUtils:84,1
    - Dst: part.isWeak()
      Src: io.undertow.util.ETagUtils:86,1
    - Dst: tag.isWeak()
      Src: io.undertow.util.ETagUtils:91,1
    - Dst: tag.getTag()
      Src: io.undertow.util.ETagUtils:94,1
    - Dst: part.getTag()
      Src: io.undertow.util.ETagUtils:94,1
    - Dst: '[io.undertow.util.ETagUtils].equals(io.undertow.util.ETagUtils)'
      Src: io.undertow.util.ETagUtils:94,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<io.undertow.util.ETag>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - ifMatch
    - etags
    - allowWeak
    argTypes:
    - String
    - java.util.List<io.undertow.util.ETag>
    - boolean
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: '[io.undertow.util.ETagUtils].handleIfMatch(String,java.util.List<io.undertow.util.ETag>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 1
    functionsReached:
    - part.isWeak()
    - '[String].equals(String)'
    - part.getTag()
    - '[io.undertow.util.ETagUtils].equals(io.undertow.util.ETagUtils)'
    - tag.isWeak()
    - tag.getTag()
    - '[io.undertow.util.ETagUtils].parseETagList(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETagUtils].handleIfMatch(String,java.util.List<io.undertow.util.ETag>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonList(io.undertow.util.ETag)'
      Src: io.undertow.util.ETagUtils:112,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETagUtils,boolean)'
      Src: io.undertow.util.ETagUtils:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.util.ETag
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - etag
    - allowWeak
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.util.ETag
    - boolean
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETag,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETagUtils,boolean)'
    - '[java.util.Collections].singletonList(io.undertow.util.ETag)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,io.undertow.util.ETag,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.util.ETagUtils:123,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.ETagUtils:123,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfNoneMatch(String,java.util.List<io.undertow.util.ETag>,boolean)'
      Src: io.undertow.util.ETagUtils:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.util.List<io.undertow.util.ETag>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - exchange
    - etags
    - allowWeak
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.util.List<io.undertow.util.ETag>
    - boolean
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,java.util.List<io.undertow.util.ETag>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.ETagUtils].handleIfNoneMatch(String,java.util.List<io.undertow.util.ETag>,boolean)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETagUtils].handleIfNoneMatch(io.undertow.server.HttpServerExchange,java.util.List<io.undertow.util.ETag>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].singletonList(io.undertow.util.ETag)'
      Src: io.undertow.util.ETagUtils:134,1
    - Dst: '[io.undertow.util.ETagUtils].handleIfNoneMatch(String,io.undertow.util.ETagUtils,boolean)'
      Src: io.undertow.util.ETagUtils:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.util.ETag
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - ifNoneMatch
    - etag
    - allowWeak
    argTypes:
    - String
    - io.undertow.util.ETag
    - boolean
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.util.ETagUtils].handleIfNoneMatch(String,io.undertow.util.ETag,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ETagUtils].handleIfNoneMatch(String,io.undertow.util.ETagUtils,boolean)'
    - '[java.util.Collections].singletonList(io.undertow.util.ETag)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETagUtils].handleIfNoneMatch(String,io.undertow.util.ETag,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ETagUtils].parseETagList(String)'
      Src: io.undertow.util.ETagUtils:148,1
    - Dst: part.getTag()
      Src: io.undertow.util.ETagUtils:150,1
    - Dst: '[io.undertow.util.ETagUtils].equals(String)'
      Src: io.undertow.util.ETagUtils:150,1
    - Dst: part.isWeak()
      Src: io.undertow.util.ETagUtils:153,1
    - Dst: tag.isWeak()
      Src: io.undertow.util.ETagUtils:158,1
    - Dst: tag.getTag()
      Src: io.undertow.util.ETagUtils:161,1
    - Dst: part.getTag()
      Src: io.undertow.util.ETagUtils:161,1
    - Dst: '[io.undertow.util.ETagUtils].equals(io.undertow.util.ETagUtils)'
      Src: io.undertow.util.ETagUtils:161,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.List<io.undertow.util.ETag>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - ifNoneMatch
    - etags
    - allowWeak
    argTypes:
    - String
    - java.util.List<io.undertow.util.ETag>
    - boolean
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: '[io.undertow.util.ETagUtils].handleIfNoneMatch(String,java.util.List<io.undertow.util.ETag>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 1
    functionsReached:
    - part.isWeak()
    - part.getTag()
    - '[io.undertow.util.ETagUtils].equals(io.undertow.util.ETagUtils)'
    - tag.getTag()
    - '[io.undertow.util.ETagUtils].equals(String)'
    - tag.isWeak()
    - '[io.undertow.util.ETagUtils].parseETagList(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETagUtils].handleIfNoneMatch(String,java.util.List<io.undertow.util.ETag>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toCharArray()'
      Src: io.undertow.util.ETagUtils:171,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.ETagUtils:174,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.util.ETagUtils:184,1
    - Dst: String.valueOf(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)
      Src: io.undertow.util.ETagUtils:208,1
    - Dst: '[io.undertow.util.ETagUtils].trim()'
      Src: io.undertow.util.ETagUtils:209,1
    - Dst: '[io.undertow.util.ETag].<init>(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)'
      Src: io.undertow.util.ETagUtils:209,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.ETag)'
      Src: io.undertow.util.ETagUtils:209,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.util.ETagUtils:214,1
    - Dst: String.valueOf(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)
      Src: io.undertow.util.ETagUtils:216,1
    - Dst: '[io.undertow.util.ETagUtils].trim()'
      Src: io.undertow.util.ETagUtils:217,1
    - Dst: '[io.undertow.util.ETag].<init>(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)'
      Src: io.undertow.util.ETagUtils:217,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.ETag)'
      Src: io.undertow.util.ETagUtils:217,1
    - Dst: String.valueOf(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)
      Src: io.undertow.util.ETagUtils:228,1
    - Dst: '[io.undertow.util.ETagUtils].trim()'
      Src: io.undertow.util.ETagUtils:229,1
    - Dst: '[io.undertow.util.ETag].<init>(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)'
      Src: io.undertow.util.ETagUtils:229,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.ETag)'
      Src: io.undertow.util.ETagUtils:229,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.util.ETag>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 234
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 234
    functionName: '[io.undertow.util.ETagUtils].parseETagList(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 3
    functionsReached:
    - '[String].toCharArray()'
    - String.valueOf(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)
    - '[io.undertow.util.ETag].<init>(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)'
    - '[io.undertow.util.ETagUtils].trim()'
    - '[java.util.ArrayList].<init>()'
    - Character.isWhitespace()
    - '[java.util.ArrayList].add(io.undertow.util.ETag)'
    linkageType: ''
    returnType: java.util.List<io.undertow.util.ETag>
    signature: '[io.undertow.util.ETagUtils].parseETagList(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.util.ETagUtils:241,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.ETagUtils:241,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.util.ETagUtils:245,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.util.ETagUtils:253,1
    - Dst: String.valueOf(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)
      Src: io.undertow.util.ETagUtils:276,1
    - Dst: '[io.undertow.util.ETagUtils].trim()'
      Src: io.undertow.util.ETagUtils:277,1
    - Dst: '[io.undertow.util.ETag].<init>(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)'
      Src: io.undertow.util.ETagUtils:277,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.util.ETagUtils:281,1
    - Dst: String.valueOf(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)
      Src: io.undertow.util.ETagUtils:283,1
    - Dst: '[io.undertow.util.ETagUtils].trim()'
      Src: io.undertow.util.ETagUtils:284,1
    - Dst: '[io.undertow.util.ETag].<init>(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)'
      Src: io.undertow.util.ETagUtils:284,1
    - Dst: String.valueOf(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)
      Src: io.undertow.util.ETagUtils:293,1
    - Dst: '[io.undertow.util.ETagUtils].trim()'
      Src: io.undertow.util.ETagUtils:294,1
    - Dst: '[io.undertow.util.ETag].<init>(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)'
      Src: io.undertow.util.ETagUtils:294,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETag
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 299
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 299
    functionName: '[io.undertow.util.ETagUtils].getETag(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - String.valueOf(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)
    - '[io.undertow.util.ETag].<init>(io.undertow.util.ETagUtils,io.undertow.util.ETagUtils)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.ETagUtils].trim()'
    - '[String].toCharArray()'
    - Character.isWhitespace()
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.util.ETagUtils].getETag(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETagUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.ETagUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETagUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETagUtils
    signature: '[io.undertow.util.ETagUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - useragent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].shouldSendSameSiteNone(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].shouldSendSameSiteNone(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:68,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].hasWebKitSameSiteBug(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:72,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].dropsUnrecognizedSameSiteCookies(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - useragent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].hasWebKitSameSiteBug(String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].dropsUnrecognizedSameSiteCookies(String)'
    - '[String].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSameSiteNoneIncompatible(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isIosVersion(int,String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:77,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isMacosxVersion(int,int,String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:78,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSafari(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:79,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isMacEmbeddedBrowser(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - useragent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].hasWebKitSameSiteBug(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isMacosxVersion(int,int,String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isIosVersion(int,String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isMacEmbeddedBrowser(String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSafari(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].hasWebKitSameSiteBug(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isUcBrowser(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:83,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isUcBrowserVersionAtLeast(int,int,int,String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:84,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumBased(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:86,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumVersionAtLeast(int,String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:87,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumVersionAtLeast(int,String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - useragent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].dropsUnrecognizedSameSiteCookies(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumBased(String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumVersionAtLeast(int,String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isUcBrowserVersionAtLeast(int,int,int,String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isUcBrowser(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].dropsUnrecognizedSameSiteCookies(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:94,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:95,1
    - Dst: String.valueOf(int)
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:97,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:97,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].equals(io.undertow.util.SameSiteNoneIncompatibleClientChecker)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - major
    - useragent
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isIosVersion(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
    - String.valueOf(int)
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].equals(io.undertow.util.SameSiteNoneIncompatibleClientChecker)'
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isIosVersion(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:103,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:104,1
    - Dst: String.valueOf(int)
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:106,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:106,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].equals(io.undertow.util.SameSiteNoneIncompatibleClientChecker)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:106,1
    - Dst: String.valueOf(int)
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:107,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:107,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].equals(io.undertow.util.SameSiteNoneIncompatibleClientChecker)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - major
    - minor
    - useragent
    argTypes:
    - int
    - int
    - String
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isMacosxVersion(int,int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
    - String.valueOf(int)
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].equals(io.undertow.util.SameSiteNoneIncompatibleClientChecker)'
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isMacosxVersion(int,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:113,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:113,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumBased(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - useragent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSafari(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumBased(String)'
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isSafari(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:118,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - useragent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isMacEmbeddedBrowser(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isMacEmbeddedBrowser(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:122,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - useragent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumBased(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 2
    functionsReached:
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumBased(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:126,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:127,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:129,1
    - Dst: Integer.parseInt(io.undertow.util.SameSiteNoneIncompatibleClientChecker)
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - major
    - useragent
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumVersionAtLeast(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[java.util.regex.Pattern].matcher(String)'
    - Integer.parseInt(io.undertow.util.SameSiteNoneIncompatibleClientChecker)
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isChromiumVersionAtLeast(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - useragent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isUcBrowser(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[String].contains(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isUcBrowser(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:140,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:141,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:143,1
    - Dst: Integer.parseInt(io.undertow.util.SameSiteNoneIncompatibleClientChecker)
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:143,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:144,1
    - Dst: Integer.parseInt(io.undertow.util.SameSiteNoneIncompatibleClientChecker)
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:144,1
    - Dst: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:145,1
    - Dst: Integer.parseInt(io.undertow.util.SameSiteNoneIncompatibleClientChecker)
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - major
    - minor
    - build
    - useragent
    argTypes:
    - int
    - int
    - int
    - String
    constantsTouched: []
    func_position:
      end: 155
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 155
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isUcBrowserVersionAtLeast(int,int,int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 1
    functionsReached:
    - '[java.util.regex.Pattern].matcher(String)'
    - Integer.parseInt(io.undertow.util.SameSiteNoneIncompatibleClientChecker)
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].group(int)'
    - '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].find()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].isUcBrowserVersionAtLeast(int,int,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:53,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:54,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:55,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:56,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:57,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:58,1
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.util.SameSiteNoneIncompatibleClientChecker:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      - java.util.regex.Pattern
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SameSiteNoneIncompatibleClientChecker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameSiteNoneIncompatibleClientChecker.java
    functionUses: 0
    functionsReached:
    - '[java.util.regex.Pattern].compile(String)'
    linkageType: ''
    returnType: io.undertow.util.SameSiteNoneIncompatibleClientChecker
    signature: '[io.undertow.util.SameSiteNoneIncompatibleClientChecker].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Long.getLong(String,int)
      Src: io.undertow.util.ConnectionUtils:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.ConnectionUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.util.ConnectionUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConnectionUtils.java
    functionUses: 0
    functionsReached:
    - Long.getLong(String,int)
    linkageType: ''
    returnType: io.undertow.util.ConnectionUtils
    signature: '[io.undertow.util.ConnectionUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.util.ConnectionUtils:57,1
    - Dst: '[io.undertow.util.ConnectionUtils].shutdownWrites()'
      Src: io.undertow.util.ConnectionUtils:57,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.util.ConnectionUtils:58,1
    - Dst: '[io.undertow.util.ConnectionUtils].flush()'
      Src: io.undertow.util.ConnectionUtils:58,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.util.ConnectionUtils:59,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.util.ConnectionUtils:59,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.util.ConnectionUtils:64,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.util.ConnectionUtils:59,1
    - Dst: '[io.undertow.util.ConnectionUtils].setWriteListener(io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:59,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.util.ConnectionUtils:72,1
    - Dst: '[io.undertow.util.ConnectionUtils].resumeWrites()'
      Src: io.undertow.util.ConnectionUtils:72,1
    - Dst: '[io.undertow.util.ConnectionUtils].doDrain(org.xnio.StreamConnection,io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:74,1
    - Dst: '[io.undertow.util.ConnectionUtils].ioException(java.io.IOException)'
      Src: io.undertow.util.ConnectionUtils:79,1
    - Dst: '[java.io.IOException].<init>(io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:81,1
    - Dst: '[io.undertow.util.ConnectionUtils].ioException(java.io.IOException)'
      Src: io.undertow.util.ConnectionUtils:81,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.util.ConnectionUtils:83,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: '[io.undertow.util.ConnectionUtils].cleanClose(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConnectionUtils.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.util.ConnectionUtils].doDrain(org.xnio.StreamConnection,io.undertow.util.ConnectionUtils)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.util.ConnectionUtils].ioException(java.io.IOException)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.util.ConnectionUtils].setWriteListener(io.undertow.util.ConnectionUtils)'
    - '[java.io.IOException].<init>(io.undertow.util.ConnectionUtils)'
    - '[io.undertow.util.ConnectionUtils].resumeWrites()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.util.ConnectionUtils)'
    - '[io.undertow.util.ConnectionUtils].shutdownWrites()'
    - '[io.undertow.util.ConnectionUtils].flush()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ConnectionUtils].cleanClose(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.util.ConnectionUtils:89,1
    - Dst: '[io.undertow.util.ConnectionUtils].isOpen()'
      Src: io.undertow.util.ConnectionUtils:89,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.util.ConnectionUtils:90,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:91,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.util.ConnectionUtils:94,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.util.ConnectionUtils:96,1
    - Dst: '[io.undertow.util.ConnectionUtils].read(io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:96,1
    - Dst: '[io.undertow.util.ConnectionUtils].clear()'
      Src: io.undertow.util.ConnectionUtils:97,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.util.ConnectionUtils,Runnable,long,io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:99,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.util.ConnectionUtils:106,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.util.ConnectionUtils:106,1
    - Dst: '[io.undertow.util.ConnectionUtils].setReadListener(org.xnio.ChannelListener)'
      Src: io.undertow.util.ConnectionUtils:106,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.util.ConnectionUtils:128,1
    - Dst: '[io.undertow.util.ConnectionUtils].resumeReads()'
      Src: io.undertow.util.ConnectionUtils:128,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.util.ConnectionUtils:130,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:131,1
    - Dst: '[io.undertow.util.ConnectionUtils].ioException(java.io.IOException)'
      Src: io.undertow.util.ConnectionUtils:135,1
    - Dst: '[java.io.IOException].<init>(io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:137,1
    - Dst: '[io.undertow.util.ConnectionUtils].ioException(java.io.IOException)'
      Src: io.undertow.util.ConnectionUtils:137,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.util.ConnectionUtils:139,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.util.ConnectionUtils)'
      Src: io.undertow.util.ConnectionUtils:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 142
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 142
    functionName: '[io.undertow.util.ConnectionUtils].doDrain(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConnectionUtils.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.util.ConnectionUtils].setReadListener(org.xnio.ChannelListener)'
    - '[io.undertow.util.ConnectionUtils].ioException(java.io.IOException)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.util.ConnectionUtils].resumeReads()'
    - '[java.io.IOException].<init>(io.undertow.util.ConnectionUtils)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.util.ConnectionUtils)'
    - '[io.undertow.util.ConnectionUtils].clear()'
    - '[io.undertow.util.ConnectionUtils].read(io.undertow.util.ConnectionUtils)'
    - '[io.undertow.util.WorkerUtils].executeAfter(io.undertow.util.ConnectionUtils,Runnable,long,io.undertow.util.ConnectionUtils)'
    - '[io.undertow.util.ConnectionUtils].isOpen()'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ConnectionUtils].doDrain(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.WorkerUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: '[io.undertow.util.WorkerUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WorkerUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.WorkerUtils
    signature: '[io.undertow.util.WorkerUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.XnioIoThread].executeAfter(Runnable,long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.util.WorkerUtils:46,1
    - Dst: '[org.xnio.XnioIoThread].getWorker()'
      Src: io.undertow.util.WorkerUtils:48,1
    - Dst: '[io.undertow.util.WorkerUtils].isShutdown()'
      Src: io.undertow.util.WorkerUtils:48,1
    - Dst: '[io.undertow.util.WorkerUtils].debugf(io.undertow.util.WorkerUtils,String,Runnable)'
      Src: io.undertow.util.WorkerUtils:49,1
    - Dst: '[XnioExecutor.Key].<init>()'
      Src: io.undertow.util.WorkerUtils:51,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioIoThread
      - Runnable
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: XnioExecutor.Key
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - thread
    - task
    - timeout
    - timeUnit
    argTypes:
    - org.xnio.XnioIoThread
    - Runnable
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WorkerUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.WorkerUtils].debugf(io.undertow.util.WorkerUtils,String,Runnable)'
    - '[org.xnio.XnioIoThread].executeAfter(Runnable,long,java.util.concurrent.TimeUnit)'
    - '[org.xnio.XnioIoThread].getWorker()'
    - '[io.undertow.util.WorkerUtils].isShutdown()'
    - '[XnioExecutor.Key].<init>()'
    linkageType: ''
    returnType: XnioExecutor.Key
    signature: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,io.undertow.util.MultipartParser,int,io.undertow.util.MultipartParser)
      Src: io.undertow.util.MultipartParser:81,1
    - Dst: System.arraycopy(byte[],int,io.undertow.util.MultipartParser,io.undertow.util.MultipartParser,io.undertow.util.MultipartParser)
      Src: io.undertow.util.MultipartParser:82,1
    - Dst: '[ParseState].<init>(io.undertow.connector.ByteBufferPool,PartHandler,String,io.undertow.util.MultipartParser)'
      Src: io.undertow.util.MultipartParser:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - PartHandler
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ParseState
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - bufferPool
    - handler
    - boundary
    - requestCharset
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - PartHandler
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,PartHandler,byte[],String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(byte[],int,io.undertow.util.MultipartParser,int,io.undertow.util.MultipartParser)
    - System.arraycopy(byte[],int,io.undertow.util.MultipartParser,io.undertow.util.MultipartParser,io.undertow.util.MultipartParser)
    - '[ParseState].<init>(io.undertow.connector.ByteBufferPool,PartHandler,String,io.undertow.util.MultipartParser)'
    linkageType: ''
    returnType: ParseState
    signature: '[io.undertow.util.MultipartParser].beginParse(io.undertow.connector.ByteBufferPool,PartHandler,byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MultipartParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.MultipartParser].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MultipartParser
    signature: '[io.undertow.util.MultipartParser].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '[io.undertow.util.MultipartParser.PartHandler].beginPart(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.PartHandler].beginPart(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '[io.undertow.util.MultipartParser.PartHandler].endPart()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.PartHandler].endPart()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MultipartParser.PartHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.MultipartParser.PartHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MultipartParser.PartHandler
    signature: '[io.undertow.util.MultipartParser.PartHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - PartHandler
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - PartHandler
      - String
      - byte[]
      - int
      - int
      - ByteArrayOutputStream
      - String
      - HeaderMap
      - Encoding
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MultipartParser.ParseState
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - bufferPool
    - partHandler
    - requestCharset
    - boundary
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - PartHandler
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: '[io.undertow.util.MultipartParser.ParseState].<init>(io.undertow.connector.ByteBufferPool,PartHandler,String,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MultipartParser.ParseState
    signature: '[io.undertow.util.MultipartParser.ParseState].<init>(io.undertow.connector.ByteBufferPool,PartHandler,String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - PartHandler
      - String
      - byte[]
      - int
      - int
      - ByteArrayOutputStream
      - String
      - HeaderMap
      - Encoding
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.util.MultipartParser.ParseState].setCharacterEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.ParseState].setCharacterEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MultipartParser.ParseState:116,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].preamble(java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.ParseState:119,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].headerName(java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.ParseState:123,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].headerValue(java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.ParseState:127,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].entity(java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.ParseState:131,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.util.MultipartParser.ParseState:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - PartHandler
      - String
      - byte[]
      - int
      - int
      - ByteArrayOutputStream
      - String
      - HeaderMap
      - Encoding
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 142
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 142
    functionName: '[io.undertow.util.MultipartParser.ParseState].parse(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MultipartParser.ParseState].entity(java.nio.ByteBuffer)'
    - '[IllegalStateException].<init>(String)'
    - '[io.undertow.util.MultipartParser.ParseState].preamble(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.util.MultipartParser.ParseState].headerValue(java.nio.ByteBuffer)'
    - '[io.undertow.util.MultipartParser.ParseState].headerName(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.ParseState].parse(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MultipartParser.ParseState:145,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.MultipartParser.ParseState:146,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - PartHandler
      - String
      - byte[]
      - int
      - int
      - ByteArrayOutputStream
      - String
      - HeaderMap
      - Encoding
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 181
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 181
    functionName: '[io.undertow.util.MultipartParser.ParseState].preamble(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.ParseState].preamble(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MultipartParser.ParseState:184,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.MultipartParser.ParseState:185,1
    - Dst: '[io.undertow.util.MalformedMessageException].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:188,1
    - Dst: '[ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.util.MultipartParser.ParseState:190,1
    - Dst: '[String].<init>(io.undertow.util.MultipartParser.ParseState,String)'
      Src: io.undertow.util.MultipartParser.ParseState:190,1
    - Dst: '[ByteArrayOutputStream].reset()'
      Src: io.undertow.util.MultipartParser.ParseState:191,1
    - Dst: '[io.undertow.util.MalformedMessageException].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:198,1
    - Dst: '[io.undertow.util.MalformedMessageException].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:204,1
    - Dst: '[io.undertow.util.MultipartParser.PartHandler].beginPart(HeaderMap)'
      Src: io.undertow.util.MultipartParser.ParseState:208,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.MultipartParser.ParseState:210,1
    - Dst: '[IdentityEncoding].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:212,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.MultipartParser.ParseState:213,1
    - Dst: '[Base64Encoding].<init>(ByteBufferPool)'
      Src: io.undertow.util.MultipartParser.ParseState:214,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.MultipartParser.ParseState:215,1
    - Dst: '[QuotedPrintableEncoding].<init>(ByteBufferPool)'
      Src: io.undertow.util.MultipartParser.ParseState:216,1
    - Dst: '[IdentityEncoding].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:218,1
    - Dst: '[io.undertow.util.MalformedMessageException].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:225,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:227,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:229,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - PartHandler
      - String
      - byte[]
      - int
      - int
      - ByteArrayOutputStream
      - String
      - HeaderMap
      - Encoding
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.MalformedMessageException
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 232
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 232
    functionName: '[io.undertow.util.MultipartParser.ParseState].headerName(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[IdentityEncoding].<init>()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[Base64Encoding].<init>(ByteBufferPool)'
    - '[io.undertow.util.MultipartParser.PartHandler].beginPart(HeaderMap)'
    - '[ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.util.MultipartParser.ParseState)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[String].equalsIgnoreCase(String)'
    - '[QuotedPrintableEncoding].<init>(ByteBufferPool)'
    - '[io.undertow.util.MalformedMessageException].<init>()'
    - '[java.nio.ByteBuffer].get()'
    - '[String].<init>(io.undertow.util.MultipartParser.ParseState,String)'
    - '[ByteArrayOutputStream].reset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.ParseState].headerName(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MultipartParser.ParseState:235,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.MultipartParser.ParseState:236,1
    - Dst: '[String].trim()'
      Src: io.undertow.util.MultipartParser.ParseState:239,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:239,1
    - Dst: '[ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.util.MultipartParser.ParseState:239,1
    - Dst: '[String].<init>(io.undertow.util.MultipartParser.ParseState,String)'
      Src: io.undertow.util.MultipartParser.ParseState:239,1
    - Dst: '[String].trim()'
      Src: io.undertow.util.MultipartParser.ParseState:239,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:239,1
    - Dst: '[ByteArrayOutputStream].write(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:246,1
    - Dst: '[String].trim()'
      Src: io.undertow.util.MultipartParser.ParseState:249,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:249,1
    - Dst: '[ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.util.MultipartParser.ParseState:249,1
    - Dst: '[String].<init>(io.undertow.util.MultipartParser.ParseState,String)'
      Src: io.undertow.util.MultipartParser.ParseState:249,1
    - Dst: '[String].trim()'
      Src: io.undertow.util.MultipartParser.ParseState:249,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:249,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:254,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:255,1
    - Dst: '[io.undertow.util.MalformedMessageException].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:262,1
    - Dst: '[io.undertow.util.MalformedMessageException].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:267,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:269,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - PartHandler
      - String
      - byte[]
      - int
      - int
      - ByteArrayOutputStream
      - String
      - HeaderMap
      - Encoding
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.util.MalformedMessageException
      - java.io.UnsupportedEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 272
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 272
    functionName: '[io.undertow.util.MultipartParser.ParseState].headerValue(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(io.undertow.util.MultipartParser.ParseState)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.util.MultipartParser.ParseState)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.util.MultipartParser.ParseState)'
    - '[ByteArrayOutputStream].toByteArray()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.util.MalformedMessageException].<init>()'
    - '[java.nio.ByteBuffer].get()'
    - '[String].trim()'
    - '[ByteArrayOutputStream].write(io.undertow.util.MultipartParser.ParseState)'
    - '[String].<init>(io.undertow.util.MultipartParser.ParseState,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.ParseState].headerValue(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.MultipartParser.ParseState:276,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MultipartParser.ParseState:277,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.MultipartParser.ParseState:278,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.util.MultipartParser.ParseState:286,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].position(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:287,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.MultipartParser.ParseState:289,1
    - Dst: Math.max(io.undertow.util.MultipartParser.ParseState,int)
      Src: io.undertow.util.MultipartParser.ParseState:289,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].limit(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:289,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].handle(PartHandler,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:290,1
    - Dst: '[io.undertow.util.MultipartParser.PartHandler].endPart()'
      Src: io.undertow.util.MultipartParser.ParseState:291,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[],int,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:298,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].handle(PartHandler,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:298,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[],int,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:306,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].handle(PartHandler,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:306,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.util.MultipartParser.ParseState:322,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.util.MultipartParser.ParseState:339,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].position(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:340,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].handle(PartHandler,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:343,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].remaining()'
      Src: io.undertow.util.MultipartParser.ParseState:344,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].limit()'
      Src: io.undertow.util.MultipartParser.ParseState:346,1
    - Dst: '[io.undertow.util.MultipartParser.ParseState].limit(io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:346,1
    - Dst: '[io.undertow.websockets.jsr.Encoding].handle(PartHandler,io.undertow.util.MultipartParser.ParseState)'
      Src: io.undertow.util.MultipartParser.ParseState:347,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - PartHandler
      - String
      - byte[]
      - int
      - int
      - ByteArrayOutputStream
      - String
      - HeaderMap
      - Encoding
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 349
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 349
    functionName: '[io.undertow.util.MultipartParser.ParseState].entity(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.MultipartParser.ParseState].position(io.undertow.util.MultipartParser.ParseState)'
    - '[io.undertow.util.MultipartParser.PartHandler].endPart()'
    - '[io.undertow.websockets.jsr.Encoding].handle(PartHandler,io.undertow.util.MultipartParser.ParseState)'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.util.MultipartParser.ParseState].remaining()'
    - '[java.nio.ByteBuffer].wrap(byte[],int,io.undertow.util.MultipartParser.ParseState)'
    - '[io.undertow.util.MultipartParser.ParseState].limit()'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.util.MultipartParser.ParseState].limit(io.undertow.util.MultipartParser.ParseState)'
    - '[io.undertow.util.HeaderMap].<init>()'
    - Math.max(io.undertow.util.MultipartParser.ParseState,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.ParseState].entity(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - PartHandler
      - String
      - byte[]
      - int
      - int
      - ByteArrayOutputStream
      - String
      - HeaderMap
      - Encoding
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: '[io.undertow.util.MultipartParser.ParseState].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.MultipartParser.ParseState].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - PartHandler
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handler
    - rawData
    argTypes:
    - PartHandler
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: '[io.undertow.util.MultipartParser.Encoding].handle(PartHandler,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.Encoding].handle(PartHandler,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MultipartParser.Encoding
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.MultipartParser.Encoding].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MultipartParser.Encoding
    signature: '[io.undertow.util.MultipartParser.Encoding].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.IdentityEncoding:365,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.util.MultipartParser.IdentityEncoding:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - PartHandler
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Encoding
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handler
    - rawData
    argTypes:
    - PartHandler
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: '[io.undertow.util.MultipartParser.IdentityEncoding].handle(PartHandler,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.IdentityEncoding].handle(PartHandler,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Encoding
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MultipartParser.IdentityEncoding
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.MultipartParser.IdentityEncoding].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MultipartParser.IdentityEncoding
    signature: '[io.undertow.util.MultipartParser.IdentityEncoding].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64].createDecoder()'
      Src: io.undertow.util.MultipartParser.Base64Encoding:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - FlexBase64.Decoder
      - ByteBufferPool
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Encoding
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.MultipartParser.Base64Encoding
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bufferPool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: '[io.undertow.util.MultipartParser.Base64Encoding].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64].createDecoder()'
    linkageType: ''
    returnType: io.undertow.util.MultipartParser.Base64Encoding
    signature: '[io.undertow.util.MultipartParser.Base64Encoding].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.util.MultipartParser.Base64Encoding:382,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.MultipartParser.Base64Encoding:383,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.util.MultipartParser.Base64Encoding:386,1
    - Dst: '[FlexBase64.Decoder].decode(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.Base64Encoding:387,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.util.MultipartParser.Base64Encoding:388,1
    - Dst: '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.Base64Encoding:389,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MultipartParser.Base64Encoding:390,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.MultipartParser.Base64Encoding:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - PartHandler
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - FlexBase64.Decoder
      - ByteBufferPool
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Encoding
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handler
    - rawData
    argTypes:
    - PartHandler
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: '[io.undertow.util.MultipartParser.Base64Encoding].handle(PartHandler,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].flip()'
    - '[FlexBase64.Decoder].decode(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    - '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.Base64Encoding].handle(PartHandler,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - boolean
      - byte
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Encoding
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.MultipartParser.QuotedPrintableEncoding
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bufferPool
    argTypes:
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: '[io.undertow.util.MultipartParser.QuotedPrintableEncoding].<init>(io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MultipartParser.QuotedPrintableEncoding
    signature: '[io.undertow.util.MultipartParser.QuotedPrintableEncoding].<init>(io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:412,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:413,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:415,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:416,1
    - Dst: Character.digit(char,int)
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:427,1
    - Dst: Character.digit(char,int)
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:429,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:430,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.util.MultipartParser.QuotedPrintableEncoding)'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:437,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:438,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:439,1
    - Dst: '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:440,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:441,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:445,1
    - Dst: '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:446,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.MultipartParser.QuotedPrintableEncoding:448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - PartHandler
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - boolean
      - byte
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - Encoding
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - handler
    - rawData
    argTypes:
    - PartHandler
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 452
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 452
    functionName: '[io.undertow.util.MultipartParser.QuotedPrintableEncoding].handle(PartHandler,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MultipartParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - Character.digit(char,int)
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].put(io.undertow.util.MultipartParser.QuotedPrintableEncoding)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.util.MultipartParser.PartHandler].data(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.MultipartParser.QuotedPrintableEncoding].handle(PartHandler,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SameThreadExecutor].<init>()'
      Src: io.undertow.util.SameThreadExecutor:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.Executor
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.concurrent.Executor
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.SameThreadExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: '[io.undertow.util.SameThreadExecutor].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameThreadExecutor.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SameThreadExecutor].<init>()'
    linkageType: ''
    returnType: io.undertow.util.SameThreadExecutor
    signature: '[io.undertow.util.SameThreadExecutor].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].run()'
      Src: io.undertow.util.SameThreadExecutor:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.Executor
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.concurrent.Executor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - command
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.util.SameThreadExecutor].execute(Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SameThreadExecutor.java
    functionUses: 0
    functionsReached:
    - '[Runnable].run()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SameThreadExecutor].execute(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Attachable.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<?extendsList<T>>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<?extendsList<T>>
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.Attachable].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Attachable.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<T>
    signature: '[io.undertow.util.Attachable].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - T
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '[io.undertow.util.Attachable].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Attachable.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.Attachable].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '[io.undertow.util.Attachable].removeAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Attachable.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.Attachable].removeAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
    - T
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '[io.undertow.util.Attachable].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Attachable.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Attachable].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.Attachable
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.Attachable].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Attachable.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.Attachable
    signature: '[io.undertow.util.Attachable].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.server.HandlerWrapper>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.HandlerWrapper>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ChainedHandlerWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handlers
    argTypes:
    - java.util.List<io.undertow.server.HandlerWrapper>
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.util.ChainedHandlerWrapper].<init>(java.util.List<io.undertow.server.HandlerWrapper>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ChainedHandlerWrapper.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ChainedHandlerWrapper
    signature: '[io.undertow.util.ChainedHandlerWrapper].<init>(java.util.List<io.undertow.server.HandlerWrapper>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h.wrap(io.undertow.util.ChainedHandlerWrapper)
      Src: io.undertow.util.ChainedHandlerWrapper:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.server.HandlerWrapper>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.HandlerWrapper
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.HttpHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - io.undertow.server.HttpHandler
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.ChainedHandlerWrapper].wrap(io.undertow.server.HttpHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ChainedHandlerWrapper.java
    functionUses: 0
    functionsReached:
    - h.wrap(io.undertow.util.ChainedHandlerWrapper)
    linkageType: ''
    returnType: io.undertow.server.HttpHandler
    signature: '[io.undertow.util.ChainedHandlerWrapper].wrap(io.undertow.server.HttpHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMechanism
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanism
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ImmediateAuthenticationMechanismFactory
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - authenticationMechanism
    argTypes:
    - io.undertow.security.api.AuthenticationMechanism
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.util.ImmediateAuthenticationMechanismFactory].<init>(io.undertow.security.api.AuthenticationMechanism)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediateAuthenticationMechanismFactory.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ImmediateAuthenticationMechanismFactory
    signature: '[io.undertow.util.ImmediateAuthenticationMechanismFactory].<init>(io.undertow.security.api.AuthenticationMechanism)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.security.api.AuthenticationMechanism
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.api.AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.util.ImmediateAuthenticationMechanismFactory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediateAuthenticationMechanismFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.util.ImmediateAuthenticationMechanismFactory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.StatusCodes.Entry].<init>(String,int)'
      Src: io.undertow.util.StatusCodes:208,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.util.StatusCodes:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Entry[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - code
    - reason
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: '[io.undertow.util.StatusCodes].putCode(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StatusCodes.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>(String)'
    - '[io.undertow.util.StatusCodes.Entry].<init>(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StatusCodes].putCode(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Entry[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.StatusCodes
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: '[io.undertow.util.StatusCodes].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StatusCodes.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.StatusCodes
    signature: '[io.undertow.util.StatusCodes].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Entry[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: '[io.undertow.util.StatusCodes].getReason(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StatusCodes.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.StatusCodes].getReason(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.StatusCodes.Entry
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - reason
    - code
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '[io.undertow.util.StatusCodes.Entry].<init>(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StatusCodes.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.StatusCodes.Entry
    signature: '[io.undertow.util.StatusCodes.Entry].<init>(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Closeable[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ClosingChannelExceptionHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.util.ClosingChannelExceptionHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ClosingChannelExceptionHandler.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ClosingChannelExceptionHandler
    signature: '[io.undertow.util.ClosingChannelExceptionHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ClosingChannelExceptionHandler].ioException(java.io.IOException)'
      Src: io.undertow.util.ClosingChannelExceptionHandler:46,1
    - Dst: '[org.xnio.IoUtils].safeClose(T)'
      Src: io.undertow.util.ClosingChannelExceptionHandler:47,1
    - Dst: '[org.xnio.IoUtils].safeClose(Closeable[])'
      Src: io.undertow.util.ClosingChannelExceptionHandler:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - Closeable[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - t
    - e
    argTypes:
    - T
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: '[io.undertow.util.ClosingChannelExceptionHandler].handleException(T,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ClosingChannelExceptionHandler.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(T)'
    - '[org.xnio.IoUtils].safeClose(Closeable[])'
    - '[io.undertow.util.ClosingChannelExceptionHandler].ioException(java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ClosingChannelExceptionHandler].handleException(T,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(char)
      Src: io.undertow.util.LegacyCookieSupport:113,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].invalidControlCharacter(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - char
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: '[io.undertow.util.LegacyCookieSupport].isV0Separator(char)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.LegacyCookieSupport].invalidControlCharacter(io.undertow.util.LegacyCookieSupport)'
    - Integer.toString(char)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.LegacyCookieSupport].isV0Separator(char)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.LegacyCookieSupport:124,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].alreadyQuoted(String)'
      Src: io.undertow.util.LegacyCookieSupport:126,1
    - Dst: '[String].charAt(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:132,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isV0Separator(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 138
    functionName: '[io.undertow.util.LegacyCookieSupport].isV0Token(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.LegacyCookieSupport].isV0Separator(io.undertow.util.LegacyCookieSupport)'
    - '[String].length()'
    - '[String].charAt(io.undertow.util.LegacyCookieSupport)'
    - '[io.undertow.util.LegacyCookieSupport].alreadyQuoted(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.LegacyCookieSupport].isV0Token(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(char)
      Src: io.undertow.util.LegacyCookieSupport:149,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].invalidControlCharacter(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - char
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: '[io.undertow.util.LegacyCookieSupport].isHttpSeparator(char)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.LegacyCookieSupport].invalidControlCharacter(io.undertow.util.LegacyCookieSupport)'
    - Integer.toString(char)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.LegacyCookieSupport].isHttpSeparator(char)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.LegacyCookieSupport:160,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].alreadyQuoted(String)'
      Src: io.undertow.util.LegacyCookieSupport:162,1
    - Dst: '[String].charAt(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:168,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isHttpSeparator(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: '[io.undertow.util.LegacyCookieSupport].isHttpToken(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 2
    functionsReached:
    - '[String].length()'
    - '[io.undertow.util.LegacyCookieSupport].isHttpSeparator(io.undertow.util.LegacyCookieSupport)'
    - '[String].charAt(io.undertow.util.LegacyCookieSupport)'
    - '[io.undertow.util.LegacyCookieSupport].alreadyQuoted(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.LegacyCookieSupport].isHttpToken(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.LegacyCookieSupport:177,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.LegacyCookieSupport:178,1
    - Dst: '[String].length()'
      Src: io.undertow.util.LegacyCookieSupport:178,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.LegacyCookieSupport:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '[io.undertow.util.LegacyCookieSupport].alreadyQuoted(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 3
    functionsReached:
    - '[String].charAt(int)'
    - '[String].length()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.LegacyCookieSupport].alreadyQuoted(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.LegacyCookieSupport:187,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.LegacyCookieSupport:188,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].alreadyQuoted(String)'
      Src: io.undertow.util.LegacyCookieSupport:189,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.LegacyCookieSupport:190,1
    - Dst: '[String].length()'
      Src: io.undertow.util.LegacyCookieSupport:191,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].escapeDoubleQuotes(String,int,int)'
      Src: io.undertow.util.LegacyCookieSupport:191,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.LegacyCookieSupport:191,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.LegacyCookieSupport:192,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isHttpToken(String)'
      Src: io.undertow.util.LegacyCookieSupport:193,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isV0Token(String)'
      Src: io.undertow.util.LegacyCookieSupport:194,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.LegacyCookieSupport:195,1
    - Dst: '[String].length()'
      Src: io.undertow.util.LegacyCookieSupport:196,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].escapeDoubleQuotes(String,int,io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:196,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.LegacyCookieSupport:196,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.LegacyCookieSupport:197,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.LegacyCookieSupport:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - StringBuilder
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - StringBuilder
    - String
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.LegacyCookieSupport].escapeDoubleQuotes(String,int,int)'
    - '[io.undertow.util.LegacyCookieSupport].isHttpToken(String)'
    - '[StringBuilder].append(char)'
    - '[io.undertow.util.LegacyCookieSupport].escapeDoubleQuotes(String,int,io.undertow.util.LegacyCookieSupport)'
    - '[io.undertow.util.LegacyCookieSupport].alreadyQuoted(String)'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.LegacyCookieSupport].isV0Token(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.LegacyCookieSupport].maybeQuote(StringBuilder,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.LegacyCookieSupport:213,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.util.LegacyCookieSupport:213,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.LegacyCookieSupport:217,1
    - Dst: '[String].charAt(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:219,1
    - Dst: '[StringBuilder].append(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:221,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].invalidEscapeCharacter()'
      Src: io.undertow.util.LegacyCookieSupport:223,1
    - Dst: '[String].charAt(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:224,1
    - Dst: '[StringBuilder].append(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:224,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.LegacyCookieSupport:226,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].append(char)'
      Src: io.undertow.util.LegacyCookieSupport:226,1
    - Dst: '[StringBuilder].append(io.undertow.util.LegacyCookieSupport)'
      Src: io.undertow.util.LegacyCookieSupport:228,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.LegacyCookieSupport:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - s
    - beginIndex
    - endIndex
    argTypes:
    - String
    - int
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 232
    functionName: '[io.undertow.util.LegacyCookieSupport].escapeDoubleQuotes(String,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[String].indexOf(char)'
    - '[StringBuilder].<init>()'
    - '[String].charAt(io.undertow.util.LegacyCookieSupport)'
    - '[io.undertow.util.LegacyCookieSupport].invalidEscapeCharacter()'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(io.undertow.util.LegacyCookieSupport)'
    - '[io.undertow.util.LegacyCookieSupport].append(char)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.LegacyCookieSupport].escapeDoubleQuotes(String,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.Cookie].getVersion()'
      Src: io.undertow.util.LegacyCookieSupport:246,1
    - Dst: '[io.undertow.server.handlers.Cookie].getValue()'
      Src: io.undertow.util.LegacyCookieSupport:248,1
    - Dst: '[io.undertow.server.handlers.Cookie].getPath()'
      Src: io.undertow.util.LegacyCookieSupport:249,1
    - Dst: '[io.undertow.server.handlers.Cookie].getDomain()'
      Src: io.undertow.util.LegacyCookieSupport:250,1
    - Dst: '[io.undertow.server.handlers.Cookie].getComment()'
      Src: io.undertow.util.LegacyCookieSupport:251,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isHttpToken(String)'
      Src: io.undertow.util.LegacyCookieSupport:255,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isV0Token(String)'
      Src: io.undertow.util.LegacyCookieSupport:256,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isHttpToken(String)'
      Src: io.undertow.util.LegacyCookieSupport:267,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isV0Token(String)'
      Src: io.undertow.util.LegacyCookieSupport:268,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isHttpToken(String)'
      Src: io.undertow.util.LegacyCookieSupport:274,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isV0Token(String)'
      Src: io.undertow.util.LegacyCookieSupport:275,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - io.undertow.server.handlers.Cookie
    constantsTouched: []
    func_position:
      end: 281
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 281
    functionName: '[io.undertow.util.LegacyCookieSupport].adjustedCookieVersion(io.undertow.server.handlers.Cookie)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.Cookie].getPath()'
    - '[io.undertow.util.LegacyCookieSupport].isHttpToken(String)'
    - '[io.undertow.server.handlers.Cookie].getValue()'
    - '[io.undertow.server.handlers.Cookie].getDomain()'
    - '[io.undertow.util.LegacyCookieSupport].isV0Token(String)'
    - '[io.undertow.server.handlers.Cookie].getComment()'
    - '[io.undertow.server.handlers.Cookie].getVersion()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.LegacyCookieSupport].adjustedCookieVersion(io.undertow.server.handlers.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.util.LegacyCookieSupport:45,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.util.LegacyCookieSupport:52,1
    - Dst: Boolean.getBoolean(String)
      Src: io.undertow.util.LegacyCookieSupport:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - char[]
      - boolean[]
      - char[]
      - boolean[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.LegacyCookieSupport
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: '[io.undertow.util.LegacyCookieSupport].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/LegacyCookieSupport.java
    functionUses: 0
    functionsReached:
    - Boolean.getBoolean(String)
    linkageType: ''
    returnType: io.undertow.util.LegacyCookieSupport
    signature: '[io.undertow.util.LegacyCookieSupport].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].prevTerminator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].prevTerminator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].nextTerminator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].nextTerminator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:302,1
    - Dst: '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node,E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - item
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].newNode(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>()'
    - '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node,E)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].newNode(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:311,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].newNode(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:311,1
    - Dst: '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:325,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,null,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:326,1
    - Dst: '[VarHandle].weakCompareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:331,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].linkFirst(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].newNode(io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].weakCompareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,null,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[java.util.Objects].requireNonNull(E)'
    - '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.util.FastConcurrentDirectDeque].linkFirst(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:343,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].newNode(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:343,1
    - Dst: '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:357,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,null,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:358,1
    - Dst: '[VarHandle].weakCompareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 369
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 369
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].linkLast(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].newNode(io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].weakCompareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,null,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[java.util.Objects].requireNonNull(E)'
    - '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node
    signature: '[io.undertow.util.FastConcurrentDirectDeque].linkLast(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].unlinkFirst(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:385,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].unlinkLast(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:387,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:462,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:463,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].updateHead()'
      Src: io.undertow.util.FastConcurrentDirectDeque:474,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].updateTail()'
      Src: io.undertow.util.FastConcurrentDirectDeque:475,1
    - Dst: '[VarHandle].setRelease(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:478,1
    - Dst: '[VarHandle].setRelease(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:479,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - x
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 482
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 482
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].updateTail()'
    - '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].setRelease(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].unlinkLast(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].unlinkFirst(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].updateHead()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:494,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:495,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].updateHead()'
      Src: io.undertow.util.FastConcurrentDirectDeque:500,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].updateTail()'
      Src: io.undertow.util.FastConcurrentDirectDeque:501,1
    - Dst: '[VarHandle].setRelease(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:504,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].prevTerminator()'
      Src: io.undertow.util.FastConcurrentDirectDeque:505,1
    - Dst: '[VarHandle].setRelease(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:505,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - first
    - next
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 517
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 517
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].unlinkFirst(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].prevTerminator()'
    - '[VarHandle].setRelease(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].updateTail()'
    - '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].updateHead()'
    - '[VarHandle].setRelease(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].unlinkFirst(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:529,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:530,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].updateHead()'
      Src: io.undertow.util.FastConcurrentDirectDeque:535,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].updateTail()'
      Src: io.undertow.util.FastConcurrentDirectDeque:536,1
    - Dst: '[VarHandle].setRelease(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:539,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].nextTerminator()'
      Src: io.undertow.util.FastConcurrentDirectDeque:540,1
    - Dst: '[VarHandle].setRelease(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - last
    - prev
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 552
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 552
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].unlinkLast(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].updateTail()'
    - '[VarHandle].setRelease(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].updateHead()'
    - '[io.undertow.util.FastConcurrentDirectDeque].nextTerminator()'
    - '[VarHandle].setRelease(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].unlinkLast(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:571,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 582
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].updateHead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].updateHead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:601,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 612
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].updateTail()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].updateTail()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:639,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - x
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 643
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 643
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedPredecessors(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:670,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - x
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 674
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 674
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].skipDeletedSuccessors(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].last()'
      Src: io.undertow.util.FastConcurrentDirectDeque:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].last()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:716,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 721
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 721
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].first()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 11
    functionsReached:
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].first()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:741,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 746
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 746
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].last()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 4
    functionsReached:
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].last()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - v
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 761
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 761
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 4
    functionsReached:
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.FastConcurrentDirectDeque
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>()'
    linkageType: ''
    returnType: io.undertow.util.FastConcurrentDirectDeque
    signature: '[io.undertow.util.FastConcurrentDirectDeque].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:783,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].newNode(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:783,1
    - Dst: '[VarHandle].set(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:787,1
    - Dst: '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:788,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].initHeadTail(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?extendsE>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.FastConcurrentDirectDeque
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?extendsE>
    constantsTouched: []
    func_position:
      end: 793
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 793
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].<init>(java.util.Collection<?extendsE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].newNode(io.undertow.util.FastConcurrentDirectDeque)'
    - '[java.util.Objects].requireNonNull(io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].set(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].initHeadTail(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: io.undertow.util.FastConcurrentDirectDeque
    signature: '[io.undertow.util.FastConcurrentDirectDeque].<init>(java.util.Collection<?extendsE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:801,1
    - Dst: '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:804,1
    - Dst: '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.util.FastConcurrentDirectDeque:805,1
    - Dst: '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
      Src: io.undertow.util.FastConcurrentDirectDeque:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - h
    - t
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 812
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 812
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].initHeadTail(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.proxy.mod_cluster.Node].<init>()'
    - '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node,io.undertow.server.handlers.proxy.mod_cluster.Node)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].initHeadTail(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].linkFirst(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].addFirst(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].linkFirst(E)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].addFirst(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].linkLast(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 836
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 836
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].addLast(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].linkLast(E)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].addLast(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].linkFirst(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].offerFirst(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].linkFirst(E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].offerFirst(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].linkFirst(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 852
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].offerFirstAndReturnToken(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].linkFirst(E)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.util.FastConcurrentDirectDeque].offerFirstAndReturnToken(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].linkLast(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 856
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 856
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].offerLastAndReturnToken(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].linkLast(E)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.util.FastConcurrentDirectDeque].offerLastAndReturnToken(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:860,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque,null)'
      Src: io.undertow.util.FastConcurrentDirectDeque:864,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - token
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 866
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 866
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].removeToken(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque,null)'
    - '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.util.FastConcurrentDirectDeque)'
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].removeToken(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].linkLast(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].offerLast(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].linkLast(E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].offerLast(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:883,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 889
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 889
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].peekFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].peekFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].last()'
      Src: io.undertow.util.FastConcurrentDirectDeque:892,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 898
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 898
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].peekLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].last()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].peekLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].peekFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:904,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 905
      start: 903
    functionDepth: 3
    functionLinenumber: 903
    functionLinenumberEnd: 905
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].getFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
    - '[io.undertow.util.FastConcurrentDirectDeque].peekFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].getFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].peekLast()'
      Src: io.undertow.util.FastConcurrentDirectDeque:911,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 910
    functionDepth: 3
    functionLinenumber: 910
    functionLinenumberEnd: 912
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].getLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
    - '[io.undertow.util.FastConcurrentDirectDeque].peekLast()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].getLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:915,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:915,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,null)'
      Src: io.undertow.util.FastConcurrentDirectDeque:918,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 924
      start: 914
    functionDepth: 3
    functionLinenumber: 914
    functionLinenumberEnd: 924
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].pollFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    - '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,null)'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].pollFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].last()'
      Src: io.undertow.util.FastConcurrentDirectDeque:927,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:927,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,null)'
      Src: io.undertow.util.FastConcurrentDirectDeque:930,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 936
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 936
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].pollLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,null)'
    - '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].last()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].pollLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].pollFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:942,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 941
    functionDepth: 4
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].removeFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
    - '[io.undertow.util.FastConcurrentDirectDeque].pollFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].removeFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].pollLast()'
      Src: io.undertow.util.FastConcurrentDirectDeque:949,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 4
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].removeLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].screenNullResult(E)'
    - '[io.undertow.util.FastConcurrentDirectDeque].pollLast()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].removeLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].offerLast(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].offer(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].offerLast(E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].offer(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].offerLast(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 975
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 975
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].add(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].offerLast(E)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].add(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].pollFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 979
      start: 977
    functionDepth: 4
    functionLinenumber: 977
    functionLinenumberEnd: 979
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].poll()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].pollFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].poll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].peekFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].peek()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].peekFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].peek()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].removeFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 988
    functionDepth: 5
    functionLinenumber: 988
    functionLinenumberEnd: 990
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].remove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].removeFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].remove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].removeFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 997
      start: 995
    functionDepth: 5
    functionLinenumber: 995
    functionLinenumberEnd: 997
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].pop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].removeFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].pop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].getFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1002
    functionDepth: 4
    functionLinenumber: 1002
    functionLinenumberEnd: 1004
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].element()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].getFirst()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque].element()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].addFirst(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - E
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - E
    constantsTouched: []
    func_position:
      end: 1011
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1011
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].push(E)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].addFirst(E)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].push(E)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(Object)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1026,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1027,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1027,1
    - Dst: '[Object].equals(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1030,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,null)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1031,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 1037
      start: 1025
    functionDepth: 3
    functionLinenumber: 1025
    functionLinenumberEnd: 1037
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].removeFirstOccurrence(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[java.util.Objects].requireNonNull(Object)'
    - '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[Object].equals(io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    - '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,null)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].removeFirstOccurrence(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(Object)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1052,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].last()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1053,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1053,1
    - Dst: '[Object].equals(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1056,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,null)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1057,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1058,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 1063
      start: 1051
    functionDepth: 3
    functionLinenumber: 1051
    functionLinenumberEnd: 1063
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].removeLastOccurrence(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[java.util.Objects].requireNonNull(Object)'
    - '[io.undertow.util.FastConcurrentDirectDeque].last()'
    - '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[Object].equals(io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].compareAndSet(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque,null)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].removeLastOccurrence(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1075,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1075,1
    - Dst: '[Object].equals(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 1082
      start: 1073
    functionDepth: 2
    functionLinenumber: 1073
    functionLinenumberEnd: 1082
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].contains(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    - '[Object].equals(io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].contains(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].peekFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].peekFirst()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1121
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FastConcurrentDirectDeque].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].removeFirstOccurrence(Object)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 1139
      start: 1137
    functionDepth: 4
    functionLinenumber: 1137
    functionLinenumberEnd: 1139
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].remove(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].removeFirstOccurrence(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].remove(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1156,1
    - Dst: '[java.util.Objects].requireNonNull(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1161,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].newNode(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1161,1
    - Dst: '[VarHandle].set(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1165,1
    - Dst: '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1166,1
    - Dst: '[VarHandle].set(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1186,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,null,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1187,1
    - Dst: '[VarHandle].weakCompareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1190,1
    - Dst: '[VarHandle].weakCompareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1195,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?extendsE>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?extendsE>
    constantsTouched: []
    func_position:
      end: 1202
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1202
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].addAll(java.util.Collection<?extendsE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].newNode(io.undertow.util.FastConcurrentDirectDeque)'
    - '[java.util.Objects].requireNonNull(io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].weakCompareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    - '[IllegalArgumentException].<init>()'
    - '[VarHandle].set(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,null,io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].set(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].addAll(java.util.Collection<?extendsE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].pollFirst()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 4
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].pollFirst()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1216,1
    - Dst: '[java.util.Arrays].copyOf(io.undertow.util.FastConcurrentDirectDeque,int)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1222,1
    - Dst: item.toString()
      Src: io.undertow.util.FastConcurrentDirectDeque:1223,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].length()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1225,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].toString(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1236
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].length()'
    - '[io.undertow.util.FastConcurrentDirectDeque].toString(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    - '[java.util.Arrays].copyOf(io.undertow.util.FastConcurrentDirectDeque,int)'
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    - item.toString()
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FastConcurrentDirectDeque].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1242,1
    - Dst: '[java.util.Arrays].copyOf(io.undertow.util.FastConcurrentDirectDeque,int)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1248,1
    - Dst: System.arraycopy(io.undertow.util.FastConcurrentDirectDeque,int,Object[],int,io.undertow.util.FastConcurrentDirectDeque)
      Src: io.undertow.util.FastConcurrentDirectDeque:1258,1
    - Dst: '[java.util.Arrays].copyOf(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1263,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - a
    argTypes:
    - Object[]
    constantsTouched: []
    func_position:
      end: 1265
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1265
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].toArrayInternal(Object[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    - '[java.util.Arrays].copyOf(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    - System.arraycopy(io.undertow.util.FastConcurrentDirectDeque,int,Object[],int,io.undertow.util.FastConcurrentDirectDeque)
    - '[java.util.Arrays].copyOf(io.undertow.util.FastConcurrentDirectDeque,int)'
    linkageType: ''
    returnType: Object[]
    signature: '[io.undertow.util.FastConcurrentDirectDeque].toArrayInternal(Object[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].toArrayInternal(null)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1282
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].toArray()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].toArrayInternal(null)'
    linkageType: ''
    returnType: Object[]
    signature: '[io.undertow.util.FastConcurrentDirectDeque].toArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,T[])'
      Src: io.undertow.util.FastConcurrentDirectDeque:1323,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].toArrayInternal(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - T[]
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - a
    argTypes:
    - T[]
    constantsTouched: []
    func_position:
      end: 1324
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1324
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].toArray(T[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].checkNotNullParamWithNullPointerException(String,T[])'
    - '[io.undertow.util.FastConcurrentDirectDeque].toArrayInternal(io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: T[]
    signature: '[io.undertow.util.FastConcurrentDirectDeque].toArray(T[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Itr].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1337
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[Itr].<init>()'
    linkageType: ''
    returnType: java.util.Iterator<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[DescendingItr].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1351
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].descendingIterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[DescendingItr].<init>()'
    linkageType: ''
    returnType: java.util.Iterator<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].descendingIterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: s.length()
      Src: io.undertow.util.FastConcurrentDirectDeque:1375,1
    - Dst: s.getChars(int,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)
      Src: io.undertow.util.FastConcurrentDirectDeque:1376,1
    - Dst: '[String].<init>(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - a
    - size
    - charLength
    argTypes:
    - Object[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1382
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1382
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].toString(Object[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - s.length()
    - s.getChars(int,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)
    - '[String].<init>(io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FastConcurrentDirectDeque].toString(Object[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CLDSpliterator].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Spliterator<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1591
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].spliterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[CLDSpliterator].<init>()'
    linkageType: ''
    returnType: java.util.Spliterator<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque].spliterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ObjectOutputStream].defaultWriteObject()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1605,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1608,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1608,1
    - Dst: '[java.io.ObjectOutputStream].writeObject(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1611,1
    - Dst: '[java.io.ObjectOutputStream].writeObject(null)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.ObjectOutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - java.io.ObjectOutputStream
    constantsTouched: []
    func_position:
      end: 1616
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1616
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].writeObject(java.io.ObjectOutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[java.io.ObjectOutputStream].writeObject(io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[java.io.ObjectOutputStream].writeObject(null)'
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    - '[java.io.ObjectOutputStream].defaultWriteObject()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].writeObject(java.io.ObjectOutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ObjectInputStream].defaultReadObject()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1627,1
    - Dst: '[java.io.ObjectInputStream].readObject()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1631,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].newNode(E)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1633,1
    - Dst: '[VarHandle].set(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1637,1
    - Dst: '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1638,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].initHeadTail(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.ObjectInputStream
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - ClassNotFoundException
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - java.io.ObjectInputStream
    constantsTouched: []
    func_position:
      end: 1643
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1643
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].readObject(java.io.ObjectInputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].newNode(E)'
    - '[java.io.ObjectInputStream].readObject()'
    - '[java.io.ObjectInputStream].defaultReadObject()'
    - '[VarHandle].set(io.undertow.util.FastConcurrentDirectDeque,io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].initHeadTail(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque)'
    - '[VarHandle].set(io.undertow.server.handlers.proxy.mod_cluster.Node<E>,io.undertow.util.FastConcurrentDirectDeque)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].readObject(java.io.ObjectInputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.function.Predicate<?superE>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1649,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].bulkRemove(java.util.function.Predicate<?superE>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Predicate<?superE>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filter
    argTypes:
    - java.util.function.Predicate<?superE>
    constantsTouched: []
    func_position:
      end: 1651
      start: 1648
    functionDepth: 2
    functionLinenumber: 1648
    functionLinenumberEnd: 1651
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].removeIf(java.util.function.Predicate<?superE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[java.util.Objects].requireNonNull(java.util.function.Predicate<?superE>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].bulkRemove(java.util.function.Predicate<?superE>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].removeIf(java.util.function.Predicate<?superE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.Collection<?>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1657,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].bulkRemove()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?>
    constantsTouched: []
    func_position:
      end: 1659
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1659
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].removeAll(java.util.Collection<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].bulkRemove()'
    - '[java.util.Objects].requireNonNull(java.util.Collection<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].removeAll(java.util.Collection<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.Collection<?>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1665,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].bulkRemove()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?>
    constantsTouched: []
    func_position:
      end: 1667
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1667
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].retainAll(java.util.Collection<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque].bulkRemove()'
    - '[java.util.Objects].requireNonNull(java.util.Collection<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].retainAll(java.util.Collection<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1672,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1673,1
    - Dst: '[java.util.function.Predicate<?superE>].test(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1676,1
    - Dst: '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque,null)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1677,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Predicate<?superE>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filter
    argTypes:
    - java.util.function.Predicate<?superE>
    constantsTouched: []
    func_position:
      end: 1683
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1683
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].bulkRemove(java.util.function.Predicate<?superE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached:
    - '[VarHandle].compareAndSet(io.undertow.util.FastConcurrentDirectDeque,io.undertow.util.FastConcurrentDirectDeque,null)'
    - '[java.util.function.Predicate<?superE>].test(io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].unlink(io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque].bulkRemove(java.util.function.Predicate<?superE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.function.Consumer<?superE>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1689,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque:1691,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1691,1
    - Dst: '[java.util.function.Consumer<?superE>].accept(io.undertow.util.FastConcurrentDirectDeque)'
      Src: io.undertow.util.FastConcurrentDirectDeque:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Consumer<?superE>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      - io.undertow.server.handlers.proxy.mod_cluster.Node<Object>
      - int
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      - VarHandle
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - action
    argTypes:
    - java.util.function.Consumer<?superE>
    constantsTouched: []
    func_position:
      end: 1694
      start: 1688
    functionDepth: 2
    functionLinenumber: 1688
    functionLinenumberEnd: 1694
    functionName: '[io.undertow.util.FastConcurrentDirectDeque].forEach(java.util.function.Consumer<?superE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[java.util.function.Consumer<?superE>].accept(io.undertow.util.FastConcurrentDirectDeque)'
    - '[io.undertow.util.FastConcurrentDirectDeque].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    - '[java.util.Objects].requireNonNull(java.util.function.Consumer<?superE>)'
    - '[io.undertow.util.FastConcurrentDirectDeque].first()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque].forEach(java.util.function.Consumer<?superE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.FastConcurrentDirectDeque.Node
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.Node].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FastConcurrentDirectDeque.Node
    signature: '[io.undertow.util.FastConcurrentDirectDeque.Node].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1404
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].startNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].startNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1405
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1405
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].advance()'
      Src: io.undertow.util.FastConcurrentDirectDeque.AbstractItr:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FastConcurrentDirectDeque.AbstractItr
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1407
    functionDepth: 2
    functionLinenumber: 1407
    functionLinenumberEnd: 1409
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].advance()'
    linkageType: ''
    returnType: io.undertow.util.FastConcurrentDirectDeque.AbstractItr
    signature: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].startNode()'
      Src: io.undertow.util.FastConcurrentDirectDeque.AbstractItr:1418,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].nextNode(Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque.AbstractItr:1418,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].nextNode(io.undertow.util.FastConcurrentDirectDeque.AbstractItr)'
      Src: io.undertow.util.FastConcurrentDirectDeque.AbstractItr:1419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1433
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].advance()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].nextNode(Node<E>)'
    - '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].nextNode(io.undertow.util.FastConcurrentDirectDeque.AbstractItr)'
    - '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].startNode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].advance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].hasNext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].hasNext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque.AbstractItr:1441,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].advance()'
      Src: io.undertow.util.FastConcurrentDirectDeque.AbstractItr:1442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: E
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1439
    functionDepth: 2
    functionLinenumber: 1439
    functionLinenumberEnd: 1444
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].next()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].advance()'
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: E
    signature: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].next()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.FastConcurrentDirectDeque.AbstractItr:1448,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].unlink(io.undertow.util.FastConcurrentDirectDeque.AbstractItr)'
      Src: io.undertow.util.FastConcurrentDirectDeque.AbstractItr:1450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - Node<E>
      - E
      - Node<E>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1452
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].remove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].unlink(io.undertow.util.FastConcurrentDirectDeque.AbstractItr)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque.AbstractItr].remove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FastConcurrentDirectDeque.Itr
      static: false
      superClass: AbstractItr
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1459
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.Itr].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FastConcurrentDirectDeque.Itr
    signature: '[io.undertow.util.FastConcurrentDirectDeque.Itr].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.Itr].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque.Itr:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: AbstractItr
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1463
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.Itr].startNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.Itr].first()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque.Itr].startNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.Itr].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque.Itr:1466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: AbstractItr
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1467
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1467
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.Itr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.Itr].succ(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque.Itr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FastConcurrentDirectDeque.DescendingItr
      static: false
      superClass: AbstractItr
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1474
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FastConcurrentDirectDeque.DescendingItr
    signature: '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].last()'
      Src: io.undertow.util.FastConcurrentDirectDeque.DescendingItr:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: AbstractItr
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1478
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].startNode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].last()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].startNode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
      Src: io.undertow.util.FastConcurrentDirectDeque.DescendingItr:1481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: AbstractItr
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1482
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1482
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].pred(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque.DescendingItr].nextNode(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].current()'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1494,1
    - Dst: Math.min(int,int)
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1496,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1506,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].setCurrent(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1508,1
    - Dst: '[java.util.Spliterators].spliterator(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator,int,io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Node<E>
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Spliterator<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1513
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].trySplit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].setCurrent(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].first()'
    - '[java.util.Spliterators].spliterator(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator,int,io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].current()'
    - Math.min(int,int)
    linkageType: ''
    returnType: java.util.Spliterator<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].trySplit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.function.Consumer<?superE>)'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1516,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].current()'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1518,1
    - Dst: '[java.util.function.Consumer<?superE>].accept(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1524,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Consumer<?superE>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Node<E>
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - action
    argTypes:
    - java.util.function.Consumer<?superE>
    constantsTouched: []
    func_position:
      end: 1529
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1529
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].forEachRemaining(java.util.function.Consumer<?superE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].current()'
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].first()'
    - '[java.util.Objects].requireNonNull(java.util.function.Consumer<?superE>)'
    - '[java.util.function.Consumer<?superE>].accept(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].forEachRemaining(java.util.function.Consumer<?superE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Objects].requireNonNull(java.util.function.Consumer<?superE>)'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1532,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].current()'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1534,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].first()'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1539,1
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].setCurrent(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1541,1
    - Dst: '[java.util.function.Consumer<?superE>].accept(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Consumer<?superE>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Node<E>
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - action
    argTypes:
    - java.util.function.Consumer<?superE>
    constantsTouched: []
    func_position:
      end: 1548
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1548
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].tryAdvance(java.util.function.Consumer<?superE>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].setCurrent(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].first()'
    - '[java.util.Objects].requireNonNull(java.util.function.Consumer<?superE>)'
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].current()'
    - '[java.util.function.Consumer<?superE>].accept(io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].tryAdvance(java.util.function.Consumer<?superE>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Node<E>
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - p
    argTypes:
    - io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].setCurrent(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].setCurrent(io.undertow.server.handlers.proxy.mod_cluster.Node<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].setCurrent()'
      Src: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator:1558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Node<E>
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1560
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].current()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].setCurrent()'
    linkageType: ''
    returnType: io.undertow.server.handlers.proxy.mod_cluster.Node<E>
    signature: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].current()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Node<E>
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1564
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].estimateSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].estimateSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Node<E>
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1570
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].characteristics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].characteristics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Node<E>
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FastConcurrentDirectDeque.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator
    signature: '[io.undertow.util.FastConcurrentDirectDeque.CLDSpliterator].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.util.HeaderMap].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].hashCode()'
      Src: io.undertow.util.HeaderMap:50,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:59,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:67,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 73
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 73
    functionName: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.util.HttpString].hashCode()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].hashCodeOf(String)'
      Src: io.undertow.util.HeaderMap:80,1
    - Dst: headerValues.key.equalToString(String)
      Src: io.undertow.util.HeaderMap:89,1
    - Dst: headerValues.key.equalToString(String)
      Src: io.undertow.util.HeaderMap:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: '[io.undertow.util.HeaderMap].getEntry(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 6
    functionsReached:
    - headerValues.key.equalToString(String)
    - '[io.undertow.util.HttpString].hashCodeOf(String)'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].getEntry(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].hashCode()'
      Src: io.undertow.util.HeaderMap:109,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:119,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: '[io.undertow.util.HeaderMap].removeEntry(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].hashCode()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].removeEntry(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].hashCodeOf(String)'
      Src: io.undertow.util.HeaderMap:144,1
    - Dst: headerValues.key.equalToString(String)
      Src: io.undertow.util.HeaderMap:154,1
    - Dst: headerValues.key.equalToString(String)
      Src: io.undertow.util.HeaderMap:164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 172
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 172
    functionName: '[io.undertow.util.HeaderMap].removeEntry(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 1
    functionsReached:
    - headerValues.key.equalToString(String)
    - '[io.undertow.util.HttpString].hashCodeOf(String)'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].removeEntry(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.bitCount(io.undertow.util.HeaderMap)
      Src: io.undertow.util.HeaderMap:179,1
    - Dst: '[java.util.Arrays].copyOf(Object[],int)'
      Src: io.undertow.util.HeaderMap:180,1
    - Dst: e.key.hashCode()
      Src: io.undertow.util.HeaderMap:188,1
    - Dst: oldRow.clone()
      Src: io.undertow.util.HeaderMap:195,1
    - Dst: item.key.hashCode()
      Src: io.undertow.util.HeaderMap:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: '[io.undertow.util.HeaderMap].resize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 2
    functionsReached:
    - Integer.bitCount(io.undertow.util.HeaderMap)
    - oldRow.clone()
    - item.key.hashCode()
    - '[java.util.Arrays].copyOf(Object[],int)'
    - e.key.hashCode()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderMap].resize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].hashCode()'
      Src: io.undertow.util.HeaderMap:216,1
    - Dst: '[io.undertow.util.HeaderMap].resize()'
      Src: io.undertow.util.HeaderMap:224,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:225,1
    - Dst: '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:227,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateNonEmpty(io.undertow.util.HttpString,Object[],io.undertow.util.HeaderMap,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 233
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 233
    functionName: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 8
    functionsReached:
    - '[io.undertow.util.HeaderMap].resize()'
    - '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].getOrCreateNonEmpty(io.undertow.util.HttpString,Object[],io.undertow.util.HeaderMap,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
    - '[io.undertow.util.HttpString].hashCode()'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:239,1
    - Dst: '[io.undertow.util.HeaderMap].resize()'
      Src: io.undertow.util.HeaderMap:241,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:242,1
    - Dst: '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:245,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:256,1
    - Dst: '[io.undertow.util.HeaderMap].resize()'
      Src: io.undertow.util.HeaderMap:264,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:265,1
    - Dst: '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:268,1
    - Dst: '[SecurityException].<init>(String)'
      Src: io.undertow.util.HeaderMap:273,1
    - Dst: '[java.util.Arrays].copyOf(io.undertow.util.HeaderMap,int)'
      Src: io.undertow.util.HeaderMap:275,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - Object[]
      - int
      - int
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - headerName
    - table
    - length
    - idx
    - o
    argTypes:
    - io.undertow.util.HttpString
    - Object[]
    - int
    - int
    - Object
    constantsTouched: []
    func_position:
      end: 281
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 281
    functionName: '[io.undertow.util.HeaderMap].getOrCreateNonEmpty(io.undertow.util.HttpString,Object[],int,int,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].resize()'
    - '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    - '[SecurityException].<init>(String)'
    - '[java.util.Arrays].copyOf(io.undertow.util.HeaderMap,int)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].getOrCreateNonEmpty(io.undertow.util.HttpString,Object[],int,int,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 22
    functionsReached:
    - '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(String)'
      Src: io.undertow.util.HeaderMap:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: '[io.undertow.util.HeaderMap].get(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.util.HeaderMap].getEntry(String)'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].get(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:294,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.util.HeaderMap:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 71
    functionsReached:
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(String)'
      Src: io.undertow.util.HeaderMap:300,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.util.HeaderMap:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: '[io.undertow.util.HeaderMap].getFirst(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[io.undertow.util.HeaderMap].getEntry(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderMap].getFirst(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:309,1
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderMap:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions:
      - IndexOutOfBoundsException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - index
    argTypes:
    - io.undertow.util.HttpString
    - int
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderValues].get(int)'
    - '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(String)'
      Src: io.undertow.util.HeaderMap:320,1
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderMap:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions:
      - IndexOutOfBoundsException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - index
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: '[io.undertow.util.HeaderMap].get(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].get(int)'
    - '[io.undertow.util.HeaderMap].getEntry(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderMap].get(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:331,1
    - Dst: '[io.undertow.util.HeaderValues].getLast()'
      Src: io.undertow.util.HeaderMap:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.util.HeaderValues].getLast()'
    - '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(String)'
      Src: io.undertow.util.HeaderMap:340,1
    - Dst: '[io.undertow.util.HeaderValues].getLast()'
      Src: io.undertow.util.HeaderMap:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 4
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: '[io.undertow.util.HeaderMap].getLast(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].getLast()'
    - '[io.undertow.util.HeaderMap].getEntry(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderMap].getLast(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:351,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.HeaderMap:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: '[io.undertow.util.HeaderMap].count(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HeaderMap].count(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(String)'
      Src: io.undertow.util.HeaderMap:362,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.HeaderMap:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: '[io.undertow.util.HeaderMap].count(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.util.HeaderMap].getEntry(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HeaderMap].count(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: '[io.undertow.util.HeaderMap].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HeaderMap].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 408
    functionName: '[io.undertow.util.HeaderMap].fastIterate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.HeaderMap].fastIterate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].isEmpty()'
      Src: io.undertow.util.HeaderMap:424,1
    - Dst: row[ci].isEmpty()
      Src: io.undertow.util.HeaderMap:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 442
    functionName: '[io.undertow.util.HeaderMap].fastIterateNonEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 2
    functionsReached:
    - row[ci].isEmpty()
    - '[io.undertow.util.HeaderValues].isEmpty()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.HeaderMap].fastIterateNonEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 486
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 486
    functionName: '[io.undertow.util.HeaderMap].fiNext(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.HeaderMap].fiNext(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: row[ci].isEmpty()
      Src: io.undertow.util.HeaderMap:506,1
    - Dst: '[io.undertow.util.HeaderValues].isEmpty()'
      Src: io.undertow.util.HeaderMap:514,1
    - Dst: row[ci].isEmpty()
      Src: io.undertow.util.HeaderMap:520,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 530
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 530
    functionName: '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 3
    functionsReached:
    - row[ci].isEmpty()
    - '[io.undertow.util.HeaderValues].isEmpty()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.HeaderMap].fiNextNonEmpty(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.HeaderMap:550,1
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.HeaderMap:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 555
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 555
    functionName: '[io.undertow.util.HeaderMap].fiCurrent(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 5
    functionsReached:
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderMap].fiCurrent(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.HeaderMap:559,1
    - Dst: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:561,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.HeaderMap:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Iterable<String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: '[io.undertow.util.HeaderMap].eachValue(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: Iterable<String>
    signature: '[io.undertow.util.HeaderMap].eachValue(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Iterator].<init>()'
      Src: io.undertow.util.HeaderMap:569,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<io.undertow.util.HeaderValues>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 635
    functionName: '[io.undertow.util.HeaderMap].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 3
    functionsReached:
    - '[java.util.Iterator].<init>()'
    linkageType: ''
    returnType: java.util.Iterator<io.undertow.util.HeaderValues>
    signature: '[io.undertow.util.HeaderMap].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.AbstractCollection].<init>()'
      Src: io.undertow.util.HeaderMap:641,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<io.undertow.util.HttpString>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 687
    functionName: '[io.undertow.util.HeaderMap].getHeaderNames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 14
    functionsReached:
    - '[java.util.AbstractCollection].<init>()'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.util.HttpString>
    signature: '[io.undertow.util.HeaderMap].getHeaderNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].addLast(io.undertow.util.HttpString,String)'
      Src: io.undertow.util.HeaderMap:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValue
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 694
    functionName: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 28
    functionsReached:
    - '[io.undertow.util.HeaderMap].addLast(io.undertow.util.HttpString,String)'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:697,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:701,1
    - Dst: '[io.undertow.util.HeaderValues].addFirst(String)'
      Src: io.undertow.util.HeaderMap:701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValue
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: '[io.undertow.util.HeaderMap].addFirst(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderValues].addFirst(String)'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].addFirst(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:706,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:710,1
    - Dst: '[io.undertow.util.HeaderValues].addLast(String)'
      Src: io.undertow.util.HeaderMap:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValue
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: '[io.undertow.util.HeaderMap].addLast(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderValues].addLast(String)'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].addLast(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Long.toString(long)
      Src: io.undertow.util.HeaderMap:715,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValue
    argTypes:
    - io.undertow.util.HttpString
    - long
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 717
    functionName: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
    - Long.toString(long)
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:721,1
    - Dst: '[java.util.Collection<String>].isEmpty()'
      Src: io.undertow.util.HeaderMap:722,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:725,1
    - Dst: '[io.undertow.util.HeaderValues].addAll(java.util.Collection<String>)'
      Src: io.undertow.util.HeaderMap:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - java.util.Collection<String>
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValues
    argTypes:
    - io.undertow.util.HttpString
    - java.util.Collection<String>
    constantsTouched: []
    func_position:
      end: 727
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 727
    functionName: '[io.undertow.util.HeaderMap].addAll(io.undertow.util.HttpString,java.util.Collection<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    - '[java.util.Collection<String>].isEmpty()'
    - '[io.undertow.util.HeaderValues].addAll(java.util.Collection<String>)'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].addAll(io.undertow.util.HttpString,java.util.Collection<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:732,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:734,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:737,1
    - Dst: '[io.undertow.util.HeaderValues].clear()'
      Src: io.undertow.util.HeaderMap:738,1
    - Dst: '[io.undertow.util.HeaderValues].add(String)'
      Src: io.undertow.util.HeaderMap:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValue
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 741
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 741
    functionName: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 49
    functionsReached:
    - '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderValues].add(String)'
    - '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderValues].clear()'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:744,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:745,1
    - Dst: '[io.undertow.util.HeaderValues].clear()'
      Src: io.undertow.util.HeaderMap:746,1
    - Dst: Long.toString(long)
      Src: io.undertow.util.HeaderMap:747,1
    - Dst: '[io.undertow.util.HeaderValues].add(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValue
    argTypes:
    - io.undertow.util.HttpString
    - long
    constantsTouched: []
    func_position:
      end: 749
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 749
    functionName: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].add(io.undertow.util.HeaderMap)'
    - '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    - Long.toString(long)
    - '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderValues].clear()'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:752,1
    - Dst: '[java.util.Collection<String>].isEmpty()'
      Src: io.undertow.util.HeaderMap:753,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:754,1
    - Dst: '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:757,1
    - Dst: '[io.undertow.util.HeaderValues].clear()'
      Src: io.undertow.util.HeaderMap:758,1
    - Dst: '[io.undertow.util.HeaderValues].addAll(java.util.Collection<String>)'
      Src: io.undertow.util.HeaderMap:759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - java.util.Collection<String>
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - headerValues
    argTypes:
    - io.undertow.util.HttpString
    - java.util.Collection<String>
    constantsTouched: []
    func_position:
      end: 761
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 761
    functionName: '[io.undertow.util.HeaderMap].putAll(io.undertow.util.HttpString,java.util.Collection<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getOrCreateEntry(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderValues].clear()'
    - '[java.util.Collection<String>].isEmpty()'
    - '[io.undertow.util.HeaderValues].addAll(java.util.Collection<String>)'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].putAll(io.undertow.util.HttpString,java.util.Collection<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:764,1
    - Dst: '[io.undertow.util.HeaderMap].iterator()'
      Src: io.undertow.util.HeaderMap:765,1
    - Dst: '[java.util.Iterator<io.undertow.util.HeaderValues>].hasNext()'
      Src: io.undertow.util.HeaderMap:766,1
    - Dst: '[java.util.Iterator<io.undertow.util.HeaderValues>].next()'
      Src: io.undertow.util.HeaderMap:767,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderName()'
      Src: io.undertow.util.HeaderMap:768,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerMap
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 771
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 771
    functionName: '[io.undertow.util.HeaderMap].putAll(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].iterator()'
    - '[java.util.Iterator<io.undertow.util.HeaderValues>].hasNext()'
    - '[io.undertow.util.HeaderMap].getHeaderName()'
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
    - '[io.undertow.util.HeaderMap].checkNotNullParam(String,io.undertow.util.HeaderMap)'
    - '[java.util.Iterator<io.undertow.util.HeaderValues>].next()'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].putAll(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].fill(Object[],null)'
      Src: io.undertow.util.HeaderMap:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 779
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 779
    functionName: '[io.undertow.util.HeaderMap].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 4
    functionsReached:
    - '[java.util.Arrays].fill(Object[],null)'
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.util.HeaderMap].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.HeaderMap:785,1
    - Dst: '[io.undertow.util.HeaderMap].removeEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:787,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.HeaderMap:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 789
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 789
    functionName: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 18
    functionsReached:
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.util.HeaderMap].removeEntry(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.HeaderMap:793,1
    - Dst: '[io.undertow.util.HeaderMap].removeEntry(String)'
      Src: io.undertow.util.HeaderMap:795,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.HeaderMap:796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 797
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 797
    functionName: '[io.undertow.util.HeaderMap].remove(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HeaderMap].removeEntry(String)'
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.util.HeaderMap].remove(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
      Src: io.undertow.util.HeaderMap:802,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 817
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 817
    functionName: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 35
    functionsReached:
    - '[io.undertow.util.HeaderMap].getEntry(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].getEntry(String)'
      Src: io.undertow.util.HeaderMap:820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 835
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 835
    functionName: '[io.undertow.util.HeaderMap].contains(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HeaderMap].getEntry(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderMap].contains(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 842
    functionName: '[io.undertow.util.HeaderMap].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderMap].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].hashCode()'
      Src: io.undertow.util.HeaderMap:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: '[io.undertow.util.HeaderMap].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[Object].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HeaderMap].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.util.HeaderMap:851,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.util.HeaderMap:853,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.HeaderMap:857,1
    - Dst: '[StringBuilder].append(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:859,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.HeaderMap:860,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:862,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.HeaderMap:866,1
    - Dst: '[StringBuilder].append(io.undertow.util.HeaderMap)'
      Src: io.undertow.util.HeaderMap:868,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.HeaderMap:870,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.HeaderMap:872,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.HeaderMap:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Object[]
      - int
      - java.util.Collection<io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 874
    functionName: '[io.undertow.util.HeaderMap].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderMap.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.util.HeaderMap)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>(String)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderMap].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap].get(String,int,boolean)'
      Src: io.undertow.util.SubstringMap:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SubstringMatch<V>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.util.SubstringMap].get(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SubstringMap].get(String,int,boolean)'
    linkageType: ''
    returnType: SubstringMatch<V>
    signature: '[io.undertow.util.SubstringMap].get(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.SubstringMap:50,1
    - Dst: '[io.undertow.util.SubstringMap].get(String,io.undertow.util.SubstringMap,boolean)'
      Src: io.undertow.util.SubstringMap:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SubstringMatch<V>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.SubstringMap].get(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[io.undertow.util.SubstringMap].get(String,io.undertow.util.SubstringMap,boolean)'
    linkageType: ''
    returnType: SubstringMatch<V>
    signature: '[io.undertow.util.SubstringMap].get(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.SubstringMap:54,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.SubstringMap:55,1
    - Dst: '[io.undertow.util.SubstringMap].hash(String,int)'
      Src: io.undertow.util.SubstringMap:58,1
    - Dst: '[io.undertow.util.SubstringMap].tablePos(Object[],int)'
      Src: io.undertow.util.SubstringMap:59,1
    - Dst: table[pos].equals(String)
      Src: io.undertow.util.SubstringMap:63,1
    - Dst: '[io.undertow.util.SubstringMap].doEquals(String,String,int)'
      Src: io.undertow.util.SubstringMap:67,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: SubstringMatch<V>
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - key
    - length
    - exact
    argTypes:
    - String
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: '[io.undertow.util.SubstringMap].get(String,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.SubstringMap].tablePos(Object[],int)'
    - '[io.undertow.util.SubstringMap].hash(String,int)'
    - '[io.undertow.util.SubstringMap].doEquals(String,String,int)'
    - table[pos].equals(String)
    - '[String].length()'
    - '[IllegalArgumentException].<init>()'
    linkageType: ''
    returnType: SubstringMatch<V>
    signature: '[io.undertow.util.SubstringMap].get(String,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - table
    - hash
    argTypes:
    - Object[]
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[io.undertow.util.SubstringMap].tablePos(Object[],int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.SubstringMap].tablePos(Object[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.SubstringMap:87,1
    - Dst: '[String].length()'
      Src: io.undertow.util.SubstringMap:87,1
    - Dst: '[String].charAt(io.undertow.util.SubstringMap)'
      Src: io.undertow.util.SubstringMap:91,1
    - Dst: '[String].charAt(io.undertow.util.SubstringMap)'
      Src: io.undertow.util.SubstringMap:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - s1
    - s2
    - length
    argTypes:
    - String
    - String
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: '[io.undertow.util.SubstringMap].doEquals(String,String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 1
    functionsReached:
    - '[String].length()'
    - '[String].charAt(io.undertow.util.SubstringMap)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.SubstringMap].doEquals(String,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap].checkNotNullParamWithNullPointerException(String,String)'
      Src: io.undertow.util.SubstringMap:99,1
    - Dst: '[io.undertow.util.SubstringMap].doPut(io.undertow.util.SubstringMap,String)'
      Src: io.undertow.util.SubstringMap:105,1
    - Dst: System.arraycopy(Object[],int,io.undertow.util.SubstringMap,int,io.undertow.util.SubstringMap)
      Src: io.undertow.util.SubstringMap:110,1
    - Dst: '[io.undertow.util.SubstringMap.SubstringMatch].<init>(String,V)'
      Src: io.undertow.util.SubstringMap:112,1
    - Dst: '[io.undertow.util.SubstringMap].doPut(io.undertow.util.SubstringMap,String,io.undertow.util.SubstringMap.SubstringMatch)'
      Src: io.undertow.util.SubstringMap:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - V
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: '[io.undertow.util.SubstringMap].put(String,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SubstringMap].doPut(io.undertow.util.SubstringMap,String,io.undertow.util.SubstringMap.SubstringMatch)'
    - '[io.undertow.util.SubstringMap.SubstringMatch].<init>(String,V)'
    - System.arraycopy(Object[],int,io.undertow.util.SubstringMap,int,io.undertow.util.SubstringMap)
    - '[io.undertow.util.SubstringMap].checkNotNullParamWithNullPointerException(String,String)'
    - '[io.undertow.util.SubstringMap].doPut(io.undertow.util.SubstringMap,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SubstringMap].put(String,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.SubstringMap].checkNotNullParamWithNullPointerException(String,String)'
      Src: io.undertow.util.SubstringMap:118,1
    - Dst: table[i].equals(String)
      Src: io.undertow.util.SubstringMap:125,1
    - Dst: '[io.undertow.util.SubstringMap].doPut(io.undertow.util.SubstringMap,String)'
      Src: io.undertow.util.SubstringMap:126,1
    - Dst: '[SubstringMatch<V>].getValue()'
      Src: io.undertow.util.SubstringMap:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: '[io.undertow.util.SubstringMap].remove(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SubstringMap].doPut(io.undertow.util.SubstringMap,String)'
    - '[SubstringMatch<V>].getValue()'
    - table[i].equals(String)
    - '[io.undertow.util.SubstringMap].checkNotNullParamWithNullPointerException(String,String)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.SubstringMap].remove(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.SubstringMap:140,1
    - Dst: '[io.undertow.util.SubstringMap].hash(String,io.undertow.util.SubstringMap)'
      Src: io.undertow.util.SubstringMap:140,1
    - Dst: '[io.undertow.util.SubstringMap].tablePos(Object[],int)'
      Src: io.undertow.util.SubstringMap:141,1
    - Dst: newTable[pos].equals(String)
      Src: io.undertow.util.SubstringMap:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - Object[]
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - newTable
    - key
    - value
    argTypes:
    - Object[]
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: '[io.undertow.util.SubstringMap].doPut(Object[],String,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.SubstringMap].hash(String,io.undertow.util.SubstringMap)'
    - '[String].length()'
    - '[io.undertow.util.SubstringMap].tablePos(Object[],int)'
    - newTable[pos].equals(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SubstringMap].doPut(Object[],String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.SubstringMap:153,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.util.SubstringMap)'
      Src: io.undertow.util.SubstringMap:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,V>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: '[io.undertow.util.SubstringMap].toMap()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].put(String,io.undertow.util.SubstringMap)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: java.util.Map<String,V>
    signature: '[io.undertow.util.SubstringMap].toMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.util.SubstringMap].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.SubstringMap].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].charAt(io.undertow.util.SubstringMap)'
      Src: io.undertow.util.SubstringMap:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: '[io.undertow.util.SubstringMap].hash(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 1
    functionsReached:
    - '[String].charAt(io.undertow.util.SubstringMap)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.SubstringMap].hash(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Iterable].<init>()'
      Src: io.undertow.util.SubstringMap:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Iterable<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 223
    functionName: '[io.undertow.util.SubstringMap].keys()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 1
    functionsReached:
    - '[Iterable].<init>()'
    linkageType: ''
    returnType: Iterable<String>
    signature: '[io.undertow.util.SubstringMap].keys()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - Object[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SubstringMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.SubstringMap].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.SubstringMap
    signature: '[io.undertow.util.SubstringMap].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - V
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.SubstringMap.SubstringMatch
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - String
    - V
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: '[io.undertow.util.SubstringMap.SubstringMatch].<init>(String,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.SubstringMap.SubstringMatch
    signature: '[io.undertow.util.SubstringMap.SubstringMatch].<init>(String,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - V
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: '[io.undertow.util.SubstringMap.SubstringMatch].getKey()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.SubstringMap.SubstringMatch].getKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - V
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '[io.undertow.util.SubstringMap.SubstringMatch].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SubstringMap.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.SubstringMap.SubstringMatch].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.QueryParameterUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.util.QueryParameterUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.QueryParameterUtils
    signature: '[io.undertow.util.QueryParameterUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>,null)'
      Src: io.undertow.util.QueryParameterUtils:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.Deque<String>>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - params
    argTypes:
    - java.util.Map<String,java.util.Deque<String>>
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>,null)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.QueryParameterUtils:55,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.util.QueryParameterUtils:57,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:58,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.util.QueryParameterUtils,String)'
      Src: io.undertow.util.QueryParameterUtils:58,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:58,1
    - Dst: entry.getValue()
      Src: io.undertow.util.QueryParameterUtils:59,1
    - Dst: '[io.undertow.util.QueryParameterUtils].isEmpty()'
      Src: io.undertow.util.QueryParameterUtils:59,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.QueryParameterUtils:63,1
    - Dst: '[StringBuilder].append(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:65,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.QueryParameterUtils:66,1
    - Dst: entry.getValue()
      Src: io.undertow.util.QueryParameterUtils:68,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.QueryParameterUtils:72,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.util.QueryParameterUtils,String)'
      Src: io.undertow.util.QueryParameterUtils:74,1
    - Dst: '[StringBuilder].append(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:75,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.util.QueryParameterUtils:76,1
    - Dst: '[StringBuilder].append(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:77,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.QueryParameterUtils:81,1
    - Dst: '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>)'
      Src: io.undertow.util.QueryParameterUtils:83,1
    - Dst: '[io.undertow.util.QueryParameterUtils].failedToEncodeQueryString(String,String)'
      Src: io.undertow.util.QueryParameterUtils:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.Deque<String>>
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - params
    - encoding
    argTypes:
    - java.util.Map<String,java.util.Deque<String>>
    - String
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.QueryParameterUtils].isEmpty()'
    - '[java.net.URLEncoder].encode(io.undertow.util.QueryParameterUtils,String)'
    - '[StringBuilder].append(char)'
    - '[io.undertow.util.QueryParameterUtils].failedToEncodeQueryString(String,String)'
    - entry.getValue()
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.util.QueryParameterUtils)'
    - entry.getKey()
    - '[StringBuilder].toString()'
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    - '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.QueryParameterUtils].buildQueryString(java.util.Map<String,java.util.Deque<String>>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.QueryParameterUtils].parseQueryString(String,null)'
      Src: io.undertow.util.QueryParameterUtils:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.Deque<String>>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - newQueryString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.util.QueryParameterUtils].parseQueryString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.QueryParameterUtils].parseQueryString(String,null)'
    linkageType: ''
    returnType: java.util.Map<String,java.util.Deque<String>>
    signature: '[io.undertow.util.QueryParameterUtils].parseQueryString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.util.QueryParameterUtils:102,1
    - Dst: '[String].length()'
      Src: io.undertow.util.QueryParameterUtils:106,1
    - Dst: '[String].charAt(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:107,1
    - Dst: '[io.undertow.util.QueryParameterUtils].handleQueryParameter(String,java.util.LinkedHashMap,io.undertow.util.QueryParameterUtils,io.undertow.util.QueryParameterUtils,io.undertow.util.QueryParameterUtils,String,io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:111,1
    - Dst: '[String].length()'
      Src: io.undertow.util.QueryParameterUtils:119,1
    - Dst: '[String].length()'
      Src: io.undertow.util.QueryParameterUtils:120,1
    - Dst: '[io.undertow.util.QueryParameterUtils].handleQueryParameter(String,java.util.LinkedHashMap,io.undertow.util.QueryParameterUtils,io.undertow.util.QueryParameterUtils,io.undertow.util.QueryParameterUtils,String,io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.Deque<String>>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - newQueryString
    - encoding
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: '[io.undertow.util.QueryParameterUtils].parseQueryString(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 1
    functionsReached:
    - '[String].charAt(io.undertow.util.QueryParameterUtils)'
    - '[String].length()'
    - '[java.util.LinkedHashMap].<init>()'
    - '[io.undertow.util.QueryParameterUtils].handleQueryParameter(String,java.util.LinkedHashMap,io.undertow.util.QueryParameterUtils,io.undertow.util.QueryParameterUtils,io.undertow.util.QueryParameterUtils,String,io.undertow.util.QueryParameterUtils)'
    linkageType: ''
    returnType: java.util.Map<String,java.util.Deque<String>>
    signature: '[io.undertow.util.QueryParameterUtils].parseQueryString(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.QueryParameterUtils].decodeParam(String,int,int,String,boolean)'
      Src: io.undertow.util.QueryParameterUtils:129,1
    - Dst: '[io.undertow.util.QueryParameterUtils].decodeParam(String,int,int,String,boolean)'
      Src: io.undertow.util.QueryParameterUtils:131,1
    - Dst: '[io.undertow.util.QueryParameterUtils].decodeParam(String,int,int,String,boolean)'
      Src: io.undertow.util.QueryParameterUtils:132,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(String)'
      Src: io.undertow.util.QueryParameterUtils:135,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].put(String)'
      Src: io.undertow.util.QueryParameterUtils:137,1
    - Dst: '[io.undertow.util.QueryParameterUtils].add(String)'
      Src: io.undertow.util.QueryParameterUtils:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Map<String,java.util.Deque<String>>
      - int
      - int
      - int
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 7
    argNames:
    - newQueryString
    - newQueryParameters
    - startPos
    - equalPos
    - i
    - encoding
    - needsDecode
    argTypes:
    - String
    - java.util.Map<String,java.util.Deque<String>>
    - int
    - int
    - int
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: '[io.undertow.util.QueryParameterUtils].handleQueryParameter(String,java.util.Map<String,java.util.Deque<String>>,int,int,int,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].get(String)'
    - '[io.undertow.util.QueryParameterUtils].decodeParam(String,int,int,String,boolean)'
    - '[io.undertow.util.QueryParameterUtils].add(String)'
    - '[java.util.Map<String,java.util.Deque<String>>].put(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.QueryParameterUtils].handleQueryParameter(String,java.util.Map<String,java.util.Deque<String>>,int,int,int,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.util.QueryParameterUtils:148,1
    - Dst: '[java.net.URLDecoder].decode(io.undertow.util.QueryParameterUtils,String)'
      Src: io.undertow.util.QueryParameterUtils:148,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.util.QueryParameterUtils:150,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.util.QueryParameterUtils:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - int
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - newQueryString
    - startPos
    - equalPos
    - encoding
    - needsDecode
    argTypes:
    - String
    - int
    - int
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: '[io.undertow.util.QueryParameterUtils].decodeParam(String,int,int,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 1
    functionsReached:
    - '[String].substring(int,int)'
    - '[java.net.URLDecoder].decode(io.undertow.util.QueryParameterUtils,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.QueryParameterUtils].decodeParam(String,int,int,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.util.QueryParameterUtils:160,1
    - Dst: '[io.undertow.util.QueryParameterUtils].mergeQueryParametersWithNewQueryString(java.util.Map<String,java.util.Deque<String>>,String,io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.Deque<String>>
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.Deque<String>>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - queryParameters
    - newQueryString
    argTypes:
    - java.util.Map<String,java.util.Deque<String>>
    - String
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.util.QueryParameterUtils].mergeQueryParametersWithNewQueryString(java.util.Map<String,java.util.Deque<String>>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.QueryParameterUtils].mergeQueryParametersWithNewQueryString(java.util.Map<String,java.util.Deque<String>>,String,io.undertow.util.QueryParameterUtils)'
    - StandardCharsets.UTF_8.name()
    linkageType: ''
    returnType: java.util.Map<String,java.util.Deque<String>>
    signature: '[io.undertow.util.QueryParameterUtils].mergeQueryParametersWithNewQueryString(java.util.Map<String,java.util.Deque<String>>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.QueryParameterUtils].parseQueryString(String,String)'
      Src: io.undertow.util.QueryParameterUtils:166,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.util.QueryParameterUtils:168,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:169,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:169,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:170,1
    - Dst: entry.getValue()
      Src: io.undertow.util.QueryParameterUtils:170,1
    - Dst: '[java.util.ArrayDeque].<init>(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:170,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].put(io.undertow.util.QueryParameterUtils,java.util.ArrayDeque)'
      Src: io.undertow.util.QueryParameterUtils:170,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:172,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:172,1
    - Dst: entry.getValue()
      Src: io.undertow.util.QueryParameterUtils:172,1
    - Dst: '[io.undertow.util.QueryParameterUtils].addAll(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.Deque<String>>
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.Deque<String>>
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - queryParameters
    - newQueryString
    - encoding
    argTypes:
    - java.util.Map<String,java.util.Deque<String>>
    - String
    - String
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: '[io.undertow.util.QueryParameterUtils].mergeQueryParametersWithNewQueryString(java.util.Map<String,java.util.Deque<String>>,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].containsKey(io.undertow.util.QueryParameterUtils)'
    - '[io.undertow.util.QueryParameterUtils].parseQueryString(String,String)'
    - entry.getValue()
    - '[java.util.ArrayDeque].<init>(io.undertow.util.QueryParameterUtils)'
    - entry.getKey()
    - '[java.util.Map<String,java.util.Deque<String>>].get(io.undertow.util.QueryParameterUtils)'
    - '[io.undertow.util.QueryParameterUtils].addAll(io.undertow.util.QueryParameterUtils)'
    - '[java.util.Map<String,java.util.Deque<String>>].put(io.undertow.util.QueryParameterUtils,java.util.ArrayDeque)'
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    linkageType: ''
    returnType: java.util.Map<String,java.util.Deque<String>>
    signature: '[io.undertow.util.QueryParameterUtils].mergeQueryParametersWithNewQueryString(java.util.Map<String,java.util.Deque<String>>,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
      Src: io.undertow.util.QueryParameterUtils:180,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:181,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].containsKey(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:181,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:182,1
    - Dst: entry.getValue()
      Src: io.undertow.util.QueryParameterUtils:182,1
    - Dst: '[java.util.ArrayDeque].<init>(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:182,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].put(io.undertow.util.QueryParameterUtils,java.util.ArrayDeque)'
      Src: io.undertow.util.QueryParameterUtils:182,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:184,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].get(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:184,1
    - Dst: entry.getValue()
      Src: io.undertow.util.QueryParameterUtils:185,1
    - Dst: '[io.undertow.util.QueryParameterUtils].size()'
      Src: io.undertow.util.QueryParameterUtils:186,1
    - Dst: '[io.undertow.util.QueryParameterUtils].size()'
      Src: io.undertow.util.QueryParameterUtils:186,1
    - Dst: '[java.util.LinkedHashSet].<init>(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:186,1
    - Dst: '[java.util.LinkedHashSet].addAll(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:187,1
    - Dst: '[java.util.LinkedHashSet].addAll(io.undertow.util.QueryParameterUtils)'
      Src: io.undertow.util.QueryParameterUtils:188,1
    - Dst: entry.getKey()
      Src: io.undertow.util.QueryParameterUtils:189,1
    - Dst: '[java.util.ArrayDeque].<init>(java.util.LinkedHashSet)'
      Src: io.undertow.util.QueryParameterUtils:189,1
    - Dst: '[java.util.Map<String,java.util.Deque<String>>].put(io.undertow.util.QueryParameterUtils,java.util.ArrayDeque)'
      Src: io.undertow.util.QueryParameterUtils:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,java.util.Deque<String>>
      - java.util.Map<String,java.util.Deque<String>>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,java.util.Deque<String>>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - newParams
    - oldParams
    argTypes:
    - java.util.Map<String,java.util.Deque<String>>
    - java.util.Map<String,java.util.Deque<String>>
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: '[io.undertow.util.QueryParameterUtils].mergeQueryParameters(java.util.Map<String,java.util.Deque<String>>,java.util.Map<String,java.util.Deque<String>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<String,java.util.Deque<String>>].containsKey(io.undertow.util.QueryParameterUtils)'
    - entry.getValue()
    - '[java.util.ArrayDeque].<init>(io.undertow.util.QueryParameterUtils)'
    - '[java.util.ArrayDeque].<init>(java.util.LinkedHashSet)'
    - entry.getKey()
    - '[java.util.Map<String,java.util.Deque<String>>].get(io.undertow.util.QueryParameterUtils)'
    - '[io.undertow.util.QueryParameterUtils].size()'
    - '[java.util.LinkedHashSet].addAll(io.undertow.util.QueryParameterUtils)'
    - '[java.util.LinkedHashSet].<init>(io.undertow.util.QueryParameterUtils)'
    - '[java.util.Map<String,java.util.Deque<String>>].put(io.undertow.util.QueryParameterUtils,java.util.ArrayDeque)'
    - '[java.util.Map<String,java.util.Deque<String>>].entrySet()'
    linkageType: ''
    returnType: java.util.Map<String,java.util.Deque<String>>
    signature: '[io.undertow.util.QueryParameterUtils].mergeQueryParameters(java.util.Map<String,java.util.Deque<String>>,java.util.Map<String,java.util.Deque<String>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.util.QueryParameterUtils:197,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.util.QueryParameterUtils:197,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.QueryParameterUtils:198,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
      Src: io.undertow.util.QueryParameterUtils:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QueryParameterUtils.java
    functionUses: 4
    functionsReached:
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>,String)'
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.QueryParameterUtils].getQueryParamEncoding(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>(int)'
      Src: io.undertow.util.AttachmentList:38,1
    - Dst: '[java.util.Collections].checkedList(java.util.ArrayList,Class<T>)'
      Src: io.undertow.util.AttachmentList:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.AttachmentList
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - initialCapacity
    - valueClass
    argTypes:
    - int
    - Class<T>
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.util.AttachmentList].<init>(int,Class<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].<init>(int)'
    - '[java.util.Collections].checkedList(java.util.ArrayList,Class<T>)'
    linkageType: ''
    returnType: io.undertow.util.AttachmentList
    signature: '[io.undertow.util.AttachmentList].<init>(int,Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.AttachmentList:43,1
    - Dst: '[java.util.Collections].checkedList(java.util.ArrayList,Class<T>)'
      Src: io.undertow.util.AttachmentList:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.AttachmentList
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - valueClass
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.util.AttachmentList].<init>(Class<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].checkedList(java.util.ArrayList,Class<T>)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.util.AttachmentList
    signature: '[io.undertow.util.AttachmentList].<init>(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collection<?extendsT>].size()'
      Src: io.undertow.util.AttachmentList:48,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.util.AttachmentList)'
      Src: io.undertow.util.AttachmentList:48,1
    - Dst: '[java.util.Collections].checkedList(java.util.ArrayList,Class<T>)'
      Src: io.undertow.util.AttachmentList:48,1
    - Dst: '[io.undertow.util.AttachmentList].addAll(java.util.Collection<?extendsT>)'
      Src: io.undertow.util.AttachmentList:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?extendsT>
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.AttachmentList
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - c
    - valueClass
    argTypes:
    - java.util.Collection<?extendsT>
    - Class<T>
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.AttachmentList].<init>(java.util.Collection<?extendsT>,Class<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collection<?extendsT>].size()'
    - '[io.undertow.util.AttachmentList].addAll(java.util.Collection<?extendsT>)'
    - '[java.util.Collections].checkedList(java.util.ArrayList,Class<T>)'
    - '[java.util.ArrayList].<init>(io.undertow.util.AttachmentList)'
    linkageType: ''
    returnType: io.undertow.util.AttachmentList
    signature: '[io.undertow.util.AttachmentList].<init>(java.util.Collection<?extendsT>,Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Class<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.util.AttachmentList].getValueClass()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Class<T>
    signature: '[io.undertow.util.AttachmentList].getValueClass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].size()'
      Src: io.undertow.util.AttachmentList:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.util.AttachmentList].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].size()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.AttachmentList].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].isEmpty()'
      Src: io.undertow.util.AttachmentList:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.util.AttachmentList].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].contains(Object)'
      Src: io.undertow.util.AttachmentList:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.util.AttachmentList].contains(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].contains(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].contains(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].iterator()'
      Src: io.undertow.util.AttachmentList:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: '[io.undertow.util.AttachmentList].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].iterator()'
    linkageType: ''
    returnType: java.util.Iterator<T>
    signature: '[io.undertow.util.AttachmentList].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].toArray()'
      Src: io.undertow.util.AttachmentList:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[io.undertow.util.AttachmentList].toArray()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].toArray()'
    linkageType: ''
    returnType: Object[]
    signature: '[io.undertow.util.AttachmentList].toArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].toArray(T[])'
      Src: io.undertow.util.AttachmentList:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - T[]
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - a
    argTypes:
    - T[]
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.util.AttachmentList].toArray(T[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].toArray(T[])'
    linkageType: ''
    returnType: T[]
    signature: '[io.undertow.util.AttachmentList].toArray(T[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].add(T)'
      Src: io.undertow.util.AttachmentList:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: '[io.undertow.util.AttachmentList].add(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 2
    functionsReached:
    - '[java.util.List<T>].add(T)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].add(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].remove(Object)'
      Src: io.undertow.util.AttachmentList:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.AttachmentList].remove(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].remove(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].remove(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].containsAll(java.util.Collection<?>)'
      Src: io.undertow.util.AttachmentList:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?>
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[io.undertow.util.AttachmentList].containsAll(java.util.Collection<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].containsAll(java.util.Collection<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].containsAll(java.util.Collection<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].addAll(java.util.Collection<?extendsT>)'
      Src: io.undertow.util.AttachmentList:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?extendsT>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?extendsT>
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.util.AttachmentList].addAll(java.util.Collection<?extendsT>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<T>].addAll(java.util.Collection<?extendsT>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].addAll(java.util.Collection<?extendsT>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].addAll(int,java.util.Collection<?extendsT>)'
      Src: io.undertow.util.AttachmentList:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.util.Collection<?extendsT>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - index
    - c
    argTypes:
    - int
    - java.util.Collection<?extendsT>
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.util.AttachmentList].addAll(int,java.util.Collection<?extendsT>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].addAll(int,java.util.Collection<?extendsT>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].addAll(int,java.util.Collection<?extendsT>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].removeAll(java.util.Collection<?>)'
      Src: io.undertow.util.AttachmentList:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?>
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: '[io.undertow.util.AttachmentList].removeAll(java.util.Collection<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].removeAll(java.util.Collection<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].removeAll(java.util.Collection<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].retainAll(java.util.Collection<?>)'
      Src: io.undertow.util.AttachmentList:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?>
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?>
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: '[io.undertow.util.AttachmentList].retainAll(java.util.Collection<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].retainAll(java.util.Collection<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].retainAll(java.util.Collection<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].clear()'
      Src: io.undertow.util.AttachmentList:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.util.AttachmentList].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.AttachmentList].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].equals(Object)'
      Src: io.undertow.util.AttachmentList:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.util.AttachmentList].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].equals(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.AttachmentList].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].hashCode()'
      Src: io.undertow.util.AttachmentList:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.util.AttachmentList].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.AttachmentList].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].get(int)'
      Src: io.undertow.util.AttachmentList:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '[io.undertow.util.AttachmentList].get(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].get(int)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.AttachmentList].get(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].set(int,T)'
      Src: io.undertow.util.AttachmentList:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - index
    - element
    argTypes:
    - int
    - T
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[io.undertow.util.AttachmentList].set(int,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].set(int,T)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.AttachmentList].set(int,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].add(int,T)'
      Src: io.undertow.util.AttachmentList:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - index
    - element
    argTypes:
    - int
    - T
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: '[io.undertow.util.AttachmentList].add(int,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].add(int,T)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.AttachmentList].add(int,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].remove(int)'
      Src: io.undertow.util.AttachmentList:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.util.AttachmentList].remove(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].remove(int)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.AttachmentList].remove(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].indexOf(Object)'
      Src: io.undertow.util.AttachmentList:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: '[io.undertow.util.AttachmentList].indexOf(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].indexOf(Object)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.AttachmentList].indexOf(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].lastIndexOf(Object)'
      Src: io.undertow.util.AttachmentList:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: '[io.undertow.util.AttachmentList].lastIndexOf(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].lastIndexOf(Object)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.AttachmentList].lastIndexOf(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].listIterator()'
      Src: io.undertow.util.AttachmentList:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.ListIterator<T>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.util.AttachmentList].listIterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].listIterator()'
    linkageType: ''
    returnType: java.util.ListIterator<T>
    signature: '[io.undertow.util.AttachmentList].listIterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].listIterator(int)'
      Src: io.undertow.util.AttachmentList:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.ListIterator<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.util.AttachmentList].listIterator(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].listIterator(int)'
    linkageType: ''
    returnType: java.util.ListIterator<T>
    signature: '[io.undertow.util.AttachmentList].listIterator(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<T>].subList(int,int)'
      Src: io.undertow.util.AttachmentList:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Class<T>
      - java.util.List<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - fromIndex
    - toIndex
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.util.AttachmentList].subList(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AttachmentList.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<T>].subList(int,int)'
    linkageType: ''
    returnType: java.util.List<T>
    signature: '[io.undertow.util.AttachmentList].subList(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.MimeMappings].builder()'
      Src: io.undertow.util.MimeMappings:158,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
      Src: io.undertow.util.MimeMappings:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      - java.util.Map<String,String>
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.MimeMappings
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mappings
    argTypes:
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: '[io.undertow.util.MimeMappings].<init>(java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MimeMappings.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MimeMappings].builder()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
    linkageType: ''
    returnType: io.undertow.util.MimeMappings
    signature: '[io.undertow.util.MimeMappings].<init>(java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>(boolean)'
      Src: io.undertow.util.MimeMappings:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      - java.util.Map<String,String>
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: '[io.undertow.util.MimeMappings].builder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MimeMappings.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>(boolean)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.util.MimeMappings].builder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>(boolean)'
      Src: io.undertow.util.MimeMappings:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      - java.util.Map<String,String>
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - includeDefault
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: '[io.undertow.util.MimeMappings].builder(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MimeMappings.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].<init>(boolean)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.util.MimeMappings].builder(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toLowerCase(io.undertow.util.MimeMappings)'
      Src: io.undertow.util.MimeMappings:193,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.util.MimeMappings)'
      Src: io.undertow.util.MimeMappings:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,String>
      - java.util.Map<String,String>
      - io.undertow.util.MimeMappings
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - extension
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '[io.undertow.util.MimeMappings].getMimeType(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MimeMappings.java
    functionUses: 0
    functionsReached:
    - '[String].toLowerCase(io.undertow.util.MimeMappings)'
    - '[java.util.Map<String,String>].get(io.undertow.util.MimeMappings)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.MimeMappings].getMimeType(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.util.MimeMappings.Builder:173,1
    - Dst: '[Map<String, String>].putAll(io.undertow.util.MimeMappings.Builder)'
      Src: io.undertow.util.MimeMappings.Builder:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Map<String, String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.MimeMappings.Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - includeDefault
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: '[io.undertow.util.MimeMappings.Builder].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MimeMappings.java
    functionUses: 0
    functionsReached:
    - '[Map<String, String>].putAll(io.undertow.util.MimeMappings.Builder)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.util.MimeMappings.Builder
    signature: '[io.undertow.util.MimeMappings.Builder].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toLowerCase(io.undertow.util.MimeMappings.Builder)'
      Src: io.undertow.util.MimeMappings.Builder:183,1
    - Dst: '[Map<String, String>].put(io.undertow.util.MimeMappings.Builder,String)'
      Src: io.undertow.util.MimeMappings.Builder:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Map<String, String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - extension
    - contentType
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.util.MimeMappings.Builder].addMapping(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MimeMappings.java
    functionUses: 0
    functionsReached:
    - '[String].toLowerCase(io.undertow.util.MimeMappings.Builder)'
    - '[Map<String, String>].put(io.undertow.util.MimeMappings.Builder,String)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.util.MimeMappings.Builder].addMapping(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.MimeMappings].<init>(Map<String, String>)'
      Src: io.undertow.util.MimeMappings.Builder:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Map<String, String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MimeMappings
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: '[io.undertow.util.MimeMappings.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MimeMappings.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.MimeMappings].<init>(Map<String, String>)'
    linkageType: ''
    returnType: io.undertow.util.MimeMappings
    signature: '[io.undertow.util.MimeMappings.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.util.AbstractAttachable:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.AbstractAttachable].getAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AbstractAttachable.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.AbstractAttachable].getAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.AbstractAttachable:54,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<?extendsList<T>>)'
      Src: io.undertow.util.AbstractAttachable:56,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.AbstractAttachable:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<?extendsList<T>>
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<?extendsList<T>>
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: '[io.undertow.util.AbstractAttachable].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AbstractAttachable.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    - '[java.util.Collections].emptyList()'
    linkageType: ''
    returnType: java.util.List<T>
    signature: '[io.undertow.util.AbstractAttachable].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AbstractAttachable].argumentCannotBeNull(String)'
      Src: io.undertow.util.AbstractAttachable:69,1
    - Dst: '[io.undertow.util.AbstractAttachable].createAttachmentMap()'
      Src: io.undertow.util.AbstractAttachable:72,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].put(io.undertow.util.AttachmentKey<T>,T)'
      Src: io.undertow.util.AbstractAttachable:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - T
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: '[io.undertow.util.AbstractAttachable].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AbstractAttachable.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].put(io.undertow.util.AttachmentKey<T>,T)'
    - '[io.undertow.util.AbstractAttachable].argumentCannotBeNull(String)'
    - '[io.undertow.util.AbstractAttachable].createAttachmentMap()'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.AbstractAttachable].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.IdentityHashMap].<init>(int)'
      Src: io.undertow.util.AbstractAttachable:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.util.AbstractAttachable].createAttachmentMap()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AbstractAttachable.java
    functionUses: 2
    functionsReached:
    - '[java.util.IdentityHashMap].<init>(int)'
    linkageType: ''
    returnType: java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
    signature: '[io.undertow.util.AbstractAttachable].createAttachmentMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].remove(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.util.AbstractAttachable:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: '[io.undertow.util.AbstractAttachable].removeAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AbstractAttachable.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].remove(io.undertow.util.AttachmentKey<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.AbstractAttachable].removeAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AbstractAttachable].createAttachmentMap()'
      Src: io.undertow.util.AbstractAttachable:99,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>)'
      Src: io.undertow.util.AbstractAttachable:102,1
    - Dst: '[io.undertow.util.ListAttachmentKey<T>].getValueClass()'
      Src: io.undertow.util.AbstractAttachable:104,1
    - Dst: '[io.undertow.util.AttachmentList].<init>(io.undertow.util.AbstractAttachable)'
      Src: io.undertow.util.AbstractAttachable:104,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].put(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,io.undertow.util.AttachmentList)'
      Src: io.undertow.util.AbstractAttachable:105,1
    - Dst: '[io.undertow.util.AttachmentList].add(T)'
      Src: io.undertow.util.AbstractAttachable:106,1
    - Dst: list.add(T)
      Src: io.undertow.util.AbstractAttachable:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
    - T
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: '[io.undertow.util.AbstractAttachable].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AbstractAttachable.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>)'
    - list.add(T)
    - '[io.undertow.util.ListAttachmentKey<T>].getValueClass()'
    - '[io.undertow.util.AttachmentList].<init>(io.undertow.util.AbstractAttachable)'
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].put(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,io.undertow.util.AttachmentList)'
    - '[io.undertow.util.AttachmentList].add(T)'
    - '[io.undertow.util.AbstractAttachable].createAttachmentMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.AbstractAttachable].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.AbstractAttachable
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.AbstractAttachable].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/AbstractAttachable.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.AbstractAttachable
    signature: '[io.undertow.util.AbstractAttachable].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.util.HeaderToken].getName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderToken.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderToken].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '[io.undertow.util.HeaderToken].isAllowQuoted()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderToken.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderToken].isAllowQuoted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderToken
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.HeaderToken].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderToken.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderToken
    signature: '[io.undertow.util.HeaderToken].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Protocols:49,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Protocols:53,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Protocols:57,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Protocols:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.Protocols
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: '[io.undertow.util.Protocols].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Protocols.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.util.Protocols
    signature: '[io.undertow.util.Protocols].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:67,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:68,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:69,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:70,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:71,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:72,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:73,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:74,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:75,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:76,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:77,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:78,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:79,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:80,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:81,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:82,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:83,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:84,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:85,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:86,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:87,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:88,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:89,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:90,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:91,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:92,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:93,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:94,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:95,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Map<String,io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.Methods
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: '[io.undertow.util.Methods].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Methods.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.util.Methods
    signature: '[io.undertow.util.Methods].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.util.Methods:137,1
    - Dst: '[java.util.Map<String,io.undertow.util.HttpString>].put(String,io.undertow.util.HttpString)'
      Src: io.undertow.util.Methods:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,io.undertow.util.HttpString>
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Map<String,io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - methods
    - options
    argTypes:
    - java.util.Map<String,io.undertow.util.HttpString>
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: '[io.undertow.util.Methods].putString(java.util.Map<String,io.undertow.util.HttpString>,io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Methods.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,io.undertow.util.HttpString>].put(String,io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Methods].putString(java.util.Map<String,io.undertow.util.HttpString>,io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,io.undertow.util.HttpString>].get(String)'
      Src: io.undertow.util.Methods:142,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.Methods:144,1
    - Dst: '[io.undertow.server.Connectors].verifyToken(io.undertow.util.HttpString)'
      Src: io.undertow.util.Methods:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - java.util.Map<String,io.undertow.util.HttpString>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: '[io.undertow.util.Methods].fromString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Methods.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.server.Connectors].verifyToken(io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[java.util.Map<String,io.undertow.util.HttpString>].get(String)'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.Methods].fromString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.ReferenceCountedPooled:46,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int,null)'
      Src: io.undertow.util.ReferenceCountedPooled:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ReferenceCountedPooled
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - underlying
    - referenceCount
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int,null)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.util.ReferenceCountedPooled
    signature: '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.util.ReferenceCountedPooled:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - int
      - FreeNotifier
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ReferenceCountedPooled
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - underlying
    - referenceCount
    - freeNotifier
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - int
    - FreeNotifier
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int,FreeNotifier)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.util.ReferenceCountedPooled
    signature: '[io.undertow.util.ReferenceCountedPooled].<init>(io.undertow.connector.PooledByteBuffer,int,FreeNotifier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ReferenceCountedPooled].freeInternal()'
      Src: io.undertow.util.ReferenceCountedPooled:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: '[io.undertow.util.ReferenceCountedPooled].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ReferenceCountedPooled].freeInternal()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ReferenceCountedPooled].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.util.ReferenceCountedPooled].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ReferenceCountedPooled].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.util.ReferenceCountedPooled].isFreed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ReferenceCountedPooled].isFreed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].get()'
      Src: io.undertow.util.ReferenceCountedPooled:79,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].compareAndSet(io.undertow.util.ReferenceCountedPooled,int)'
      Src: io.undertow.util.ReferenceCountedPooled:83,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.ReferenceCountedPooled:84,1
    - Dst: resource.limit()
      Src: io.undertow.util.ReferenceCountedPooled:85,1
    - Dst: resource.position(io.undertow.util.ReferenceCountedPooled)
      Src: io.undertow.util.ReferenceCountedPooled:85,1
    - Dst: resource.capacity()
      Src: io.undertow.util.ReferenceCountedPooled:86,1
    - Dst: resource.limit(io.undertow.util.ReferenceCountedPooled)
      Src: io.undertow.util.ReferenceCountedPooled:86,1
    - Dst: resource.slice()
      Src: io.undertow.util.ReferenceCountedPooled:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: '[io.undertow.util.ReferenceCountedPooled].tryUnfree()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached:
    - resource.limit(io.undertow.util.ReferenceCountedPooled)
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].compareAndSet(io.undertow.util.ReferenceCountedPooled,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].get()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - resource.slice()
    - resource.position(io.undertow.util.ReferenceCountedPooled)
    - resource.limit()
    - resource.capacity()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ReferenceCountedPooled].tryUnfree()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].decrementAndGet()'
      Src: io.undertow.util.ReferenceCountedPooled:93,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.ReferenceCountedPooled:94,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled.FreeNotifier].freed()'
      Src: io.undertow.util.ReferenceCountedPooled:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: '[io.undertow.util.ReferenceCountedPooled].freeInternal()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].decrementAndGet()'
    - '[io.undertow.util.ReferenceCountedPooled.FreeNotifier].freed()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ReferenceCountedPooled].freeInternal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ReferenceCountedPooled].bufferAlreadyFreed()'
      Src: io.undertow.util.ReferenceCountedPooled:104,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.ReferenceCountedPooled:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.util.ReferenceCountedPooled].bufferAlreadyFreed()'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.util.ReferenceCountedPooled:113,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.util.ReferenceCountedPooled:113,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].position()'
      Src: io.undertow.util.ReferenceCountedPooled:114,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].limit(io.undertow.util.ReferenceCountedPooled)'
      Src: io.undertow.util.ReferenceCountedPooled:114,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].slice()'
      Src: io.undertow.util.ReferenceCountedPooled:115,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.util.ReferenceCountedPooled:116,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.util.ReferenceCountedPooled:116,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].position()'
      Src: io.undertow.util.ReferenceCountedPooled:117,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].position(io.undertow.util.ReferenceCountedPooled)'
      Src: io.undertow.util.ReferenceCountedPooled:117,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].remaining()'
      Src: io.undertow.util.ReferenceCountedPooled:119,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].capacity()'
      Src: io.undertow.util.ReferenceCountedPooled:120,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].limit(io.undertow.util.ReferenceCountedPooled)'
      Src: io.undertow.util.ReferenceCountedPooled:120,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].slice()'
      Src: io.undertow.util.ReferenceCountedPooled:121,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].position()'
      Src: io.undertow.util.ReferenceCountedPooled:122,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].limit(io.undertow.util.ReferenceCountedPooled)'
      Src: io.undertow.util.ReferenceCountedPooled:122,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].increaseReferenceCount()'
      Src: io.undertow.util.ReferenceCountedPooled:125,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].<init>()'
      Src: io.undertow.util.ReferenceCountedPooled:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - viewSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 167
    functionName: '[io.undertow.util.ReferenceCountedPooled].createView(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ReferenceCountedPooled].position(io.undertow.util.ReferenceCountedPooled)'
    - '[io.undertow.connector.PooledByteBuffer].<init>()'
    - '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
    - '[io.undertow.util.ReferenceCountedPooled].remaining()'
    - '[io.undertow.util.ReferenceCountedPooled].limit(io.undertow.util.ReferenceCountedPooled)'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.util.ReferenceCountedPooled].capacity()'
    - '[io.undertow.util.ReferenceCountedPooled].position()'
    - '[io.undertow.util.ReferenceCountedPooled].slice()'
    - '[io.undertow.util.ReferenceCountedPooled].increaseReferenceCount()'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.util.ReferenceCountedPooled].createView(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
      Src: io.undertow.util.ReferenceCountedPooled:170,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.ReferenceCountedPooled:170,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].createView(io.undertow.util.ReferenceCountedPooled)'
      Src: io.undertow.util.ReferenceCountedPooled:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.PooledByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: '[io.undertow.util.ReferenceCountedPooled].createView()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ReferenceCountedPooled].getBuffer()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.util.ReferenceCountedPooled].createView(io.undertow.util.ReferenceCountedPooled)'
    linkageType: ''
    returnType: io.undertow.connector.PooledByteBuffer
    signature: '[io.undertow.util.ReferenceCountedPooled].createView()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].get()'
      Src: io.undertow.util.ReferenceCountedPooled:176,1
    - Dst: '[io.undertow.util.ReferenceCountedPooled].objectWasFreed()'
      Src: io.undertow.util.ReferenceCountedPooled:180,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].compareAndSet(io.undertow.util.ReferenceCountedPooled,int)'
      Src: io.undertow.util.ReferenceCountedPooled:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: '[io.undertow.util.ReferenceCountedPooled].increaseReferenceCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ReferenceCountedPooled].objectWasFreed()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].compareAndSet(io.undertow.util.ReferenceCountedPooled,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ReferenceCountedPooled].increaseReferenceCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.PooledByteBuffer
      - int
      - boolean
      - java.nio.ByteBuffer
      - FreeNotifier
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.util.ReferenceCountedPooled>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: '[io.undertow.util.ReferenceCountedPooled].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.ReferenceCountedPooled].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: '[io.undertow.util.ReferenceCountedPooled.FreeNotifier].freed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ReferenceCountedPooled.FreeNotifier].freed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ReferenceCountedPooled.FreeNotifier
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.ReferenceCountedPooled.FreeNotifier].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ReferenceCountedPooled.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ReferenceCountedPooled.FreeNotifier
    signature: '[io.undertow.util.ReferenceCountedPooled.FreeNotifier].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,E>
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      - java.util.Map<String,E>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderTokenParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - expectedTokens
    argTypes:
    - java.util.Map<String,E>
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.util.HeaderTokenParser].<init>(java.util.Map<String,E>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderTokenParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderTokenParser
    signature: '[io.undertow.util.HeaderTokenParser].<init>(java.util.Map<String,E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toCharArray()'
      Src: io.undertow.util.HeaderTokenParser:44,1
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.util.HeaderTokenParser:47,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.util.HeaderTokenParser:61,1
    - Dst: String.valueOf(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)
      Src: io.undertow.util.HeaderTokenParser:68,1
    - Dst: '[java.util.Map<String,E>].get(io.undertow.util.HeaderTokenParser)'
      Src: io.undertow.util.HeaderTokenParser:69,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].unexpectedTokenInHeader(io.undertow.util.HeaderTokenParser)'
      Src: io.undertow.util.HeaderTokenParser:71,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.util.HeaderTokenParser:77,1
    - Dst: '[io.undertow.util.HeaderTokenParser].isAllowQuoted()'
      Src: io.undertow.util.HeaderTokenParser:78,1
    - Dst: String.valueOf(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)
      Src: io.undertow.util.HeaderTokenParser:92,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.HeaderTokenParser:94,1
    - Dst: '[io.undertow.util.HeaderTokenParser].length()'
      Src: io.undertow.util.HeaderTokenParser:96,1
    - Dst: '[io.undertow.util.HeaderTokenParser].charAt(io.undertow.util.HeaderTokenParser)'
      Src: io.undertow.util.HeaderTokenParser:97,1
    - Dst: '[StringBuilder].append(io.undertow.util.HeaderTokenParser)'
      Src: io.undertow.util.HeaderTokenParser:102,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.HeaderTokenParser:105,1
    - Dst: '[java.util.LinkedHashMap].put(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)'
      Src: io.undertow.util.HeaderTokenParser:108,1
    - Dst: Character.isWhitespace()
      Src: io.undertow.util.HeaderTokenParser:117,1
    - Dst: String.valueOf(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)
      Src: io.undertow.util.HeaderTokenParser:118,1
    - Dst: '[java.util.LinkedHashMap].put(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)'
      Src: io.undertow.util.HeaderTokenParser:119,1
    - Dst: String.valueOf(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)
      Src: io.undertow.util.HeaderTokenParser:129,1
    - Dst: '[java.util.LinkedHashMap].put(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)'
      Src: io.undertow.util.HeaderTokenParser:130,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].invalidHeader()'
      Src: io.undertow.util.HeaderTokenParser:133,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - char
      - char
      - char
      - char
      - java.util.Map<String,E>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<E,String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 137
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 137
    functionName: '[io.undertow.util.HeaderTokenParser].parseHeader(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderTokenParser.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].append(io.undertow.util.HeaderTokenParser)'
    - '[java.util.Map<String,E>].get(io.undertow.util.HeaderTokenParser)'
    - '[io.undertow.util.HeaderTokenParser].length()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.HeaderTokenParser].isAllowQuoted()'
    - '[io.undertow.UndertowMessages.MESSAGES].invalidHeader()'
    - '[StringBuilder].toString()'
    - '[java.util.LinkedHashMap].put(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)'
    - '[java.util.LinkedHashMap].<init>()'
    - '[io.undertow.util.HeaderTokenParser].charAt(io.undertow.util.HeaderTokenParser)'
    - '[String].toCharArray()'
    - Character.isWhitespace()
    - '[io.undertow.UndertowMessages.MESSAGES].unexpectedTokenInHeader(io.undertow.util.HeaderTokenParser)'
    - String.valueOf(io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser,io.undertow.util.HeaderTokenParser)
    linkageType: ''
    returnType: java.util.Map<E,String>
    signature: '[io.undertow.util.HeaderTokenParser].parseHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<Range>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<Range>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ByteRange
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - java.util.List<Range>
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.util.ByteRange].<init>(java.util.List<Range>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ByteRange
    signature: '[io.undertow.util.ByteRange].<init>(java.util.List<Range>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Range>].size()'
      Src: io.undertow.util.ByteRange:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<Range>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.util.ByteRange].getRanges()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 3
    functionsReached:
    - '[java.util.List<Range>].size()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.ByteRange].getRanges()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Range>].get(int)'
      Src: io.undertow.util.ByteRange:51,1
    - Dst: '[io.undertow.util.ByteRange].getStart()'
      Src: io.undertow.util.ByteRange:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<Range>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - range
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.util.ByteRange].getStart(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.ByteRange].getStart()'
    - '[java.util.List<Range>].get(int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.ByteRange].getStart(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Range>].get(int)'
      Src: io.undertow.util.ByteRange:60,1
    - Dst: '[io.undertow.util.ByteRange].getEnd()'
      Src: io.undertow.util.ByteRange:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<Range>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - range
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.util.ByteRange].getEnd(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.ByteRange].getEnd()'
    - '[java.util.List<Range>].get(int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.ByteRange].getEnd(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.ByteRange:72,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.ByteRange:75,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.ByteRange:78,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.util.ByteRange:79,1
    - Dst: '[io.undertow.util.ByteRange].split(String)'
      Src: io.undertow.util.ByteRange:79,1
    - Dst: part.indexOf(char)
      Src: io.undertow.util.ByteRange:82,1
    - Dst: part.substring(int)
      Src: io.undertow.util.ByteRange:87,1
    - Dst: Long.parseLong(io.undertow.util.ByteRange)
      Src: io.undertow.util.ByteRange:87,1
    - Dst: '[io.undertow.util.ByteRange].debugf(String,String)'
      Src: io.undertow.util.ByteRange:89,1
    - Dst: '[Range].<init>(io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRange:92,1
    - Dst: '[java.util.ArrayList].add(Range)'
      Src: io.undertow.util.ByteRange:92,1
    - Dst: '[io.undertow.util.ByteRange].debugf(String,String)'
      Src: io.undertow.util.ByteRange:95,1
    - Dst: part.substring(int,io.undertow.util.ByteRange)
      Src: io.undertow.util.ByteRange:98,1
    - Dst: Long.parseLong(io.undertow.util.ByteRange)
      Src: io.undertow.util.ByteRange:98,1
    - Dst: '[io.undertow.util.ByteRange].debugf(String,String)'
      Src: io.undertow.util.ByteRange:100,1
    - Dst: part.length()
      Src: io.undertow.util.ByteRange:104,1
    - Dst: part.substring(int)
      Src: io.undertow.util.ByteRange:105,1
    - Dst: Long.parseLong(io.undertow.util.ByteRange)
      Src: io.undertow.util.ByteRange:105,1
    - Dst: '[Range].<init>(io.undertow.util.ByteRange,io.undertow.util.ByteRange)'
      Src: io.undertow.util.ByteRange:109,1
    - Dst: '[java.util.ArrayList].add(Range)'
      Src: io.undertow.util.ByteRange:109,1
    - Dst: '[io.undertow.util.ByteRange].debugf(String,String)'
      Src: io.undertow.util.ByteRange:112,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.util.ByteRange:116,1
    - Dst: '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
      Src: io.undertow.util.ByteRange:119,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<Range>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ByteRange
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - rangeHeader
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 120
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 120
    functionName: '[io.undertow.util.ByteRange].parse(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.ByteRange].<init>(java.util.ArrayList)'
    - part.length()
    - '[Range].<init>(io.undertow.util.ByteRange)'
    - '[String].substring(int)'
    - part.substring(int,io.undertow.util.ByteRange)
    - '[Range].<init>(io.undertow.util.ByteRange,io.undertow.util.ByteRange)'
    - '[String].length()'
    - part.indexOf(char)
    - Long.parseLong(io.undertow.util.ByteRange)
    - '[io.undertow.util.ByteRange].debugf(String,String)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(Range)'
    - part.substring(int)
    - '[io.undertow.util.ByteRange].split(String)'
    - '[String].startsWith(String)'
    - '[java.util.ArrayList].isEmpty()'
    linkageType: ''
    returnType: io.undertow.util.ByteRange
    signature: '[io.undertow.util.ByteRange].parse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<Range>].isEmpty()'
      Src: io.undertow.util.ByteRange:128,1
    - Dst: '[io.undertow.util.ByteRange].getStart(int)'
      Src: io.undertow.util.ByteRange:131,1
    - Dst: '[io.undertow.util.ByteRange].getEnd(int)'
      Src: io.undertow.util.ByteRange:132,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.ByteRange:134,1
    - Dst: '[String].length()'
      Src: io.undertow.util.ByteRange:137,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.util.ByteRange:137,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.ByteRange:141,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.util.ByteRange:143,1
    - Dst: '[io.undertow.util.DateUtils].parseDate(String)'
      Src: io.undertow.util.ByteRange:147,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.util.ByteRange:148,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.util.ByteRange:148,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].<init>(int,int,int,String,int)'
      Src: io.undertow.util.ByteRange:158,1
    - Dst: Math.max(io.undertow.util.ByteRange,int)
      Src: io.undertow.util.ByteRange:160,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].<init>(int,int,int,String,int)'
      Src: io.undertow.util.ByteRange:170,1
    - Dst: Math.min(io.undertow.util.ByteRange,int)
      Src: io.undertow.util.ByteRange:174,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].<init>(int,int,int,String,int)'
      Src: io.undertow.util.ByteRange:176,1
    - Dst: '[io.undertow.util.ByteRange.RangeResponseResult].<init>(io.undertow.util.ByteRange,io.undertow.util.ByteRange,io.undertow.util.ByteRange,io.undertow.util.ByteRange,int)'
      Src: io.undertow.util.ByteRange:180,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - String
      - java.util.Date
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<Range>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RangeResponseResult
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - resourceContentLength
    - ifRange
    - lastModified
    - eTag
    argTypes:
    - long
    - String
    - java.util.Date
    - String
    constantsTouched: []
    func_position:
      end: 181
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 181
    functionName: '[io.undertow.util.ByteRange].getResponseResult(long,String,java.util.Date,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<Range>].isEmpty()'
    - '[io.undertow.util.ByteRange.RangeResponseResult].<init>(int,int,int,String,int)'
    - '[String].equals(String)'
    - Math.max(io.undertow.util.ByteRange,int)
    - '[io.undertow.util.ByteRange].getStart(int)'
    - '[java.util.Date].getTime()'
    - '[String].charAt(int)'
    - '[io.undertow.util.ByteRange].getEnd(int)'
    - '[String].length()'
    - '[io.undertow.util.DateUtils].parseDate(String)'
    - Math.min(io.undertow.util.ByteRange,int)
    - '[io.undertow.util.ByteRange.RangeResponseResult].<init>(io.undertow.util.ByteRange,io.undertow.util.ByteRange,io.undertow.util.ByteRange,io.undertow.util.ByteRange,int)'
    - '[String].isEmpty()'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: RangeResponseResult
    signature: '[io.undertow.util.ByteRange].getResponseResult(long,String,java.util.Date,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - long
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ByteRange.RangeResponseResult
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - start
    - end
    - contentLength
    - contentRange
    - statusCode
    argTypes:
    - long
    - long
    - long
    - String
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: '[io.undertow.util.ByteRange.RangeResponseResult].<init>(long,long,long,String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ByteRange.RangeResponseResult
    signature: '[io.undertow.util.ByteRange.RangeResponseResult].<init>(long,long,long,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.ByteRange.RangeResponseResult].getStart()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.ByteRange.RangeResponseResult].getEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.ByteRange.RangeResponseResult].getContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.ByteRange.RangeResponseResult].getContentRange()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - long
      - long
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.ByteRange.RangeResponseResult].getStatusCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ByteRange.Range
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - long
    - long
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: '[io.undertow.util.ByteRange.Range].<init>(long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ByteRange.Range
    signature: '[io.undertow.util.ByteRange.Range].<init>(long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: '[io.undertow.util.ByteRange.Range].getStart()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.ByteRange.Range].getStart()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: '[io.undertow.util.ByteRange.Range].getEnd()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ByteRange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.util.ByteRange.Range].getEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETag
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - weak
    - tag
    argTypes:
    - boolean
    - String
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '[io.undertow.util.ETag].<init>(boolean,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETag.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.util.ETag].<init>(boolean,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.util.ETag].isWeak()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETag.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETag].isWeak()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.util.ETag].getTag()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETag.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.ETag].getTag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: '[io.undertow.util.ETag].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETag.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.ETag].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ETag].getClass()'
      Src: io.undertow.util.ETag:54,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.util.ETag:54,1
    - Dst: '[String].equals(io.undertow.util.ETag)'
      Src: io.undertow.util.ETag:59,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: '[io.undertow.util.ETag].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETag.java
    functionUses: 0
    functionsReached:
    - '[String].equals(io.undertow.util.ETag)'
    - '[io.undertow.util.ETag].getClass()'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ETag].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].hashCode()'
      Src: io.undertow.util.ETag:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: '[io.undertow.util.ETag].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ETag.java
    functionUses: 1
    functionsReached:
    - '[String].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.ETag].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Transfer].argumentCannotBeNull(String)'
      Src: io.undertow.util.Transfer:55,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.util.Transfer:57,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.Transfer:60,1
    - Dst: '[I].read(java.nio.ByteBuffer)'
      Src: io.undertow.util.Transfer:64,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.util.Transfer:65,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelExceptionHandler(I,org.xnio.ChannelExceptionHandler<?superI>,io.undertow.util.Transfer)'
      Src: io.undertow.util.Transfer:67,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer:70,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer:73,1
    - Dst: '[io.undertow.util.Transfer].done(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>)'
      Src: io.undertow.util.Transfer:74,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer:77,1
    - Dst: '[O].write(java.nio.ByteBuffer)'
      Src: io.undertow.util.Transfer:80,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelExceptionHandler(O,org.xnio.ChannelExceptionHandler<?superO>,io.undertow.util.Transfer)'
      Src: io.undertow.util.Transfer:82,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer:89,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.util.Transfer:92,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer:95,1
    - Dst: '[io.undertow.util.Transfer.TransferListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.util.Transfer,I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superO>,org.xnio.ChannelExceptionHandler<?superI>,io.undertow.util.Transfer)'
      Src: io.undertow.util.Transfer:100,1
    - Dst: '[O].getWriteSetter()'
      Src: io.undertow.util.Transfer:101,1
    - Dst: '[io.undertow.util.Transfer].set(io.undertow.util.Transfer.TransferListener)'
      Src: io.undertow.util.Transfer:101,1
    - Dst: '[I].getReadSetter()'
      Src: io.undertow.util.Transfer:102,1
    - Dst: '[io.undertow.util.Transfer].set(io.undertow.util.Transfer.TransferListener)'
      Src: io.undertow.util.Transfer:102,1
    - Dst: '[java.nio.ByteBuffer].capacity()'
      Src: io.undertow.util.Transfer:104,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.Transfer:104,1
    - Dst: '[I].resumeReads()'
      Src: io.undertow.util.Transfer:106,1
    - Dst: '[O].resumeWrites()'
      Src: io.undertow.util.Transfer:110,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.Transfer:114,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - I
      - O
      - org.xnio.ChannelListener<?superI>
      - org.xnio.ChannelListener<?superO>
      - org.xnio.ChannelExceptionHandler<?superI>
      - org.xnio.ChannelExceptionHandler<?superO>
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 7
    argNames:
    - source
    - sink
    - sourceListener
    - sinkListener
    - readExceptionHandler
    - writeExceptionHandler
    - pool
    argTypes:
    - I
    - O
    - org.xnio.ChannelListener<?superI>
    - org.xnio.ChannelListener<?superO>
    - org.xnio.ChannelExceptionHandler<?superI>
    - org.xnio.ChannelExceptionHandler<?superO>
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 117
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 117
    functionName: '[io.undertow.util.Transfer].initiateTransfer(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superI>,org.xnio.ChannelExceptionHandler<?superO>,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Transfer.java
    functionUses: 1
    functionsReached:
    - '[O].getWriteSetter()'
    - '[I].read(java.nio.ByteBuffer)'
    - '[io.undertow.util.Transfer].set(io.undertow.util.Transfer.TransferListener)'
    - '[java.nio.ByteBuffer].clear()'
    - '[I].resumeReads()'
    - '[org.xnio.ChannelListeners].invokeChannelExceptionHandler(O,org.xnio.ChannelExceptionHandler<?superO>,io.undertow.util.Transfer)'
    - '[O].write(java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[O].resumeWrites()'
    - '[java.nio.ByteBuffer].capacity()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[I].getReadSetter()'
    - '[io.undertow.util.Transfer].done(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.util.Transfer].argumentCannotBeNull(String)'
    - '[org.xnio.ChannelListeners].invokeChannelExceptionHandler(I,org.xnio.ChannelExceptionHandler<?superI>,io.undertow.util.Transfer)'
    - '[io.undertow.util.Transfer.TransferListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.util.Transfer,I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superO>,org.xnio.ChannelExceptionHandler<?superI>,io.undertow.util.Transfer)'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Transfer].initiateTransfer(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superI>,org.xnio.ChannelExceptionHandler<?superO>,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.Channels].setReadListener(I,org.xnio.ChannelListener<?superI>)'
      Src: io.undertow.util.Transfer:120,1
    - Dst: '[I].suspendReads()'
      Src: io.undertow.util.Transfer:122,1
    - Dst: '[I].wakeupReads()'
      Src: io.undertow.util.Transfer:124,1
    - Dst: '[org.xnio.channels.Channels].setWriteListener(O,org.xnio.ChannelListener<?superO>)'
      Src: io.undertow.util.Transfer:127,1
    - Dst: '[O].suspendWrites()'
      Src: io.undertow.util.Transfer:129,1
    - Dst: '[O].wakeupWrites()'
      Src: io.undertow.util.Transfer:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - I
      - O
      - org.xnio.ChannelListener<?superI>
      - org.xnio.ChannelListener<?superO>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - sink
    - sourceListener
    - sinkListener
    argTypes:
    - I
    - O
    - org.xnio.ChannelListener<?superI>
    - org.xnio.ChannelListener<?superO>
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: '[io.undertow.util.Transfer].done(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Transfer.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.Channels].setReadListener(I,org.xnio.ChannelListener<?superI>)'
    - '[org.xnio.channels.Channels].setWriteListener(O,org.xnio.ChannelListener<?superO>)'
    - '[I].suspendReads()'
    - '[I].wakeupReads()'
    - '[O].wakeupWrites()'
    - '[O].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Transfer].done(I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.Transfer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.Transfer].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Transfer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.Transfer
    signature: '[io.undertow.util.Transfer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - I
      - O
      - org.xnio.ChannelListener<?superI>
      - org.xnio.ChannelListener<?superO>
      - org.xnio.ChannelExceptionHandler<?superO>
      - org.xnio.ChannelExceptionHandler<?superI>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer
      - ByteBufferPool
      - I
      - O
      - ChannelListener<? super I>
      - ChannelListener<? super O>
      - ChannelExceptionHandler<? super O>
      - ChannelExceptionHandler<? super I>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.Transfer.TransferListener
      static: false
      superClass: Object
    argCount: 9
    argNames:
    - pool
    - pooledBuffer
    - source
    - sink
    - sourceListener
    - sinkListener
    - writeExceptionHandler
    - readExceptionHandler
    - sourceDone
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - io.undertow.connector.PooledByteBuffer
    - I
    - O
    - org.xnio.ChannelListener<?superI>
    - org.xnio.ChannelListener<?superO>
    - org.xnio.ChannelExceptionHandler<?superO>
    - org.xnio.ChannelExceptionHandler<?superI>
    - boolean
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: '[io.undertow.util.Transfer.TransferListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superO>,org.xnio.ChannelExceptionHandler<?superI>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Transfer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.Transfer.TransferListener
    signature: '[io.undertow.util.Transfer.TransferListener].<init>(io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,I,O,org.xnio.ChannelListener<?superI>,org.xnio.ChannelListener<?superO>,org.xnio.ChannelExceptionHandler<?superO>,org.xnio.ChannelExceptionHandler<?superI>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.util.Transfer.TransferListener:162,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.util.Transfer.TransferListener:164,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.util.Transfer.TransferListener:170,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.Transfer.TransferListener:174,1
    - Dst: '[java.nio.ByteBuffer].compact()'
      Src: io.undertow.util.Transfer.TransferListener:174,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.util.Transfer.TransferListener:177,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer.TransferListener:185,1
    - Dst: '[O].write(java.nio.ByteBuffer)'
      Src: io.undertow.util.Transfer.TransferListener:188,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.Transfer.TransferListener:190,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelExceptionHandler(O,ChannelExceptionHandler<?
        super O>,io.undertow.util.Transfer.TransferListener)'
      Src: io.undertow.util.Transfer.TransferListener:193,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer.TransferListener:201,1
    - Dst: '[io.undertow.util.Transfer.TransferListener].done(I,O,ChannelListener<?
        super I>,ChannelListener<? super O>)'
      Src: io.undertow.util.Transfer.TransferListener:203,1
    - Dst: '[java.nio.ByteBuffer].compact()'
      Src: io.undertow.util.Transfer.TransferListener:206,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer.TransferListener:210,1
    - Dst: '[I].read(java.nio.ByteBuffer)'
      Src: io.undertow.util.Transfer.TransferListener:212,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.util.Transfer.TransferListener:213,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.Transfer.TransferListener:215,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelExceptionHandler(I,ChannelExceptionHandler<?
        super I>,io.undertow.util.Transfer.TransferListener)'
      Src: io.undertow.util.Transfer.TransferListener:218,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer.TransferListener:225,1
    - Dst: '[io.undertow.util.Transfer.TransferListener].done(I,O,ChannelListener<?
        super I>,ChannelListener<? super O>)'
      Src: io.undertow.util.Transfer.TransferListener:227,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.util.Transfer.TransferListener:232,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer.TransferListener:240,1
    - Dst: '[O].suspendWrites()'
      Src: io.undertow.util.Transfer.TransferListener:241,1
    - Dst: '[O].isWriteResumed()'
      Src: io.undertow.util.Transfer.TransferListener:242,1
    - Dst: '[O].resumeWrites()'
      Src: io.undertow.util.Transfer.TransferListener:243,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.Transfer.TransferListener:246,1
    - Dst: '[java.nio.ByteBuffer].capacity()'
      Src: io.undertow.util.Transfer.TransferListener:246,1
    - Dst: '[I].suspendReads()'
      Src: io.undertow.util.Transfer.TransferListener:247,1
    - Dst: '[I].isReadResumed()'
      Src: io.undertow.util.Transfer.TransferListener:248,1
    - Dst: '[I].resumeReads()'
      Src: io.undertow.util.Transfer.TransferListener:249,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.Transfer.TransferListener:252,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.util.Transfer.TransferListener:253,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 70
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.Channel
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer
      - ByteBufferPool
      - I
      - O
      - ChannelListener<? super I>
      - ChannelListener<? super O>
      - ChannelExceptionHandler<? super O>
      - ChannelExceptionHandler<? super I>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - java.nio.channels.Channel
    constantsTouched: []
    func_position:
      end: 257
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 257
    functionName: '[io.undertow.util.Transfer.TransferListener].handleEvent(java.nio.channels.Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Transfer.java
    functionUses: 0
    functionsReached:
    - '[I].read(java.nio.ByteBuffer)'
    - '[I].suspendReads()'
    - '[O].isWriteResumed()'
    - '[java.nio.ByteBuffer].compact()'
    - '[I].resumeReads()'
    - '[O].write(java.nio.ByteBuffer)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[org.xnio.ChannelListeners].invokeChannelExceptionHandler(I,ChannelExceptionHandler<?
      super I>,io.undertow.util.Transfer.TransferListener)'
    - '[org.xnio.ChannelListeners].invokeChannelExceptionHandler(O,ChannelExceptionHandler<?
      super O>,io.undertow.util.Transfer.TransferListener)'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[O].resumeWrites()'
    - '[io.undertow.util.Transfer.TransferListener].done(I,O,ChannelListener<? super
      I>,ChannelListener<? super O>)'
    - '[java.nio.ByteBuffer].capacity()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[O].suspendWrites()'
    - '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    - '[I].isReadResumed()'
    - '[java.nio.ByteBuffer].flip()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Transfer.TransferListener].handleEvent(java.nio.channels.Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - PooledByteBuffer
      - ByteBufferPool
      - I
      - O
      - ChannelListener<? super I>
      - ChannelListener<? super O>
      - ChannelExceptionHandler<? super O>
      - ChannelExceptionHandler<? super I>
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: '[io.undertow.util.Transfer.TransferListener].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Transfer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Transfer.TransferListener].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.QValueParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.util.QValueParser].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.QValueParser
    signature: '[io.undertow.util.QValueParser].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.QValueParser:48,1
    - Dst: '[java.util.List<String>].size()'
      Src: io.undertow.util.QValueParser:51,1
    - Dst: '[java.util.List<String>].get(io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:52,1
    - Dst: '[io.undertow.util.QValueParser].length()'
      Src: io.undertow.util.QValueParser:53,1
    - Dst: '[io.undertow.util.QValueParser].charAt(io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:58,1
    - Dst: '[io.undertow.util.QValueParser].charAt(io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:62,1
    - Dst: '[io.undertow.util.QValueParser].charAt(int)'
      Src: io.undertow.util.QValueParser:63,1
    - Dst: '[io.undertow.util.QValueParser].substring(int,io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:65,1
    - Dst: '[io.undertow.util.QValueParser].handleNewEncoding(java.util.ArrayList,io.undertow.util.QValueParser,io.undertow.util.QValueParser,io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:68,1
    - Dst: '[io.undertow.util.QValueParser].handleNewEncoding(java.util.ArrayList,io.undertow.util.QValueParser,io.undertow.util.QValueParser,io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:75,1
    - Dst: '[io.undertow.util.QValueParser].charAt(io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:83,1
    - Dst: '[io.undertow.util.QValueParser].charAt(int)'
      Src: io.undertow.util.QValueParser:84,1
    - Dst: '[io.undertow.util.QValueParser].substring(int,io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:86,1
    - Dst: '[io.undertow.util.QValueParser].handleNewEncoding(java.util.ArrayList,io.undertow.util.QValueParser,io.undertow.util.QValueParser,io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:88,1
    - Dst: '[io.undertow.util.QValueParser].charAt(io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:98,1
    - Dst: '[io.undertow.util.QValueParser].charAt(int)'
      Src: io.undertow.util.QValueParser:99,1
    - Dst: '[io.undertow.util.QValueParser].substring(int,io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:101,1
    - Dst: '[io.undertow.util.QValueParser].handleNewEncoding(java.util.ArrayList,io.undertow.util.QValueParser,io.undertow.util.QValueParser,io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:103,1
    - Dst: '[java.util.Collections].reverseOrder()'
      Src: io.undertow.util.QValueParser:107,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:107,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.QValueParser:109,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.util.QValueParser:113,1
    - Dst: '[java.util.ArrayList].get(io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:114,1
    - Dst: '[io.undertow.util.QValueParser].equals(io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:115,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.util.QValueParser:117,1
    - Dst: '[java.util.ArrayList].add(java.util.ArrayList)'
      Src: io.undertow.util.QValueParser:118,1
    - Dst: '[java.util.ArrayList].add(io.undertow.util.QValueParser)'
      Src: io.undertow.util.QValueParser:120,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<java.util.List<QValueResult>>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - headers
    argTypes:
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 123
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 123
    functionName: '[io.undertow.util.QValueParser].parse(java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.QValueParser].length()'
    - '[java.util.ArrayList].add(io.undertow.util.QValueParser)'
    - '[io.undertow.util.QValueParser].substring(int,io.undertow.util.QValueParser)'
    - '[java.util.List<String>].get(io.undertow.util.QValueParser)'
    - '[java.util.ArrayList].size()'
    - '[java.util.Collections].reverseOrder()'
    - '[java.util.ArrayList].get(io.undertow.util.QValueParser)'
    - '[java.util.ArrayList].add(java.util.ArrayList)'
    - '[io.undertow.util.QValueParser].handleNewEncoding(java.util.ArrayList,io.undertow.util.QValueParser,io.undertow.util.QValueParser,io.undertow.util.QValueParser)'
    - '[java.util.Collections].sort(java.util.ArrayList,io.undertow.util.QValueParser)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.util.QValueParser].charAt(int)'
    - '[java.util.List<String>].size()'
    - '[io.undertow.util.QValueParser].charAt(io.undertow.util.QValueParser)'
    - '[io.undertow.util.QValueParser].equals(io.undertow.util.QValueParser)'
    linkageType: ''
    returnType: java.util.List<java.util.List<QValueResult>>
    signature: '[io.undertow.util.QValueParser].parse(java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.QValueParser.QValueResult].<init>()'
      Src: io.undertow.util.QValueParser:126,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.util.QValueParser:127,1
    - Dst: '[java.util.List<QValueResult>].add(io.undertow.util.QValueParser.QValueResult)'
      Src: io.undertow.util.QValueParser:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<QValueResult>
      - String
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: QValueResult
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - found
    - header
    - stringStart
    - i
    argTypes:
    - java.util.List<QValueResult>
    - String
    - int
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: '[io.undertow.util.QValueParser].handleNewEncoding(java.util.List<QValueResult>,String,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 0
    functionsReached:
    - '[String].substring(int,int)'
    - '[io.undertow.util.QValueParser.QValueResult].<init>()'
    - '[java.util.List<QValueResult>].add(io.undertow.util.QValueParser.QValueResult)'
    linkageType: ''
    returnType: QValueResult
    signature: '[io.undertow.util.QValueParser].handleNewEncoding(java.util.List<QValueResult>,String,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '[io.undertow.util.QValueParser.QValueResult].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.QValueParser.QValueResult].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: '[io.undertow.util.QValueParser.QValueResult].getQvalue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.QValueParser.QValueResult].getQvalue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.QValueParser.QValueResult].getValue()'
      Src: io.undertow.util.QValueParser.QValueResult:162,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].getValue()'
      Src: io.undertow.util.QValueParser.QValueResult:162,1
    - Dst: that.getValue()
      Src: io.undertow.util.QValueParser.QValueResult:162,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].equals(io.undertow.util.QValueParser.QValueResult)'
      Src: io.undertow.util.QValueParser.QValueResult:162,1
    - Dst: that.getValue()
      Src: io.undertow.util.QValueParser.QValueResult:162,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].getQvalue()'
      Src: io.undertow.util.QValueParser.QValueResult:163,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].getQvalue()'
      Src: io.undertow.util.QValueParser.QValueResult:163,1
    - Dst: that.getQvalue()
      Src: io.undertow.util.QValueParser.QValueResult:163,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].equals(io.undertow.util.QValueParser.QValueResult)'
      Src: io.undertow.util.QValueParser.QValueResult:163,1
    - Dst: that.getQvalue()
      Src: io.undertow.util.QValueParser.QValueResult:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: '[io.undertow.util.QValueParser.QValueResult].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 0
    functionsReached:
    - that.getQvalue()
    - '[io.undertow.util.QValueParser.QValueResult].getQvalue()'
    - '[io.undertow.util.QValueParser.QValueResult].equals(io.undertow.util.QValueParser.QValueResult)'
    - that.getValue()
    - '[io.undertow.util.QValueParser.QValueResult].getValue()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.QValueParser.QValueResult].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.QValueParser.QValueResult].getValue()'
      Src: io.undertow.util.QValueParser.QValueResult:168,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].getValue()'
      Src: io.undertow.util.QValueParser.QValueResult:168,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].hashCode()'
      Src: io.undertow.util.QValueParser.QValueResult:168,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].getQvalue()'
      Src: io.undertow.util.QValueParser.QValueResult:169,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].getQvalue()'
      Src: io.undertow.util.QValueParser.QValueResult:169,1
    - Dst: '[io.undertow.util.QValueParser.QValueResult].hashCode()'
      Src: io.undertow.util.QValueParser.QValueResult:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: '[io.undertow.util.QValueParser.QValueResult].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.QValueParser.QValueResult].hashCode()'
    - '[io.undertow.util.QValueParser.QValueResult].getValue()'
    - '[io.undertow.util.QValueParser.QValueResult].getQvalue()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.QValueParser.QValueResult].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: t.length()
      Src: io.undertow.util.QValueParser.QValueResult:194,1
    - Dst: o.length()
      Src: io.undertow.util.QValueParser.QValueResult:195,1
    - Dst: t.charAt(io.undertow.util.QValueParser.QValueResult)
      Src: io.undertow.util.QValueParser.QValueResult:202,1
    - Dst: o.charAt(io.undertow.util.QValueParser.QValueResult)
      Src: io.undertow.util.QValueParser.QValueResult:203,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - QValueResult
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - other
    argTypes:
    - QValueResult
    constantsTouched: []
    func_position:
      end: 211
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 211
    functionName: '[io.undertow.util.QValueParser.QValueResult].compareTo(QValueResult)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 0
    functionsReached:
    - t.length()
    - t.charAt(io.undertow.util.QValueParser.QValueResult)
    - o.charAt(io.undertow.util.QValueParser.QValueResult)
    - o.length()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.QValueParser.QValueResult].compareTo(QValueResult)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.QValueParser.QValueResult:217,1
    - Dst: Math.min(int,io.undertow.util.QValueParser.QValueResult)
      Src: io.undertow.util.QValueParser.QValueResult:217,1
    - Dst: '[String].charAt(io.undertow.util.QValueParser.QValueResult)'
      Src: io.undertow.util.QValueParser.QValueResult:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: '[io.undertow.util.QValueParser.QValueResult].isQValueZero()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[String].charAt(io.undertow.util.QValueParser.QValueResult)'
    - Math.min(int,io.undertow.util.QValueParser.QValueResult)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.QValueParser.QValueResult].isQValueZero()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.QValueParser.QValueResult
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.QValueParser.QValueResult].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/QValueParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.QValueParser.QValueResult
    signature: '[io.undertow.util.QValueParser.QValueResult].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FileUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.util.FileUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FileUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FileUtils
    signature: '[io.undertow.util.FileUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?>].getResource(String)'
      Src: io.undertow.util.FileUtils:44,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.util.FileUtils)'
      Src: io.undertow.util.FileUtils:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - testClass
    - fileName
    argTypes:
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.FileUtils].readFile(Class<?>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FileUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FileUtils].readFile(io.undertow.util.FileUtils)'
    - '[Class<?>].getResource(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FileUtils].readFile(Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URL].openStream()'
      Src: io.undertow.util.FileUtils:50,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.util.FileUtils)'
      Src: io.undertow.util.FileUtils:50,1
    - Dst: '[RuntimeException].<init>(io.undertow.util.FileUtils)'
      Src: io.undertow.util.FileUtils:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URL
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - java.net.URL
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: '[io.undertow.util.FileUtils].readFile(java.net.URL)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FileUtils.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.util.FileUtils)'
    - '[java.net.URL].openStream()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.util.FileUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FileUtils].readFile(java.net.URL)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.charset.Charset].forName(String)'
      Src: io.undertow.util.FileUtils:58,1
    - Dst: '[io.undertow.util.FileUtils].readFile(java.io.InputStream,io.undertow.util.FileUtils)'
      Src: io.undertow.util.FileUtils:59,1
    - Dst: '[RuntimeException].<init>(io.undertow.util.FileUtils)'
      Src: io.undertow.util.FileUtils:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - file
    - charset
    argTypes:
    - java.io.InputStream
    - String
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: '[io.undertow.util.FileUtils].readFile(java.io.InputStream,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FileUtils.java
    functionUses: 0
    functionsReached:
    - '[java.nio.charset.Charset].forName(String)'
    - '[io.undertow.util.FileUtils].readFile(java.io.InputStream,io.undertow.util.FileUtils)'
    - '[RuntimeException].<init>(io.undertow.util.FileUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FileUtils].readFile(java.io.InputStream,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].readFile(java.io.InputStream,io.undertow.util.FileUtils)'
      Src: io.undertow.util.FileUtils:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.util.FileUtils].readFile(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FileUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FileUtils].readFile(java.io.InputStream,io.undertow.util.FileUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FileUtils].readFile(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.InputStreamReader].<init>(java.io.InputStream,java.nio.charset.Charset)'
      Src: io.undertow.util.FileUtils:76,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.FileUtils:77,1
    - Dst: reader.read(io.undertow.util.FileUtils,int,io.undertow.util.FileUtils)
      Src: io.undertow.util.FileUtils:80,1
    - Dst: '[StringBuilder].append(io.undertow.util.FileUtils,int,io.undertow.util.FileUtils)'
      Src: io.undertow.util.FileUtils:81,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.FileUtils:83,1
    - Dst: '[RuntimeException].<init>(io.undertow.util.FileUtils)'
      Src: io.undertow.util.FileUtils:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - file
    - charSet
    argTypes:
    - java.io.InputStream
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.FileUtils].readFile(java.io.InputStream,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FileUtils.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStreamReader].<init>(java.io.InputStream,java.nio.charset.Charset)'
    - '[StringBuilder].<init>()'
    - reader.read(io.undertow.util.FileUtils,int,io.undertow.util.FileUtils)
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(io.undertow.util.FileUtils,int,io.undertow.util.FileUtils)'
    - '[RuntimeException].<init>(io.undertow.util.FileUtils)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FileUtils].readFile(java.io.InputStream,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].isDirectory(java.nio.file.Path)'
      Src: io.undertow.util.FileUtils:90,1
    - Dst: '[java.nio.file.SimpleFileVisitor].<init>()'
      Src: io.undertow.util.FileUtils:93,1
    - Dst: '[java.nio.file.Files].walkFileTree(java.nio.file.Path,java.nio.file.SimpleFileVisitor)'
      Src: io.undertow.util.FileUtils:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - directory
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 115
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 115
    functionName: '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FileUtils.java
    functionUses: 6
    functionsReached:
    - '[java.nio.file.SimpleFileVisitor].<init>()'
    - '[java.nio.file.Files].walkFileTree(java.nio.file.Path,java.nio.file.SimpleFileVisitor)'
    - '[java.nio.file.Files].isDirectory(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.charset.Charset].defaultCharset()'
      Src: io.undertow.util.StringWriteChannelListener:45,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].<init>(String,io.undertow.util.StringWriteChannelListener)'
      Src: io.undertow.util.StringWriteChannelListener:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.StringWriteChannelListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringWriteChannelListener.java
    functionUses: 7
    functionsReached:
    - '[java.nio.charset.Charset].defaultCharset()'
    - '[io.undertow.util.StringWriteChannelListener].<init>(String,io.undertow.util.StringWriteChannelListener)'
    linkageType: ''
    returnType: io.undertow.util.StringWriteChannelListener
    signature: '[io.undertow.util.StringWriteChannelListener].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.util.StringWriteChannelListener:49,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.StringWriteChannelListener)'
      Src: io.undertow.util.StringWriteChannelListener:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.StringWriteChannelListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - string
    - charset
    argTypes:
    - String
    - java.nio.charset.Charset
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.util.StringWriteChannelListener].<init>(String,java.nio.charset.Charset)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringWriteChannelListener.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.StringWriteChannelListener)'
    - '[String].getBytes(java.nio.charset.Charset)'
    linkageType: ''
    returnType: io.undertow.util.StringWriteChannelListener
    signature: '[io.undertow.util.StringWriteChannelListener].<init>(String,java.nio.charset.Charset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.util.StringWriteChannelListener:56,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.StringWriteChannelListener:57,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.StringWriteChannelListener:58,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.util.StringWriteChannelListener:59,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].set()'
      Src: io.undertow.util.StringWriteChannelListener:59,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.util.StringWriteChannelListener:60,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.util.StringWriteChannelListener:62,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].handleError(org.xnio.channels.StreamSinkChannel,io.undertow.util.StringWriteChannelListener)'
      Src: io.undertow.util.StringWriteChannelListener:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: '[io.undertow.util.StringWriteChannelListener].setup(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringWriteChannelListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.util.StringWriteChannelListener].handleError(org.xnio.channels.StreamSinkChannel,io.undertow.util.StringWriteChannelListener)'
    - '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.util.StringWriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.util.StringWriteChannelListener].set()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StringWriteChannelListener].setup(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.StringWriteChannelListener].ioException(java.io.IOException)'
      Src: io.undertow.util.StringWriteChannelListener:70,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.util.StringWriteChannelListener:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - e
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.util.StringWriteChannelListener].handleError(org.xnio.channels.StreamSinkChannel,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringWriteChannelListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.util.StringWriteChannelListener].ioException(java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StringWriteChannelListener].handleError(org.xnio.channels.StreamSinkChannel,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.util.StringWriteChannelListener:79,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.StringWriteChannelListener:80,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.StringWriteChannelListener:81,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.util.StringWriteChannelListener:82,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.util.StringWriteChannelListener:85,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].handleError(org.xnio.channels.StreamSinkChannel,io.undertow.util.StringWriteChannelListener)'
      Src: io.undertow.util.StringWriteChannelListener:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: '[io.undertow.util.StringWriteChannelListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringWriteChannelListener.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[io.undertow.util.StringWriteChannelListener].handleError(org.xnio.channels.StreamSinkChannel,io.undertow.util.StringWriteChannelListener)'
    - '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.util.StringWriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StringWriteChannelListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.util.StringWriteChannelListener:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.util.StringWriteChannelListener].hasRemaining()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringWriteChannelListener.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.StringWriteChannelListener].hasRemaining()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.util.StringWriteChannelListener:98,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.util.StringWriteChannelListener:100,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.util.StringWriteChannelListener:101,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.util.StringWriteChannelListener:101,1
    - Dst: '[org.xnio.ChannelListeners].closingChannelExceptionHandler()'
      Src: io.undertow.util.StringWriteChannelListener:106,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,io.undertow.util.StringWriteChannelListener)'
      Src: io.undertow.util.StringWriteChannelListener:101,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].set(io.undertow.util.StringWriteChannelListener)'
      Src: io.undertow.util.StringWriteChannelListener:101,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.util.StringWriteChannelListener:107,1
    - Dst: '[io.undertow.util.StringWriteChannelListener].handleError(org.xnio.channels.StreamSinkChannel,io.undertow.util.StringWriteChannelListener)'
      Src: io.undertow.util.StringWriteChannelListener:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: '[io.undertow.util.StringWriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/StringWriteChannelListener.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[org.xnio.ChannelListeners].closingChannelExceptionHandler()'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.util.StringWriteChannelListener].handleError(org.xnio.channels.StreamSinkChannel,io.undertow.util.StringWriteChannelListener)'
    - '[io.undertow.util.StringWriteChannelListener].set(io.undertow.util.StringWriteChannelListener)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,io.undertow.util.StringWriteChannelListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.StringWriteChannelListener].writeDone(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderValues].<init>(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.HeaderValues].getHeaderName()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.HeaderValues].getHeaderName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.util.HeaderValues].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HeaderValues].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.util.HeaderValues].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].clearInternal()'
      Src: io.undertow.util.HeaderValues:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: '[io.undertow.util.HeaderValues].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.util.HeaderValues].clearInternal()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValues].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].fill(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,null)'
      Src: io.undertow.util.HeaderValues:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: '[io.undertow.util.HeaderValues].clearInternal()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - '[java.util.Arrays].fill(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValues].clearInternal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.HeaderValues].index(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HeaderValues].index(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].iterator(int,boolean)'
      Src: io.undertow.util.HeaderValues:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.ListIterator<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[io.undertow.util.HeaderValues].listIterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderValues].iterator(int,boolean)'
    linkageType: ''
    returnType: java.util.ListIterator<String>
    signature: '[io.undertow.util.HeaderValues].listIterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].iterator(int,boolean)'
      Src: io.undertow.util.HeaderValues:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.ListIterator<String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.util.HeaderValues].listIterator(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderValues].iterator(int,boolean)'
    linkageType: ''
    returnType: java.util.ListIterator<String>
    signature: '[io.undertow.util.HeaderValues].listIterator(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].iterator(int,boolean)'
      Src: io.undertow.util.HeaderValues:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.util.HeaderValues].iterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.util.HeaderValues].iterator(int,boolean)'
    linkageType: ''
    returnType: java.util.Iterator<String>
    signature: '[io.undertow.util.HeaderValues].iterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].iterator(int,boolean)'
      Src: io.undertow.util.HeaderValues:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Iterator<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: '[io.undertow.util.HeaderValues].descendingIterator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderValues].iterator(int,boolean)'
    linkageType: ''
    returnType: java.util.Iterator<String>
    signature: '[io.undertow.util.HeaderValues].descendingIterator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ListIterator].<init>()'
      Src: io.undertow.util.HeaderValues:106,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.ListIterator<String>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - start
    - forwards
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 191
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 191
    functionName: '[io.undertow.util.HeaderValues].iterator(int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 4
    functionsReached:
    - '[java.util.ListIterator].<init>()'
    linkageType: ''
    returnType: java.util.ListIterator<String>
    signature: '[io.undertow.util.HeaderValues].iterator(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)
      Src: io.undertow.util.HeaderValues:202,1
    - Dst: System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,int)
      Src: io.undertow.util.HeaderValues:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 220
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 220
    functionName: '[io.undertow.util.HeaderValues].offerFirst(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 3
    functionsReached:
    - System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,int)
    - System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].offerFirst(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].offerLastMultiValue(String,byte,String[])'
      Src: io.undertow.util.HeaderValues:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: '[io.undertow.util.HeaderValues].offerLast(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.HeaderValues].offerLastMultiValue(String,byte,String[])'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].offerLast(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)
      Src: io.undertow.util.HeaderValues:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - headerValue
    - size
    - value
    argTypes:
    - String
    - int
    - String[]
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: '[io.undertow.util.HeaderValues].offerLastMultiValue(String,int,String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValues].offerLastMultiValue(String,int,String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].offerFirst(String)'
      Src: io.undertow.util.HeaderValues:257,1
    - Dst: '[io.undertow.util.HeaderValues].offerLast(String)'
      Src: io.undertow.util.HeaderValues:258,1
    - Dst: System.arraycopy(Object,int,io.undertow.util.HeaderValues,int,int)
      Src: io.undertow.util.HeaderValues:269,1
    - Dst: System.arraycopy(Object,int,io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)
      Src: io.undertow.util.HeaderValues:270,1
    - Dst: System.arraycopy(Object,int,Object,int,io.undertow.util.HeaderValues)
      Src: io.undertow.util.HeaderValues:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - idx
    - headerValue
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: '[io.undertow.util.HeaderValues].offer(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(Object,int,io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)
    - System.arraycopy(Object,int,Object,int,io.undertow.util.HeaderValues)
    - '[io.undertow.util.HeaderValues].offerLast(String)'
    - System.arraycopy(Object,int,io.undertow.util.HeaderValues,int,int)
    - '[io.undertow.util.HeaderValues].offerFirst(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].offer(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,int)
      Src: io.undertow.util.HeaderValues:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: '[io.undertow.util.HeaderValues].pollFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,int)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].pollFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: '[io.undertow.util.HeaderValues].pollLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].pollLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IndexOutOfBoundsException].<init>()'
      Src: io.undertow.util.HeaderValues:327,1
    - Dst: '[io.undertow.util.HeaderValues].removeFirst()'
      Src: io.undertow.util.HeaderValues:328,1
    - Dst: '[io.undertow.util.HeaderValues].removeLast()'
      Src: io.undertow.util.HeaderValues:329,1
    - Dst: System.arraycopy(Object,int,Object,int,int)
      Src: io.undertow.util.HeaderValues:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: '[io.undertow.util.HeaderValues].remove(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached:
    - System.arraycopy(Object,int,Object,int,int)
    - '[io.undertow.util.HeaderValues].removeFirst()'
    - '[io.undertow.util.HeaderValues].removeLast()'
    - '[IndexOutOfBoundsException].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].remove(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IndexOutOfBoundsException].<init>()'
      Src: io.undertow.util.HeaderValues:343,1
    - Dst: '[io.undertow.util.HeaderValues].index(int)'
      Src: io.undertow.util.HeaderValues:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 353
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 353
    functionName: '[io.undertow.util.HeaderValues].get(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.util.HeaderValues].index(int)'
    - '[IndexOutOfBoundsException].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].get(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '(i > len ? list[i - len] : list[i]).equals(Object)'
      Src: io.undertow.util.HeaderValues:361,1
    - Dst: '[Object].equals(Object)'
      Src: io.undertow.util.HeaderValues:365,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 369
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 369
    functionName: '[io.undertow.util.HeaderValues].indexOf(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached:
    - '[Object].equals(Object)'
    - '(i > len ? list[i - len] : list[i]).equals(Object)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HeaderValues].indexOf(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '(idx > len ? list[idx - len] : list[idx]).equals(Object)'
      Src: io.undertow.util.HeaderValues:379,1
    - Dst: '[Object].equals(Object)'
      Src: io.undertow.util.HeaderValues:383,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 387
    functionName: '[io.undertow.util.HeaderValues].lastIndexOf(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - '(idx > len ? list[idx - len] : list[idx]).equals(Object)'
    - '[Object].equals(Object)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HeaderValues].lastIndexOf(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].checkNotNullParam(String,String)'
      Src: io.undertow.util.HeaderValues:390,1
    - Dst: '[IndexOutOfBoundsException].<init>()'
      Src: io.undertow.util.HeaderValues:393,1
    - Dst: '[io.undertow.util.HeaderValues].index(int)'
      Src: io.undertow.util.HeaderValues:402,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - index
    - element
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 409
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 409
    functionName: '[io.undertow.util.HeaderValues].set(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].index(int)'
    - '[io.undertow.util.HeaderValues].checkNotNullParam(String,String)'
    - '[IndexOutOfBoundsException].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].set(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IndexOutOfBoundsException].<init>()'
      Src: io.undertow.util.HeaderValues:413,1
    - Dst: '[java.util.Collection<?extendsString>].iterator()'
      Src: io.undertow.util.HeaderValues:414,1
    - Dst: '[io.undertow.util.HeaderValues].hasNext()'
      Src: io.undertow.util.HeaderValues:416,1
    - Dst: '[io.undertow.util.HeaderValues].next()'
      Src: io.undertow.util.HeaderValues:417,1
    - Dst: '[io.undertow.util.HeaderValues].offer(int,io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderValues:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.util.Collection<?extendsString>
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - index
    - c
    argTypes:
    - int
    - java.util.Collection<?extendsString>
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: '[io.undertow.util.HeaderValues].addAll(int,java.util.Collection<?extendsString>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collection<?extendsString>].iterator()'
    - '[io.undertow.util.HeaderValues].hasNext()'
    - '[io.undertow.util.HeaderValues].offer(int,io.undertow.util.HeaderValues)'
    - '[io.undertow.util.HeaderValues].next()'
    - '[IndexOutOfBoundsException].<init>()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].addAll(int,java.util.Collection<?extendsString>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IndexOutOfBoundsException].<init>()'
      Src: io.undertow.util.HeaderValues:424,1
    - Dst: '[io.undertow.util.HeaderValues].get(io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderValues:428,1
    - Dst: '[java.util.Arrays].asList(io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderValues:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - fromIndex
    - toIndex
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: '[io.undertow.util.HeaderValues].subList(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList(io.undertow.util.HeaderValues)'
    - '[io.undertow.util.HeaderValues].get(io.undertow.util.HeaderValues)'
    - '[IndexOutOfBoundsException].<init>()'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.util.HeaderValues].subList(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].copyOfRange(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderValues:444,1
    - Dst: '[java.util.Arrays].copyOfRange(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderValues:446,1
    - Dst: System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,io.undertow.util.HeaderValues,io.undertow.util.HeaderValues)
      Src: io.undertow.util.HeaderValues:447,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 450
    functionName: '[io.undertow.util.HeaderValues].toArray()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 3
    functionsReached:
    - System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,io.undertow.util.HeaderValues,io.undertow.util.HeaderValues)
    - '[java.util.Arrays].copyOfRange(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues)'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.util.HeaderValues].toArray()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].copyOfRange(T[],io.undertow.util.HeaderValues,io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderValues:456,1
    - Dst: System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,byte)
      Src: io.undertow.util.HeaderValues:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - T[]
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - a
    argTypes:
    - T[]
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: '[io.undertow.util.HeaderValues].toArray(T[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.util.HeaderValues,int,io.undertow.util.HeaderValues,int,byte)
    - '[java.util.Arrays].copyOfRange(T[],io.undertow.util.HeaderValues,io.undertow.util.HeaderValues)'
    linkageType: ''
    returnType: T[]
    signature: '[io.undertow.util.HeaderValues].toArray(T[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].offerFirst(String)'
      Src: io.undertow.util.HeaderValues:474,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.HeaderValues:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: '[io.undertow.util.HeaderValues].addFirst(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HeaderValues].offerFirst(String)'
    - '[IllegalStateException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValues].addFirst(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].offerLast(String)'
      Src: io.undertow.util.HeaderValues:479,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.HeaderValues:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: '[io.undertow.util.HeaderValues].addLast(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[io.undertow.util.HeaderValues].offerLast(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValues].addLast(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].offer(int,String)'
      Src: io.undertow.util.HeaderValues:484,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.HeaderValues:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - index
    - s
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: '[io.undertow.util.HeaderValues].add(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].offer(int,String)'
    - '[IllegalStateException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValues].add(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].indexOf(Object)'
      Src: io.undertow.util.HeaderValues:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: '[io.undertow.util.HeaderValues].contains(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].indexOf(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].contains(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderValues:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: '[io.undertow.util.HeaderValues].peekFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.HeaderValues].get(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].peekFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].get(int)'
      Src: io.undertow.util.HeaderValues:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: '[io.undertow.util.HeaderValues].peekLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.HeaderValues].get(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].peekLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].indexOf(Object)'
      Src: io.undertow.util.HeaderValues:500,1
    - Dst: '[io.undertow.util.HeaderValues].remove(int)'
      Src: io.undertow.util.HeaderValues:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: '[io.undertow.util.HeaderValues].removeFirstOccurrence(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderValues].indexOf(Object)'
    - '[io.undertow.util.HeaderValues].remove(int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].removeFirstOccurrence(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].lastIndexOf(Object)'
      Src: io.undertow.util.HeaderValues:505,1
    - Dst: '[io.undertow.util.HeaderValues].remove(int)'
      Src: io.undertow.util.HeaderValues:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: '[io.undertow.util.HeaderValues].removeLastOccurrence(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].lastIndexOf(Object)'
    - '[io.undertow.util.HeaderValues].remove(int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].removeLastOccurrence(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].addLast(String)'
      Src: io.undertow.util.HeaderValues:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: '[io.undertow.util.HeaderValues].add(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HeaderValues].addLast(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].add(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].addFirst(String)'
      Src: io.undertow.util.HeaderValues:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: '[io.undertow.util.HeaderValues].push(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].addFirst(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HeaderValues].push(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].removeFirst()'
      Src: io.undertow.util.HeaderValues:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: '[io.undertow.util.HeaderValues].pop()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].removeFirst()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].pop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].offerLast(String)'
      Src: io.undertow.util.HeaderValues:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: '[io.undertow.util.HeaderValues].offer(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].offerLast(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].offer(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].pollFirst()'
      Src: io.undertow.util.HeaderValues:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: '[io.undertow.util.HeaderValues].poll()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].pollFirst()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].poll()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].peekFirst()'
      Src: io.undertow.util.HeaderValues:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: '[io.undertow.util.HeaderValues].peek()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HeaderValues].peekFirst()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].peek()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].removeFirst()'
      Src: io.undertow.util.HeaderValues:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: '[io.undertow.util.HeaderValues].remove()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].removeFirst()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].remove()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].pollFirst()'
      Src: io.undertow.util.HeaderValues:539,1
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.HeaderValues:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 544
    functionName: '[io.undertow.util.HeaderValues].removeFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.HeaderValues].pollFirst()'
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].removeFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].pollLast()'
      Src: io.undertow.util.HeaderValues:547,1
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.HeaderValues:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 552
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 552
    functionName: '[io.undertow.util.HeaderValues].removeLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderValues].pollLast()'
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].removeLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].peekFirst()'
      Src: io.undertow.util.HeaderValues:555,1
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.HeaderValues:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: '[io.undertow.util.HeaderValues].getFirst()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 11
    functionsReached:
    - '[io.undertow.util.HeaderValues].peekFirst()'
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].getFirst()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].peekLast()'
      Src: io.undertow.util.HeaderValues:563,1
    - Dst: '[java.util.NoSuchElementException].<init>()'
      Src: io.undertow.util.HeaderValues:565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: '[io.undertow.util.HeaderValues].getLast()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HeaderValues].peekLast()'
    - '[java.util.NoSuchElementException].<init>()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].getLast()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.util.HeaderValues:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: '[io.undertow.util.HeaderValues].element()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderValues].getFirst()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HeaderValues].element()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].removeFirstOccurrence(Object)'
      Src: io.undertow.util.HeaderValues:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: '[io.undertow.util.HeaderValues].remove(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].removeFirstOccurrence(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].remove(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderValues].add(io.undertow.util.HeaderValues)'
      Src: io.undertow.util.HeaderValues:580,1
    - Dst: '[java.util.Collection<?extendsString>].isEmpty()'
      Src: io.undertow.util.HeaderValues:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Collection<?extendsString>
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - java.util.Collection<?extendsString>
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: '[io.undertow.util.HeaderValues].addAll(java.util.Collection<?extendsString>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].add(io.undertow.util.HeaderValues)'
    - '[java.util.Collection<?extendsString>].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HeaderValues].addAll(java.util.Collection<?extendsString>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.util.HeaderValues:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      - io.undertow.util.HttpString
      - byte
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.RandomAccess
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderValues
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: '[io.undertow.util.HeaderValues].reversed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HeaderValues.java
    functionUses: 0
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: io.undertow.util.HeaderValues
    signature: '[io.undertow.util.HeaderValues].reversed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.security.cert.X509Certificate].getEncoded()'
      Src: io.undertow.util.Certificates:34,1
    - Dst: '[io.undertow.util.Certificates].toPem(io.undertow.util.Certificates)'
      Src: io.undertow.util.Certificates:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.security.cert.X509Certificate
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - javax.security.cert.CertificateEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - certificate
    argTypes:
    - javax.security.cert.X509Certificate
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: '[io.undertow.util.Certificates].toPem(javax.security.cert.X509Certificate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Certificates.java
    functionUses: 0
    functionsReached:
    - '[javax.security.cert.X509Certificate].getEncoded()'
    - '[io.undertow.util.Certificates].toPem(io.undertow.util.Certificates)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Certificates].toPem(javax.security.cert.X509Certificate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.cert.Certificate].getEncoded()'
      Src: io.undertow.util.Certificates:45,1
    - Dst: '[io.undertow.util.Certificates].toPem(io.undertow.util.Certificates)'
      Src: io.undertow.util.Certificates:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.security.cert.Certificate
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.security.cert.CertificateEncodingException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - certificate
    argTypes:
    - java.security.cert.Certificate
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.Certificates].toPem(java.security.cert.Certificate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Certificates.java
    functionUses: 0
    functionsReached:
    - '[java.security.cert.Certificate].getEncoded()'
    - '[io.undertow.util.Certificates].toPem(io.undertow.util.Certificates)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Certificates].toPem(java.security.cert.Certificate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.Certificates:49,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.Certificates:50,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.Certificates:51,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(byte[],boolean)'
      Src: io.undertow.util.Certificates:52,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.Certificates:52,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.Certificates:53,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.Certificates:54,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.Certificates:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - encodedCertificate
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: '[io.undertow.util.Certificates].toPem(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Certificates.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[io.undertow.util.FlexBase64].encodeString(byte[],boolean)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Certificates].toPem(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.Certificates
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: '[io.undertow.util.Certificates].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Certificates.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.Certificates
    signature: '[io.undertow.util.Certificates].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Supplier<T>
      - java.util.function.Consumer<T>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.function.Supplier<T>
      - java.util.function.Consumer<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.ObjectPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.NewInstanceObjectPool
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - supplier
    - consumer
    argTypes:
    - java.util.function.Supplier<T>
    - java.util.function.Consumer<T>
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.util.NewInstanceObjectPool].<init>(java.util.function.Supplier<T>,java.util.function.Consumer<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NewInstanceObjectPool.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.NewInstanceObjectPool
    signature: '[io.undertow.util.NewInstanceObjectPool].<init>(java.util.function.Supplier<T>,java.util.function.Consumer<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.function.Supplier<T>].get()'
      Src: io.undertow.util.NewInstanceObjectPool:43,1
    - Dst: '[io.undertow.util.PooledObject].<init>()'
      Src: io.undertow.util.NewInstanceObjectPool:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.function.Supplier<T>
      - java.util.function.Consumer<T>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.ObjectPool
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PooledObject
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: '[io.undertow.util.NewInstanceObjectPool].allocate()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/NewInstanceObjectPool.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PooledObject].<init>()'
    - '[java.util.function.Supplier<T>].get()'
    linkageType: ''
    returnType: io.undertow.util.PooledObject
    signature: '[io.undertow.util.NewInstanceObjectPool].allocate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.util.WeakCopyOnWriteMap:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.WeakCopyOnWriteMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 4
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: io.undertow.util.WeakCopyOnWriteMap
    signature: '[io.undertow.util.WeakCopyOnWriteMap].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.util.WeakCopyOnWriteMap:39,1
    - Dst: '[java.util.WeakHashMap].<init>(java.util.Map<K,V>)'
      Src: io.undertow.util.WeakCopyOnWriteMap:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<K,V>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.WeakCopyOnWriteMap
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - existing
    argTypes:
    - java.util.Map<K,V>
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].<init>(java.util.Map<K,V>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    - '[java.util.WeakHashMap].<init>(java.util.Map<K,V>)'
    linkageType: ''
    returnType: io.undertow.util.WeakCopyOnWriteMap
    signature: '[io.undertow.util.WeakCopyOnWriteMap].<init>(java.util.Map<K,V>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(K)'
      Src: io.undertow.util.WeakCopyOnWriteMap:51,1
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
      Src: io.undertow.util.WeakCopyOnWriteMap:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].putIfAbsent(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].get(K)'
    - '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.WeakCopyOnWriteMap].putIfAbsent(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(Object)'
      Src: io.undertow.util.WeakCopyOnWriteMap:62,1
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].equals(Object)'
      Src: io.undertow.util.WeakCopyOnWriteMap:63,1
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].removeInternal(Object)'
      Src: io.undertow.util.WeakCopyOnWriteMap:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - Object
    - Object
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].remove(Object,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WeakCopyOnWriteMap].equals(Object)'
    - '[java.util.Map<K,V>].get(Object)'
    - '[io.undertow.util.WeakCopyOnWriteMap].removeInternal(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.WeakCopyOnWriteMap].remove(Object,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(K)'
      Src: io.undertow.util.WeakCopyOnWriteMap:73,1
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].equals(V)'
      Src: io.undertow.util.WeakCopyOnWriteMap:74,1
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
      Src: io.undertow.util.WeakCopyOnWriteMap:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - key
    - oldValue
    - newValue
    argTypes:
    - K
    - V
    - V
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].replace(K,V,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WeakCopyOnWriteMap].equals(V)'
    - '[java.util.Map<K,V>].get(K)'
    - '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.WeakCopyOnWriteMap].replace(K,V,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(K)'
      Src: io.undertow.util.WeakCopyOnWriteMap:84,1
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
      Src: io.undertow.util.WeakCopyOnWriteMap:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].replace(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].get(K)'
    - '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.WeakCopyOnWriteMap].replace(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].size()'
      Src: io.undertow.util.WeakCopyOnWriteMap:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].size()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.WeakCopyOnWriteMap].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].isEmpty()'
      Src: io.undertow.util.WeakCopyOnWriteMap:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.WeakCopyOnWriteMap].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].containsKey(Object)'
      Src: io.undertow.util.WeakCopyOnWriteMap:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].containsKey(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].containsKey(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.WeakCopyOnWriteMap].containsKey(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].containsValue(Object)'
      Src: io.undertow.util.WeakCopyOnWriteMap:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].containsValue(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].containsValue(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.WeakCopyOnWriteMap].containsValue(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(Object)'
      Src: io.undertow.util.WeakCopyOnWriteMap:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].get(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].get(Object)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.WeakCopyOnWriteMap].get(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
      Src: io.undertow.util.WeakCopyOnWriteMap:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].put(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.WeakCopyOnWriteMap].put(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.WeakCopyOnWriteMap].removeInternal(Object)'
      Src: io.undertow.util.WeakCopyOnWriteMap:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].remove(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.WeakCopyOnWriteMap].removeInternal(Object)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.WeakCopyOnWriteMap].remove(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.WeakHashMap].<init>(java.util.Map<K,V>)'
      Src: io.undertow.util.WeakCopyOnWriteMap:129,1
    - Dst: '[java.util.Map<?extendsK,?extendsV>].entrySet()'
      Src: io.undertow.util.WeakCopyOnWriteMap:130,1
    - Dst: e.getKey()
      Src: io.undertow.util.WeakCopyOnWriteMap:131,1
    - Dst: e.getValue()
      Src: io.undertow.util.WeakCopyOnWriteMap:131,1
    - Dst: '[java.util.WeakHashMap].put(io.undertow.util.WeakCopyOnWriteMap,io.undertow.util.WeakCopyOnWriteMap)'
      Src: io.undertow.util.WeakCopyOnWriteMap:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<?extendsK,?extendsV>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - m
    argTypes:
    - java.util.Map<?extendsK,?extendsV>
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].putAll(java.util.Map<?extendsK,?extendsV>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - e.getValue()
    - '[java.util.Map<?extendsK,?extendsV>].entrySet()'
    - '[java.util.WeakHashMap].put(io.undertow.util.WeakCopyOnWriteMap,io.undertow.util.WeakCopyOnWriteMap)'
    - '[java.util.WeakHashMap].<init>(java.util.Map<K,V>)'
    - e.getKey()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.WeakCopyOnWriteMap].putAll(java.util.Map<?extendsK,?extendsV>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.util.WeakCopyOnWriteMap:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.WeakCopyOnWriteMap].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].keySet()'
      Src: io.undertow.util.WeakCopyOnWriteMap:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<K>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].keySet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].keySet()'
    linkageType: ''
    returnType: java.util.Set<K>
    signature: '[io.undertow.util.WeakCopyOnWriteMap].keySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].values()'
      Src: io.undertow.util.WeakCopyOnWriteMap:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<V>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].values()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].values()'
    linkageType: ''
    returnType: java.util.Collection<V>
    signature: '[io.undertow.util.WeakCopyOnWriteMap].values()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].entrySet()'
      Src: io.undertow.util.WeakCopyOnWriteMap:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<Entry<K,V>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].entrySet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].entrySet()'
    linkageType: ''
    returnType: java.util.Set<Entry<K,V>>
    signature: '[io.undertow.util.WeakCopyOnWriteMap].entrySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.WeakHashMap].<init>(java.util.Map<K,V>)'
      Src: io.undertow.util.WeakCopyOnWriteMap:158,1
    - Dst: '[java.util.WeakHashMap].put(K,V)'
      Src: io.undertow.util.WeakCopyOnWriteMap:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 4
    functionsReached:
    - '[java.util.WeakHashMap].put(K,V)'
    - '[java.util.WeakHashMap].<init>(java.util.Map<K,V>)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.WeakCopyOnWriteMap].putInternal(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.WeakHashMap].<init>(java.util.Map<K,V>)'
      Src: io.undertow.util.WeakCopyOnWriteMap:165,1
    - Dst: '[java.util.WeakHashMap].remove(Object)'
      Src: io.undertow.util.WeakCopyOnWriteMap:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: '[io.undertow.util.WeakCopyOnWriteMap].removeInternal(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/WeakCopyOnWriteMap.java
    functionUses: 2
    functionsReached:
    - '[java.util.WeakHashMap].remove(Object)'
    - '[java.util.WeakHashMap].<init>(java.util.Map<K,V>)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.WeakCopyOnWriteMap].removeInternal(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>(String,Throwable)'
      Src: io.undertow.util.UrlDecodeException:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.UrlDecodeException
      static: false
      superClass: IllegalArgumentException
    argCount: 2
    argNames:
    - message
    - cause
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '[io.undertow.util.UrlDecodeException].<init>(String,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/UrlDecodeException.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>(String,Throwable)'
    linkageType: ''
    returnType: io.undertow.util.UrlDecodeException
    signature: '[io.undertow.util.UrlDecodeException].<init>(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ImmediatePooled
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.util.ImmediatePooled].<init>(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooled.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ImmediatePooled
    signature: '[io.undertow.util.ImmediatePooled].<init>(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.util.ImmediatePooled].discard()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooled.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ImmediatePooled].discard()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.util.ImmediatePooled].free()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooled.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ImmediatePooled].free()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.util.ImmediatePooled].getResource()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooled.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.ImmediatePooled].getResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.util.ImmediatePooled].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooled.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ImmediatePooled].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateUtil
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: '[io.undertow.util.PathTemplateUtil].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateUtil
    signature: '[io.undertow.util.PathTemplateUtil].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.PathTemplateUtil:46,1
    - Dst: '[String].getChars(int,int,io.undertow.util.PathTemplateUtil,int)'
      Src: io.undertow.util.PathTemplateUtil:49,1
    - Dst: '[String].getChars(int,int,io.undertow.util.PathTemplateUtil,int)'
      Src: io.undertow.util.PathTemplateUtil:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: char[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - pathString
    - pathLength
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: '[io.undertow.util.PathTemplateUtil].pathWithForwardSlash(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateUtil.java
    functionUses: 0
    functionsReached:
    - '[String].charAt(int)'
    - '[String].getChars(int,int,io.undertow.util.PathTemplateUtil,int)'
    linkageType: ''
    returnType: char[]
    signature: '[io.undertow.util.PathTemplateUtil].pathWithForwardSlash(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateRouteResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '[io.undertow.util.PathTemplateRouter].route(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouteResult<T>
    signature: '[io.undertow.util.PathTemplateRouter].route(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateRouter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathTemplateRouter].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateRouter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateRouter
    signature: '[io.undertow.util.PathTemplateRouter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.SecurityActions
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.util.SecurityActions].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SecurityActions.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.SecurityActions
    signature: '[io.undertow.util.SecurityActions].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getSecurityManager()
      Src: io.undertow.util.SecurityActions:36,1
    - Dst: '[io.undertow.util.SecurityActions].getProperty(String,String)'
      Src: io.undertow.util.SecurityActions:36,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
      Src: io.undertow.util.SecurityActions:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - key
    - def
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: '[io.undertow.util.SecurityActions].getSystemProperty(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/SecurityActions.java
    functionUses: 0
    functionsReached:
    - System.getSecurityManager()
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<String>)
    - '[io.undertow.util.SecurityActions].getProperty(String,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.SecurityActions].getSystemProperty(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes(io.undertow.util.ParserUtils)'
      Src: io.undertow.util.ParserUtils:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.ParserUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.util.ParserUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(io.undertow.util.ParserUtils)'
    linkageType: ''
    returnType: io.undertow.util.ParserUtils
    signature: '[io.undertow.util.ParserUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.util.ParserUtils].getMaximumRequestMethodLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.ParserUtils].getMaximumRequestMethodLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: '[io.undertow.util.ParserUtils].getProtocolLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.ParserUtils].getProtocolLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
      Src: io.undertow.util.ParserUtils:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.util.ParserUtils].isRequestTargetChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isRequestTargetChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
      Src: io.undertow.util.ParserUtils:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.util.ParserUtils].isDNSNameChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isDNSNameChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyLowerMask(byte,long)'
      Src: io.undertow.util.ParserUtils:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.util.ParserUtils].isIPv4AddressChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyLowerMask(byte,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isIPv4AddressChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
      Src: io.undertow.util.ParserUtils:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[io.undertow.util.ParserUtils].isIPv6AddressChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isIPv6AddressChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyUpperMask(byte,long)'
      Src: io.undertow.util.ParserUtils:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.util.ParserUtils].isAlphaChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyUpperMask(byte,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isAlphaChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
      Src: io.undertow.util.ParserUtils:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.util.ParserUtils].isSchemeChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isSchemeChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
      Src: io.undertow.util.ParserUtils:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.util.ParserUtils].isTokenChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isTokenChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.util.ParserUtils].isObsoleteChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isObsoleteChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
      Src: io.undertow.util.ParserUtils:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[io.undertow.util.ParserUtils].isVisibleAsciiChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isVisibleAsciiChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyLowerMask(byte,long)'
      Src: io.undertow.util.ParserUtils:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: '[io.undertow.util.ParserUtils].isSpaceOrTabChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyLowerMask(byte,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isSpaceOrTabChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].isDigitChar(byte)'
      Src: io.undertow.util.ParserUtils:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - c
    - index
    argTypes:
    - byte
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: '[io.undertow.util.ParserUtils].isProtocolChar(byte,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].isDigitChar(byte)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isProtocolChar(byte,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
      Src: io.undertow.util.ParserUtils:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: '[io.undertow.util.ParserUtils].isPathSegmentChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isPathSegmentChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyLowerMask(byte,long)'
      Src: io.undertow.util.ParserUtils:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '[io.undertow.util.ParserUtils].isDigitChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyLowerMask(byte,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isDigitChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
      Src: io.undertow.util.ParserUtils:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: '[io.undertow.util.ParserUtils].isHexDigitChar(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].isHexDigitChar(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - c
    - lowerMask
    argTypes:
    - byte
    - long
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: '[io.undertow.util.ParserUtils].applyLowerMask(byte,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].applyLowerMask(byte,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - c
    - upperMask
    argTypes:
    - byte
    - long
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.util.ParserUtils].applyUpperMask(byte,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].applyUpperMask(byte,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - int
      - int
      - int
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - long
      - byte[]
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - c
    - lowerMask
    - upperMask
    argTypes:
    - byte
    - long
    - long
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParserUtils.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ParserUtils].applyBothMasks(byte,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.util.PipeliningExecutor:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.Executor
      - ThreadLocal<java.util.LinkedList<Runnable>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.concurrent.Executor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PipeliningExecutor
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - executor
    argTypes:
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.util.PipeliningExecutor].<init>(java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PipeliningExecutor.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PipeliningExecutor
    signature: '[io.undertow.util.PipeliningExecutor].<init>(java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<java.util.LinkedList<Runnable>>].get()'
      Src: io.undertow.util.PipeliningExecutor:45,1
    - Dst: '[io.undertow.util.PipeliningExecutor].add(Runnable)'
      Src: io.undertow.util.PipeliningExecutor:47,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.util.PipeliningExecutor:49,1
    - Dst: '[java.util.concurrent.Executor].execute(Runnable)'
      Src: io.undertow.util.PipeliningExecutor:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.Executor
      - ThreadLocal<java.util.LinkedList<Runnable>>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.util.concurrent.Executor
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - command
    argTypes:
    - Runnable
    constantsTouched: []
    func_position:
      end: 74
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 74
    functionName: '[io.undertow.util.PipeliningExecutor].execute(Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PipeliningExecutor.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.Executor].execute(Runnable)'
    - '[io.undertow.util.PipeliningExecutor].add(Runnable)'
    - '[ThreadLocal<java.util.LinkedList<Runnable>>].get()'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PipeliningExecutor].execute(Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpString:65,1
    - Dst: '[byte[]].clone()'
      Src: io.undertow.util.HttpString:73,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.util.HttpString,null)'
      Src: io.undertow.util.HttpString:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.util.HttpString].<init>(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HttpString].<init>(io.undertow.util.HttpString,null)'
    - '[byte[]].clone()'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.HttpString].<init>(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpString:65,1
    - Dst: '[io.undertow.util.HttpString].copyOfRange(byte[],int,io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:84,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.util.HttpString,null)'
      Src: io.undertow.util.HttpString:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - bytes
    - offset
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[io.undertow.util.HttpString].<init>(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HttpString].copyOfRange(byte[],int,io.undertow.util.HttpString)'
    - '[io.undertow.util.HttpString].<init>(io.undertow.util.HttpString,null)'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.HttpString].<init>(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpString:65,1
    - Dst: '[io.undertow.util.HttpString].take(java.nio.ByteBuffer)'
      Src: io.undertow.util.HttpString:93,1
    - Dst: '[io.undertow.util.HttpString].<init>(byte[],null)'
      Src: io.undertow.util.HttpString:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: '[io.undertow.util.HttpString].<init>(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].take(java.nio.ByteBuffer)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HttpString].<init>(byte[],null)'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.HttpString].<init>(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpString:65,1
    - Dst: '[io.undertow.util.HttpString].<init>(String,int)'
      Src: io.undertow.util.HttpString:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: '[io.undertow.util.HttpString].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 58
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(String,int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.HttpString].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpString:65,1
    - Dst: '[io.undertow.util.HttpString].toByteArray(String)'
      Src: io.undertow.util.HttpString:108,1
    - Dst: '[io.undertow.util.HttpString].calcHashCode(byte[])'
      Src: io.undertow.util.HttpString:109,1
    - Dst: '[io.undertow.util.HttpString].checkForNewlines()'
      Src: io.undertow.util.HttpString:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - string
    - orderInt
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: '[io.undertow.util.HttpString].<init>(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HttpString].calcHashCode(byte[])'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HttpString].toByteArray(String)'
    - '[io.undertow.util.HttpString].checkForNewlines()'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.HttpString].<init>(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.HttpString:115,1
    - Dst: '[String].charAt(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:118,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.util.HttpString:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: '[io.undertow.util.HttpString].toByteArray(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 2
    functionsReached:
    - '[String].charAt(io.undertow.util.HttpString)'
    - '[String].length()'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.HttpString].toByteArray(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].newlineNotSupportedInHttpString(String)'
      Src: io.undertow.util.HttpString:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: '[io.undertow.util.HttpString].checkForNewlines()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HttpString].newlineNotSupportedInHttpString(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpString].checkForNewlines()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.util.HttpString:65,1
    - Dst: '[io.undertow.util.HttpString].calcHashCode(byte[])'
      Src: io.undertow.util.HttpString:137,1
    - Dst: '[io.undertow.util.HttpString].checkForNewlines()'
      Src: io.undertow.util.HttpString:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - bytes
    - string
    argTypes:
    - byte[]
    - String
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: '[io.undertow.util.HttpString].<init>(byte[],String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].calcHashCode(byte[])'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HttpString].checkForNewlines()'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.HttpString].<init>(byte[],String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Headers].fromCache(String)'
      Src: io.undertow.util.HttpString:151,1
    - Dst: '[String].length()'
      Src: io.undertow.util.HttpString:155,1
    - Dst: '[String].charAt(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:158,1
    - Dst: '[io.undertow.util.HttpString].<init>(byte[],String)'
      Src: io.undertow.util.HttpString:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: '[io.undertow.util.HttpString].tryFromString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.util.HttpString].<init>(byte[],String)'
    - '[String].charAt(io.undertow.util.HttpString)'
    - '[String].length()'
    - '[io.undertow.util.Headers].fromCache(String)'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.util.HttpString].tryFromString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: '[io.undertow.util.HttpString].length()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HttpString].length()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.util.HttpString].byteAt(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: '[io.undertow.util.HttpString].byteAt(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].arraycopy(byte[],int,byte[],int,int)'
      Src: io.undertow.util.HttpString:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - srcOffs
    - dst
    - offs
    - len
    argTypes:
    - int
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[io.undertow.util.HttpString].copyTo(int,byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].arraycopy(byte[],int,byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpString].copyTo(int,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].copyTo(int,byte[],int,int)'
      Src: io.undertow.util.HttpString:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dst
    - offs
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '[io.undertow.util.HttpString].copyTo(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].copyTo(int,byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpString].copyTo(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].copyTo(byte[],int,io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dst
    - offs
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.util.HttpString].copyTo(byte[],int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].copyTo(byte[],int,io.undertow.util.HttpString)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpString].copyTo(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte[])'
      Src: io.undertow.util.HttpString:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 4
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.OutputStream].write(byte[])'
      Src: io.undertow.util.HttpString:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - output
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: '[io.undertow.util.HttpString].writeTo(java.io.OutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 0
    functionsReached:
    - '[java.io.OutputStream].write(byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpString].writeTo(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasArray()'
      Src: io.undertow.util.HttpString:238,1
    - Dst: '[java.nio.ByteBuffer].array()'
      Src: io.undertow.util.HttpString:241,1
    - Dst: '[java.nio.ByteBuffer].arrayOffset()'
      Src: io.undertow.util.HttpString:241,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.HttpString:241,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.HttpString:241,1
    - Dst: '[io.undertow.util.HttpString].copyOfRange(io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:241,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.util.HttpString:243,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:243,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.HttpString:246,1
    - Dst: '[java.nio.ByteBuffer].get(byte[])'
      Src: io.undertow.util.HttpString:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: '[io.undertow.util.HttpString].take(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].array()'
    - '[java.nio.ByteBuffer].get(byte[])'
    - '[java.nio.ByteBuffer].hasArray()'
    - '[io.undertow.util.HttpString].copyOfRange(io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].position(io.undertow.util.HttpString)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].arrayOffset()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.HttpString].take(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].signum(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:260,1
    - Dst: Math.min(io.undertow.util.HttpString,io.undertow.util.HttpString)
      Src: io.undertow.util.HttpString:262,1
    - Dst: '[io.undertow.util.HttpString].higher()'
      Src: io.undertow.util.HttpString:265,1
    - Dst: '[io.undertow.util.HttpString].higher()'
      Src: io.undertow.util.HttpString:265,1
    - Dst: '[io.undertow.util.HttpString].signum(int)'
      Src: io.undertow.util.HttpString:265,1
    - Dst: '[io.undertow.util.HttpString].signum(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - other
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.HttpString].signum(io.undertow.util.HttpString)'
    - Math.min(io.undertow.util.HttpString,io.undertow.util.HttpString)
    - '[io.undertow.util.HttpString].higher()'
    - '[io.undertow.util.HttpString].signum(int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HttpString].compareTo(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '[io.undertow.util.HttpString].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HttpString].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].bytesAreEqual(byte[],io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - other
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: '[io.undertow.util.HttpString].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].bytesAreEqual(byte[],io.undertow.util.HttpString)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HttpString].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].bytesAreEqual(byte[],byte[])'
      Src: io.undertow.util.HttpString:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - other
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 42
    functionsReached:
    - '[io.undertow.util.HttpString].bytesAreEqual(byte[],byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].higher(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: '[io.undertow.util.HttpString].calcHashCode(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.HttpString].higher(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HttpString].calcHashCode(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: '[io.undertow.util.HttpString].higher(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HttpString].higher(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].bytesAreEquivalent(byte[],byte[])'
      Src: io.undertow.util.HttpString:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: '[io.undertow.util.HttpString].bytesAreEqual(byte[],byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].bytesAreEquivalent(byte[],byte[])'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HttpString].bytesAreEqual(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].higher()'
      Src: io.undertow.util.HttpString:334,1
    - Dst: '[io.undertow.util.HttpString].higher()'
      Src: io.undertow.util.HttpString:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - byte[]
    - byte[]
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: '[io.undertow.util.HttpString].bytesAreEquivalent(byte[],byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].higher()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HttpString].bytesAreEquivalent(byte[],byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].<init>(byte[],io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: '[io.undertow.util.HttpString].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 49
    functionsReached:
    - '[String].<init>(byte[],io.undertow.util.HttpString)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HttpString].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ObjectInputStream].defaultReadObject()'
      Src: io.undertow.util.HttpString:355,1
    - Dst: '[io.undertow.util.HttpString].calcHashCode(byte[])'
      Src: io.undertow.util.HttpString:357,1
    - Dst: '[Field].setInt(int)'
      Src: io.undertow.util.HttpString:357,1
    - Dst: e.getMessage()
      Src: io.undertow.util.HttpString:359,1
    - Dst: '[IllegalAccessError].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.ObjectInputStream
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions:
      - ClassNotFoundException
      - java.io.IOException
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ois
    argTypes:
    - java.io.ObjectInputStream
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: '[io.undertow.util.HttpString].readObject(java.io.ObjectInputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].calcHashCode(byte[])'
    - '[Field].setInt(int)'
    - '[java.io.ObjectInputStream].defaultReadObject()'
    - '[IllegalAccessError].<init>(io.undertow.util.HttpString)'
    - e.getMessage()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HttpString].readObject(java.io.ObjectInputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].toByteArray(String)'
      Src: io.undertow.util.HttpString:364,1
    - Dst: '[io.undertow.util.HttpString].calcHashCode(byte[])'
      Src: io.undertow.util.HttpString:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: '[io.undertow.util.HttpString].hashCodeOf(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HttpString].calcHashCode(byte[])'
    - '[io.undertow.util.HttpString].toByteArray(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.HttpString].hashCodeOf(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.HttpString:369,1
    - Dst: '[io.undertow.util.HttpString].higher()'
      Src: io.undertow.util.HttpString:375,1
    - Dst: '[String].charAt(io.undertow.util.HttpString)'
      Src: io.undertow.util.HttpString:375,1
    - Dst: '[io.undertow.util.HttpString].higher(byte)'
      Src: io.undertow.util.HttpString:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - byte[]
      - int
      - int
      - String
      - Field
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: '[io.undertow.util.HttpString].equalToString(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HttpString.java
    functionUses: 2
    functionsReached:
    - '[String].charAt(io.undertow.util.HttpString)'
    - '[String].length()'
    - '[io.undertow.util.HttpString].higher()'
    - '[io.undertow.util.HttpString].higher(byte)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.HttpString].equalToString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:89,1
    - Dst: '[String].charAt(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:90,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:95,1
    - Dst: '[io.undertow.util.Cookies].couldNotParseCookie(String)'
      Src: io.undertow.util.Cookies:102,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:104,1
    - Dst: '[io.undertow.util.Cookies].handleValue(io.undertow.util.Cookies,io.undertow.util.Cookies,null)'
      Src: io.undertow.util.Cookies:104,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:113,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:113,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:115,1
    - Dst: '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:115,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:129,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:129,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:131,1
    - Dst: '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:131,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:142,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:143,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:143,1
    - Dst: '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,io.undertow.util.Cookies,null)'
      Src: io.undertow.util.Cookies:143,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:146,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:148,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:148,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:148,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:150,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:150,1
    - Dst: '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:150,1
    - Dst: '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,io.undertow.util.Cookies,null)'
      Src: io.undertow.util.Cookies:153,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.Cookie
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - headerValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 158
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 158
    functionName: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 11
    functionsReached:
    - '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,io.undertow.util.Cookies,null)'
    - '[io.undertow.util.Cookies].handleValue(io.undertow.util.Cookies,io.undertow.util.Cookies,null)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(io.undertow.util.Cookies,io.undertow.util.Cookies)'
    - '[String].length()'
    - '[String].charAt(io.undertow.util.Cookies)'
    - '[io.undertow.util.Cookies].couldNotParseCookie(String)'
    - '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
    - '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,io.undertow.util.Cookies,io.undertow.util.Cookies)'
    linkageType: ''
    returnType: io.undertow.server.handlers.Cookie
    signature: '[io.undertow.util.Cookies].parseSetCookieHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:164,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setPath(String)'
      Src: io.undertow.util.Cookies:165,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:166,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setDomain(String)'
      Src: io.undertow.util.Cookies:167,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:168,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.util.Cookies:169,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setMaxAge(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:169,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:170,1
    - Dst: '[io.undertow.util.DateUtils].parseDate(String)'
      Src: io.undertow.util.Cookies:171,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setExpires(java.util.Date)'
      Src: io.undertow.util.Cookies:171,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:172,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setDiscard(boolean)'
      Src: io.undertow.util.Cookies:173,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:174,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setSecure(boolean)'
      Src: io.undertow.util.Cookies:175,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:176,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setHttpOnly(boolean)'
      Src: io.undertow.util.Cookies:177,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:178,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.util.Cookies:179,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setVersion(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:179,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:180,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setComment(String)'
      Src: io.undertow.util.Cookies:181,1
    - Dst: '[String].equalsIgnoreCase(String)'
      Src: io.undertow.util.Cookies:182,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setSameSiteMode(String)'
      Src: io.undertow.util.Cookies:183,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String)'
      Src: io.undertow.util.Cookies:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.CookieImpl
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - cookie
    - key
    - value
    argTypes:
    - io.undertow.server.handlers.CookieImpl
    - String
    - String
    constantsTouched: []
    func_position:
      end: 188
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 188
    functionName: '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.CookieImpl].setComment(String)'
    - '[io.undertow.server.handlers.CookieImpl].setSameSiteMode(String)'
    - '[io.undertow.server.handlers.CookieImpl].setHttpOnly(boolean)'
    - '[io.undertow.server.handlers.CookieImpl].setPath(String)'
    - '[io.undertow.server.handlers.CookieImpl].setSecure(boolean)'
    - '[io.undertow.server.handlers.CookieImpl].setAttribute(String,String)'
    - '[io.undertow.server.handlers.CookieImpl].setMaxAge(io.undertow.util.Cookies)'
    - Integer.parseInt(String)
    - '[String].equalsIgnoreCase(String)'
    - '[io.undertow.util.DateUtils].parseDate(String)'
    - '[io.undertow.server.handlers.CookieImpl].setVersion(io.undertow.util.Cookies)'
    - '[io.undertow.server.handlers.CookieImpl].setExpires(java.util.Date)'
    - '[io.undertow.server.handlers.CookieImpl].setDiscard(boolean)'
    - '[io.undertow.server.handlers.CookieImpl].setDomain(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].handleValue(io.undertow.server.handlers.CookieImpl,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean)'
      Src: io.undertow.util.Cookies:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - maxCookies
    - allowEqualInValue
    - cookies
    argTypes:
    - int
    - boolean
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean)'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.util.Cookies:224,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.util.Cookies:225,1
    - Dst: '[io.undertow.util.Cookies].set(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.Cookies:225,1
    - Dst: '[io.undertow.util.Cookies].set(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.Cookies:225,1
    - Dst: '[io.undertow.util.Cookies].getMap()'
      Src: io.undertow.util.Cookies:225,1
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:225,1
    - Dst: '[io.undertow.server.CookieStore].forEach()'
      Src: io.undertow.util.Cookies:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - java.util.List<String>
      - java.util.Set<io.undertow.server.handlers.Cookie>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - maxCookies
    - allowEqualInValue
    - cookies
    - parsedCookies
    argTypes:
    - int
    - boolean
    - java.util.List<String>
    - java.util.Set<io.undertow.server.handlers.Cookie>
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,java.util.Set<io.undertow.server.handlers.Cookie>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,io.undertow.util.Cookies)'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.util.Cookies].getMap()'
    - '[io.undertow.server.CookieStore].forEach()'
    - '[io.undertow.util.Cookies].set(org.xnio.Option<Integer>,int)'
    - '[org.xnio.OptionMap].builder()'
    - '[io.undertow.util.Cookies].set(org.xnio.Option<Boolean>,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,java.util.Set<io.undertow.server.handlers.Cookie>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean,boolean,boolean)'
      Src: io.undertow.util.Cookies:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - java.util.List<String>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - maxCookies
    - allowEqualInValue
    - cookies
    - commaIsSeperator
    argTypes:
    - int
    - boolean
    - java.util.List<String>
    - boolean
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean,boolean,boolean)'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean,boolean,boolean)'
      Src: io.undertow.util.Cookies:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - java.util.List<String>
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - maxCookies
    - allowEqualInValue
    - cookies
    - commaIsSeperator
    - allowHttpSeparatorsV0
    argTypes:
    - int
    - boolean
    - java.util.List<String>
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean,boolean,boolean)'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.util.Cookies:242,1
    - Dst: '[io.undertow.server.CookieStore].<init>()'
      Src: io.undertow.util.Cookies:244,1
    - Dst: '[io.undertow.util.Cookies].parseCookie(io.undertow.util.Cookies,io.undertow.server.CookieStore,int,boolean,boolean,boolean,boolean)'
      Src: io.undertow.util.Cookies:246,1
    - Dst: '[io.undertow.server.CookieStore].asLegacyMap()'
      Src: io.undertow.util.Cookies:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      - java.util.List<String>
      - boolean
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,io.undertow.server.handlers.Cookie>
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - maxCookies
    - allowEqualInValue
    - cookies
    - commaIsSeperator
    - allowHttpSeparatorsV0
    - rfc6265CookieValidationEnabled
    argTypes:
    - int
    - boolean
    - java.util.List<String>
    - boolean
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 2
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[io.undertow.server.CookieStore].<init>()'
    - '[io.undertow.util.Cookies].parseCookie(io.undertow.util.Cookies,io.undertow.server.CookieStore,int,boolean,boolean,boolean,boolean)'
    - '[io.undertow.server.CookieStore].asLegacyMap()'
    linkageType: ''
    returnType: java.util.Map<String,io.undertow.server.handlers.Cookie>
    signature: '[io.undertow.util.Cookies].parseRequestCookies(int,boolean,java.util.List<String>,boolean,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap,boolean,boolean)'
      Src: io.undertow.util.Cookies:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - io.undertow.server.CookieStore
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - cookies
    - requestCookieStore
    - options
    argTypes:
    - java.util.List<String>
    - io.undertow.server.CookieStore
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.util.Cookies:268,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.Cookies:269,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.Cookies:270,1
    - Dst: '[io.undertow.util.Cookies].parseCookie(io.undertow.util.Cookies,io.undertow.server.CookieStore,io.undertow.util.Cookies,io.undertow.util.Cookies,boolean,boolean,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<String>
      - io.undertow.server.CookieStore
      - org.xnio.OptionMap
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - cookies
    - requestCookieStore
    - options
    - commaIsSeparator
    - allowHttpSeparatorsInV0
    argTypes:
    - java.util.List<String>
    - io.undertow.server.CookieStore
    - org.xnio.OptionMap
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 275
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 275
    functionName: '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.Cookies].parseCookie(io.undertow.util.Cookies,io.undertow.server.CookieStore,io.undertow.util.Cookies,io.undertow.util.Cookies,boolean,boolean,io.undertow.util.Cookies)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].parseRequestCookies(java.util.List<String>,io.undertow.server.CookieStore,org.xnio.OptionMap,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.Cookies.CookieJar].<init>()'
      Src: io.undertow.util.Cookies:279,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:282,1
    - Dst: '[String].charAt(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:283,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:297,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:302,1
    - Dst: '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies,io.undertow.util.Cookies.CookieJar)'
      Src: io.undertow.util.Cookies:302,1
    - Dst: '[io.undertow.util.Cookies].isTraceEnabled()'
      Src: io.undertow.util.Cookies:303,1
    - Dst: '[io.undertow.util.Cookies].trace(String)'
      Src: io.undertow.util.Cookies:304,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:314,1
    - Dst: '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies,io.undertow.util.Cookies.CookieJar)'
      Src: io.undertow.util.Cookies:314,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:324,1
    - Dst: '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies,io.undertow.util.Cookies.CookieJar)'
      Src: io.undertow.util.Cookies:324,1
    - Dst: '[io.undertow.util.LegacyCookieSupport].isHttpSeparator(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:328,1
    - Dst: '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:333,1
    - Dst: '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies,io.undertow.util.Cookies.CookieJar)'
      Src: io.undertow.util.Cookies:333,1
    - Dst: '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies.CookieJar)'
      Src: io.undertow.util.Cookies:345,1
    - Dst: '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies.CookieJar)'
      Src: io.undertow.util.Cookies:347,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:352,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:352,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:353,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:354,1
    - Dst: '[io.undertow.util.Cookies].isTraceEnabled()'
      Src: io.undertow.util.Cookies:359,1
    - Dst: '[io.undertow.util.Cookies].trace(String)'
      Src: io.undertow.util.Cookies:360,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:366,1
    - Dst: '[String].charAt(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:367,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:382,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:382,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:385,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:388,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:388,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:389,1
    - Dst: '[String].substring(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:410,1
    - Dst: '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies,io.undertow.util.Cookies.CookieJar)'
      Src: io.undertow.util.Cookies:410,1
    - Dst: '[io.undertow.util.Cookies].storeCookie(io.undertow.util.Cookies.CookieJar)'
      Src: io.undertow.util.Cookies:412,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 172
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.CookieStore
      - int
      - boolean
      - boolean
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 7
    argNames:
    - cookie
    - parsedCookies
    - maxCookies
    - allowEqualInValue
    - commaIsSeperator
    - allowHttpSeparatorsV0
    - rfc6265CookieValidationEnabled
    argTypes:
    - String
    - io.undertow.server.CookieStore
    - int
    - boolean
    - boolean
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 414
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 414
    functionName: '[io.undertow.util.Cookies].parseCookie(String,io.undertow.server.CookieStore,int,boolean,boolean,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.Cookies].storeCookie(io.undertow.util.Cookies.CookieJar)'
    - '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies,io.undertow.util.Cookies.CookieJar)'
    - '[io.undertow.util.Cookies].createCookie(io.undertow.util.Cookies.CookieJar)'
    - '[io.undertow.util.Cookies.CookieJar].<init>()'
    - '[io.undertow.util.Cookies].trace(String)'
    - '[String].charAt(int)'
    - '[String].length()'
    - '[io.undertow.util.Cookies].isTraceEnabled()'
    - '[io.undertow.util.LegacyCookieSupport].isHttpSeparator(io.undertow.util.Cookies)'
    - '[String].charAt(io.undertow.util.Cookies)'
    - '[String].substring(io.undertow.util.Cookies,io.undertow.util.Cookies)'
    - '[String].substring(io.undertow.util.Cookies)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].parseCookie(String,io.undertow.server.CookieStore,int,boolean,boolean,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieJar.parsedCookies.add(io.undertow.util.Cookies)
      Src: io.undertow.util.Cookies:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - CookieJar
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - cookieJar
    argTypes:
    - CookieJar
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: '[io.undertow.util.Cookies].storeCookie(CookieJar)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 1
    functionsReached:
    - cookieJar.parsedCookies.add(io.undertow.util.Cookies)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].storeCookie(CookieJar)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:424,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:424,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:424,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:425,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.util.Cookies:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: '[io.undertow.util.Cookies].stripQuotes(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 1
    functionsReached:
    - '[String].charAt(int)'
    - '[String].substring(int,int)'
    - '[String].length()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Cookies].stripQuotes(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cookieJar.parsedCookies.size()
      Src: io.undertow.util.Cookies:431,1
    - Dst: '[io.undertow.util.Cookies].tooManyCookies(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:432,1
    - Dst: '[io.undertow.util.Cookies].isTraceEnabled()'
      Src: io.undertow.util.Cookies:436,1
    - Dst: '[io.undertow.util.Cookies].trace(String)'
      Src: io.undertow.util.Cookies:437,1
    - Dst: cookieJar.name.isEmpty()
      Src: io.undertow.util.Cookies:443,1
    - Dst: cookieJar.name.charAt(int)
      Src: io.undertow.util.Cookies:443,1
    - Dst: '[io.undertow.util.Cookies].stripQuotes(String)'
      Src: io.undertow.util.Cookies:444,1
    - Dst: cookieJar.name.equals(String)
      Src: io.undertow.util.Cookies:445,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.util.Cookies:446,1
    - Dst: '[io.undertow.util.Cookies].applyAdditional(CookieJar,io.undertow.util.Cookies,String)'
      Src: io.undertow.util.Cookies:448,1
    - Dst: '[io.undertow.util.Cookies].applyAdditional(CookieJar,io.undertow.util.Cookies,String)'
      Src: io.undertow.util.Cookies:450,1
    - Dst: '[io.undertow.util.Cookies].storeCookie(CookieJar)'
      Src: io.undertow.util.Cookies:453,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(io.undertow.util.Cookies,String)'
      Src: io.undertow.util.Cookies:454,1
    - Dst: cookieJar.currentCookie.setVersion(io.undertow.util.Cookies)
      Src: io.undertow.util.Cookies:457,1
    - Dst: cookieJar.currentCookie.setDomain(io.undertow.util.Cookies)
      Src: io.undertow.util.Cookies:460,1
    - Dst: cookieJar.currentCookie.setPath(io.undertow.util.Cookies)
      Src: io.undertow.util.Cookies:464,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - CookieJar
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - value
    - cookieJar
    argTypes:
    - String
    - CookieJar
    constantsTouched: []
    func_position:
      end: 468
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 468
    functionName: '[io.undertow.util.Cookies].createCookie(String,CookieJar)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - cookieJar.parsedCookies.size()
    - cookieJar.currentCookie.setPath(io.undertow.util.Cookies)
    - cookieJar.currentCookie.setDomain(io.undertow.util.Cookies)
    - '[io.undertow.util.Cookies].trace(String)'
    - '[io.undertow.util.Cookies].applyAdditional(CookieJar,io.undertow.util.Cookies,String)'
    - cookieJar.currentCookie.setVersion(io.undertow.util.Cookies)
    - cookieJar.name.isEmpty()
    - '[io.undertow.util.Cookies].stripQuotes(String)'
    - Integer.parseInt(String)
    - cookieJar.name.charAt(int)
    - '[io.undertow.server.handlers.CookieImpl].<init>(io.undertow.util.Cookies,String)'
    - '[io.undertow.util.Cookies].isTraceEnabled()'
    - '[io.undertow.util.Cookies].tooManyCookies(io.undertow.util.Cookies)'
    - cookieJar.name.equals(String)
    - '[io.undertow.util.Cookies].storeCookie(CookieJar)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].createCookie(String,CookieJar)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.Cookies:472,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:472,1
    - Dst: '[java.util.regex.Pattern].matcher(String)'
      Src: io.undertow.util.Cookies:472,1
    - Dst: '[io.undertow.util.Cookies].find()'
      Src: io.undertow.util.Cookies:472,1
    - Dst: '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
      Src: io.undertow.util.Cookies:473,1
    - Dst: cookieJar.parsedCookies.add(io.undertow.server.handlers.CookieImpl)
      Src: io.undertow.util.Cookies:474,1
    - Dst: cookieJar.currentCookie.getValue()
      Src: io.undertow.util.Cookies:478,1
    - Dst: '[io.undertow.util.Cookies].stripQuotes(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:478,1
    - Dst: cookieJar.currentCookie.setValue(String)
      Src: io.undertow.util.Cookies:478,1
    - Dst: cookieJar.currentCookie.setVersion(io.undertow.util.Cookies)
      Src: io.undertow.util.Cookies:485,1
    - Dst: cookieJar.currentCookie.setDomain(String)
      Src: io.undertow.util.Cookies:488,1
    - Dst: cookieJar.currentCookie.setPath(String)
      Src: io.undertow.util.Cookies:491,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - CookieJar
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - cookieJar
    - name
    - value
    argTypes:
    - CookieJar
    - String
    - String
    constantsTouched: []
    func_position:
      end: 503
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 503
    functionName: '[io.undertow.util.Cookies].applyAdditional(CookieJar,String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - cookieJar.currentCookie.getValue()
    - '[io.undertow.util.Cookies].stripQuotes(io.undertow.util.Cookies)'
    - cookieJar.currentCookie.setVersion(io.undertow.util.Cookies)
    - cookieJar.currentCookie.setDomain(String)
    - cookieJar.currentCookie.setPath(String)
    - '[String].charAt(int)'
    - '[java.util.regex.Pattern].matcher(String)'
    - '[io.undertow.server.handlers.CookieImpl].<init>(String,String)'
    - '[io.undertow.util.Cookies].find()'
    - cookieJar.currentCookie.setValue(String)
    - '[String].isEmpty()'
    - cookieJar.parsedCookies.add(io.undertow.server.handlers.CookieImpl)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].applyAdditional(CookieJar,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].isEmpty()'
      Src: io.undertow.util.Cookies:506,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:511,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:513,1
    - Dst: '[String].charAt(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:514,1
    - Dst: '[String].length()'
      Src: io.undertow.util.Cookies:514,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Cookies:514,1
    - Dst: '[String].charAt(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:517,1
    - Dst: '[String].<init>(io.undertow.util.Cookies,int,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:520,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 521
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 521
    functionName: '[io.undertow.util.Cookies].unescapeDoubleQuotes(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[String].charAt(int)'
    - '[String].length()'
    - '[String].charAt(io.undertow.util.Cookies)'
    - '[String].<init>(io.undertow.util.Cookies,int,io.undertow.util.Cookies)'
    - '[String].isEmpty()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.Cookies].unescapeDoubleQuotes(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.util.Cookies:531,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.Cookies:533,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.Cookies:534,1
    - Dst: '[io.undertow.util.HeaderValues].toArray()'
      Src: io.undertow.util.Cookies:535,1
    - Dst: '[StringBuilder].append(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:538,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.util.Cookies:541,1
    - Dst: '[io.undertow.util.HeaderValues].clear()'
      Src: io.undertow.util.Cookies:544,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.Cookies:545,1
    - Dst: '[io.undertow.util.HeaderValues].add(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - headerMap
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 547
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 547
    functionName: '[io.undertow.util.Cookies].assembleCrumbs(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[StringBuilder].append(io.undertow.util.Cookies)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[io.undertow.util.HeaderValues].size()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.util.HeaderValues].clear()'
    - '[io.undertow.util.HeaderValues].add(io.undertow.util.Cookies)'
    - '[io.undertow.util.HeaderValues].toArray()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].assembleCrumbs(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.util.Cookies:556,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.Cookies:559,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.util.Cookies:560,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.Cookies:560,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.util.Cookies:561,1
    - Dst: '[String].split(String)'
      Src: io.undertow.util.Cookies:561,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.util.Cookies:562,1
    - Dst: '[io.undertow.util.HeaderMap].addLast(io.undertow.util.HttpString,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - headerMap
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 4
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: '[io.undertow.util.Cookies].disperseCrumbs(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[String].split(String)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].addLast(io.undertow.util.HttpString,io.undertow.util.Cookies)'
    - '[String].contains(String)'
    - '[io.undertow.util.HeaderValues].size()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Cookies].disperseCrumbs(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.util.Cookies:576,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.util.Cookies:578,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.util.Cookies:578,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.util.Cookies:578,1
    - Dst: '[io.undertow.util.HeaderValues].getFirst()'
      Src: io.undertow.util.Cookies:579,1
    - Dst: '[String].split(String)'
      Src: io.undertow.util.Cookies:579,1
    - Dst: '[java.util.Arrays].asList(io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:580,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.util.Cookies:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - headerMap
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 4
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: '[io.undertow.util.Cookies].getCrumbs(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderValues].getFirst()'
    - '[java.util.Collections].emptyList()'
    - '[String].split(String)'
    - '[String].contains(String)'
    - '[io.undertow.util.HeaderValues].size()'
    - '[java.util.Arrays].asList(io.undertow.util.Cookies)'
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.util.Cookies].getCrumbs(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Boolean].booleanValue()'
      Src: io.undertow.util.Cookies:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 594
    functionName: '[io.undertow.util.Cookies].isCrumbsAssemplyDisabled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 3
    functionsReached:
    - '[Boolean].booleanValue()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.Cookies].isCrumbsAssemplyDisabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(io.undertow.util.Cookies,io.undertow.util.Cookies)'
      Src: io.undertow.util.Cookies:49,1
    - Dst: '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String,String)'
      Src: io.undertow.util.Cookies:590,1
    - Dst: Boolean.valueOf(io.undertow.util.Cookies)
      Src: io.undertow.util.Cookies:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - java.util.regex.Pattern
      - String
      - String
      - Boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.Cookies
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: '[io.undertow.util.Cookies].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.jsr.SecurityActions].getSystemProperty(String,String)'
    - Boolean.valueOf(io.undertow.util.Cookies)
    - '[java.util.regex.Pattern].compile(io.undertow.util.Cookies,io.undertow.util.Cookies)'
    linkageType: ''
    returnType: io.undertow.util.Cookies
    signature: '[io.undertow.util.Cookies].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - CookieImpl
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - String
      - int
      - String
      - String
      - CookieStore
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.Cookies.CookieJar
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.Cookies.CookieJar].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Cookies.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.Cookies.CookieJar
    signature: '[io.undertow.util.Cookies.CookieJar].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.MalformedMessageException
      static: false
      superClass: java.io.IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.MalformedMessageException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/MalformedMessageException.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.MalformedMessageException
    signature: '[io.undertow.util.MalformedMessageException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: io.undertow.util.ParameterLimitException:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ParameterLimitException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: '[io.undertow.util.ParameterLimitException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ParameterLimitException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: io.undertow.util.ParameterLimitException
    signature: '[io.undertow.util.ParameterLimitException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ImmediateConduitFactory
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.util.ImmediateConduitFactory].<init>(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediateConduitFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ImmediateConduitFactory
    signature: '[io.undertow.util.ImmediateConduitFactory].<init>(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.util.ImmediateConduitFactory].create()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediateConduitFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.ImmediateConduitFactory].create()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ImmediatePooledByteBuffer
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooledByteBuffer.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ImmediatePooledByteBuffer
    signature: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.util.ImmediatePooledByteBuffer].getBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooledByteBuffer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.ImmediatePooledByteBuffer].getBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.util.ImmediatePooledByteBuffer].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooledByteBuffer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.ImmediatePooledByteBuffer].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.ByteBuffer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.connector.PooledByteBuffer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.util.ImmediatePooledByteBuffer].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ImmediatePooledByteBuffer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.ImmediatePooledByteBuffer].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.Rfc6265CookieSupport:46,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Rfc6265CookieSupport:48,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.Rfc6265CookieSupport:48,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.util.Rfc6265CookieSupport:53,1
    - Dst: Integer.toString(io.undertow.util.Rfc6265CookieSupport)
      Src: io.undertow.util.Rfc6265CookieSupport:57,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].invalidCookieValue(io.undertow.util.Rfc6265CookieSupport)'
      Src: io.undertow.util.Rfc6265CookieSupport:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.BitSet
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Rfc6265CookieSupport.java
    functionUses: 10
    functionsReached:
    - '[io.undertow.util.Rfc6265CookieSupport].invalidCookieValue(io.undertow.util.Rfc6265CookieSupport)'
    - Integer.toString(io.undertow.util.Rfc6265CookieSupport)
    - '[String].charAt(int)'
    - '[String].length()'
    - '[String].toCharArray()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Rfc6265CookieSupport].validateCookieValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toCharArray()'
      Src: io.undertow.util.Rfc6265CookieSupport:66,1
    - Dst: '[java.util.BitSet].get(io.undertow.util.Rfc6265CookieSupport)'
      Src: io.undertow.util.Rfc6265CookieSupport:70,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].invalidCookieDomain(String)'
      Src: io.undertow.util.Rfc6265CookieSupport:71,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].invalidCookieDomain(String)'
      Src: io.undertow.util.Rfc6265CookieSupport:75,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].invalidCookieDomain(String)'
      Src: io.undertow.util.Rfc6265CookieSupport:79,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].invalidCookieDomain(String)'
      Src: io.undertow.util.Rfc6265CookieSupport:85,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.BitSet
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - domain
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Rfc6265CookieSupport.java
    functionUses: 4
    functionsReached:
    - '[java.util.BitSet].get(io.undertow.util.Rfc6265CookieSupport)'
    - '[io.undertow.util.Rfc6265CookieSupport].invalidCookieDomain(String)'
    - '[String].toCharArray()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Rfc6265CookieSupport].validateDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toCharArray()'
      Src: io.undertow.util.Rfc6265CookieSupport:90,1
    - Dst: '[io.undertow.util.Rfc6265CookieSupport].invalidCookiePath(String)'
      Src: io.undertow.util.Rfc6265CookieSupport:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.BitSet
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Rfc6265CookieSupport.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.util.Rfc6265CookieSupport].invalidCookiePath(String)'
    - '[String].toCharArray()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.Rfc6265CookieSupport].validatePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.BitSet].<init>(int)'
      Src: io.undertow.util.Rfc6265CookieSupport:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.BitSet
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.Rfc6265CookieSupport
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.Rfc6265CookieSupport].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/Rfc6265CookieSupport.java
    functionUses: 0
    functionsReached:
    - '[java.util.BitSet].<init>(int)'
    linkageType: ''
    returnType: io.undertow.util.Rfc6265CookieSupport
    signature: '[io.undertow.util.Rfc6265CookieSupport].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: C
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.util.ConduitFactory].create()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConduitFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: C
    signature: '[io.undertow.util.ConduitFactory].create()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ConduitFactory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.ConduitFactory].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/ConduitFactory.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.ConduitFactory
    signature: '[io.undertow.util.ConduitFactory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.util.CopyOnWriteMap:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.CopyOnWriteMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: '[io.undertow.util.CopyOnWriteMap].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 33
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: io.undertow.util.CopyOnWriteMap
    signature: '[io.undertow.util.CopyOnWriteMap].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.util.CopyOnWriteMap:39,1
    - Dst: '[java.util.HashMap].<init>(java.util.Map<K,V>)'
      Src: io.undertow.util.CopyOnWriteMap:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<K,V>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.CopyOnWriteMap
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - existing
    argTypes:
    - java.util.Map<K,V>
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.util.CopyOnWriteMap].<init>(java.util.Map<K,V>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    - '[java.util.HashMap].<init>(java.util.Map<K,V>)'
    linkageType: ''
    returnType: io.undertow.util.CopyOnWriteMap
    signature: '[io.undertow.util.CopyOnWriteMap].<init>(java.util.Map<K,V>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(K)'
      Src: io.undertow.util.CopyOnWriteMap:51,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
      Src: io.undertow.util.CopyOnWriteMap:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: '[io.undertow.util.CopyOnWriteMap].putIfAbsent(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
    - '[java.util.Map<K,V>].get(K)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.CopyOnWriteMap].putIfAbsent(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(Object)'
      Src: io.undertow.util.CopyOnWriteMap:62,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].equals(Object)'
      Src: io.undertow.util.CopyOnWriteMap:63,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].removeInternal(Object)'
      Src: io.undertow.util.CopyOnWriteMap:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - Object
    - Object
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: '[io.undertow.util.CopyOnWriteMap].remove(Object,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].equals(Object)'
    - '[java.util.Map<K,V>].get(Object)'
    - '[io.undertow.util.CopyOnWriteMap].removeInternal(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.CopyOnWriteMap].remove(Object,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(K)'
      Src: io.undertow.util.CopyOnWriteMap:73,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].equals(V)'
      Src: io.undertow.util.CopyOnWriteMap:74,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
      Src: io.undertow.util.CopyOnWriteMap:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - key
    - oldValue
    - newValue
    argTypes:
    - K
    - V
    - V
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: '[io.undertow.util.CopyOnWriteMap].replace(K,V,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
    - '[java.util.Map<K,V>].get(K)'
    - '[io.undertow.util.CopyOnWriteMap].equals(V)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.CopyOnWriteMap].replace(K,V,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(K)'
      Src: io.undertow.util.CopyOnWriteMap:84,1
    - Dst: '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
      Src: io.undertow.util.CopyOnWriteMap:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: '[io.undertow.util.CopyOnWriteMap].replace(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
    - '[java.util.Map<K,V>].get(K)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.CopyOnWriteMap].replace(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].size()'
      Src: io.undertow.util.CopyOnWriteMap:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.util.CopyOnWriteMap].size()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].size()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.CopyOnWriteMap].size()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].isEmpty()'
      Src: io.undertow.util.CopyOnWriteMap:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.util.CopyOnWriteMap].isEmpty()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].isEmpty()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.CopyOnWriteMap].isEmpty()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].containsKey(Object)'
      Src: io.undertow.util.CopyOnWriteMap:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.util.CopyOnWriteMap].containsKey(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].containsKey(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.CopyOnWriteMap].containsKey(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].containsValue(Object)'
      Src: io.undertow.util.CopyOnWriteMap:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.util.CopyOnWriteMap].containsValue(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].containsValue(Object)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.CopyOnWriteMap].containsValue(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].get(Object)'
      Src: io.undertow.util.CopyOnWriteMap:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.util.CopyOnWriteMap].get(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].get(Object)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.CopyOnWriteMap].get(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
      Src: io.undertow.util.CopyOnWriteMap:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.util.CopyOnWriteMap].put(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.CopyOnWriteMap].put(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].removeInternal(Object)'
      Src: io.undertow.util.CopyOnWriteMap:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.util.CopyOnWriteMap].remove(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].removeInternal(Object)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.CopyOnWriteMap].remove(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>(java.util.Map<K,V>)'
      Src: io.undertow.util.CopyOnWriteMap:129,1
    - Dst: '[java.util.Map<?extendsK,?extendsV>].entrySet()'
      Src: io.undertow.util.CopyOnWriteMap:130,1
    - Dst: e.getKey()
      Src: io.undertow.util.CopyOnWriteMap:131,1
    - Dst: e.getValue()
      Src: io.undertow.util.CopyOnWriteMap:131,1
    - Dst: '[java.util.HashMap].put(io.undertow.util.CopyOnWriteMap,io.undertow.util.CopyOnWriteMap)'
      Src: io.undertow.util.CopyOnWriteMap:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<?extendsK,?extendsV>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - m
    argTypes:
    - java.util.Map<?extendsK,?extendsV>
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: '[io.undertow.util.CopyOnWriteMap].putAll(java.util.Map<?extendsK,?extendsV>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - e.getValue()
    - '[java.util.HashMap].put(io.undertow.util.CopyOnWriteMap,io.undertow.util.CopyOnWriteMap)'
    - '[java.util.HashMap].<init>(java.util.Map<K,V>)'
    - '[java.util.Map<?extendsK,?extendsV>].entrySet()'
    - e.getKey()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CopyOnWriteMap].putAll(java.util.Map<?extendsK,?extendsV>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyMap()'
      Src: io.undertow.util.CopyOnWriteMap:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: '[io.undertow.util.CopyOnWriteMap].clear()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyMap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.CopyOnWriteMap].clear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].keySet()'
      Src: io.undertow.util.CopyOnWriteMap:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<K>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: '[io.undertow.util.CopyOnWriteMap].keySet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].keySet()'
    linkageType: ''
    returnType: java.util.Set<K>
    signature: '[io.undertow.util.CopyOnWriteMap].keySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].values()'
      Src: io.undertow.util.CopyOnWriteMap:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<V>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.util.CopyOnWriteMap].values()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].values()'
    linkageType: ''
    returnType: java.util.Collection<V>
    signature: '[io.undertow.util.CopyOnWriteMap].values()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<K,V>].entrySet()'
      Src: io.undertow.util.CopyOnWriteMap:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<Entry<K,V>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: '[io.undertow.util.CopyOnWriteMap].entrySet()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<K,V>].entrySet()'
    linkageType: ''
    returnType: java.util.Set<Entry<K,V>>
    signature: '[io.undertow.util.CopyOnWriteMap].entrySet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>(java.util.Map<K,V>)'
      Src: io.undertow.util.CopyOnWriteMap:158,1
    - Dst: '[java.util.HashMap].put(K,V)'
      Src: io.undertow.util.CopyOnWriteMap:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - K
      - V
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 4
    functionsReached:
    - '[java.util.HashMap].put(K,V)'
    - '[java.util.HashMap].<init>(java.util.Map<K,V>)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.CopyOnWriteMap].putInternal(K,V)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>(java.util.Map<K,V>)'
      Src: io.undertow.util.CopyOnWriteMap:165,1
    - Dst: '[java.util.HashMap].remove(Object)'
      Src: io.undertow.util.CopyOnWriteMap:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<K,V>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: V
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: '[io.undertow.util.CopyOnWriteMap].removeInternal(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/CopyOnWriteMap.java
    functionUses: 2
    functionsReached:
    - '[java.util.HashMap].<init>(java.util.Map<K,V>)'
    - '[java.util.HashMap].remove(Object)'
    linkageType: ''
    returnType: V
    signature: '[io.undertow.util.CopyOnWriteMap].removeInternal(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<java.text.SimpleDateFormat>].get()'
      Src: io.undertow.util.DateUtils:103,1
    - Dst: '[io.undertow.util.DateUtils].setTimeZone(java.util.TimeZone)'
      Src: io.undertow.util.DateUtils:107,1
    - Dst: '[io.undertow.util.DateUtils].format(java.util.Date)'
      Src: io.undertow.util.DateUtils:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - date
    argTypes:
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 14
    functionsReached:
    - '[ThreadLocal<java.text.SimpleDateFormat>].get()'
    - '[io.undertow.util.DateUtils].format(java.util.Date)'
    - '[io.undertow.util.DateUtils].setTimeZone(java.util.TimeZone)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<java.text.SimpleDateFormat>].get()'
      Src: io.undertow.util.DateUtils:113,1
    - Dst: '[io.undertow.util.DateUtils].format(java.util.Date)'
      Src: io.undertow.util.DateUtils:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - date
    argTypes:
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 3
    functionsReached:
    - '[ThreadLocal<java.text.SimpleDateFormat>].get()'
    - '[io.undertow.util.DateUtils].format(java.util.Date)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.DateUtils].toOldCookieDateString(java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<java.text.SimpleDateFormat>].get()'
      Src: io.undertow.util.DateUtils:117,1
    - Dst: '[io.undertow.util.DateUtils].format(java.util.Date)'
      Src: io.undertow.util.DateUtils:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - date
    argTypes:
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[io.undertow.util.DateUtils].toCommonLogFormat(java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 1
    functionsReached:
    - '[ThreadLocal<java.text.SimpleDateFormat>].get()'
    - '[io.undertow.util.DateUtils].format(java.util.Date)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.DateUtils].toCommonLogFormat(java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.util.DateUtils:135,1
    - Dst: '[String].substring(int,io.undertow.util.DateUtils)'
      Src: io.undertow.util.DateUtils:136,1
    - Dst: '[java.text.ParsePosition].<init>(int)'
      Src: io.undertow.util.DateUtils:138,1
    - Dst: '[ThreadLocal<java.text.SimpleDateFormat>].get()'
      Src: io.undertow.util.DateUtils:139,1
    - Dst: '[io.undertow.util.DateUtils].setTimeZone(java.util.TimeZone)'
      Src: io.undertow.util.DateUtils:140,1
    - Dst: '[io.undertow.util.DateUtils].parse(io.undertow.util.DateUtils,java.text.ParsePosition)'
      Src: io.undertow.util.DateUtils:141,1
    - Dst: '[java.text.ParsePosition].getIndex()'
      Src: io.undertow.util.DateUtils:142,1
    - Dst: trimmedDate.length()
      Src: io.undertow.util.DateUtils:142,1
    - Dst: '[java.text.ParsePosition].<init>(int)'
      Src: io.undertow.util.DateUtils:146,1
    - Dst: '[java.text.SimpleDateFormat].<init>(String,java.util.Locale)'
      Src: io.undertow.util.DateUtils:147,1
    - Dst: '[java.text.SimpleDateFormat].setTimeZone(java.util.TimeZone)'
      Src: io.undertow.util.DateUtils:148,1
    - Dst: '[java.text.SimpleDateFormat].parse(io.undertow.util.DateUtils,java.text.ParsePosition)'
      Src: io.undertow.util.DateUtils:149,1
    - Dst: '[java.text.ParsePosition].getIndex()'
      Src: io.undertow.util.DateUtils:150,1
    - Dst: trimmedDate.length()
      Src: io.undertow.util.DateUtils:150,1
    - Dst: '[java.text.ParsePosition].<init>(int)'
      Src: io.undertow.util.DateUtils:154,1
    - Dst: '[java.text.SimpleDateFormat].<init>(String,java.util.Locale)'
      Src: io.undertow.util.DateUtils:155,1
    - Dst: '[java.text.SimpleDateFormat].setTimeZone(java.util.TimeZone)'
      Src: io.undertow.util.DateUtils:156,1
    - Dst: '[java.text.SimpleDateFormat].parse(io.undertow.util.DateUtils,java.text.ParsePosition)'
      Src: io.undertow.util.DateUtils:157,1
    - Dst: '[java.text.ParsePosition].getIndex()'
      Src: io.undertow.util.DateUtils:158,1
    - Dst: trimmedDate.length()
      Src: io.undertow.util.DateUtils:158,1
    - Dst: '[java.text.ParsePosition].<init>(int)'
      Src: io.undertow.util.DateUtils:162,1
    - Dst: '[java.text.SimpleDateFormat].<init>(String,java.util.Locale)'
      Src: io.undertow.util.DateUtils:163,1
    - Dst: '[java.text.SimpleDateFormat].setTimeZone(java.util.TimeZone)'
      Src: io.undertow.util.DateUtils:164,1
    - Dst: '[java.text.SimpleDateFormat].parse(io.undertow.util.DateUtils,java.text.ParsePosition)'
      Src: io.undertow.util.DateUtils:165,1
    - Dst: '[java.text.ParsePosition].getIndex()'
      Src: io.undertow.util.DateUtils:166,1
    - Dst: trimmedDate.length()
      Src: io.undertow.util.DateUtils:166,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - date
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 171
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 171
    functionName: '[io.undertow.util.DateUtils].parseDate(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 8
    functionsReached:
    - '[java.text.ParsePosition].getIndex()'
    - '[String].indexOf(char)'
    - '[String].substring(int,io.undertow.util.DateUtils)'
    - trimmedDate.length()
    - '[java.text.SimpleDateFormat].<init>(String,java.util.Locale)'
    - '[ThreadLocal<java.text.SimpleDateFormat>].get()'
    - '[java.text.SimpleDateFormat].setTimeZone(java.util.TimeZone)'
    - '[io.undertow.util.DateUtils].setTimeZone(java.util.TimeZone)'
    - '[java.text.ParsePosition].<init>(int)'
    - '[io.undertow.util.DateUtils].parse(io.undertow.util.DateUtils,java.text.ParsePosition)'
    - '[java.text.SimpleDateFormat].parse(io.undertow.util.DateUtils,java.text.ParsePosition)'
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.util.DateUtils].parseDate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.util.DateUtils:181,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.DateUtils:181,1
    - Dst: '[io.undertow.util.DateUtils].handleIfModifiedSince(String,java.util.Date)'
      Src: io.undertow.util.DateUtils:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - lastModified
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: '[io.undertow.util.DateUtils].handleIfModifiedSince(io.undertow.server.HttpServerExchange,java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.DateUtils].handleIfModifiedSince(String,java.util.Date)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.DateUtils].handleIfModifiedSince(io.undertow.server.HttpServerExchange,java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.DateUtils].parseDate(String)'
      Src: io.undertow.util.DateUtils:198,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.util.DateUtils:202,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.util.DateUtils:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - modifiedSince
    - lastModified
    argTypes:
    - String
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: '[io.undertow.util.DateUtils].handleIfModifiedSince(String,java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.DateUtils].parseDate(String)'
    - '[java.util.Date].getTime()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.DateUtils].handleIfModifiedSince(String,java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
      Src: io.undertow.util.DateUtils:213,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.util.DateUtils:213,1
    - Dst: '[io.undertow.util.DateUtils].handleIfUnmodifiedSince(String,java.util.Date)'
      Src: io.undertow.util.DateUtils:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - lastModified
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.util.DateUtils].handleIfUnmodifiedSince(io.undertow.server.HttpServerExchange,java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.DateUtils].handleIfUnmodifiedSince(String,java.util.Date)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestHeaders()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.DateUtils].handleIfUnmodifiedSince(io.undertow.server.HttpServerExchange,java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.DateUtils].parseDate(String)'
      Src: io.undertow.util.DateUtils:230,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.util.DateUtils:234,1
    - Dst: '[java.util.Date].getTime()'
      Src: io.undertow.util.DateUtils:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - modifiedSince
    - lastModified
    argTypes:
    - String
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: '[io.undertow.util.DateUtils].handleIfUnmodifiedSince(String,java.util.Date)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.DateUtils].parseDate(String)'
    - '[java.util.Date].getTime()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.DateUtils].handleIfUnmodifiedSince(String,java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
      Src: io.undertow.util.DateUtils:238,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.util.DateUtils:239,1
    - Dst: '[io.undertow.server.ServerConnection].getUndertowOptions()'
      Src: io.undertow.util.DateUtils:239,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.util.DateUtils:239,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.util.DateUtils:239,1
    - Dst: '[io.undertow.util.DateUtils].getCurrentDateTime(io.undertow.server.HttpServerExchange)'
      Src: io.undertow.util.DateUtils:240,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.util.DateUtils:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: '[io.undertow.util.DateUtils].addDateHeaderIfRequired(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.server.ServerConnection].getUndertowOptions()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getResponseHeaders()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.util.DateUtils].getCurrentDateTime(io.undertow.server.HttpServerExchange)'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.DateUtils].addDateHeaderIfRequired(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<String>].get()'
      Src: io.undertow.util.DateUtils:246,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.util.DateUtils:251,1
    - Dst: '[java.util.Date].<init>(io.undertow.util.DateUtils)'
      Src: io.undertow.util.DateUtils:254,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.util.DateUtils:254,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference<String>].compareAndSet(null,String)'
      Src: io.undertow.util.DateUtils:255,1
    - Dst: '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,io.undertow.util.DateUtils,io.undertow.util.DateUtils)'
      Src: io.undertow.util.DateUtils:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: '[io.undertow.util.DateUtils].getCurrentDateTime(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[java.util.concurrent.atomic.AtomicReference<String>].compareAndSet(null,String)'
    - '[java.util.Date].<init>(io.undertow.util.DateUtils)'
    - System.currentTimeMillis()
    - '[io.undertow.util.WorkerUtils].executeAfter(org.xnio.XnioIoThread,Runnable,io.undertow.util.DateUtils,io.undertow.util.DateUtils)'
    - '[java.util.concurrent.atomic.AtomicReference<String>].get()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.DateUtils].getCurrentDateTime(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TimeZone].getTimeZone(String)'
      Src: io.undertow.util.DateUtils:41,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.util.DateUtils:45,1
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.util.DateUtils:53,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.util.DateUtils:64,1
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.util.DateUtils:79,1
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.util.DateUtils:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Locale
      - java.util.TimeZone
      - String
      - java.util.concurrent.atomic.AtomicReference<String>
      - ThreadLocal<java.text.SimpleDateFormat>
      - Runnable
      - String
      - String
      - String
      - String
      - ThreadLocal<java.text.SimpleDateFormat>
      - ThreadLocal<java.text.SimpleDateFormat>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.DateUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: '[io.undertow.util.DateUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/DateUtils.java
    functionUses: 0
    functionsReached:
    - '[java.util.TimeZone].getTimeZone(String)'
    - '[ThreadLocal].<init>()'
    - '[Runnable].<init>()'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    linkageType: ''
    returnType: io.undertow.util.DateUtils
    signature: '[io.undertow.util.DateUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HexConverter].checkNotNullParamWithNullPointerException(String,byte[])'
      Src: io.undertow.util.HexConverter:43,1
    - Dst: String.valueOf(io.undertow.util.HexConverter)
      Src: io.undertow.util.HexConverter:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - toBeConverted
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: '[io.undertow.util.HexConverter].convertToHexString(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HexConverter.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HexConverter].checkNotNullParamWithNullPointerException(String,byte[])'
    - String.valueOf(io.undertow.util.HexConverter)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.HexConverter].convertToHexString(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HexConverter].checkNotNullParamWithNullPointerException(String,byte[])'
      Src: io.undertow.util.HexConverter:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - toBeConverted
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: '[io.undertow.util.HexConverter].convertToHexBytes(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HexConverter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HexConverter].checkNotNullParamWithNullPointerException(String,byte[])'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.HexConverter].convertToHexBytes(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.util.HexConverter:89,1
    - Dst: '[io.undertow.util.HexConverter].toByte(char[],io.undertow.util.HexConverter)'
      Src: io.undertow.util.HexConverter:96,1
    - Dst: '[io.undertow.util.HexConverter].toByte(char[],int)'
      Src: io.undertow.util.HexConverter:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - toConvert
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: '[io.undertow.util.HexConverter].convertFromHex(char[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HexConverter.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>(String)'
    - '[io.undertow.util.HexConverter].toByte(char[],io.undertow.util.HexConverter)'
    - '[io.undertow.util.HexConverter].toByte(char[],int)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.HexConverter].convertFromHex(char[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Character.digit(int)
      Src: io.undertow.util.HexConverter:103,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.util.HexConverter)'
      Src: io.undertow.util.HexConverter:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - toConvert
    - pos
    argTypes:
    - char[]
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: '[io.undertow.util.HexConverter].toByte(char[],int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HexConverter.java
    functionUses: 1
    functionsReached:
    - '[IllegalArgumentException].<init>(io.undertow.util.HexConverter)'
    - Character.digit(int)
    linkageType: ''
    returnType: byte
    signature: '[io.undertow.util.HexConverter].toByte(char[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].toCharArray()'
      Src: io.undertow.util.HexConverter:121,1
    - Dst: '[io.undertow.util.HexConverter].convertFromHex(io.undertow.util.HexConverter)'
      Src: io.undertow.util.HexConverter:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - toConvert
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: '[io.undertow.util.HexConverter].convertFromHex(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HexConverter.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.HexConverter].convertFromHex(io.undertow.util.HexConverter)'
    - '[String].toCharArray()'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.HexConverter].convertFromHex(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HexConverter].convertToHexString(io.undertow.util.HexConverter)'
      Src: io.undertow.util.HexConverter:130,1
    - Dst: System.out.println(String)
      Src: io.undertow.util.HexConverter:132,1
    - Dst: '[io.undertow.util.HexConverter].convertFromHex(String)'
      Src: io.undertow.util.HexConverter:134,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.util.HexConverter:136,1
    - Dst: '[StringBuilder].append(int)'
      Src: io.undertow.util.HexConverter:138,1
    - Dst: '[io.undertow.util.HexConverter].append(String)'
      Src: io.undertow.util.HexConverter:138,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.util.HexConverter:140,1
    - Dst: System.out.println(String)
      Src: io.undertow.util.HexConverter:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - args
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: '[io.undertow.util.HexConverter].main(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HexConverter.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(int)'
    - '[io.undertow.util.HexConverter].append(String)'
    - '[StringBuilder].<init>()'
    - '[io.undertow.util.HexConverter].convertFromHex(String)'
    - '[StringBuilder].toString()'
    - '[io.undertow.util.HexConverter].convertToHexString(io.undertow.util.HexConverter)'
    - System.out.println(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.HexConverter].main(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - char[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HexConverter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.HexConverter].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/HexConverter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HexConverter
    signature: '[io.undertow.util.HexConverter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.util.PooledObject].getObject()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PooledObject].getObject()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[io.undertow.util.PooledObject].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledObject.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PooledObject].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PooledObject
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PooledObject].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PooledObject.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PooledObject
    signature: '[io.undertow.util.PooledObject].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].equals(String)'
      Src: io.undertow.util.PathTemplateMatcher:56,1
    - Dst: normalizedPath.startsWith(String)
      Src: io.undertow.util.PathTemplateMatcher:57,1
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.util.PathTemplateMatcher:59,1
    - Dst: normalizedPath.length()
      Src: io.undertow.util.PathTemplateMatcher:60,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:65,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].handleStemMatch(io.undertow.util.PathTemplateMatcher,io.undertow.util.PathTemplateMatcher,java.util.LinkedHashMap)'
      Src: io.undertow.util.PathTemplateMatcher:67,1
    - Dst: normalizedPath.substring(int,io.undertow.util.PathTemplateMatcher)
      Src: io.undertow.util.PathTemplateMatcher:73,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:74,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].handleStemMatch(io.undertow.util.PathTemplateMatcher,io.undertow.util.PathTemplateMatcher,java.util.LinkedHashMap)'
      Src: io.undertow.util.PathTemplateMatcher:76,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: PathMatchResult<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: '[io.undertow.util.PathTemplateMatcher].match(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 1
    functionsReached:
    - normalizedPath.substring(int,io.undertow.util.PathTemplateMatcher)
    - '[String].equals(String)'
    - normalizedPath.startsWith(String)
    - '[java.util.LinkedHashMap].<init>()'
    - '[io.undertow.util.PathTemplateMatcher].handleStemMatch(io.undertow.util.PathTemplateMatcher,io.undertow.util.PathTemplateMatcher,java.util.LinkedHashMap)'
    - normalizedPath.length()
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(io.undertow.util.PathTemplateMatcher)'
    linkageType: ''
    returnType: PathMatchResult<T>
    signature: '[io.undertow.util.PathTemplateMatcher].match(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: val.template.matches(String,java.util.Map<String,String>)
      Src: io.undertow.util.PathTemplateMatcher:88,1
    - Dst: '[io.undertow.util.PathTemplateMatcher.PathMatchResult].<init>(java.util.Map<String,String>,io.undertow.util.PathTemplateMatcher,io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:89,1
    - Dst: '[java.util.Map<String,String>].clear()'
      Src: io.undertow.util.PathTemplateMatcher:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<PathTemplateHolder>
      - String
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PathMatchResult<T>
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - entry
    - path
    - params
    argTypes:
    - java.util.Set<PathTemplateHolder>
    - String
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: '[io.undertow.util.PathTemplateMatcher].handleStemMatch(java.util.Set<PathTemplateHolder>,String,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - val.template.matches(String,java.util.Map<String,String>)
    - '[io.undertow.util.PathTemplateMatcher.PathMatchResult].<init>(java.util.Map<String,String>,io.undertow.util.PathTemplateMatcher,io.undertow.util.PathTemplateMatcher)'
    - '[java.util.Map<String,String>].clear()'
    linkageType: ''
    returnType: PathMatchResult<T>
    signature: '[io.undertow.util.PathTemplateMatcher].handleStemMatch(java.util.Set<PathTemplateHolder>,String,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateMatcher:99,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(String)'
      Src: io.undertow.util.PathTemplateMatcher:99,1
    - Dst: '[java.util.TreeSet].<init>()'
      Src: io.undertow.util.PathTemplateMatcher:102,1
    - Dst: '[java.util.TreeSet].<init>(io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:104,1
    - Dst: '[PathTemplateHolder].<init>(T,io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateMatcher:106,1
    - Dst: '[java.util.TreeSet].contains(PathTemplateHolder)'
      Src: io.undertow.util.PathTemplateMatcher:107,1
    - Dst: item.compareTo(PathTemplateHolder)
      Src: io.undertow.util.PathTemplateMatcher:110,1
    - Dst: '[io.undertow.util.PathTemplate].getTemplateString()'
      Src: io.undertow.util.PathTemplateMatcher:115,1
    - Dst: equivalent.getTemplateString()
      Src: io.undertow.util.PathTemplateMatcher:115,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].matcherAlreadyContainsTemplate(String,io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:115,1
    - Dst: '[java.util.TreeSet].add(PathTemplateHolder)'
      Src: io.undertow.util.PathTemplateMatcher:117,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateMatcher:118,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].put(String,java.util.TreeSet)'
      Src: io.undertow.util.PathTemplateMatcher:118,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].buildLengths()'
      Src: io.undertow.util.PathTemplateMatcher:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplate
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateMatcher<T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - template
    - value
    argTypes:
    - io.undertow.util.PathTemplate
    - T
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: '[io.undertow.util.PathTemplateMatcher].add(io.undertow.util.PathTemplate,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 1
    functionsReached:
    - '[java.util.TreeSet].<init>()'
    - '[PathTemplateHolder].<init>(T,io.undertow.util.PathTemplate)'
    - '[java.util.TreeSet].<init>(io.undertow.util.PathTemplateMatcher)'
    - item.compareTo(PathTemplateHolder)
    - '[io.undertow.util.PathTemplate].getTemplateString()'
    - '[io.undertow.util.PathTemplateMatcher].matcherAlreadyContainsTemplate(String,io.undertow.util.PathTemplateMatcher)'
    - '[java.util.TreeSet].contains(PathTemplateHolder)'
    - '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
    - equivalent.getTemplateString()
    - '[io.undertow.util.PathTemplateMatcher].buildLengths()'
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(String)'
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].put(String,java.util.TreeSet)'
    - '[java.util.TreeSet].add(PathTemplateHolder)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcher<T>
    signature: '[io.undertow.util.PathTemplateMatcher].add(io.undertow.util.PathTemplate,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].getBase()'
      Src: io.undertow.util.PathTemplateMatcher:124,1
    - Dst: '[io.undertow.util.PathTemplate].getBase()'
      Src: io.undertow.util.PathTemplateMatcher:126,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.util.PathTemplateMatcher:126,1
    - Dst: '[io.undertow.util.PathTemplate].getParameterNames()'
      Src: io.undertow.util.PathTemplateMatcher:126,1
    - Dst: '[java.util.Set<String>].isEmpty()'
      Src: io.undertow.util.PathTemplateMatcher:126,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplateMatcher:127,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.util.PathTemplateMatcher:127,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.util.PathTemplateMatcher:129,1
    - Dst: '[String].length()'
      Src: io.undertow.util.PathTemplateMatcher:130,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.util.PathTemplateMatcher:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplate
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - io.undertow.util.PathTemplate
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.PathTemplate].getParameterNames()'
    - '[String].length()'
    - '[String].endsWith(String)'
    - '[String].substring(int,int)'
    - '[io.undertow.util.PathTemplate].getBase()'
    - '[java.util.Set<String>].isEmpty()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.util.PathTemplateMatcher:136,1
    - Dst: '[java.util.TreeSet].<init>(java.util.Comparator)'
      Src: io.undertow.util.PathTemplateMatcher:136,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].keySet()'
      Src: io.undertow.util.PathTemplateMatcher:142,1
    - Dst: p.length()
      Src: io.undertow.util.PathTemplateMatcher:143,1
    - Dst: '[java.util.TreeSet].add(io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:143,1
    - Dst: '[java.util.TreeSet].size()'
      Src: io.undertow.util.PathTemplateMatcher:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: '[io.undertow.util.PathTemplateMatcher].buildLengths()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 2
    functionsReached:
    - '[java.util.Comparator].<init>()'
    - '[java.util.TreeSet].add(io.undertow.util.PathTemplateMatcher)'
    - '[java.util.TreeSet].size()'
    - '[java.util.TreeSet].<init>(java.util.Comparator)'
    - p.length()
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].keySet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.PathTemplateMatcher].buildLengths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateMatcher:155,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].add(io.undertow.util.PathTemplate,T)'
      Src: io.undertow.util.PathTemplateMatcher:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateMatcher<T>
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - pathTemplate
    - value
    argTypes:
    - String
    - T
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '[io.undertow.util.PathTemplateMatcher].add(String,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatcher].add(io.undertow.util.PathTemplate,T)'
    - '[io.undertow.util.PathTemplate].create(String)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcher<T>
    signature: '[io.undertow.util.PathTemplateMatcher].add(String,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateMatcher<T>].getPathTemplateMap()'
      Src: io.undertow.util.PathTemplateMatcher:160,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].entrySet()'
      Src: io.undertow.util.PathTemplateMatcher:160,1
    - Dst: entry.getValue()
      Src: io.undertow.util.PathTemplateMatcher:161,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].add(io.undertow.util.PathTemplateMatcher,io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplateMatcher<T>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateMatcher<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pathTemplateMatcher
    argTypes:
    - io.undertow.util.PathTemplateMatcher<T>
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: '[io.undertow.util.PathTemplateMatcher].addAll(io.undertow.util.PathTemplateMatcher<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatcher<T>].getPathTemplateMap()'
    - entry.getValue()
    - '[io.undertow.util.PathTemplateMatcher].add(io.undertow.util.PathTemplateMatcher,io.undertow.util.PathTemplateMatcher)'
    - '[io.undertow.util.PathTemplateMatcher].entrySet()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcher<T>
    signature: '[io.undertow.util.PathTemplateMatcher].addAll(io.undertow.util.PathTemplateMatcher<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,java.util.Set<PathTemplateHolder>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: '[io.undertow.util.PathTemplateMatcher].getPathTemplateMap()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,java.util.Set<PathTemplateHolder>>
    signature: '[io.undertow.util.PathTemplateMatcher].getPathTemplateMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashSet].<init>()'
      Src: io.undertow.util.PathTemplateMatcher:173,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].values()'
      Src: io.undertow.util.PathTemplateMatcher:174,1
    - Dst: '[java.util.HashSet].add(io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<io.undertow.util.PathTemplate>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: '[io.undertow.util.PathTemplateMatcher].getPathTemplates()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].values()'
    - '[java.util.HashSet].<init>()'
    - '[java.util.HashSet].add(io.undertow.util.PathTemplateMatcher)'
    linkageType: ''
    returnType: java.util.Set<io.undertow.util.PathTemplate>
    signature: '[io.undertow.util.PathTemplateMatcher].getPathTemplates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateMatcher:183,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].remove(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateMatcher:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateMatcher<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pathTemplate
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: '[io.undertow.util.PathTemplateMatcher].remove(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatcher].remove(io.undertow.util.PathTemplate)'
    - '[io.undertow.util.PathTemplate].create(String)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcher<T>
    signature: '[io.undertow.util.PathTemplateMatcher].remove(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateMatcher:188,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(String)'
      Src: io.undertow.util.PathTemplateMatcher:188,1
    - Dst: '[java.util.TreeSet].<init>(io.undertow.util.PathTemplateMatcher)'
      Src: io.undertow.util.PathTemplateMatcher:193,1
    - Dst: '[java.util.TreeSet].iterator()'
      Src: io.undertow.util.PathTemplateMatcher:195,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].hasNext()'
      Src: io.undertow.util.PathTemplateMatcher:196,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].next()'
      Src: io.undertow.util.PathTemplateMatcher:197,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].getTemplateString()'
      Src: io.undertow.util.PathTemplateMatcher:198,1
    - Dst: '[io.undertow.util.PathTemplate].getTemplateString()'
      Src: io.undertow.util.PathTemplateMatcher:198,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].equals(String)'
      Src: io.undertow.util.PathTemplateMatcher:198,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].remove()'
      Src: io.undertow.util.PathTemplateMatcher:199,1
    - Dst: '[java.util.TreeSet].size()'
      Src: io.undertow.util.PathTemplateMatcher:203,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateMatcher:204,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].remove(String)'
      Src: io.undertow.util.PathTemplateMatcher:204,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateMatcher:206,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].put(String,java.util.TreeSet)'
      Src: io.undertow.util.PathTemplateMatcher:206,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].buildLengths()'
      Src: io.undertow.util.PathTemplateMatcher:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.PathTemplate
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateMatcher<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - io.undertow.util.PathTemplate
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: '[io.undertow.util.PathTemplateMatcher].remove(io.undertow.util.PathTemplate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 1
    functionsReached:
    - '[java.util.TreeSet].<init>(io.undertow.util.PathTemplateMatcher)'
    - '[io.undertow.util.PathTemplate].getTemplateString()'
    - '[io.undertow.util.PathTemplateMatcher].getTemplateString()'
    - '[io.undertow.util.PathTemplateMatcher].remove()'
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].remove(String)'
    - '[io.undertow.util.PathTemplateMatcher].next()'
    - '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
    - '[io.undertow.util.PathTemplateMatcher].equals(String)'
    - '[java.util.TreeSet].size()'
    - '[io.undertow.util.PathTemplateMatcher].hasNext()'
    - '[io.undertow.util.PathTemplateMatcher].buildLengths()'
    - '[java.util.TreeSet].iterator()'
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(String)'
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].put(String,java.util.TreeSet)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcher<T>
    signature: '[io.undertow.util.PathTemplateMatcher].remove(io.undertow.util.PathTemplate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].create(String)'
      Src: io.undertow.util.PathTemplateMatcher:214,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
      Src: io.undertow.util.PathTemplateMatcher:215,1
    - Dst: '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(String)'
      Src: io.undertow.util.PathTemplateMatcher:215,1
    - Dst: next.template.getTemplateString()
      Src: io.undertow.util.PathTemplateMatcher:220,1
    - Dst: '[io.undertow.util.PathTemplateMatcher].equals(String)'
      Src: io.undertow.util.PathTemplateMatcher:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: '[io.undertow.util.PathTemplateMatcher].get(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatcher].trimBase(io.undertow.util.PathTemplate)'
    - next.template.getTemplateString()
    - '[io.undertow.util.PathTemplate].create(String)'
    - '[io.undertow.util.PathTemplateMatcher].equals(String)'
    - '[java.util.Map<String,java.util.Set<PathTemplateHolder>>].get(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PathTemplateMatcher].get(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.CopyOnWriteMap].<init>()'
      Src: io.undertow.util.PathTemplateMatcher:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,java.util.Set<PathTemplateHolder>>
      - int[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateMatcher
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.PathTemplateMatcher].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.util.CopyOnWriteMap].<init>()'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcher
    signature: '[io.undertow.util.PathTemplateMatcher].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplateMatch].<init>(String,java.util.Map<String,String>)'
      Src: io.undertow.util.PathTemplateMatcher.PathMatchResult:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,String>
      - String
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.PathTemplateMatcher.PathMatchResult
      static: false
      superClass: PathTemplateMatch
    argCount: 3
    argNames:
    - parameters
    - matchedTemplate
    - value
    argTypes:
    - java.util.Map<String,String>
    - String
    - T
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: '[io.undertow.util.PathTemplateMatcher.PathMatchResult].<init>(java.util.Map<String,String>,String,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplateMatch].<init>(String,java.util.Map<String,String>)'
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcher.PathMatchResult
    signature: '[io.undertow.util.PathTemplateMatcher.PathMatchResult].<init>(java.util.Map<String,String>,String,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: PathTemplateMatch
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: '[io.undertow.util.PathTemplateMatcher.PathMatchResult].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.util.PathTemplateMatcher.PathMatchResult].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      - io.undertow.util.PathTemplate
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - PathTemplate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.PathTemplateMatcher.PathTemplateHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - value
    - template
    argTypes:
    - T
    - io.undertow.util.PathTemplate
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '[io.undertow.util.PathTemplateMatcher.PathTemplateHolder].<init>(T,io.undertow.util.PathTemplate)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.PathTemplateMatcher.PathTemplateHolder
    signature: '[io.undertow.util.PathTemplateMatcher.PathTemplateHolder].<init>(T,io.undertow.util.PathTemplate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].getClass()'
      Src: io.undertow.util.PathTemplateMatcher.PathTemplateHolder:253,1
    - Dst: PathTemplateHolder.class.equals(io.undertow.util.PathTemplateMatcher.PathTemplateHolder)
      Src: io.undertow.util.PathTemplateMatcher.PathTemplateHolder:253,1
    - Dst: '[io.undertow.util.PathTemplate].equals(io.undertow.util.PathTemplateMatcher.PathTemplateHolder)'
      Src: io.undertow.util.PathTemplateMatcher.PathTemplateHolder:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - PathTemplate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: '[io.undertow.util.PathTemplateMatcher.PathTemplateHolder].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - PathTemplateHolder.class.equals(io.undertow.util.PathTemplateMatcher.PathTemplateHolder)
    - '[io.undertow.util.PathTemplate].equals(io.undertow.util.PathTemplateMatcher.PathTemplateHolder)'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.util.PathTemplateMatcher.PathTemplateHolder].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].hashCode()'
      Src: io.undertow.util.PathTemplateMatcher.PathTemplateHolder:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - PathTemplate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: '[io.undertow.util.PathTemplateMatcher.PathTemplateHolder].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplate].hashCode()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateMatcher.PathTemplateHolder].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.PathTemplate].compareTo(io.undertow.util.PathTemplateMatcher.PathTemplateHolder)'
      Src: io.undertow.util.PathTemplateMatcher.PathTemplateHolder:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PathTemplateHolder
      classConcrete: true
      classEnum: false
      classFields:
      - T
      - PathTemplate
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - PathTemplateHolder
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: '[io.undertow.util.PathTemplateMatcher.PathTemplateHolder].compareTo(PathTemplateHolder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/PathTemplateMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.PathTemplate].compareTo(io.undertow.util.PathTemplateMatcher.PathTemplateHolder)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.PathTemplateMatcher.PathTemplateHolder].compareTo(PathTemplateHolder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Encoder].<init>(boolean,boolean)'
      Src: io.undertow.util.FlexBase64:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Encoder
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - wrap
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: '[io.undertow.util.FlexBase64].createEncoder(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.Encoder].<init>(boolean,boolean)'
    linkageType: ''
    returnType: Encoder
    signature: '[io.undertow.util.FlexBase64].createEncoder(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Encoder].<init>(boolean,boolean)'
      Src: io.undertow.util.FlexBase64:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Encoder
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - wrap
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.util.FlexBase64].createURLEncoder(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.Encoder].<init>(boolean,boolean)'
    linkageType: ''
    returnType: Encoder
    signature: '[io.undertow.util.FlexBase64].createURLEncoder(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Decoder].<init>(boolean)'
      Src: io.undertow.util.FlexBase64:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Decoder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: '[io.undertow.util.FlexBase64].createDecoder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 2
    functionsReached:
    - '[Decoder].<init>(boolean)'
    linkageType: ''
    returnType: Decoder
    signature: '[io.undertow.util.FlexBase64].createDecoder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Decoder].<init>(boolean)'
      Src: io.undertow.util.FlexBase64:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Decoder
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[io.undertow.util.FlexBase64].createURLDecoder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[Decoder].<init>(boolean)'
    linkageType: ''
    returnType: Decoder
    signature: '[io.undertow.util.FlexBase64].createURLDecoder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder.encodeString(byte[],int,io.undertow.util.FlexBase64,boolean,boolean)
      Src: io.undertow.util.FlexBase64:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - wrap
    argTypes:
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.util.FlexBase64].encodeString(byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - Encoder.encodeString(byte[],int,io.undertow.util.FlexBase64,boolean,boolean)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FlexBase64].encodeString(byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder.encodeString(byte[],int,io.undertow.util.FlexBase64,boolean,boolean)
      Src: io.undertow.util.FlexBase64:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - wrap
    argTypes:
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.util.FlexBase64].encodeStringURL(byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Encoder.encodeString(byte[],int,io.undertow.util.FlexBase64,boolean,boolean)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FlexBase64].encodeStringURL(byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder.encodeString(byte[],int,int,boolean,boolean)
      Src: io.undertow.util.FlexBase64:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - pos
    - limit
    - wrap
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: '[io.undertow.util.FlexBase64].encodeString(byte[],int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Encoder.encodeString(byte[],int,int,boolean,boolean)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FlexBase64].encodeString(byte[],int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder.encodeString(byte[],int,int,boolean,boolean)
      Src: io.undertow.util.FlexBase64:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - pos
    - limit
    - wrap
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: '[io.undertow.util.FlexBase64].encodeStringURL(byte[],int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Encoder.encodeString(byte[],int,int,boolean,boolean)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FlexBase64].encodeStringURL(byte[],int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder.encodeString(java.nio.ByteBuffer,boolean,boolean)
      Src: io.undertow.util.FlexBase64:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - wrap
    argTypes:
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: '[io.undertow.util.FlexBase64].encodeString(java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Encoder.encodeString(java.nio.ByteBuffer,boolean,boolean)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FlexBase64].encodeString(java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder.encodeString(java.nio.ByteBuffer,boolean,boolean)
      Src: io.undertow.util.FlexBase64:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - wrap
    argTypes:
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '[io.undertow.util.FlexBase64].encodeStringURL(java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - Encoder.encodeString(java.nio.ByteBuffer,boolean,boolean)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FlexBase64].encodeStringURL(java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder.encodeBytes(byte[],int,int,boolean,boolean)
      Src: io.undertow.util.FlexBase64:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - pos
    - limit
    - wrap
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: '[io.undertow.util.FlexBase64].encodeBytes(byte[],int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Encoder.encodeBytes(byte[],int,int,boolean,boolean)
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.FlexBase64].encodeBytes(byte[],int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encoder.encodeBytes(byte[],int,int,boolean,boolean)
      Src: io.undertow.util.FlexBase64:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - pos
    - limit
    - wrap
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: '[io.undertow.util.FlexBase64].encodeBytesURL(byte[],int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Encoder.encodeBytes(byte[],int,int,boolean,boolean)
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.FlexBase64].encodeBytesURL(byte[],int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder.decode(String,boolean)
      Src: io.undertow.util.FlexBase64:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: '[io.undertow.util.FlexBase64].decode(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - Decoder.decode(String,boolean)
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64].decode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder.decode(String,boolean)
      Src: io.undertow.util.FlexBase64:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: '[io.undertow.util.FlexBase64].decodeURL(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - Decoder.decode(String,boolean)
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64].decodeURL(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder.decode(java.nio.ByteBuffer,boolean)
      Src: io.undertow.util.FlexBase64:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: '[io.undertow.util.FlexBase64].decode(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Decoder.decode(java.nio.ByteBuffer,boolean)
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64].decode(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder.decode(java.nio.ByteBuffer,boolean)
      Src: io.undertow.util.FlexBase64:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: '[io.undertow.util.FlexBase64].decodeURL(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Decoder.decode(java.nio.ByteBuffer,boolean)
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64].decodeURL(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder.decode(byte[],int,int,boolean)
      Src: io.undertow.util.FlexBase64:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - source
    - 'off'
    - limit
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: '[io.undertow.util.FlexBase64].decode(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Decoder.decode(byte[],int,int,boolean)
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64].decode(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder.decode(byte[],int,int,boolean)
      Src: io.undertow.util.FlexBase64:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - source
    - 'off'
    - limit
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: '[io.undertow.util.FlexBase64].decodeURL(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - Decoder.decode(byte[],int,int,boolean)
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64].decodeURL(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[EncoderInputStream].<init>(java.io.InputStream,int,boolean,boolean)'
      Src: io.undertow.util.FlexBase64:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: EncoderInputStream
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - source
    - bufferSize
    - wrap
    argTypes:
    - java.io.InputStream
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: '[io.undertow.util.FlexBase64].createEncoderInputStream(java.io.InputStream,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[EncoderInputStream].<init>(java.io.InputStream,int,boolean,boolean)'
    linkageType: ''
    returnType: EncoderInputStream
    signature: '[io.undertow.util.FlexBase64].createEncoderInputStream(java.io.InputStream,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[EncoderInputStream].<init>(java.io.InputStream)'
      Src: io.undertow.util.FlexBase64:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: EncoderInputStream
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: '[io.undertow.util.FlexBase64].createEncoderInputStream(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[EncoderInputStream].<init>(java.io.InputStream)'
    linkageType: ''
    returnType: EncoderInputStream
    signature: '[io.undertow.util.FlexBase64].createEncoderInputStream(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[DecoderInputStream].<init>(java.io.InputStream,int)'
      Src: io.undertow.util.FlexBase64:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: DecoderInputStream
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - bufferSize
    argTypes:
    - java.io.InputStream
    - int
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: '[io.undertow.util.FlexBase64].createDecoderInputStream(java.io.InputStream,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[DecoderInputStream].<init>(java.io.InputStream,int)'
    linkageType: ''
    returnType: DecoderInputStream
    signature: '[io.undertow.util.FlexBase64].createDecoderInputStream(java.io.InputStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[DecoderInputStream].<init>(java.io.InputStream)'
      Src: io.undertow.util.FlexBase64:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: DecoderInputStream
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: '[io.undertow.util.FlexBase64].createDecoderInputStream(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[DecoderInputStream].<init>(java.io.InputStream)'
    linkageType: ''
    returnType: DecoderInputStream
    signature: '[io.undertow.util.FlexBase64].createDecoderInputStream(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[EncoderOutputStream].<init>(java.io.OutputStream,int,boolean)'
      Src: io.undertow.util.FlexBase64:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: EncoderOutputStream
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - target
    - bufferSize
    - wrap
    argTypes:
    - java.io.OutputStream
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: '[io.undertow.util.FlexBase64].createEncoderOutputStream(java.io.OutputStream,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[EncoderOutputStream].<init>(java.io.OutputStream,int,boolean)'
    linkageType: ''
    returnType: EncoderOutputStream
    signature: '[io.undertow.util.FlexBase64].createEncoderOutputStream(java.io.OutputStream,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[EncoderOutputStream].<init>(java.io.OutputStream)'
      Src: io.undertow.util.FlexBase64:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: EncoderOutputStream
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - output
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: '[io.undertow.util.FlexBase64].createEncoderOutputStream(java.io.OutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[EncoderOutputStream].<init>(java.io.OutputStream)'
    linkageType: ''
    returnType: EncoderOutputStream
    signature: '[io.undertow.util.FlexBase64].createEncoderOutputStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[DecoderOutputStream].<init>(java.io.OutputStream,int)'
      Src: io.undertow.util.FlexBase64:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: DecoderOutputStream
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - output
    - bufferSize
    argTypes:
    - java.io.OutputStream
    - int
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: '[io.undertow.util.FlexBase64].createDecoderOutputStream(java.io.OutputStream,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[DecoderOutputStream].<init>(java.io.OutputStream,int)'
    linkageType: ''
    returnType: DecoderOutputStream
    signature: '[io.undertow.util.FlexBase64].createDecoderOutputStream(java.io.OutputStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[DecoderOutputStream].<init>(java.io.OutputStream)'
      Src: io.undertow.util.FlexBase64:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: DecoderOutputStream
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - output
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: '[io.undertow.util.FlexBase64].createDecoderOutputStream(java.io.OutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[DecoderOutputStream].<init>(java.io.OutputStream)'
    linkageType: ''
    returnType: DecoderOutputStream
    signature: '[io.undertow.util.FlexBase64].createDecoderOutputStream(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      - byte[]
      - byte[]
      - Constructor<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.FlexBase64
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.util.FlexBase64].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FlexBase64
    signature: '[io.undertow.util.FlexBase64].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.Encoder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - wrap
    - url
    argTypes:
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: '[io.undertow.util.FlexBase64.Encoder].<init>(boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.Encoder
    signature: '[io.undertow.util.FlexBase64.Encoder].<init>(boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.FlexBase64.Encoder:565,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.FlexBase64.Encoder:573,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.FlexBase64.Encoder:578,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.FlexBase64.Encoder:582,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.util.FlexBase64.Encoder:584,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.FlexBase64.Encoder:590,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.util.FlexBase64.Encoder:593,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.FlexBase64.Encoder:599,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.util.FlexBase64.Encoder:602,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.util.FlexBase64.Encoder:603,1
    - Dst: '[java.nio.ByteBuffer].putShort(short)'
      Src: io.undertow.util.FlexBase64.Encoder:612,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.FlexBase64.Encoder:619,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - java.nio.ByteBuffer
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 620
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 620
    functionName: '[io.undertow.util.FlexBase64.Encoder].encode(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[java.nio.ByteBuffer].putShort(short)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].put()'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.Encoder].encode(java.nio.ByteBuffer,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.FlexBase64.Encoder:652,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - source
    - pos
    - limit
    - target
    - opos
    - olimit
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 704
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 704
    functionName: '[io.undertow.util.FlexBase64.Encoder].encode(byte[],int,int,byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Encoder].encode(byte[],int,int,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Encoder].complete(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder,int,int,boolean,boolean)'
      Src: io.undertow.util.FlexBase64.Encoder:749,1
    - Dst: STRING_CONSTRUCTOR.newInstance(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder)
      Src: io.undertow.util.FlexBase64.Encoder:754,1
    - Dst: '[String].<init>(io.undertow.util.FlexBase64.Encoder)'
      Src: io.undertow.util.FlexBase64.Encoder:760,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - source
    - pos
    - limit
    - wrap
    - url
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 761
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 761
    functionName: '[io.undertow.util.FlexBase64.Encoder].encodeString(byte[],int,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(io.undertow.util.FlexBase64.Encoder)'
    - '[io.undertow.util.FlexBase64.Encoder].complete(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder,int,int,boolean,boolean)'
    - STRING_CONSTRUCTOR.newInstance(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FlexBase64.Encoder].encodeString(byte[],int,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Encoder].complete(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder,int,int,boolean,boolean)'
      Src: io.undertow.util.FlexBase64.Encoder:805,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - source
    - pos
    - limit
    - wrap
    - url
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 808
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 808
    functionName: '[io.undertow.util.FlexBase64.Encoder].encodeBytes(byte[],int,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.Encoder].complete(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder,int,int,boolean,boolean)'
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.util.FlexBase64.Encoder].encodeBytes(byte[],int,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.FlexBase64.Encoder:811,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.FlexBase64.Encoder:825,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.FlexBase64.Encoder:832,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.FlexBase64.Encoder:839,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].complete(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder,int,int,boolean,boolean)'
      Src: io.undertow.util.FlexBase64.Encoder:854,1
    - Dst: STRING_CONSTRUCTOR.newInstance(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder)
      Src: io.undertow.util.FlexBase64.Encoder:859,1
    - Dst: '[String].<init>(io.undertow.util.FlexBase64.Encoder)'
      Src: io.undertow.util.FlexBase64.Encoder:865,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - source
    - wrap
    - url
    argTypes:
    - java.nio.ByteBuffer
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 866
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 866
    functionName: '[io.undertow.util.FlexBase64.Encoder].encodeString(java.nio.ByteBuffer,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[String].<init>(io.undertow.util.FlexBase64.Encoder)'
    - '[io.undertow.util.FlexBase64.Encoder].complete(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder,int,int,boolean,boolean)'
    - '[java.nio.ByteBuffer].remaining()'
    - STRING_CONSTRUCTOR.newInstance(io.undertow.util.FlexBase64.Encoder,io.undertow.util.FlexBase64.Encoder)
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.util.FlexBase64.Encoder].encodeString(java.nio.ByteBuffer,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 877
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 877
    functionName: '[io.undertow.util.FlexBase64.Encoder].getLastInputPosition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Encoder].getLastInputPosition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - target
    - pos
    argTypes:
    - byte[]
    - int
    constantsTouched: []
    func_position:
      end: 915
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 915
    functionName: '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - char[]
      - int
      - int
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - target
    - pos
    - state
    - last
    - wrap
    - url
    argTypes:
    - char[]
    - int
    - int
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 930
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 930
    functionName: '[io.undertow.util.FlexBase64.Encoder].complete(char[],int,int,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Encoder].complete(char[],int,int,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 6
    argNames:
    - target
    - pos
    - state
    - last
    - wrap
    - url
    argTypes:
    - byte[]
    - int
    - int
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 945
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 945
    functionName: '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int,int,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int,int,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.util.FlexBase64.Encoder:956,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.util.FlexBase64.Encoder:958,1
    - Dst: '[java.nio.ByteBuffer].putShort(short)'
      Src: io.undertow.util.FlexBase64.Encoder:964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - boolean
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - target
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 968
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 968
    functionName: '[io.undertow.util.FlexBase64.Encoder].complete(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].putShort(short)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[java.nio.ByteBuffer].put()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.Encoder].complete(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.Decoder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: '[io.undertow.util.FlexBase64.Decoder].<init>(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.Decoder
    signature: '[io.undertow.util.FlexBase64.Decoder].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.FlexBase64.Decoder:993,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(int,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - buffer
    - state
    - last
    - ignoreErrors
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.FlexBase64.Decoder].nextByte(int,int,int,boolean)'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].charAt(int)'
      Src: io.undertow.util.FlexBase64.Decoder:1001,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.FlexBase64.Decoder:1003,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(io.undertow.util.FlexBase64.Decoder,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - int
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - source
    - pos
    - state
    - last
    - ignoreErrors
    argTypes:
    - Object
    - int
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 1007
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1007
    functionName: '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[String].charAt(int)'
    - '[IllegalArgumentException].<init>()'
    - '[io.undertow.util.FlexBase64.Decoder].nextByte(io.undertow.util.FlexBase64.Decoder,int,int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.util.FlexBase64.Decoder:1012,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.util.FlexBase64.Decoder:1022,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.util.FlexBase64.Decoder:1032,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.util.FlexBase64.Decoder:1039,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - c
    - state
    - last
    - ignoreErrors
    argTypes:
    - int
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 1042
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1042
    functionName: '[io.undertow.util.FlexBase64.Decoder].nextByte(int,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].nextByte(int,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.FlexBase64.Decoder:1058,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.FlexBase64.Decoder:1063,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.FlexBase64.Decoder:1064,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1067,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1073,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1089,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.FlexBase64.Decoder:1091,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.util.FlexBase64.Decoder:1091,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.util.FlexBase64.Decoder:1096,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1102,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.FlexBase64.Decoder:1104,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.util.FlexBase64.Decoder:1104,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.util.FlexBase64.Decoder:1109,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1115,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.FlexBase64.Decoder:1117,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.util.FlexBase64.Decoder:1117,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.util.FlexBase64.Decoder:1122,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].drain(java.nio.ByteBuffer,io.undertow.util.FlexBase64.Decoder,int,int)'
      Src: io.undertow.util.FlexBase64.Decoder:1129,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.FlexBase64.Decoder:1134,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - java.nio.ByteBuffer
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 1135
      start: 1056
    functionDepth: 3
    functionLinenumber: 1056
    functionLinenumberEnd: 1135
    functionName: '[io.undertow.util.FlexBase64.Decoder].decode(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[java.nio.ByteBuffer].position(int)'
    - '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.util.FlexBase64.Decoder].drain(java.nio.ByteBuffer,io.undertow.util.FlexBase64.Decoder,int,int)'
    - '[java.nio.ByteBuffer].position()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.Decoder].decode(java.nio.ByteBuffer,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.FlexBase64.Decoder:1138,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1140,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.FlexBase64.Decoder:1152,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.util.FlexBase64.Decoder:1152,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.FlexBase64.Decoder:1159,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.util.FlexBase64.Decoder:1160,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.util.FlexBase64.Decoder:1164,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.util.FlexBase64.Decoder:1164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - source
    - b
    - state
    - last
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1170
      start: 1137
    functionDepth: 3
    functionLinenumber: 1137
    functionLinenumberEnd: 1170
    functionName: '[io.undertow.util.FlexBase64.Decoder].drain(java.nio.ByteBuffer,int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].position(int)'
    - '[io.undertow.util.FlexBase64.Decoder].nextByte(java.nio.ByteBuffer,int,int,boolean)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.Decoder].drain(java.nio.ByteBuffer,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1175,1
    - Dst: '[String].charAt()'
      Src: io.undertow.util.FlexBase64.Decoder:1198,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.util.FlexBase64.Decoder:1200,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - int
      - int
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - source
    - pos
    - limit
    - b
    - state
    - last
    argTypes:
    - Object
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1217
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1217
    functionName: '[io.undertow.util.FlexBase64.Decoder].drain(Object,int,int,int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[String].charAt()'
    - '[IllegalArgumentException].<init>()'
    - '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].drain(Object,int,int,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.util.FlexBase64.Decoder:1221,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1233,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1239,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1255,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1268,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1281,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].drain(Object,io.undertow.util.FlexBase64.Decoder,io.undertow.util.FlexBase64.Decoder,io.undertow.util.FlexBase64.Decoder,int,int)'
      Src: io.undertow.util.FlexBase64.Decoder:1294,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - int
      - int
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - source
    - sourcePos
    - sourceLimit
    - target
    - targetPos
    - targetLimit
    argTypes:
    - Object
    - int
    - int
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1301
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1301
    functionName: '[io.undertow.util.FlexBase64.Decoder].decode(Object,int,int,byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.FlexBase64.Decoder].drain(Object,io.undertow.util.FlexBase64.Decoder,io.undertow.util.FlexBase64.Decoder,io.undertow.util.FlexBase64.Decoder,int,int)'
    - '[IllegalStateException].<init>()'
    - '[io.undertow.util.FlexBase64.Decoder].nextByte(Object,int,int,boolean)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].decode(Object,int,int,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1312
    functionName: '[io.undertow.util.FlexBase64.Decoder].getLastInputPosition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].getLastInputPosition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Decoder].decode(Object,int,int,byte[],int,int)'
      Src: io.undertow.util.FlexBase64.Decoder:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - int
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - source
    - sourcePos
    - sourceLimit
    - target
    - targetPos
    - targetLimit
    argTypes:
    - String
    - int
    - int
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1339
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1339
    functionName: '[io.undertow.util.FlexBase64.Decoder].decode(String,int,int,byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.Decoder].decode(Object,int,int,byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].decode(String,int,int,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Decoder].decode(String,int,io.undertow.util.FlexBase64.Decoder,byte[],int,io.undertow.util.FlexBase64.Decoder)'
      Src: io.undertow.util.FlexBase64.Decoder:1359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - String
    - byte[]
    constantsTouched: []
    func_position:
      end: 1360
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1360
    functionName: '[io.undertow.util.FlexBase64.Decoder].decode(String,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.Decoder].decode(String,int,io.undertow.util.FlexBase64.Decoder,byte[],int,io.undertow.util.FlexBase64.Decoder)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].decode(String,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Decoder].decode(Object,int,int,byte[],int,int)'
      Src: io.undertow.util.FlexBase64.Decoder:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - source
    - sourcePos
    - sourceLimit
    - target
    - targetPos
    - targetLimit
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1398
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1398
    functionName: '[io.undertow.util.FlexBase64.Decoder].decode(byte[],int,int,byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.Decoder].decode(Object,int,int,byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.Decoder].decode(byte[],int,int,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.util.FlexBase64.Decoder:1401,1
    - Dst: '[String].length()'
      Src: io.undertow.util.FlexBase64.Decoder:1402,1
    - Dst: '[Decoder].<init>(boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1404,1
    - Dst: '[String].length()'
      Src: io.undertow.util.FlexBase64.Decoder:1404,1
    - Dst: '[Decoder].decode(String,int,io.undertow.util.FlexBase64.Decoder,io.undertow.util.FlexBase64.Decoder,int,io.undertow.util.FlexBase64.Decoder)'
      Src: io.undertow.util.FlexBase64.Decoder:1404,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.FlexBase64.Decoder,int,io.undertow.util.FlexBase64.Decoder)'
      Src: io.undertow.util.FlexBase64.Decoder:1405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - url
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 1406
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1406
    functionName: '[io.undertow.util.FlexBase64.Decoder].decode(String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[String].length()'
    - '[Decoder].decode(String,int,io.undertow.util.FlexBase64.Decoder,io.undertow.util.FlexBase64.Decoder,int,io.undertow.util.FlexBase64.Decoder)'
    - '[Decoder].<init>(boolean)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.FlexBase64.Decoder,int,io.undertow.util.FlexBase64.Decoder)'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64.Decoder].decode(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Decoder].<init>(boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1413,1
    - Dst: '[Decoder].decode(byte[],int,int,io.undertow.util.FlexBase64.Decoder,int,io.undertow.util.FlexBase64.Decoder)'
      Src: io.undertow.util.FlexBase64.Decoder:1413,1
    - Dst: '[java.nio.ByteBuffer].wrap(io.undertow.util.FlexBase64.Decoder,int,io.undertow.util.FlexBase64.Decoder)'
      Src: io.undertow.util.FlexBase64.Decoder:1414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - source
    - 'off'
    - limit
    - url
    argTypes:
    - byte[]
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 1415
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1415
    functionName: '[io.undertow.util.FlexBase64.Decoder].decode(byte[],int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[Decoder].decode(byte[],int,int,io.undertow.util.FlexBase64.Decoder,int,io.undertow.util.FlexBase64.Decoder)'
    - '[Decoder].<init>(boolean)'
    - '[java.nio.ByteBuffer].wrap(io.undertow.util.FlexBase64.Decoder,int,io.undertow.util.FlexBase64.Decoder)'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64.Decoder].decode(byte[],int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.util.FlexBase64.Decoder:1418,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.util.FlexBase64.Decoder)'
      Src: io.undertow.util.FlexBase64.Decoder:1421,1
    - Dst: '[Decoder].<init>(boolean)'
      Src: io.undertow.util.FlexBase64.Decoder:1422,1
    - Dst: '[Decoder].decode(java.nio.ByteBuffer,io.undertow.util.FlexBase64.Decoder)'
      Src: io.undertow.util.FlexBase64.Decoder:1422,1
    - Dst: '[io.undertow.util.FlexBase64.Decoder].flip()'
      Src: io.undertow.util.FlexBase64.Decoder:1423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.ByteBuffer
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - url
    argTypes:
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 1425
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1425
    functionName: '[io.undertow.util.FlexBase64.Decoder].decode(java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].allocate(io.undertow.util.FlexBase64.Decoder)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.util.FlexBase64.Decoder].flip()'
    - '[Decoder].decode(java.nio.ByteBuffer,io.undertow.util.FlexBase64.Decoder)'
    - '[Decoder].<init>(boolean)'
    linkageType: ''
    returnType: java.nio.ByteBuffer
    signature: '[io.undertow.util.FlexBase64.Decoder].decode(java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.DecoderInputStream].createDecoder()'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1435,1
    - Dst: '[io.undertow.util.FlexBase64.DecoderInputStream].<init>(java.io.InputStream,int)'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - Decoder
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.DecoderInputStream
      static: false
      superClass: InputStream
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 1442
      start: 1440
    functionDepth: 2
    functionLinenumber: 1440
    functionLinenumberEnd: 1442
    functionName: '[io.undertow.util.FlexBase64.DecoderInputStream].<init>(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.DecoderInputStream].<init>(java.io.InputStream,int)'
    - '[io.undertow.util.FlexBase64.DecoderInputStream].createDecoder()'
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.DecoderInputStream
    signature: '[io.undertow.util.FlexBase64.DecoderInputStream].<init>(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.DecoderInputStream].createDecoder()'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - Decoder
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.DecoderInputStream
      static: false
      superClass: InputStream
    argCount: 2
    argNames:
    - input
    - bufferSize
    argTypes:
    - java.io.InputStream
    - int
    constantsTouched: []
    func_position:
      end: 1447
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1447
    functionName: '[io.undertow.util.FlexBase64.DecoderInputStream].<init>(java.io.InputStream,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FlexBase64.DecoderInputStream].createDecoder()'
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.DecoderInputStream
    signature: '[io.undertow.util.FlexBase64.DecoderInputStream].<init>(java.io.InputStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(byte[],int,io.undertow.util.FlexBase64.DecoderInputStream)'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - Decoder
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1455
    functionName: '[io.undertow.util.FlexBase64.DecoderInputStream].fill()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(byte[],int,io.undertow.util.FlexBase64.DecoderInputStream)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.DecoderInputStream].fill()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(io.undertow.util.FlexBase64.DecoderInputStream,int,int)'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1471,1
    - Dst: '[io.undertow.util.FlexBase64.DecoderInputStream].fill()'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1475,1
    - Dst: '[Decoder].decode(io.undertow.util.FlexBase64.DecoderInputStream,int,int,byte[],int,io.undertow.util.FlexBase64.DecoderInputStream)'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1487,1
    - Dst: '[Decoder].getLastInputPosition()'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - Decoder
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1496
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1496
    functionName: '[io.undertow.util.FlexBase64.DecoderInputStream].read(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(io.undertow.util.FlexBase64.DecoderInputStream,int,int)'
    - '[io.undertow.util.FlexBase64.DecoderInputStream].fill()'
    - '[Decoder].getLastInputPosition()'
    - '[Decoder].decode(io.undertow.util.FlexBase64.DecoderInputStream,int,int,byte[],int,io.undertow.util.FlexBase64.DecoderInputStream)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.DecoderInputStream].read(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.DecoderInputStream].read(byte[],int,int)'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - Decoder
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1502
    functionDepth: 2
    functionLinenumber: 1502
    functionLinenumberEnd: 1510
    functionName: '[io.undertow.util.FlexBase64.DecoderInputStream].read()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.DecoderInputStream].read(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.DecoderInputStream].read()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].close()'
      Src: io.undertow.util.FlexBase64.DecoderInputStream:1517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - Decoder
      - int
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1518
    functionName: '[io.undertow.util.FlexBase64.DecoderInputStream].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.DecoderInputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.EncoderInputStream].<init>(java.io.InputStream,int,boolean,boolean)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - byte[]
      - int
      - int
      - Encoder
      - int
      - int
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.EncoderInputStream
      static: false
      superClass: InputStream
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 1538
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1538
    functionName: '[io.undertow.util.FlexBase64.EncoderInputStream].<init>(java.io.InputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.EncoderInputStream].<init>(java.io.InputStream,int,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.EncoderInputStream
    signature: '[io.undertow.util.FlexBase64.EncoderInputStream].<init>(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Encoder].<init>(boolean,boolean)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      - int
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - byte[]
      - int
      - int
      - Encoder
      - int
      - int
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.EncoderInputStream
      static: false
      superClass: InputStream
    argCount: 4
    argNames:
    - input
    - bufferSize
    - wrap
    - url
    argTypes:
    - java.io.InputStream
    - int
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 1544
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1544
    functionName: '[io.undertow.util.FlexBase64.EncoderInputStream].<init>(java.io.InputStream,int,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FlexBase64.Encoder].<init>(boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.EncoderInputStream
    signature: '[io.undertow.util.FlexBase64.EncoderInputStream].<init>(java.io.InputStream,int,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - byte[]
      - int
      - int
      - Encoder
      - int
      - int
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1552
    functionName: '[io.undertow.util.FlexBase64.EncoderInputStream].fill()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.EncoderInputStream].fill()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.EncoderInputStream].read(byte[],int,int)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - byte[]
      - int
      - int
      - Encoder
      - int
      - int
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1557
    functionDepth: 2
    functionLinenumber: 1557
    functionLinenumberEnd: 1565
    functionName: '[io.undertow.util.FlexBase64.EncoderInputStream].read()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.EncoderInputStream].read(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.EncoderInputStream].read()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.EncoderInputStream].copyOverflow(byte[],int,int,byte[],int,int)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1581,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(io.undertow.util.FlexBase64.EncoderInputStream,int,io.undertow.util.FlexBase64.EncoderInputStream)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1608,1
    - Dst: '[io.undertow.util.FlexBase64.EncoderInputStream].fill()'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1612,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1620,1
    - Dst: '[io.undertow.util.FlexBase64.EncoderInputStream].copyOverflow(byte[],io.undertow.util.FlexBase64.EncoderInputStream,io.undertow.util.FlexBase64.EncoderInputStream,byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1622,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].complete(byte[],io.undertow.util.FlexBase64.EncoderInputStream)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1626,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].encode(io.undertow.util.FlexBase64.EncoderInputStream,int,io.undertow.util.FlexBase64.EncoderInputStream,byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1632,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].getLastInputPosition()'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1634,1
    - Dst: '[io.undertow.util.FlexBase64.EncoderInputStream].copyOverflow(byte[],io.undertow.util.FlexBase64.EncoderInputStream,io.undertow.util.FlexBase64.EncoderInputStream,byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1636,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].encode(io.undertow.util.FlexBase64.EncoderInputStream,int,io.undertow.util.FlexBase64.EncoderInputStream,byte[],io.undertow.util.FlexBase64.EncoderInputStream,io.undertow.util.FlexBase64.EncoderInputStream)'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1639,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].getLastInputPosition()'
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1641,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - byte[]
      - int
      - int
      - Encoder
      - int
      - int
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1648
      start: 1570
    functionDepth: 1
    functionLinenumber: 1570
    functionLinenumberEnd: 1648
    functionName: '[io.undertow.util.FlexBase64.EncoderInputStream].read(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read(io.undertow.util.FlexBase64.EncoderInputStream,int,io.undertow.util.FlexBase64.EncoderInputStream)'
    - '[io.undertow.util.FlexBase64.Encoder].encode(io.undertow.util.FlexBase64.EncoderInputStream,int,io.undertow.util.FlexBase64.EncoderInputStream,byte[],io.undertow.util.FlexBase64.EncoderInputStream,io.undertow.util.FlexBase64.EncoderInputStream)'
    - '[io.undertow.util.FlexBase64.Encoder].encode(io.undertow.util.FlexBase64.EncoderInputStream,int,io.undertow.util.FlexBase64.EncoderInputStream,byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)'
    - '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int)'
    - '[io.undertow.util.FlexBase64.EncoderInputStream].copyOverflow(byte[],io.undertow.util.FlexBase64.EncoderInputStream,io.undertow.util.FlexBase64.EncoderInputStream,byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)'
    - '[io.undertow.util.FlexBase64.Encoder].complete(byte[],io.undertow.util.FlexBase64.EncoderInputStream)'
    - '[io.undertow.util.FlexBase64.Encoder].getLastInputPosition()'
    - '[io.undertow.util.FlexBase64.EncoderInputStream].fill()'
    - '[io.undertow.util.FlexBase64.EncoderInputStream].copyOverflow(byte[],int,int,byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.EncoderInputStream].read(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(byte[],int,byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)
      Src: io.undertow.util.FlexBase64.EncoderInputStream:1653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - byte[]
      - byte[]
      - int
      - int
      - Encoder
      - int
      - int
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 6
    argNames:
    - b
    - 'off'
    - len
    - overflow
    - pos
    - limit
    argTypes:
    - byte[]
    - int
    - int
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1656
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1656
    functionName: '[io.undertow.util.FlexBase64.EncoderInputStream].copyOverflow(byte[],int,int,byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(byte[],int,byte[],int,io.undertow.util.FlexBase64.EncoderInputStream)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.util.FlexBase64.EncoderInputStream].copyOverflow(byte[],int,int,byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.EncoderOutputStream].<init>(java.io.OutputStream,int,boolean)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Encoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.EncoderOutputStream
      static: false
      superClass: OutputStream
    argCount: 1
    argNames:
    - output
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 1676
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1676
    functionName: '[io.undertow.util.FlexBase64.EncoderOutputStream].<init>(java.io.OutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.EncoderOutputStream].<init>(java.io.OutputStream,int,boolean)'
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.EncoderOutputStream
    signature: '[io.undertow.util.FlexBase64.EncoderOutputStream].<init>(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.EncoderOutputStream].createEncoder(boolean)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Encoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.EncoderOutputStream
      static: false
      superClass: OutputStream
    argCount: 3
    argNames:
    - output
    - bufferSize
    - wrap
    argTypes:
    - java.io.OutputStream
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 1682
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1682
    functionName: '[io.undertow.util.FlexBase64.EncoderOutputStream].<init>(java.io.OutputStream,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FlexBase64.EncoderOutputStream].createEncoder(boolean)'
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.EncoderOutputStream
    signature: '[io.undertow.util.FlexBase64.EncoderOutputStream].<init>(java.io.OutputStream,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Encoder].encode(byte[],io.undertow.util.FlexBase64.EncoderOutputStream,io.undertow.util.FlexBase64.EncoderOutputStream,byte[],int,io.undertow.util.FlexBase64.EncoderOutputStream)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1696,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].getLastInputPosition()'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1697,1
    - Dst: '[OutputStream].write(byte[],int,io.undertow.util.FlexBase64.EncoderOutputStream)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Encoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1705
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1705
    functionName: '[io.undertow.util.FlexBase64.EncoderOutputStream].write(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FlexBase64.Encoder].getLastInputPosition()'
    - '[OutputStream].write(byte[],int,io.undertow.util.FlexBase64.EncoderOutputStream)'
    - '[io.undertow.util.FlexBase64.Encoder].encode(byte[],io.undertow.util.FlexBase64.EncoderOutputStream,io.undertow.util.FlexBase64.EncoderOutputStream,byte[],int,io.undertow.util.FlexBase64.EncoderOutputStream)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.EncoderOutputStream].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.EncoderOutputStream].write(byte[],int,int)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Encoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1719
      start: 1710
    functionDepth: 2
    functionLinenumber: 1710
    functionLinenumberEnd: 1719
    functionName: '[io.undertow.util.FlexBase64.EncoderOutputStream].write(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.EncoderOutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.EncoderOutputStream].write(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[OutputStream].write(byte[],int,int)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1727,1
    - Dst: '[OutputStream].flush()'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Encoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1729
    functionName: '[io.undertow.util.FlexBase64.EncoderOutputStream].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[OutputStream].write(byte[],int,int)'
    - '[OutputStream].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.EncoderOutputStream].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1743,1
    - Dst: '[io.undertow.util.FlexBase64.EncoderOutputStream].flush()'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1747,1
    - Dst: '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1750,1
    - Dst: '[OutputStream].write(byte[],int,io.undertow.util.FlexBase64.EncoderOutputStream)'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1751,1
    - Dst: '[OutputStream].flush()'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Encoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1754
    functionName: '[io.undertow.util.FlexBase64.EncoderOutputStream].complete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FlexBase64.EncoderOutputStream].flush()'
    - '[io.undertow.util.FlexBase64.Encoder].complete(byte[],int)'
    - '[OutputStream].flush()'
    - '[OutputStream].write(byte[],int,io.undertow.util.FlexBase64.EncoderOutputStream)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.EncoderOutputStream].complete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.EncoderOutputStream].complete()'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1762,1
    - Dst: '[OutputStream].flush()'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1767,1
    - Dst: '[OutputStream].close()'
      Src: io.undertow.util.FlexBase64.EncoderOutputStream:1771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Encoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1759
    functionDepth: 2
    functionLinenumber: 1759
    functionLinenumberEnd: 1772
    functionName: '[io.undertow.util.FlexBase64.EncoderOutputStream].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[OutputStream].close()'
    - '[OutputStream].flush()'
    - '[io.undertow.util.FlexBase64.EncoderOutputStream].complete()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.EncoderOutputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.DecoderOutputStream].<init>(java.io.OutputStream,int)'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Decoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.DecoderOutputStream
      static: false
      superClass: OutputStream
    argCount: 1
    argNames:
    - output
    argTypes:
    - java.io.OutputStream
    constantsTouched: []
    func_position:
      end: 1789
      start: 1787
    functionDepth: 1
    functionLinenumber: 1787
    functionLinenumberEnd: 1789
    functionName: '[io.undertow.util.FlexBase64.DecoderOutputStream].<init>(java.io.OutputStream)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.DecoderOutputStream].<init>(java.io.OutputStream,int)'
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.DecoderOutputStream
    signature: '[io.undertow.util.FlexBase64.DecoderOutputStream].<init>(java.io.OutputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.DecoderOutputStream].createDecoder()'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.OutputStream
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Decoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.FlexBase64.DecoderOutputStream
      static: false
      superClass: OutputStream
    argCount: 2
    argNames:
    - output
    - bufferSize
    argTypes:
    - java.io.OutputStream
    - int
    constantsTouched: []
    func_position:
      end: 1795
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1795
    functionName: '[io.undertow.util.FlexBase64.DecoderOutputStream].<init>(java.io.OutputStream,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.FlexBase64.DecoderOutputStream].createDecoder()'
    linkageType: ''
    returnType: io.undertow.util.FlexBase64.DecoderOutputStream
    signature: '[io.undertow.util.FlexBase64.DecoderOutputStream].<init>(java.io.OutputStream,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Decoder].decode(byte[],io.undertow.util.FlexBase64.DecoderOutputStream,io.undertow.util.FlexBase64.DecoderOutputStream,byte[],int,io.undertow.util.FlexBase64.DecoderOutputStream)'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1809,1
    - Dst: '[Decoder].getLastInputPosition()'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1810,1
    - Dst: '[OutputStream].write(byte[],int,io.undertow.util.FlexBase64.DecoderOutputStream)'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Decoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 3
    argNames:
    - b
    - 'off'
    - len
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1818
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1818
    functionName: '[io.undertow.util.FlexBase64.DecoderOutputStream].write(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[OutputStream].write(byte[],int,io.undertow.util.FlexBase64.DecoderOutputStream)'
    - '[Decoder].decode(byte[],io.undertow.util.FlexBase64.DecoderOutputStream,io.undertow.util.FlexBase64.DecoderOutputStream,byte[],int,io.undertow.util.FlexBase64.DecoderOutputStream)'
    - '[Decoder].getLastInputPosition()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.DecoderOutputStream].write(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.DecoderOutputStream].write(byte[],int,int)'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Decoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 1
    argNames:
    - b
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1832
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1832
    functionName: '[io.undertow.util.FlexBase64.DecoderOutputStream].write(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FlexBase64.DecoderOutputStream].write(byte[],int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.DecoderOutputStream].write(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[OutputStream].write(byte[],int,int)'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1840,1
    - Dst: '[OutputStream].flush()'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Decoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1842
    functionName: '[io.undertow.util.FlexBase64.DecoderOutputStream].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 1
    functionsReached:
    - '[OutputStream].write(byte[],int,int)'
    - '[OutputStream].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.DecoderOutputStream].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FlexBase64.DecoderOutputStream].flush()'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1850,1
    - Dst: '[OutputStream].flush()'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1855,1
    - Dst: '[OutputStream].close()'
      Src: io.undertow.util.FlexBase64.DecoderOutputStream:1859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OutputStream
      - byte[]
      - Decoder
      - int
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: OutputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1860
    functionName: '[io.undertow.util.FlexBase64.DecoderOutputStream].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/util/FlexBase64.java
    functionUses: 0
    functionsReached:
    - '[OutputStream].close()'
    - '[io.undertow.util.FlexBase64.DecoderOutputStream].flush()'
    - '[OutputStream].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.util.FlexBase64.DecoderOutputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.channels.DetachableStreamSinkChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].<init>(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.channels.DetachableStreamSinkChannel
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].<init>(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:59,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:68,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].isWriteResumed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].isWriteResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:76,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].shutdownWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].shutdownWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:84,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:85,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].awaitWritable()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    - '[org.xnio.channels.StreamSinkChannel].awaitWritable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:92,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:93,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteThread()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].getWriteThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].getWriteThread()'
    linkageType: ''
    returnType: org.xnio.XnioExecutor
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].getWriteThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:105,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].isOpen()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:110,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].close()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].close()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:116,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:124,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:125,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:132,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:133,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    - '[org.xnio.channels.StreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:141,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:142,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].<init>(ChannelListener.SimpleSetter)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:144,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].setWriteListener(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:144,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:146,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].<init>(ChannelListener.SimpleSetter)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:146,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].set(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsStreamSinkChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].getWriteSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].set(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].setWriteListener(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].<init>(ChannelListener.SimpleSetter)'
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsStreamSinkChannel>
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].getWriteSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:156,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:157,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getCloseSetter()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:158,1
    - Dst: '[org.xnio.ChannelListeners].delegatingChannelListener(ChannelListener.SimpleSetter)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:158,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].set(io.undertow.channels.DetachableStreamSinkChannel)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsStreamSinkChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[org.xnio.channels.StreamSinkChannel].getCloseSetter()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].set(io.undertow.channels.DetachableStreamSinkChannel)'
    - '[org.xnio.ChannelListeners].delegatingChannelListener(ChannelListener.SimpleSetter)'
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsStreamSinkChannel>
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWorker()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].getIoThread()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 3
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:176,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:177,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer[],int,int)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer[],int,int)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:184,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:185,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer[])'
      Src: io.undertow.channels.DetachableStreamSinkChannel:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].write(ByteBuffer[])'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:192,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:193,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:200,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:201,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:208,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:209,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].writeFinal(ByteBuffer[])'
      Src: io.undertow.channels.DetachableStreamSinkChannel:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].writeFinal(ByteBuffer[])'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].writeFinal(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].supportsOption(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:221,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:222,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getOption(org.xnio.Option<T>)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    - '[org.xnio.channels.StreamSinkChannel].getOption(org.xnio.Option<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:229,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:230,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].setOption(org.xnio.Option<T>,T)'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:237,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:238,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].channelIsClosed()'
    - '[org.xnio.channels.StreamSinkChannel].write(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:245,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:253,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].wakeupWrites()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].isFinished()'
    - '[org.xnio.channels.StreamSinkChannel].wakeupWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].setCloseListener(null)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:261,1
    - Dst: '[org.xnio.conduits.ConduitStreamSinkChannel].setWriteListener(null)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:262,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getCloseSetter()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:264,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].set(null)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:264,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:265,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].set(null)'
      Src: io.undertow.channels.DetachableStreamSinkChannel:265,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].isWriteResumed()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:267,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.channels.DetachableStreamSinkChannel:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSinkChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSinkChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSinkChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel].responseDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].setCloseListener(null)'
    - '[org.xnio.conduits.ConduitStreamSinkChannel].setWriteListener(null)'
    - '[org.xnio.channels.StreamSinkChannel].isWriteResumed()'
    - '[org.xnio.channels.StreamSinkChannel].getCloseSetter()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].set(null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel].responseDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - SimpleSetter<org.xnio.channels.StreamSinkChannel>
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - SimpleSetter<StreamSinkChannel>
      - StreamSinkChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - setter
    - channel
    argTypes:
    - SimpleSetter<org.xnio.channels.StreamSinkChannel>
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].<init>(SimpleSetter<org.xnio.channels.StreamSinkChannel>,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener
    signature: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].<init>(SimpleSetter<org.xnio.channels.StreamSinkChannel>,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[SimpleSetter<StreamSinkChannel>].get()'
      Src: io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener:283,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener,io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
      Src: io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener:285,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].debugf(String,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener:287,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
      Src: io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - SimpleSetter<StreamSinkChannel>
      - StreamSinkChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener,io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
    - '[SimpleSetter<StreamSinkChannel>].get()'
    - '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].debugf(String,org.xnio.channels.StreamSinkChannel)'
    - '[org.xnio.channels.StreamSinkChannel].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].handleEvent(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SimpleSetter<StreamSinkChannel>
      - StreamSinkChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.channels.DetachableStreamSourceChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].<init>(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.channels.DetachableStreamSourceChannel
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].<init>(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: false
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:60,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:67,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:74,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].awaitReadable()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].awaitReadable()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:81,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:88,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getWorker()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:99,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:107,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:108,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[org.xnio.channels.StreamSourceChannel].setOption(org.xnio.Option<T>,T)'
    - '[io.undertow.channels.DetachableStreamSourceChannel].channelIsClosed()'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].supportsOption(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:118,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].shutdownReads()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].shutdownReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[org.xnio.channels.StreamSourceChannel].shutdownReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].shutdownReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:126,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:127,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].<init>(ChannelListener.SimpleSetter)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:129,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].setReadListener(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:129,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:131,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].<init>(ChannelListener.SimpleSetter)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:131,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].set(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsStreamSourceChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].getReadSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].set(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].setReadListener(io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener)'
    - '[io.undertow.channels.DetachableStreamSinkChannel.SetterDelegatingListener].<init>(ChannelListener.SimpleSetter)'
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsStreamSourceChannel>
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].getReadSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:139,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].isOpen()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].isOpen()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:146,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(ByteBuffer[])'
      Src: io.undertow.channels.DetachableStreamSourceChannel:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dsts
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].read(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[org.xnio.channels.StreamSourceChannel].read(ByteBuffer[])'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].read(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:153,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(ByteBuffer[],int,int)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].read(ByteBuffer[],int,int)'
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:160,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].wakeupReads()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[org.xnio.channels.StreamSourceChannel].wakeupReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadThread()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].getReadThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getReadThread()'
    linkageType: ''
    returnType: org.xnio.XnioExecutor
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].getReadThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:171,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].channelIsClosed()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:172,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[io.undertow.channels.DetachableStreamSourceChannel].channelIsClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:179,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:180,1
    - Dst: '[org.xnio.ChannelListeners].delegatingChannelListener(ChannelListener.SimpleSetter)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:182,1
    - Dst: '[org.xnio.conduits.ConduitStreamSourceChannel].setCloseListener(io.undertow.channels.DetachableStreamSourceChannel)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:182,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getCloseSetter()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:184,1
    - Dst: '[org.xnio.ChannelListeners].delegatingChannelListener(ChannelListener.SimpleSetter)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:184,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].set(io.undertow.channels.DetachableStreamSourceChannel)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsStreamSourceChannel>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].set(io.undertow.channels.DetachableStreamSourceChannel)'
    - '[org.xnio.conduits.ConduitStreamSourceChannel].setCloseListener(io.undertow.channels.DetachableStreamSourceChannel)'
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[org.xnio.channels.StreamSourceChannel].getCloseSetter()'
    - '[org.xnio.ChannelListeners].delegatingChannelListener(ChannelListener.SimpleSetter)'
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsStreamSourceChannel>
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:192,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].close()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[org.xnio.channels.StreamSourceChannel].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getOption(org.xnio.Option<T>)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getOption(org.xnio.Option<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:203,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.channels.DetachableStreamSourceChannel:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].isFinished()'
    - '[org.xnio.channels.StreamSourceChannel].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSourceChannel].getIoThread()'
      Src: io.undertow.channels.DetachableStreamSourceChannel:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - org.xnio.channels.StreamSourceChannel
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      - ChannelListener.SimpleSetter<io.undertow.channels.DetachableStreamSourceChannel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.channels.StreamSourceChannel
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 3
    functionsReached:
    - '[org.xnio.channels.StreamSourceChannel].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.channels.DetachableStreamSourceChannel].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - SimpleSetter<org.xnio.channels.StreamSourceChannel>
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - SimpleSetter<StreamSourceChannel>
      - StreamSourceChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - setter
    - channel
    argTypes:
    - SimpleSetter<org.xnio.channels.StreamSourceChannel>
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener].<init>(SimpleSetter<org.xnio.channels.StreamSourceChannel>,org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener
    signature: '[io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener].<init>(SimpleSetter<org.xnio.channels.StreamSourceChannel>,org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[SimpleSetter<StreamSourceChannel>].get()'
      Src: io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener:226,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener,io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener)'
      Src: io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener:228,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener].debugf(String,org.xnio.channels.StreamSourceChannel)'
      Src: io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener:230,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - SimpleSetter<StreamSourceChannel>
      - StreamSourceChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[SimpleSetter<StreamSourceChannel>].get()'
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    - '[io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener].debugf(String,org.xnio.channels.StreamSourceChannel)'
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener,io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SimpleSetter<StreamSourceChannel>
      - StreamSourceChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: '[io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/channels/DetachableStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.channels.DetachableStreamSourceChannel.SetterDelegatingListener].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientChannel
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.ajp.AjpClientChannel
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientCPingStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel
    signature: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel:22,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel:22,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientCPingStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel)'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:67,1
    - Dst: '[Object].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.protocols.ajp.AjpClientFramePriority,null,org.xnio.OptionMap)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:84,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientChannel
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - connectedStreamChannel
    - bufferPool
    - settings
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.protocols.ajp.AjpClientFramePriority,null,org.xnio.OptionMap)'
    - '[io.undertow.protocols.ajp.AjpResponseParser].<init>()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientChannel
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:92,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AjpClientChannel,io.undertow.connector.PooledByteBuffer,int)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:92,1
    - Dst: r.getLength()
      Src: io.undertow.protocols.ajp.AjpClientChannel:97,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].chunkRequested(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:97,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:98,1
    - Dst: i.acknowledged()
      Src: io.undertow.protocols.ajp.AjpClientChannel:104,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].debugf(String,io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:106,1
    - Dst: '[java.util.List<ClientConnection.PingListener>].clear()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:109,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:113,1
    - Dst: '[RuntimeException].<init>(String)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frameHeaderData
    - frameData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 117
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 117
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].chunkRequested(io.undertow.protocols.ajp.AjpClientChannel)'
    - '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
    - '[io.undertow.protocols.ajp.AjpClientChannel].debugf(String,io.undertow.protocols.ajp.AjpClientChannel)'
    - '[RuntimeException].<init>(String)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - r.getLength()
    - i.acknowledged()
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AjpClientChannel,io.undertow.connector.PooledByteBuffer,int)'
    - '[java.util.List<ClientConnection.PingListener>].clear()'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parse(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:121,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].isComplete()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:122,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:126,1
    - Dst: '[RequestBodyChunk].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:128,1
    - Dst: '[SendBodyChunk].<init>(int)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:130,1
    - Dst: '[EndResponse].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:137,1
    - Dst: '[CpongResponse].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:139,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].debug(String)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:141,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].reset()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:144,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.FrameHeaderData
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 148
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 148
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].parseFrame(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AjpClientChannel)'
    - '[io.undertow.protocols.ajp.AjpResponseParser].parse(java.nio.ByteBuffer)'
    - '[SendBodyChunk].<init>(int)'
    - '[io.undertow.protocols.ajp.AjpClientChannel].debug(String)'
    - '[io.undertow.protocols.ajp.AjpResponseParser].reset()'
    - '[EndResponse].<init>()'
    - '[RequestBodyChunk].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
    - '[io.undertow.protocols.ajp.AjpResponseParser].isComplete()'
    - '[CpongResponse].<init>()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.FrameHeaderData
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].parseFrame(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].ajpRequestAlreadyInProgress()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:152,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].<init>(org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>,io.undertow.util.HeaderMap,String,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.Attachable)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HeaderMap
      - io.undertow.util.Attachable
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - method
    - path
    - protocol
    - headers
    - attachable
    - finishListener
    argTypes:
    - io.undertow.util.HttpString
    - String
    - io.undertow.util.HttpString
    - io.undertow.util.HeaderMap
    - io.undertow.util.Attachable
    - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].sendRequest(io.undertow.util.HttpString,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.util.Attachable,org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].ajpRequestAlreadyInProgress()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].<init>(org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>,io.undertow.util.HeaderMap,String,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.Attachable)'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].sendRequest(io.undertow.util.HttpString,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.util.Attachable,org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].isLastFrameReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].isLastFrameReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].isLastFrameSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].isLastFrameSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:174,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].markReadsBroken(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:174,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:175,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].markWritesBroken(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:175,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].lastDataRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.ajp.AjpClientChannel].markWritesBroken(java.nio.channels.ClosedChannelException)'
    - '[org.xnio.IoUtils].safeClose()'
    - '[io.undertow.protocols.ajp.AjpClientChannel].markReadsBroken(java.nio.channels.ClosedChannelException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].lastDataRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].handleBrokenSourceChannel(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].handleBrokenSourceChannel(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].handleBrokenSinkChannel(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].handleBrokenSinkChannel(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].closeSubChannels()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].closeSubChannels()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:198,1
    - Dst: '[java.util.Collections].singleton(io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel,io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].getReceivers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    - '[java.util.Collections].singleton(io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel)'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<io.undertow.protocols.ajp.AjpClientChannel,io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel,io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>>
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].getReceivers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].getSettings()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.OptionMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].getSettings()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[Object].getSettings()'
    linkageType: ''
    returnType: org.xnio.OptionMap
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].getSettings()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].sinkDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].sinkDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].startDiscard()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].sourceDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].startDiscard()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].sourceDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].isOpen()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 2
    functionsReached:
    - '[Object].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].recalculateHeldFrames()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].recalculateHeldFrames()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[Object].recalculateHeldFrames()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].recalculateHeldFrames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:236,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].shutdownWrites()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:238,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].flush()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:239,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].getWriteSetter()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:240,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:240,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:240,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].set(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:240,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].resumeWrites()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:249,1
    - Dst: '[io.undertow.client.ClientConnection.PingListener].failed(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:252,1
    - Dst: '[java.util.List<ClientConnection.PingListener>].add(ClientConnection.PingListener)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:257,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getIoThread()'
      Src: io.undertow.protocols.ajp.AjpClientChannel:259,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].executeAfter(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.protocols.ajp.AjpClientChannel:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - ClientConnection.PingListener
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - java.util.List<ClientConnection.PingListener>
      - boolean
      - boolean
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - pingListener
    - timeout
    - timeUnit
    argTypes:
    - ClientConnection.PingListener
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 267
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 267
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel].sendPing(ClientConnection.PingListener,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].<init>()'
    - '[java.util.List<ClientConnection.PingListener>].add(ClientConnection.PingListener)'
    - '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].getWriteSetter()'
    - '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].shutdownWrites()'
    - '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].flush()'
    - '[io.undertow.protocols.ajp.AjpClientChannel].executeAfter(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.client.ClientConnection.PingListener].failed(io.undertow.protocols.ajp.AjpClientChannel)'
    - '[io.undertow.protocols.ajp.AjpClientChannel].set(io.undertow.protocols.ajp.AjpClientChannel)'
    - '[io.undertow.protocols.ajp.AjpClientCPingStreamSinkChannel].resumeWrites()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.protocols.ajp.AjpClientChannel].getIoThread()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientChannel].sendPing(ClientConnection.PingListener,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - statusCode
    - reasonPhrase
    - headers
    argTypes:
    - int
    - String
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse].<init>(int,String,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse].<init>(int,String,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - String
      - HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse].getExistingChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.SendHeadersResponse].getExistingChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk].getLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk].getLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk].getExistingChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.RequestBodyChunk].getExistingChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientChannel.SendBodyChunk
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.SendBodyChunk].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientChannel.SendBodyChunk
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.SendBodyChunk].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.SendBodyChunk].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.SendBodyChunk].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.SendBodyChunk].getExistingChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.SendBodyChunk].getExistingChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.EndResponse].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.EndResponse].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.EndResponse].getExistingChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.EndResponse].getExistingChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientChannel.EndResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.EndResponse].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientChannel.EndResponse
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.EndResponse].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.CpongResponse].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.CpongResponse].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.CpongResponse].getExistingChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.CpongResponse].getExistingChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientChannel.CpongResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ajp.AjpClientChannel.CpongResponse].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientChannel.CpongResponse
    signature: '[io.undertow.protocols.ajp.AjpClientChannel.CpongResponse].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.ajp.AjpClientChannel
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AbstractAjpClientStreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - '[Object].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    signature: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].isLastFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AbstractAjpClientStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].isLastFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - java.util.Map<io.undertow.util.HttpString,Integer>
      - HttpString[]
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpConstants
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ajp.AjpConstants].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpConstants.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpConstants
    signature: '[io.undertow.protocols.ajp.AjpConstants].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - framedChannel
    - data
    - frameDataRemaining
    argTypes:
    - io.undertow.protocols.ajp.AjpClientChannel
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AbstractAjpClientStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[Object].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.connector.PooledByteBuffer,long)'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    signature: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientChannel
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 7
    argNames:
    - channel
    - finishListener
    - headers
    - path
    - method
    - protocol
    - attachable
    argTypes:
    - io.undertow.protocols.ajp.AjpClientChannel
    - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
    - io.undertow.util.HeaderMap
    - String
    - io.undertow.util.HttpString
    - io.undertow.util.HttpString
    - io.undertow.util.Attachable
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>,io.undertow.util.HeaderMap,String,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.Attachable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel)'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>,io.undertow.util.HeaderMap,String,io.undertow.util.HttpString,io.undertow.util.HttpString,io.undertow.util.Attachable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:91,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].clear()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:91,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:92,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flip()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:92,1
    - Dst: '[java.nio.ByteBuffer].wrap()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:93,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:93,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:93,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:95,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getBufferPool()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:95,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].allocate()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:95,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:98,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:99,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:100,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,null)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:103,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:105,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getSettings()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:105,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:105,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:108,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:110,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].fixedLengthOverflow()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:113,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].isWritesShutdown()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:115,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:115,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:117,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:121,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:121,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:129,1
    - Dst: '[String].substring(int,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:134,1
    - Dst: '[String].substring(int)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:135,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:138,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:139,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:140,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:141,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:142,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,Integer>].get(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:144,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:149,1
    - Dst: '[io.undertow.protocols.ajp.AjpUtils].putHttpString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.util.HttpString)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:150,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:151,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:152,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].notNull(T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:152,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:152,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:153,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].notNull(T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:153,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:153,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:154,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].notNull(T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:154,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:154,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<Integer>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:155,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].notNull(T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:155,1
    - Dst: '[io.undertow.protocols.ajp.AjpUtils].putInt(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:155,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:156,1
    - Dst: responseHeaders.getHeaderNames()
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:161,1
    - Dst: responseHeaders.get(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:162,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].size()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:162,1
    - Dst: '[io.undertow.protocols.ajp.AjpUtils].putInt(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:165,1
    - Dst: responseHeaders.getHeaderNames()
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:168,1
    - Dst: responseHeaders.get(io.undertow.server.protocol.framed.SendFrameHeader)
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:169,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,Integer>].get(io.undertow.server.protocol.framed.SendFrameHeader)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:170,1
    - Dst: '[io.undertow.protocols.ajp.AjpUtils].putInt(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:172,1
    - Dst: '[io.undertow.protocols.ajp.AjpUtils].putHttpString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.server.protocol.framed.SendFrameHeader)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:174,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:176,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:181,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:182,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:184,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:186,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:187,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:189,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:191,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:192,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:194,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:196,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:197,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:199,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:201,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:202,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:204,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:206,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:207,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<byte[]>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:209,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:211,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexString(T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:212,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,String)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:212,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<Integer>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:214,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:216,1
    - Dst: '[T].toString()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:217,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:217,1
    - Dst: '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:219,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:221,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,T)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:222,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:226,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:227,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,String)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:227,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:229,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].position()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:231,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:232,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:233,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flip()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:237,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:238,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].isWritesShutdown()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:241,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:242,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:243,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:244,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:245,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:246,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:247,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flip()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:248,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:249,1
    - Dst: Math.min(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:252,1
    - Dst: Math.min(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,int)
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:253,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:255,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:256,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:257,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:258,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:259,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:260,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:263,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].position()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:263,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].limit(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:263,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flip()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:264,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,int)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:265,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flip()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:267,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,int)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:268,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flip()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:273,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:274,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].close()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:275,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,null,boolean)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:276,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].position()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:278,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].limit(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:278,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,boolean)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:279,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].close()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:283,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].markBroken()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:284,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 229
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 287
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].createFrameHeaderImpl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - Math.min(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,int)
    - '[T].toString()'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getBuffer()'
    - '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<Integer>)'
    - '[String].substring(int,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - '[String].substring(int)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].get(org.xnio.Option<Integer>,int)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].markBroken()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,null)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(byte)'
    - '[io.undertow.protocols.ajp.AjpUtils].putHttpString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.util.HttpString)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].put(int,byte)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flip()'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].fixedLengthOverflow()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getBufferPool()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].size()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].notNull(T)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].isWritesShutdown()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,T)'
    - Long.parseLong(String)
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].clear()'
    - responseHeaders.get(io.undertow.server.protocol.framed.SendFrameHeader)
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].limit(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,null,boolean)'
    - responseHeaders.get(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].remaining()'
    - '[java.nio.ByteBuffer].wrap()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getSettings()'
    - '[String].indexOf(char)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,boolean)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(int,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,int)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].allocate()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - responseHeaders.getHeaderNames()
    - '[java.util.Map<io.undertow.util.HttpString,Integer>].get(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].putString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,String)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,int)'
    - '[java.util.Map<io.undertow.util.HttpString,Integer>].get(io.undertow.server.protocol.framed.SendFrameHeader)'
    - '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<String>)'
    - '[io.undertow.protocols.ajp.AjpUtils].putInt(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - '[io.undertow.protocols.ajp.AjpUtils].putHttpString(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.server.protocol.framed.SendFrameHeader)'
    - '[io.undertow.util.Attachable].getAttachment(io.undertow.util.AttachmentKey<byte[]>)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - Math.min(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel,io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].close()'
    - '[io.undertow.util.HexConverter].convertToHexString(T)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].position()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].createFrameHeaderImpl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].createFrameHeaderImpl()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 6
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].generateSendFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].createFrameHeaderImpl()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].generateSendFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:296,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].recalculateHeldFrames()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].chunkRequested(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].recalculateHeldFrames()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].chunkRequested(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:302,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].recalculateHeldFrames()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:302,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].markBroken()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].startDiscard()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].recalculateHeldFrames()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].markBroken()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].startDiscard()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].handleFlushComplete(boolean)'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:317,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:320,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].sinkDone()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:320,1
    - Dst: '[org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>].handleEvent()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 1
    argNames:
    - finalFrame
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].handleFlushComplete(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].handleFlushComplete(boolean)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].sinkDone()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
    - '[org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>].handleEvent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].handleFlushComplete(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].channelForciblyClosed()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:329,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:330,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].sinkDone()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:330,1
    - Dst: '[org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>].handleEvent()'
      Src: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].channelForciblyClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].sinkDone()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getChannel()'
    - '[org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>].handleEvent()'
    - '[io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel].channelForciblyClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].channelForciblyClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - int
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.Attachable
      - boolean
      - long
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].clearHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].clearHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:73,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parse16BitInteger(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:78,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:83,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parse16BitInteger(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:88,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:95,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:99,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parse16BitInteger(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:117,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parseString(java.nio.ByteBuffer,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:134,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parse16BitInteger(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:143,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parseString(java.nio.ByteBuffer,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:155,1
    - Dst: '[io.undertow.util.HttpString].tryFromString(io.undertow.protocols.ajp.AjpResponseParser)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:164,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parseString(java.nio.ByteBuffer,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:167,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.protocols.ajp.AjpResponseParser)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:173,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:182,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:185,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].parse16BitInteger(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:189,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 64
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 198
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 198
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].parse(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.protocols.ajp.AjpResponseParser)'
    - '[io.undertow.util.HttpString].tryFromString(io.undertow.protocols.ajp.AjpResponseParser)'
    - '[io.undertow.protocols.ajp.AjpResponseParser].parseString(java.nio.ByteBuffer,boolean)'
    - '[java.io.IOException].<init>(String)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.protocols.ajp.AjpResponseParser].parse16BitInteger(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].parse(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].headers(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].headers(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].getHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].getStatusCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].getStatusCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].getReasonPhrase()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].getReasonPhrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].getReadBodyChunkSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].getReadBodyChunkSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:257,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:258,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:262,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:264,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:265,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(io.undertow.protocols.ajp.AjpResponseParser,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:268,1
    - Dst: '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IntegerHolder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buf
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].parse16BitInteger(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(boolean)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.server.protocol.ajp.AjpRequestParser.IntegerHolder].<init>(io.undertow.protocols.ajp.AjpResponseParser,boolean)'
    linkageType: ''
    returnType: IntegerHolder
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].parse16BitInteger(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:277,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:278,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:282,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:283,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:284,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:288,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:292,1
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].headers(int)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:296,1
    - Dst: '[StringHolder].<init>(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:296,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:301,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:306,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:309,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:311,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:314,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:316,1
    - Dst: '[StringBuilder].append(io.undertow.protocols.ajp.AjpResponseParser)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:320,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:324,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:325,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:329,1
    - Dst: '[StringHolder].<init>(io.undertow.protocols.ajp.AjpResponseParser,boolean,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:329,1
    - Dst: '[StringHolder].<init>(null,boolean,boolean)'
      Src: io.undertow.protocols.ajp.AjpResponseParser:333,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StringHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - header
    argTypes:
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 335
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 335
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].parseString(java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 1
    functionsReached:
    - '[StringHolder].<init>(io.undertow.protocols.ajp.AjpResponseParser,boolean,boolean)'
    - '[StringHolder].<init>(io.undertow.util.HttpString)'
    - '[StringBuilder].<init>()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(io.undertow.protocols.ajp.AjpResponseParser)'
    - '[java.nio.ByteBuffer].get()'
    - '[StringBuilder].length()'
    - '[io.undertow.protocols.ajp.AjpResponseParser].headers(int)'
    - '[StringHolder].<init>(null,boolean,boolean)'
    linkageType: ''
    returnType: StringHolder
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].parseString(java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpResponseParser].<init>()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:39,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.protocols.ajp.AjpResponseParser:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpResponseParser
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte
      - int
      - io.undertow.util.HttpString
      - int
      - String
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - StringBuilder
      - int
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpResponseParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpResponseParser].<init>()'
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpResponseParser
    signature: '[io.undertow.protocols.ajp.AjpResponseParser].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AjpResponseParser.IntegerHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - value
    - readComplete
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser.IntegerHolder].<init>(int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpResponseParser.IntegerHolder
    signature: '[io.undertow.protocols.ajp.AjpResponseParser.IntegerHolder].<init>(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HttpString
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AjpResponseParser.StringHolder
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - value
    - readComplete
    - containsUrlCharacters
    argTypes:
    - String
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser.StringHolder].<init>(String,boolean,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpResponseParser.StringHolder
    signature: '[io.undertow.protocols.ajp.AjpResponseParser.StringHolder].<init>(String,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - HttpString
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ajp.AjpResponseParser.StringHolder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: '[io.undertow.protocols.ajp.AjpResponseParser.StringHolder].<init>(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpResponseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpResponseParser.StringHolder
    signature: '[io.undertow.protocols.ajp.AjpResponseParser.StringHolder].<init>(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - attachment
    argTypes:
    - Boolean
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.protocols.ajp.AjpUtils].notNull(Boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ajp.AjpUtils].notNull(Boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Integer
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - attachment
    argTypes:
    - Integer
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.protocols.ajp.AjpUtils].notNull(Integer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ajp.AjpUtils].notNull(Integer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - attachment
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.protocols.ajp.AjpUtils].notNull(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.ajp.AjpUtils].notNull(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.ajp.AjpUtils:44,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.ajp.AjpUtils:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.protocols.ajp.AjpUtils].putInt(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpUtils.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpUtils].putInt(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.protocols.ajp.AjpUtils:49,1
    - Dst: '[io.undertow.protocols.ajp.AjpUtils].putInt(java.nio.ByteBuffer,io.undertow.protocols.ajp.AjpUtils)'
      Src: io.undertow.protocols.ajp.AjpUtils:50,1
    - Dst: '[String].charAt(io.undertow.protocols.ajp.AjpUtils)'
      Src: io.undertow.protocols.ajp.AjpUtils:52,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.ajp.AjpUtils:52,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.ajp.AjpUtils:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - String
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: '[io.undertow.protocols.ajp.AjpUtils].putString(java.nio.ByteBuffer,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpUtils.java
    functionUses: 0
    functionsReached:
    - '[String].charAt(io.undertow.protocols.ajp.AjpUtils)'
    - '[String].length()'
    - '[io.undertow.protocols.ajp.AjpUtils].putInt(java.nio.ByteBuffer,io.undertow.protocols.ajp.AjpUtils)'
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpUtils].putString(java.nio.ByteBuffer,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.ajp.AjpUtils:58,1
    - Dst: '[io.undertow.protocols.ajp.AjpUtils].putInt(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.ajp.AjpUtils:59,1
    - Dst: '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ajp.AjpUtils:60,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.ajp.AjpUtils:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: '[io.undertow.protocols.ajp.AjpUtils].putHttpString(java.nio.ByteBuffer,io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpUtils].putInt(java.nio.ByteBuffer,int)'
    - '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
    - '[io.undertow.util.HttpString].length()'
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpUtils].putHttpString(java.nio.ByteBuffer,io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ajp.AjpUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpUtils
    signature: '[io.undertow.protocols.ajp.AjpUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].generateSendFrameHeader()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:39,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:40,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].clearHeader()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:42,1
    - Dst: '[java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>].add(io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel)'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
      - java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpClientFramePriority
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - newFrame
    - pendingFrames
    argTypes:
    - io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    - java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 7
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: '[io.undertow.protocols.ajp.AjpClientFramePriority].insertFrame(io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel,java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientFramePriority.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].clearHeader()'
    - '[java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>].add(io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].generateSendFrameHeader()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ajp.AjpClientFramePriority].insertFrame(io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel,java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>].iterator()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:52,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientFramePriority].hasNext()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:53,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientFramePriority].next()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:54,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].generateSendFrameHeader()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:56,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:57,1
    - Dst: '[java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>].add(io.undertow.protocols.ajp.AjpClientFramePriority)'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:58,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientFramePriority].remove()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:59,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].clearHeader()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
      - java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>
      - java.util.Deque<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpClientFramePriority
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - addedFrame
    - pendingFrames
    - holdFrames
    argTypes:
    - io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
    - java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>
    - java.util.Deque<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 7
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: '[io.undertow.protocols.ajp.AjpClientFramePriority].frameAdded(io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel,java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>,java.util.Deque<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientFramePriority.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>].add(io.undertow.protocols.ajp.AjpClientFramePriority)'
    - '[io.undertow.protocols.ajp.AjpClientFramePriority].hasNext()'
    - '[java.util.Deque<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>].iterator()'
    - '[io.undertow.protocols.ajp.AjpClientFramePriority].remove()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].generateSendFrameHeader()'
    - '[io.undertow.protocols.ajp.AjpClientFramePriority].next()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].clearHeader()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientFramePriority].frameAdded(io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel,java.util.List<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>,java.util.Deque<io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientFramePriority].<init>()'
      Src: io.undertow.protocols.ajp.AjpClientFramePriority:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ajp.AjpClientFramePriority
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientFramePriority
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ajp.AjpClientFramePriority].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientFramePriority.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientFramePriority].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientFramePriority
    signature: '[io.undertow.protocols.ajp.AjpClientFramePriority].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.connector.PooledByteBuffer,int)'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.util.HeaderMap
      - int
      - String
      - io.undertow.connector.PooledByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 6
    argNames:
    - framedChannel
    - headers
    - statusCode
    - reasonPhrase
    - frameData
    - remaining
    argTypes:
    - io.undertow.protocols.ajp.AjpClientChannel
    - io.undertow.util.HeaderMap
    - int
    - String
    - io.undertow.connector.PooledByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.util.HeaderMap,int,String,io.undertow.connector.PooledByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.connector.PooledByteBuffer,int)'
    linkageType: ''
    returnType: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientChannel,io.undertow.util.HeaderMap,int,String,io.undertow.connector.PooledByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getStatusCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getStatusCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getReasonPhrase()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getReasonPhrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 1
    argNames:
    - finishListener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].setFinishListener(org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].setFinishListener(org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].lastFrame()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:70,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:70,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:72,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:72,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:72,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 2
    argNames:
    - frameData
    - frameDataRemaining
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].updateFrameDataRemaining(io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].limit(int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].updateFrameDataRemaining(io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:81,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].sourceDone()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:81,1
    - Dst: '[org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>].handleEvent()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].complete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getFramedChannel()'
    - '[org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>].handleEvent()'
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].sourceDone()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].complete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].wakeupReads()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:88,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:89,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].resumeReceives()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].wakeupReads()'
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].resumeReceives()'
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getFramedChannel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].resumeReads()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:94,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:95,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].resumeReceives()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getFramedChannel()'
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].resumeReceives()'
    - '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].resumeReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:100,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].suspendReceives()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:100,1
    - Dst: '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].suspendReads()'
      Src: io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - io.undertow.util.HeaderMap
      - int
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ajp/AjpClientResponseStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AbstractAjpClientStreamSourceChannel].suspendReads()'
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].getFramedChannel()'
    - '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].suspendReceives()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.protocols.ssl.SNISSLEngine,io.undertow.protocols.ssl.SNISSLEngine,int,int)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:45,1
    - Dst: '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.protocols.ssl.SNISSLEngine,io.undertow.protocols.ssl.SNISSLEngine,int,int)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:46,1
    - Dst: '[java.util.function.Function].identity()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:48,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:51,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>(io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:51,1
    - Dst: '[javax.net.ssl.SSLEngine].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SNISSLEngine
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - selector
    argTypes:
    - io.undertow.protocols.ssl.SNIContextMatcher
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[javax.net.ssl.SSLEngine].<init>()'
    - '[java.util.function.Function].identity()'
    - '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.protocols.ssl.SNISSLEngine,io.undertow.protocols.ssl.SNISSLEngine,int,int)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>(io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNISSLEngine
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.protocols.ssl.SNISSLEngine,io.undertow.protocols.ssl.SNISSLEngine,int,int)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:45,1
    - Dst: '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.protocols.ssl.SNISSLEngine,io.undertow.protocols.ssl.SNISSLEngine,int,int)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:46,1
    - Dst: '[java.util.function.Function].identity()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:48,1
    - Dst: '[javax.net.ssl.SSLEngine].<init>(String,int)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:55,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:56,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>(io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:56,1
    - Dst: '[javax.net.ssl.SSLEngine].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SNIContextMatcher
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SNISSLEngine
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 3
    argNames:
    - selector
    - host
    - port
    argTypes:
    - io.undertow.protocols.ssl.SNIContextMatcher
    - String
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].<init>(io.undertow.protocols.ssl.SNIContextMatcher,String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[javax.net.ssl.SSLEngine].<init>(String,int)'
    - '[javax.net.ssl.SSLEngine].<init>()'
    - '[java.util.function.Function].identity()'
    - '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.protocols.ssl.SNISSLEngine,io.undertow.protocols.ssl.SNISSLEngine,int,int)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>(io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNISSLEngine
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].<init>(io.undertow.protocols.ssl.SNIContextMatcher,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getSelectionCallback()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getSelectionCallback()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - selectionCallback
    argTypes:
    - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].setSelectionCallback(java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].setSelectionCallback(java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:68,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 4
    argNames:
    - srcs
    - offset
    - length
    - dst
    argTypes:
    - ByteBuffer[]
    - int
    - int
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:72,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - java.nio.ByteBuffer
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:76,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(ByteBuffer[],java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - srcs
    - dst
    argTypes:
    - ByteBuffer[]
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(ByteBuffer[],java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].wrap(ByteBuffer[],java.nio.ByteBuffer)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].wrap(ByteBuffer[],java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:80,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 4
    argNames:
    - src
    - dsts
    - offset
    - length
    argTypes:
    - java.nio.ByteBuffer
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:84,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - java.nio.ByteBuffer
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:88,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[])'
      Src: io.undertow.protocols.ssl.SNISSLEngine:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 2
    argNames:
    - src
    - dsts
    argTypes:
    - java.nio.ByteBuffer
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[])'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:92,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getPeerHost()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getPeerHost()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getPeerHost()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getPeerHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:96,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getPeerPort()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getPeerPort()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getPeerPort()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getPeerPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:100,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getHandshakeSession()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getHandshakeSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getHandshakeSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getHandshakeSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:104,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getSSLParameters()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLParameters
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getSSLParameters()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getSSLParameters()'
    linkageType: ''
    returnType: javax.net.ssl.SSLParameters
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getSSLParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:108,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].setSSLParameters(javax.net.ssl.SSLParameters)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLParameters
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - params
    argTypes:
    - javax.net.ssl.SSLParameters
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].setSSLParameters(javax.net.ssl.SSLParameters)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].setSSLParameters(javax.net.ssl.SSLParameters)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].setSSLParameters(javax.net.ssl.SSLParameters)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:112,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getDelegatedTask()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Runnable
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getDelegatedTask()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getDelegatedTask()'
    linkageType: ''
    returnType: Runnable
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getDelegatedTask()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:116,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].closeInbound()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].closeInbound()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].closeInbound()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].closeInbound()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:120,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].isInboundDone()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].isInboundDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].isInboundDone()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].isInboundDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:124,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].closeOutbound()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].closeOutbound()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLEngine].closeOutbound()'
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].closeOutbound()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:128,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].isOutboundDone()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].isOutboundDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].isOutboundDone()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].isOutboundDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:132,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getSupportedCipherSuites()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getSupportedCipherSuites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getSupportedCipherSuites()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getSupportedCipherSuites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:136,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getEnabledCipherSuites()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getEnabledCipherSuites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getEnabledCipherSuites()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getEnabledCipherSuites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:140,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].setEnabledCipherSuites(String[])'
      Src: io.undertow.protocols.ssl.SNISSLEngine:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - cipherSuites
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].setEnabledCipherSuites(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].setEnabledCipherSuites(String[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].setEnabledCipherSuites(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:144,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getSupportedProtocols()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getSupportedProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLEngine].getSupportedProtocols()'
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getSupportedProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:148,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getEnabledProtocols()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getEnabledProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getEnabledProtocols()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getEnabledProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:152,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].setEnabledProtocols(String[])'
      Src: io.undertow.protocols.ssl.SNISSLEngine:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - protocols
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].setEnabledProtocols(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].setEnabledProtocols(String[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].setEnabledProtocols(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:156,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getSession()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLEngine].getSession()'
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:160,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].beginHandshake()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].beginHandshake()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].beginHandshake()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].beginHandshake()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:164,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getHandshakeStatus()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SSLEngineResult.HandshakeStatus
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getHandshakeStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getHandshakeStatus()'
    linkageType: ''
    returnType: SSLEngineResult.HandshakeStatus
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getHandshakeStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:168,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].setUseClientMode(boolean)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - clientMode
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].setUseClientMode(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].setUseClientMode(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].setUseClientMode(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:172,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getUseClientMode()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getUseClientMode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getUseClientMode()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getUseClientMode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:176,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].setNeedClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - clientAuth
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].setNeedClientAuth(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].setNeedClientAuth(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].setNeedClientAuth(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:180,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getNeedClientAuth()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getNeedClientAuth()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getNeedClientAuth()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getNeedClientAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:184,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].setWantClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - want
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].setWantClientAuth(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].setWantClientAuth(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].setWantClientAuth(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:188,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getWantClientAuth()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getWantClientAuth()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getWantClientAuth()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getWantClientAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:192,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].setEnableSessionCreation(boolean)'
      Src: io.undertow.protocols.ssl.SNISSLEngine:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 1
    argNames:
    - flag
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].setEnableSessionCreation(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLEngine].setEnableSessionCreation(boolean)'
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].setEnableSessionCreation(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:196,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].getEnableSessionCreation()'
      Src: io.undertow.protocols.ssl.SNISSLEngine:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLEngineResult
      - javax.net.ssl.SSLEngineResult
      - java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      - int
      - int
      - int
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: javax.net.ssl.SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine].getEnableSessionCreation()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.atomic.AtomicReference<javax.net.ssl.SSLEngine>].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine].getEnableSessionCreation()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine].getEnableSessionCreation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>(io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:206,1
    - Dst: '[javax.net.ssl.SSLSession].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SNIContextMatcher
      - java.util.function.Function<javax.net.ssl.SSLContext,javax.net.ssl.SSLEngine>
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SNISSLEngine.InitialState
      static: false
      superClass: SSLEngine
    argCount: 2
    argNames:
    - selector
    - engineFunction
    argTypes:
    - io.undertow.protocols.ssl.SNIContextMatcher
    - java.util.function.Function<javax.net.ssl.SSLContext,javax.net.ssl.SSLEngine>
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].<init>(io.undertow.protocols.ssl.SNIContextMatcher,java.util.function.Function<javax.net.ssl.SSLContext,javax.net.ssl.SSLEngine>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLSession].<init>()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>(io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNISSLEngine.InitialState
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].<init>(io.undertow.protocols.ssl.SNIContextMatcher,java.util.function.Function<javax.net.ssl.SSLContext,javax.net.ssl.SSLEngine>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getHandshakeSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getHandshakeSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: SSLEngine
    argCount: 4
    argNames:
    - srcs
    - offset
    - length
    - dst
    argTypes:
    - ByteBuffer[]
    - int
    - int
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:312,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:314,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getRequiredSize(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:318,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:319,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].explore(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:323,1
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].getContext(java.util.List<javax.net.ssl.SNIServerName>)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:324,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].noContextForSslConnection()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:327,1
    - Dst: '[Function<SSLContext, SSLEngine>].apply(javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:329,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnabledCipherSuites(String[])'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:331,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnabledProtocols(String[])'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:334,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setUseClientMode(boolean)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:336,1
    - Dst: '[AtomicInteger].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:337,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setWantClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:339,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setNeedClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:341,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnableSessionCreation(boolean)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:344,1
    - Dst: selectionCallback.apply(io.undertow.protocols.ssl.SNISSLEngine.InitialState)
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:346,1
    - Dst: currentRef.set(io.undertow.protocols.ssl.SNISSLEngine.InitialState)
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:347,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:349,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:351,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: SSLEngine
    argCount: 4
    argNames:
    - src
    - dsts
    - offset
    - length
    argTypes:
    - java.nio.ByteBuffer
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 352
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setUseClientMode(boolean)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getRequiredSize(java.nio.ByteBuffer)'
    - currentRef.set(io.undertow.protocols.ssl.SNISSLEngine.InitialState)
    - '[io.undertow.protocols.ssl.SNISSLExplorer].explore(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.ssl.SNIContextMatcher].getContext(java.util.List<javax.net.ssl.SNIServerName>)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].noContextForSslConnection()'
    - '[Function<SSLContext, SSLEngine>].apply(javax.net.ssl.SSLContext)'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnabledProtocols(String[])'
    - '[AtomicInteger].get()'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setWantClientAuth(boolean)'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnableSessionCreation(boolean)'
    - selectionCallback.apply(io.undertow.protocols.ssl.SNISSLEngine.InitialState)
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].position(io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnabledCipherSuites(String[])'
    - '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setNeedClientAuth(boolean)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Runnable
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getDelegatedTask()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Runnable
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getDelegatedTask()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: currentRef.set(io.undertow.protocols.ssl.SNISSLEngine.InitialState)
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].closeInbound()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached:
    - currentRef.set(io.undertow.protocols.ssl.SNISSLEngine.InitialState)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].closeInbound()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].isInboundDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].isInboundDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: currentRef.set(io.undertow.protocols.ssl.SNISSLEngine.InitialState)
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].closeOutbound()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached:
    - currentRef.set(io.undertow.protocols.ssl.SNISSLEngine.InitialState)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].closeOutbound()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].isOutboundDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].isOutboundDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getSupportedCipherSuites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getSupportedCipherSuites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getEnabledCipherSuites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getEnabledCipherSuites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 1
    argNames:
    - suites
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnabledCipherSuites(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnabledCipherSuites(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getSupportedProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getSupportedProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getEnabledProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getEnabledProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 1
    argNames:
    - protocols
    argTypes:
    - String[]
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnabledProtocols(String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnabledProtocols(String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].beginHandshake()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].beginHandshake()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: SSLEngineResult.HandshakeStatus
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getHandshakeStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLEngineResult.HandshakeStatus
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getHandshakeStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[UnsupportedOperationException].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 1
    argNames:
    - mode
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setUseClientMode(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[UnsupportedOperationException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setUseClientMode(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getUseClientMode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getUseClientMode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicInteger].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:428,1
    - Dst: '[AtomicInteger].compareAndSet(io.undertow.protocols.ssl.SNISSLEngine.InitialState,io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 1
    argNames:
    - need
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 434
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setNeedClientAuth(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[AtomicInteger].compareAndSet(io.undertow.protocols.ssl.SNISSLEngine.InitialState,io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
    - '[AtomicInteger].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setNeedClientAuth(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicInteger].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getNeedClientAuth()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached:
    - '[AtomicInteger].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getNeedClientAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicInteger].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:444,1
    - Dst: '[AtomicInteger].compareAndSet(io.undertow.protocols.ssl.SNISSLEngine.InitialState,io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 1
    argNames:
    - want
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setWantClientAuth(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[AtomicInteger].compareAndSet(io.undertow.protocols.ssl.SNISSLEngine.InitialState,io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
    - '[AtomicInteger].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setWantClientAuth(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicInteger].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getWantClientAuth()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached:
    - '[AtomicInteger].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getWantClientAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicInteger].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:460,1
    - Dst: '[AtomicInteger].compareAndSet(io.undertow.protocols.ssl.SNISSLEngine.InitialState,io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: SSLEngine
    argCount: 1
    argNames:
    - flag
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnableSessionCreation(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 1
    functionsReached:
    - '[AtomicInteger].compareAndSet(io.undertow.protocols.ssl.SNISSLEngine.InitialState,io.undertow.protocols.ssl.SNISSLEngine.InitialState)'
    - '[AtomicInteger].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].setEnableSessionCreation(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AtomicInteger].get()'
      Src: io.undertow.protocols.ssl.SNISSLEngine.InitialState:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SNIContextMatcher
      - AtomicInteger
      - Function<SSLContext, SSLEngine>
      - int
      - String[]
      - String[]
      - SSLSession
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: SSLEngine
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getEnableSessionCreation()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLEngine.java
    functionUses: 0
    functionsReached:
    - '[AtomicInteger].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNISSLEngine.InitialState].getEnableSessionCreation()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.protocols.ssl.SslConduit:72,1
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.ssl.SslConduit:125,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:178,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:192,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:206,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getConduit()'
      Src: io.undertow.protocols.ssl.SslConduit:206,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:207,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getConduit()'
      Src: io.undertow.protocols.ssl.SslConduit:207,1
    - Dst: '[org.xnio.StreamConnection].getWorker()'
      Src: io.undertow.protocols.ssl.SslConduit:211,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:213,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getConduit()'
      Src: io.undertow.protocols.ssl.SslConduit:213,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].setReadReadyHandler()'
      Src: io.undertow.protocols.ssl.SslConduit:213,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:214,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getConduit()'
      Src: io.undertow.protocols.ssl.SslConduit:214,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].setWriteReadyHandler()'
      Src: io.undertow.protocols.ssl.SslConduit:214,1
    - Dst: '[javax.net.ssl.SSLEngine].getUseClientMode()'
      Src: io.undertow.protocols.ssl.SslConduit:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - javax.net.ssl.SSLEngine
      - java.util.concurrent.Executor
      - io.undertow.connector.ByteBufferPool
      - Runnable
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SslConduit
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - connection
    - delegate
    - engine
    - delegatedTaskExecutor
    - bufferPool
    - handshakeCallback
    argTypes:
    - io.undertow.protocols.ssl.UndertowSslConnection
    - org.xnio.StreamConnection
    - javax.net.ssl.SSLEngine
    - java.util.concurrent.Executor
    - io.undertow.connector.ByteBufferPool
    - Runnable
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: '[io.undertow.protocols.ssl.SslConduit].<init>(io.undertow.protocols.ssl.UndertowSslConnection,org.xnio.StreamConnection,javax.net.ssl.SSLEngine,java.util.concurrent.Executor,io.undertow.connector.ByteBufferPool,Runnable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getWorker()'
    - '[javax.net.ssl.SSLEngine].getUseClientMode()'
    - '[io.undertow.protocols.ssl.SslConduit].setReadReadyHandler()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - Integer.getInteger(String,int)
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].getConduit()'
    - '[io.undertow.protocols.ssl.SslConduit].setWriteReadyHandler()'
    - '[Runnable].<init>()'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SslConduit
    signature: '[io.undertow.protocols.ssl.SslConduit].<init>(io.undertow.protocols.ssl.UndertowSslConnection,org.xnio.StreamConnection,javax.net.ssl.SSLEngine,java.util.concurrent.Executor,io.undertow.connector.ByteBufferPool,Runnable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: '[io.undertow.protocols.ssl.SslConduit].terminateReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].terminateReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: '[io.undertow.protocols.ssl.SslConduit].isReadShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SslConduit].isReadShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:235,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].resumeReads(boolean)'
      Src: io.undertow.protocols.ssl.SslConduit:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 7
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: '[io.undertow.protocols.ssl.SslConduit].resumeReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].resumeReads(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].resumeReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreSet(int,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:244,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:245,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].suspendReads()'
      Src: io.undertow.protocols.ssl.SslConduit:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: '[io.undertow.protocols.ssl.SslConduit].suspendReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].suspendReads()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreSet(int,io.undertow.protocols.ssl.SslConduit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].suspendReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].resumeReads(boolean)'
      Src: io.undertow.protocols.ssl.SslConduit:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 7
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: '[io.undertow.protocols.ssl.SslConduit].wakeupReads()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].resumeReads(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].wakeupReads()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:256,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:257,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].resumeWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:257,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:259,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].runReadListener(boolean)'
      Src: io.undertow.protocols.ssl.SslConduit:260,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:262,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].resumeReads()'
      Src: io.undertow.protocols.ssl.SslConduit:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wakeup
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 265
      start: 254
    functionDepth: 6
    functionLinenumber: 254
    functionLinenumberEnd: 265
    functionName: '[io.undertow.protocols.ssl.SslConduit].resumeReads(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].resumeWrites()'
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].resumeReads()'
    - '[io.undertow.protocols.ssl.SslConduit].runReadListener(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].resumeReads(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].sslReadLoopDetected()'
      Src: io.undertow.protocols.ssl.SslConduit:271,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowSslConnection,org.xnio.StreamConnection)'
      Src: io.undertow.protocols.ssl.SslConduit:272,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].close()'
      Src: io.undertow.protocols.ssl.SslConduit:273,1
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.protocols.ssl.SslConduit:277,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].execute(Runnable)'
      Src: io.undertow.protocols.ssl.SslConduit:277,1
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.protocols.ssl.SslConduit:279,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].execute(Runnable)'
      Src: io.undertow.protocols.ssl.SslConduit:279,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowSslConnection,org.xnio.StreamConnection)'
      Src: io.undertow.protocols.ssl.SslConduit:283,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].debugf(io.undertow.protocols.ssl.SslConduit,String)'
      Src: io.undertow.protocols.ssl.SslConduit:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - resumeInListener
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 5
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: '[io.undertow.protocols.ssl.SslConduit].runReadListener(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].debugf(io.undertow.protocols.ssl.SslConduit,String)'
    - '[io.undertow.protocols.ssl.SslConduit].sslReadLoopDetected()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowSslConnection,org.xnio.StreamConnection)'
    - '[io.undertow.protocols.ssl.SslConduit].close()'
    - '[io.undertow.protocols.ssl.SslConduit].execute(Runnable)'
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].runReadListener(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.protocols.ssl.SslConduit:290,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:290,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].execute(Runnable)'
      Src: io.undertow.protocols.ssl.SslConduit:290,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowSslConnection,org.xnio.StreamConnection)'
      Src: io.undertow.protocols.ssl.SslConduit:298,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].debugf(io.undertow.protocols.ssl.SslConduit,String)'
      Src: io.undertow.protocols.ssl.SslConduit:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: '[io.undertow.protocols.ssl.SslConduit].runWriteListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].debugf(io.undertow.protocols.ssl.SslConduit,String)'
    - '[Runnable].<init>()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowSslConnection,org.xnio.StreamConnection)'
    - '[io.undertow.protocols.ssl.SslConduit].execute(Runnable)'
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].runWriteListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: '[io.undertow.protocols.ssl.SslConduit].isReadResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SslConduit].isReadResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].wait()'
      Src: io.undertow.protocols.ssl.SslConduit:313,1
    - Dst: Thread.currentThread()
      Src: io.undertow.protocols.ssl.SslConduit:316,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].interrupt()'
      Src: io.undertow.protocols.ssl.SslConduit:316,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:317,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:324,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:327,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].awaitWritable()'
      Src: io.undertow.protocols.ssl.SslConduit:328,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].awaitReadable()'
      Src: io.undertow.protocols.ssl.SslConduit:331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 332
    functionName: '[io.undertow.protocols.ssl.SslConduit].awaitReadable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.conduits.StreamSourceConduit].awaitReadable()'
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].interrupt()'
    - '[io.undertow.protocols.ssl.SslConduit].awaitWritable()'
    - '[io.undertow.protocols.ssl.SslConduit].wait()'
    - Thread.currentThread()
    - '[java.io.InterruptedIOException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].awaitReadable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.protocols.ssl.SslConduit:339,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].wait(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:339,1
    - Dst: Thread.currentThread()
      Src: io.undertow.protocols.ssl.SslConduit:342,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].interrupt()'
      Src: io.undertow.protocols.ssl.SslConduit:342,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:343,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:350,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:353,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.protocols.ssl.SslConduit:354,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.protocols.ssl.SslConduit:357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 358
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 358
    functionName: '[io.undertow.protocols.ssl.SslConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.protocols.ssl.SslConduit].wait(io.undertow.protocols.ssl.SslConduit)'
    - '[org.xnio.conduits.StreamSourceConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.protocols.ssl.SslConduit].interrupt()'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    - Thread.currentThread()
    - '[java.io.InterruptedIOException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.protocols.ssl.SslConduit:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: '[io.undertow.protocols.ssl.SslConduit].getReadThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.protocols.ssl.SslConduit].getReadThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:367,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getConduit()'
      Src: io.undertow.protocols.ssl.SslConduit:367,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].setReadReadyHandler()'
      Src: io.undertow.protocols.ssl.SslConduit:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ReadReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - org.xnio.conduits.ReadReadyHandler
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: '[io.undertow.protocols.ssl.SslConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].setReadReadyHandler()'
    - '[io.undertow.protocols.ssl.SslConduit].getConduit()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].setReadReadyHandler(org.xnio.conduits.ReadReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:372,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:373,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:375,1
    - Dst: '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.protocols.ssl.SslConduit:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: '[io.undertow.protocols.ssl.SslConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[java.nio.channels.FileChannel].transferTo(long,long,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:380,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:381,1
    - Dst: '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:383,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
      Src: io.undertow.protocols.ssl.SslConduit:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: '[io.undertow.protocols.ssl.SslConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.conduits.ConduitWritableByteChannel].<init>()'
    - '[org.xnio.IoUtils].transfer(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer,org.xnio.conduits.ConduitWritableByteChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:388,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:389,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doWrap(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: '[io.undertow.protocols.ssl.SslConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.ssl.SslConduit].doWrap(int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SslConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:396,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:397,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doWrap(ByteBuffer[],int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 10
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: '[io.undertow.protocols.ssl.SslConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.ssl.SslConduit].doWrap(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:404,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:405,1
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SslConduit:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: '[io.undertow.protocols.ssl.SslConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SslConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: '[io.undertow.protocols.ssl.SslConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: '[io.undertow.protocols.ssl.SslConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: '[io.undertow.protocols.ssl.SslConduit].isWriteShutdown()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SslConduit].isWriteShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:428,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:429,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].resumeReads()'
      Src: io.undertow.protocols.ssl.SslConduit:429,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:431,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].resumeWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 8
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: '[io.undertow.protocols.ssl.SslConduit].resumeWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].resumeWrites()'
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].resumeReads()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].resumeWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreSet(int,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:438,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:439,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].suspendWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: '[io.undertow.protocols.ssl.SslConduit].suspendWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreSet(int,io.undertow.protocols.ssl.SslConduit)'
    - '[io.undertow.protocols.ssl.SslConduit].suspendWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].suspendWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getWriteThread()'
      Src: io.undertow.protocols.ssl.SslConduit:446,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:446,1
    - Dst: '[org.xnio.XnioIoThread].execute(Runnable)'
      Src: io.undertow.protocols.ssl.SslConduit:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: '[io.undertow.protocols.ssl.SslConduit].wakeupWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].getWriteThread()'
    - '[org.xnio.XnioIoThread].execute(Runnable)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].wakeupWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: '[io.undertow.protocols.ssl.SslConduit].isWriteResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SslConduit].isWriteResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:462,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].wait()'
      Src: io.undertow.protocols.ssl.SslConduit:469,1
    - Dst: Thread.currentThread()
      Src: io.undertow.protocols.ssl.SslConduit:472,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].interrupt()'
      Src: io.undertow.protocols.ssl.SslConduit:472,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:473,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:478,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].awaitReadable()'
      Src: io.undertow.protocols.ssl.SslConduit:479,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
      Src: io.undertow.protocols.ssl.SslConduit:482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 483
    functionName: '[io.undertow.protocols.ssl.SslConduit].awaitWritable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].awaitReadable()'
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].interrupt()'
    - '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
    - '[io.undertow.protocols.ssl.SslConduit].wait()'
    - Thread.currentThread()
    - '[java.io.InterruptedIOException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].awaitWritable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:487,1
    - Dst: '[java.util.concurrent.TimeUnit].toMillis(long)'
      Src: io.undertow.protocols.ssl.SslConduit:494,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].wait(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:494,1
    - Dst: Thread.currentThread()
      Src: io.undertow.protocols.ssl.SslConduit:497,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].interrupt()'
      Src: io.undertow.protocols.ssl.SslConduit:497,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:498,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:503,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.protocols.ssl.SslConduit:504,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
      Src: io.undertow.protocols.ssl.SslConduit:507,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 508
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 508
    functionName: '[io.undertow.protocols.ssl.SslConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].wait(io.undertow.protocols.ssl.SslConduit)'
    - '[io.undertow.protocols.ssl.SslConduit].awaitReadable(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.protocols.ssl.SslConduit].interrupt()'
    - '[org.xnio.conduits.StreamSinkConduit].awaitWritable()'
    - '[java.util.concurrent.TimeUnit].toMillis(long)'
    - Thread.currentThread()
    - '[java.io.InterruptedIOException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].awaitWritable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.protocols.ssl.SslConduit:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: '[io.undertow.protocols.ssl.SslConduit].getWriteThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.protocols.ssl.SslConduit].getWriteThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:517,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getConduit()'
      Src: io.undertow.protocols.ssl.SslConduit:517,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].setWriteReadyHandler()'
      Src: io.undertow.protocols.ssl.SslConduit:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.WriteReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handler
    argTypes:
    - org.xnio.conduits.WriteReadyHandler
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: '[io.undertow.protocols.ssl.SslConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].setWriteReadyHandler()'
    - '[io.undertow.protocols.ssl.SslConduit].getConduit()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:523,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:525,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].close()'
      Src: io.undertow.protocols.ssl.SslConduit:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 520
    functionDepth: 6
    functionLinenumber: 520
    functionLinenumberEnd: 527
    functionName: '[io.undertow.protocols.ssl.SslConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].close()'
    - '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:531,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].flush()'
      Src: io.undertow.protocols.ssl.SslConduit:532,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:535,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:540,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:541,1
    - Dst: '[javax.net.ssl.SSLEngine].closeOutbound()'
      Src: io.undertow.protocols.ssl.SslConduit:543,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:544,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:548,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:549,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:554,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].terminateWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:555,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:557,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].flush()'
      Src: io.undertow.protocols.ssl.SslConduit:559,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:560,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].closed()'
      Src: io.undertow.protocols.ssl.SslConduit:561,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].flush()'
      Src: io.undertow.protocols.ssl.SslConduit:565,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 529
    functionDepth: 6
    functionLinenumber: 529
    functionLinenumberEnd: 566
    functionName: '[io.undertow.protocols.ssl.SslConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
    - '[org.xnio.conduits.StreamSinkConduit].flush()'
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[org.xnio.conduits.StreamSinkConduit].terminateWrites()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].closed()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreSet(int,int)'
    - '[javax.net.ssl.SSLEngine].closeOutbound()'
    - '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SslConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:570,1
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:573,1
    - Dst: '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
      Src: io.undertow.protocols.ssl.SslConduit:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 574
    functionName: '[io.undertow.protocols.ssl.SslConduit].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[java.nio.channels.FileChannel].transferFrom(org.xnio.conduits.ConduitReadableByteChannel,long,long)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:578,1
    - Dst: '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:581,1
    - Dst: '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.protocols.ssl.SslConduit:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - target
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: '[io.undertow.protocols.ssl.SslConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[org.xnio.IoUtils].transfer(org.xnio.conduits.ConduitReadableByteChannel,long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    - '[org.xnio.conduits.ConduitReadableByteChannel].<init>()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:586,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doUnwrap(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: '[io.undertow.protocols.ssl.SslConduit].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].doUnwrap(int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SslConduit].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:594,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doUnwrap(ByteBuffer[],int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - dsts
    - offs
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 7
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: '[io.undertow.protocols.ssl.SslConduit].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].doUnwrap(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getWorker()'
      Src: io.undertow.protocols.ssl.SslConduit:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: '[io.undertow.protocols.ssl.SslConduit].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.protocols.ssl.SslConduit].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getWorker()'
      Src: io.undertow.protocols.ssl.SslConduit:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.concurrent.Executor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 607
    functionName: '[io.undertow.protocols.ssl.SslConduit].getDelegatedTaskExecutor()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].getWorker()'
    linkageType: ''
    returnType: java.util.concurrent.Executor
    signature: '[io.undertow.protocols.ssl.SslConduit].getDelegatedTaskExecutor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:610,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].isWriteResumed()'
      Src: io.undertow.protocols.ssl.SslConduit:613,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:613,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].writeClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:614,1
    - Dst: '[javax.net.ssl.SSLEngine].closeOutbound()'
      Src: io.undertow.protocols.ssl.SslConduit:615,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:617,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].closed()'
      Src: io.undertow.protocols.ssl.SslConduit:618,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:620,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:621,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].runWriteListener()'
      Src: io.undertow.protocols.ssl.SslConduit:626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 609
    functionDepth: 5
    functionLinenumber: 609
    functionLinenumberEnd: 628
    functionName: '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].isWriteResumed()'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].writeClosed()'
    - '[io.undertow.protocols.ssl.SslConduit].closed()'
    - '[javax.net.ssl.SSLEngine].closeOutbound()'
    - '[io.undertow.protocols.ssl.SslConduit].runWriteListener()'
    - '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:631,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].isReadResumed()'
      Src: io.undertow.protocols.ssl.SslConduit:634,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:634,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].readClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:635,1
    - Dst: '[javax.net.ssl.SSLEngine].closeInbound()'
      Src: io.undertow.protocols.ssl.SslConduit:638,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].trace(String,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:640,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:641,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].isWriteResumed()'
      Src: io.undertow.protocols.ssl.SslConduit:641,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].runWriteListener()'
      Src: io.undertow.protocols.ssl.SslConduit:642,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:647,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].closed()'
      Src: io.undertow.protocols.ssl.SslConduit:648,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:650,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:651,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].runReadListener(boolean)'
      Src: io.undertow.protocols.ssl.SslConduit:654,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 630
    functionDepth: 3
    functionLinenumber: 630
    functionLinenumberEnd: 656
    functionName: '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 5
    functionsReached:
    - '[javax.net.ssl.SSLEngine].closeInbound()'
    - '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].trace(String,io.undertow.protocols.ssl.SslConduit)'
    - '[io.undertow.protocols.ssl.SslConduit].isWriteResumed()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].closed()'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].readClosed()'
    - '[io.undertow.protocols.ssl.SslConduit].isReadResumed()'
    - '[io.undertow.protocols.ssl.SslConduit].runWriteListener()'
    - '[io.undertow.protocols.ssl.SslConduit].runReadListener(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].beginHandshake()'
      Src: io.undertow.protocols.ssl.SslConduit:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionName: '[io.undertow.protocols.ssl.SslConduit].startHandshake()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[javax.net.ssl.SSLEngine].beginHandshake()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].startHandshake()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getSession()'
      Src: io.undertow.protocols.ssl.SslConduit:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 665
    functionName: '[io.undertow.protocols.ssl.SslConduit].getSslSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.protocols.ssl.SslConduit].getSslSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doUnwrap(null,int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:674,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: '[io.undertow.protocols.ssl.SslConduit].doHandshake()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].doUnwrap(null,int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].doHandshake()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:693,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].bytesProduced()'
      Src: io.undertow.protocols.ssl.SslConduit:694,1
    - Dst: '[AccumulativeOrBoolean].add(int)'
      Src: io.undertow.protocols.ssl.SslConduit:694,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getHandshakeStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:695,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:696,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - ByteBuffer[]
      - int
      - int
      - AccumulativeOrBoolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - src
    - dsts
    - 'off'
    - len
    - bytesProduced
    argTypes:
    - java.nio.ByteBuffer
    - ByteBuffer[]
    - int
    - int
    - AccumulativeOrBoolean
    constantsTouched: []
    func_position:
      end: 698
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 698
    functionName: '[io.undertow.protocols.ssl.SslConduit].engineUnwrap(java.nio.ByteBuffer,ByteBuffer[],int,int,AccumulativeOrBoolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[AccumulativeOrBoolean].add(int)'
    - '[javax.net.ssl.SSLEngine].unwrap(java.nio.ByteBuffer,ByteBuffer[],int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].getHandshakeStatus()'
    - '[io.undertow.protocols.ssl.SslConduit].bytesProduced()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.protocols.ssl.SslConduit].getStatus()'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SslConduit].engineUnwrap(java.nio.ByteBuffer,ByteBuffer[],int,int,AccumulativeOrBoolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:711,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:712,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:717,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:718,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:719,1
    - Dst: '[AccumulativeOrBoolean].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:723,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:728,1
    - Dst: '[org.xnio.Buffers].copy(ByteBuffer[],int,int,java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SslConduit:728,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:729,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:729,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:730,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:744,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.protocols.ssl.SslConduit:746,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:750,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].read(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SslConduit:750,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:752,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:756,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.protocols.ssl.SslConduit:756,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:758,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:760,1
    - Dst: '[javax.net.ssl.SSLEngine].getHandshakeStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:762,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:765,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:765,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:766,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:772,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.ssl.SslConduit:772,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[])'
      Src: io.undertow.protocols.ssl.SslConduit:776,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:785,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].engineUnwrap(java.nio.ByteBuffer,ByteBuffer[],int,int,AccumulativeOrBoolean)'
      Src: io.undertow.protocols.ssl.SslConduit:785,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:786,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.protocols.ssl.SslConduit:789,1
    - Dst: System.arraycopy(ByteBuffer[],int,io.undertow.protocols.ssl.SslConduit,int,int)
      Src: io.undertow.protocols.ssl.SslConduit:791,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:792,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].engineUnwrap(java.nio.ByteBuffer,io.undertow.protocols.ssl.SslConduit,int,io.undertow.protocols.ssl.SslConduit,AccumulativeOrBoolean)'
      Src: io.undertow.protocols.ssl.SslConduit:793,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.protocols.ssl.SslConduit:799,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:801,1
    - Dst: '[java.nio.ByteBuffer].compact()'
      Src: io.undertow.protocols.ssl.SslConduit:801,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:803,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].engineUnwrap(java.nio.ByteBuffer,int,int,AccumulativeOrBoolean)'
      Src: io.undertow.protocols.ssl.SslConduit:803,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:807,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.protocols.ssl.SslConduit:807,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:808,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:808,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:809,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:816,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:818,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:821,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].handleHandshakeResult(javax.net.ssl.SSLEngineResult)'
      Src: io.undertow.protocols.ssl.SslConduit:824,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:825,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:825,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:826,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:827,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.ssl.SslConduit:827,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:834,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:836,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].sslBufferOverflow()'
      Src: io.undertow.protocols.ssl.SslConduit:837,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.protocols.ssl.SslConduit:838,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:839,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:839,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:839,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.ssl.SslConduit:839,1
    - Dst: '[org.xnio.Buffers].remaining(ByteBuffer[])'
      Src: io.undertow.protocols.ssl.SslConduit:847,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].clearWriteRequiresRead()'
      Src: io.undertow.protocols.ssl.SslConduit:859,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:860,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].flush()'
      Src: io.undertow.protocols.ssl.SslConduit:861,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].debug(String,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:863,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].close()'
      Src: io.undertow.protocols.ssl.SslConduit:865,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].debug(String,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:868,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].close()'
      Src: io.undertow.protocols.ssl.SslConduit:873,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].debug(String,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:876,1
    - Dst: '[AccumulativeOrBoolean].get()'
      Src: io.undertow.protocols.ssl.SslConduit:882,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].isOpen()'
      Src: io.undertow.protocols.ssl.SslConduit:882,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:882,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:882,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:887,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:887,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:887,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:888,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:891,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:893,1
    - Dst: '[java.nio.ByteBuffer].compact()'
      Src: io.undertow.protocols.ssl.SslConduit:893,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:901,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreSet(int,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:901,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].runReadListener(boolean)'
      Src: io.undertow.protocols.ssl.SslConduit:902,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 168
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - userBuffers
    - 'off'
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 905
      start: 710
    functionDepth: 6
    functionLinenumber: 710
    functionLinenumberEnd: 905
    functionName: '[io.undertow.protocols.ssl.SslConduit].doUnwrap(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.ssl.SslConduit].clearWriteRequiresRead()'
    - '[AccumulativeOrBoolean].get()'
    - '[io.undertow.connector.PooledByteBuffer].isOpen()'
    - '[io.undertow.protocols.ssl.SslConduit].runReadListener(boolean)'
    - '[java.nio.ByteBuffer].compact()'
    - '[javax.net.ssl.SSLEngine].getHandshakeStatus()'
    - '[io.undertow.protocols.ssl.SslConduit].engineUnwrap(java.nio.ByteBuffer,io.undertow.protocols.ssl.SslConduit,int,io.undertow.protocols.ssl.SslConduit,AccumulativeOrBoolean)'
    - System.arraycopy(ByteBuffer[],int,io.undertow.protocols.ssl.SslConduit,int,int)
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreSet(int,io.undertow.protocols.ssl.SslConduit)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.protocols.ssl.SslConduit].sslBufferOverflow()'
    - '[io.undertow.protocols.ssl.SslConduit].close()'
    - '[io.undertow.protocols.ssl.SslConduit].handleHandshakeResult(javax.net.ssl.SSLEngineResult)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
    - '[org.xnio.Buffers].copy(ByteBuffer[],int,int,java.nio.ByteBuffer)'
    - '[io.undertow.protocols.ssl.SslConduit].debug(String,io.undertow.protocols.ssl.SslConduit)'
    - '[org.xnio.Buffers].remaining(ByteBuffer[])'
    - '[javax.net.ssl.SSLEngineResult].getStatus()'
    - '[io.undertow.protocols.ssl.SslConduit].flush()'
    - '[AccumulativeOrBoolean].<init>()'
    - '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
    - '[io.undertow.protocols.ssl.SslConduit].engineUnwrap(java.nio.ByteBuffer,ByteBuffer[],int,int,AccumulativeOrBoolean)'
    - '[io.undertow.protocols.ssl.SslConduit].engineUnwrap(java.nio.ByteBuffer,int,int,AccumulativeOrBoolean)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.protocols.ssl.SslConduit].doWrap(null,int,int)'
    - '[org.xnio.conduits.StreamSourceConduit].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].doUnwrap(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:920,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:921,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:926,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].doUnwrap(null,int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:927,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:928,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:933,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SslConduit:933,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:934,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:934,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:937,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.protocols.ssl.SslConduit:937,1
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.protocols.ssl.SslConduit:939,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].wrapAndFlip(ByteBuffer[],int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:942,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:944,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.protocols.ssl.SslConduit:945,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:946,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:948,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:948,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:949,1
    - Dst: '[java.nio.ByteBuffer].capacity()'
      Src: io.undertow.protocols.ssl.SslConduit:949,1
    - Dst: '[javax.net.ssl.SSLEngine].getSession()'
      Src: io.undertow.protocols.ssl.SslConduit:949,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getPacketBufferSize()'
      Src: io.undertow.protocols.ssl.SslConduit:949,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:950,1
    - Dst: '[javax.net.ssl.SSLEngine].getSession()'
      Src: io.undertow.protocols.ssl.SslConduit:951,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getPacketBufferSize()'
      Src: io.undertow.protocols.ssl.SslConduit:951,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].tracev(String,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:952,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.protocols.ssl.SslConduit:954,1
    - Dst: '[io.undertow.connector.ByteBufferPool].getBufferSize()'
      Src: io.undertow.protocols.ssl.SslConduit:956,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,io.undertow.protocols.ssl.SslConduit,int)'
      Src: io.undertow.protocols.ssl.SslConduit:957,1
    - Dst: '[io.undertow.server.DefaultByteBufferPool].allocate()'
      Src: io.undertow.protocols.ssl.SslConduit:961,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].wrapAndFlip(ByteBuffer[],int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:962,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:963,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:964,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:964,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.protocols.ssl.SslConduit:965,1
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.protocols.ssl.SslConduit:967,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:972,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:972,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:973,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].write(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SslConduit:973,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:976,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:976,1
    - Dst: '[javax.net.ssl.SSLEngineResult].bytesConsumed()'
      Src: io.undertow.protocols.ssl.SslConduit:977,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].handleHandshakeResult(javax.net.ssl.SSLEngineResult)'
      Src: io.undertow.protocols.ssl.SslConduit:980,1
    - Dst: '[javax.net.ssl.SSLEngineResult].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:983,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:984,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:985,1
    - Dst: '[javax.net.ssl.SSLEngineResult].bytesConsumed()'
      Src: io.undertow.protocols.ssl.SslConduit:988,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].close()'
      Src: io.undertow.protocols.ssl.SslConduit:991,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].debug(String,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:993,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:999,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.ssl.SslConduit:999,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:999,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:1000,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 84
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - userBuffers
    - 'off'
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1005
      start: 919
    functionDepth: 9
    functionLinenumber: 919
    functionLinenumberEnd: 1005
    functionName: '[io.undertow.protocols.ssl.SslConduit].doWrap(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.nio.ByteBuffer].clear()'
    - '[io.undertow.protocols.ssl.SslConduit].getPacketBufferSize()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,io.undertow.protocols.ssl.SslConduit,int)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[javax.net.ssl.SSLEngine].getSession()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.protocols.ssl.SslConduit].close()'
    - '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
    - '[java.nio.ByteBuffer].capacity()'
    - '[io.undertow.protocols.ssl.SslConduit].handleHandshakeResult(javax.net.ssl.SSLEngineResult)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].wrapAndFlip(ByteBuffer[],int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].tracev(String,io.undertow.protocols.ssl.SslConduit)'
    - '[io.undertow.protocols.ssl.SslConduit].debug(String,io.undertow.protocols.ssl.SslConduit)'
    - '[javax.net.ssl.SSLEngineResult].getStatus()'
    - '[org.xnio.conduits.StreamSinkConduit].write(java.nio.ByteBuffer)'
    - '[javax.net.ssl.SSLEngineResult].bytesConsumed()'
    - '[io.undertow.connector.ByteBufferPool].getBufferSize()'
    - '[java.io.IOException].<init>(String)'
    - '[io.undertow.server.DefaultByteBufferPool].allocate()'
    - '[io.undertow.protocols.ssl.SslConduit].doUnwrap(null,int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.ssl.SslConduit].doWrap(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: result.getHandshakeStatus()
      Src: io.undertow.protocols.ssl.SslConduit:1010,1
    - Dst: result.getStatus()
      Src: io.undertow.protocols.ssl.SslConduit:1011,1
    - Dst: '[javax.net.ssl.SSLEngine].isInboundDone()'
      Src: io.undertow.protocols.ssl.SslConduit:1011,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:1013,1
    - Dst: '[javax.net.ssl.SSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SslConduit:1013,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:1015,1
    - Dst: '[javax.net.ssl.SSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SslConduit:1015,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].bytesConsumed()'
      Src: io.undertow.protocols.ssl.SslConduit:1017,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].bytesConsumed()'
      Src: io.undertow.protocols.ssl.SslConduit:1019,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:1020,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getHandshakeStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:1020,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].bytesProduced()'
      Src: io.undertow.protocols.ssl.SslConduit:1020,1
    - Dst: '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.protocols.ssl.SslConduit,io.undertow.protocols.ssl.SslConduit,io.undertow.protocols.ssl.SslConduit,io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:1020,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.ssl.SslConduit:1022,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.protocols.ssl.SslConduit:1022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLEngineResult
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - userBuffers
    - 'off'
    - len
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1024
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1024
    functionName: '[io.undertow.protocols.ssl.SslConduit].wrapAndFlip(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - result.getStatus()
    - '[javax.net.ssl.SSLEngine].wrap(ByteBuffer[],int,int,java.nio.ByteBuffer)'
    - '[javax.net.ssl.SSLEngine].wrap(java.nio.ByteBuffer,java.nio.ByteBuffer)'
    - '[io.undertow.protocols.ssl.SslConduit].getHandshakeStatus()'
    - '[io.undertow.protocols.ssl.SslConduit].bytesProduced()'
    - '[javax.net.ssl.SSLEngineResult].<init>(io.undertow.protocols.ssl.SslConduit,io.undertow.protocols.ssl.SslConduit,io.undertow.protocols.ssl.SslConduit,io.undertow.protocols.ssl.SslConduit)'
    - '[javax.net.ssl.SSLEngine].isInboundDone()'
    - '[io.undertow.protocols.ssl.SslConduit].bytesConsumed()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - result.getHandshakeStatus()
    - '[java.nio.ByteBuffer].flip()'
    - '[io.undertow.protocols.ssl.SslConduit].getStatus()'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngineResult
    signature: '[io.undertow.protocols.ssl.SslConduit].wrapAndFlip(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngineResult].getHandshakeStatus()'
      Src: io.undertow.protocols.ssl.SslConduit:1027,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].clearReadRequiresWrite()'
      Src: io.undertow.protocols.ssl.SslConduit:1030,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].clearWriteRequiresRead()'
      Src: io.undertow.protocols.ssl.SslConduit:1031,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].runTasks()'
      Src: io.undertow.protocols.ssl.SslConduit:1032,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].clearReadRequiresWrite()'
      Src: io.undertow.protocols.ssl.SslConduit:1036,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].suspendWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:1038,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1039,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].resumeReads()'
      Src: io.undertow.protocols.ssl.SslConduit:1040,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].clearWriteRequiresRead()'
      Src: io.undertow.protocols.ssl.SslConduit:1046,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].suspendReads()'
      Src: io.undertow.protocols.ssl.SslConduit:1048,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1049,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:1050,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1055,1
    - Dst: '[Runnable].run()'
      Src: io.undertow.protocols.ssl.SslConduit:1057,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].clearReadRequiresWrite()'
      Src: io.undertow.protocols.ssl.SslConduit:1061,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].clearWriteRequiresRead()'
      Src: io.undertow.protocols.ssl.SslConduit:1062,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngineResult
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - javax.net.ssl.SSLEngineResult
    constantsTouched: []
    func_position:
      end: 1064
      start: 1026
    functionDepth: 8
    functionLinenumber: 1026
    functionLinenumberEnd: 1064
    functionName: '[io.undertow.protocols.ssl.SslConduit].handleHandshakeResult(javax.net.ssl.SSLEngineResult)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.conduits.StreamSinkConduit].resumeWrites()'
    - '[io.undertow.protocols.ssl.SslConduit].clearWriteRequiresRead()'
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[org.xnio.conduits.StreamSinkConduit].suspendWrites()'
    - '[io.undertow.protocols.ssl.SslConduit].clearReadRequiresWrite()'
    - '[org.xnio.conduits.StreamSourceConduit].resumeReads()'
    - '[io.undertow.protocols.ssl.SslConduit].runTasks()'
    - '[org.xnio.conduits.StreamSourceConduit].suspendReads()'
    - '[javax.net.ssl.SSLEngineResult].getHandshakeStatus()'
    - '[Runnable].run()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SslConduit].handleHandshakeResult(javax.net.ssl.SSLEngineResult)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1067,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1069,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].resumeReads(boolean)'
      Src: io.undertow.protocols.ssl.SslConduit:1070,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1072,1
    - Dst: '[org.xnio.conduits.StreamSinkConduit].suspendWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1066
    functionDepth: 7
    functionLinenumber: 1066
    functionLinenumberEnd: 1076
    functionName: '[io.undertow.protocols.ssl.SslConduit].clearReadRequiresWrite()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[org.xnio.conduits.StreamSinkConduit].suspendWrites()'
    - '[io.undertow.protocols.ssl.SslConduit].resumeReads(boolean)'
    - '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].clearReadRequiresWrite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1079,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1081,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].wakeupWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:1082,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1084,1
    - Dst: '[org.xnio.conduits.StreamSourceConduit].suspendReads()'
      Src: io.undertow.protocols.ssl.SslConduit:1085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1088
    functionName: '[io.undertow.protocols.ssl.SslConduit].clearWriteRequiresRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[org.xnio.conduits.StreamSourceConduit].suspendReads()'
    - '[io.undertow.protocols.ssl.SslConduit].wakeupWrites()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].clearWriteRequiresRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1091,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:1096,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
      Src: io.undertow.protocols.ssl.SslConduit:1097,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:1099,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:1103,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.ssl.SslConduit:1107,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1110,1
    - Dst: '[javax.net.ssl.SSLEngine].closeOutbound()'
      Src: io.undertow.protocols.ssl.SslConduit:1111,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
      Src: io.undertow.protocols.ssl.SslConduit:1113,1
    - Dst: '[javax.net.ssl.SSLEngine].closeInbound()'
      Src: io.undertow.protocols.ssl.SslConduit:1115,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].ioException(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:1117,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].handleUnexpectedFailure(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:1119,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.protocols.ssl.SslConduit:1123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1124
    functionName: '[io.undertow.protocols.ssl.SslConduit].closed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].handleUnexpectedFailure(io.undertow.protocols.ssl.SslConduit)'
    - '[javax.net.ssl.SSLEngine].closeInbound()'
    - '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.protocols.ssl.SslConduit].anyAreSet(int,int)'
    - '[io.undertow.protocols.ssl.SslConduit].ioException(io.undertow.protocols.ssl.SslConduit)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.protocols.ssl.SslConduit].allAreClear(int,int)'
    - '[javax.net.ssl.SSLEngine].closeOutbound()'
    - '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].closed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:1133,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].suspendWrites()'
      Src: io.undertow.protocols.ssl.SslConduit:1133,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.protocols.ssl.SslConduit:1134,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].suspendReads()'
      Src: io.undertow.protocols.ssl.SslConduit:1134,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:1135,1
    - Dst: '[javax.net.ssl.SSLEngine].getDelegatedTask()'
      Src: io.undertow.protocols.ssl.SslConduit:1136,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:1138,1
    - Dst: '[javax.net.ssl.SSLEngine].getDelegatedTask()'
      Src: io.undertow.protocols.ssl.SslConduit:1139,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.protocols.ssl.SslConduit:1143,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit:1145,1
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.protocols.ssl.SslConduit:1188,1
    - Dst: Thread.currentThread()
      Src: io.undertow.protocols.ssl.SslConduit:1188,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].equals(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:1188,1
    - Dst: '[Runnable].run()'
      Src: io.undertow.protocols.ssl.SslConduit:1189,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getDelegatedTaskExecutor()'
      Src: io.undertow.protocols.ssl.SslConduit:1191,1
    - Dst: '[java.util.concurrent.Executor].execute(Runnable)'
      Src: io.undertow.protocols.ssl.SslConduit:1191,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].sslEngineDelegatedTaskRejected(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.SslConduit:1194,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowSslConnection)'
      Src: io.undertow.protocols.ssl.SslConduit:1195,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1200
    functionName: '[io.undertow.protocols.ssl.SslConduit].runTasks()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].suspendWrites()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.protocols.ssl.SslConduit].equals(io.undertow.protocols.ssl.SslConduit)'
    - '[java.util.concurrent.Executor].execute(Runnable)'
    - '[io.undertow.protocols.ssl.SslConduit].sslEngineDelegatedTaskRejected(io.undertow.protocols.ssl.SslConduit)'
    - '[io.undertow.protocols.ssl.SslConduit].suspendReads()'
    - '[Runnable].run()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowSslConnection)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(io.undertow.protocols.ssl.SslConduit)'
    - Thread.currentThread()
    - '[javax.net.ssl.SSLEngine].getDelegatedTask()'
    - '[java.util.ArrayList].size()'
    - '[Runnable].<init>()'
    - '[io.undertow.protocols.ssl.SslConduit].getDelegatedTaskExecutor()'
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].runTasks()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1231
    functionName: '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].closed()'
      Src: io.undertow.protocols.ssl.SslConduit:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1236
    functionDepth: 4
    functionLinenumber: 1236
    functionLinenumberEnd: 1238
    functionName: '[io.undertow.protocols.ssl.SslConduit].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].closed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - engine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 1405
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1405
    functionName: '[io.undertow.protocols.ssl.SslConduit].setSslEngine(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit].setSslEngine(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.nio.ByteBuffer
      - io.undertow.connector.ByteBufferPool
      - io.undertow.protocols.ssl.UndertowSslConnection
      - org.xnio.StreamConnection
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLEngine
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      - io.undertow.connector.ByteBufferPool
      - Runnable
      - int
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.connector.PooledByteBuffer
      - SslWriteReadyHandler
      - SslReadReadyHandler
      - int
      - boolean
      - Runnable
      - Runnable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - org.xnio.conduits.StreamSinkConduit
      - org.xnio.conduits.StreamSourceConduit
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1416
    functionName: '[io.undertow.protocols.ssl.SslConduit].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.ssl.SslConduit].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DelegatedTaskRejectedClosedChannelException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Throwable
      static: false
      superClass: ClosedChannelException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1215
    functionName: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].fillInStackTrace()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Throwable
    signature: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].fillInStackTrace()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - DelegatedTaskRejectedClosedChannelException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Throwable
      static: false
      superClass: ClosedChannelException
    argCount: 1
    argNames:
    - ignored
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 1221
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1221
    functionName: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].initCause(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Throwable
    signature: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].initCause(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - StackTraceElement[]
      classConcrete: true
      classEnum: false
      classFields:
      - DelegatedTaskRejectedClosedChannelException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: ClosedChannelException
    argCount: 1
    argNames:
    - ignored
    argTypes:
    - StackTraceElement[]
    constantsTouched: []
    func_position:
      end: 1226
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1226
    functionName: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].setStackTrace(StackTraceElement[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].setStackTrace(StackTraceElement[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].<init>()'
      Src: io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - DelegatedTaskRejectedClosedChannelException
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException
      static: false
      superClass: ClosedChannelException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException
    signature: '[io.undertow.protocols.ssl.SslConduit.DelegatedTaskRejectedClosedChannelException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.ReadReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - ReadReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ReadReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegateHandler
    argTypes:
    - org.xnio.conduits.ReadReadyHandler
    constantsTouched: []
    func_position:
      end: 1249
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1249
    functionName: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].<init>(org.xnio.conduits.ReadReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler
    signature: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].<init>(org.xnio.conduits.ReadReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1253,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1253,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1253,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].doHandshake()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1256,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].ioException(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1258,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1259,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].handleUnexpectedFailure(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1261,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1262,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1267,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].allAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1267,1
    - Dst: delegate.getSourceChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1268,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].suspendReads()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1268,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1275,1
    - Dst: connection.getSourceChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1277,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].getReadListener()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1277,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].suspendReads()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1279,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1281,1
    - Dst: dataToUnwrap.getBuffer()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1282,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].remaining()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1282,1
    - Dst: unwrappedData.getBuffer()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1285,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].remaining()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1285,1
    - Dst: connection.getSourceChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1287,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1287,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1288,1
    - Dst: dataToUnwrap.getBuffer()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1288,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].remaining()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1288,1
    - Dst: unwrappedData.getBuffer()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1290,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].remaining()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1290,1
    - Dst: '[ReadReadyHandler].readReady()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1295,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1298,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1298,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1299,1
    - Dst: unwrappedData.close()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1302,1
    - Dst: dataToUnwrap.close()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1305,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1316,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].runReadListener(boolean)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1317,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ReadReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ReadReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1321
    functionName: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].readReady()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - dataToUnwrap.close()
    - delegate.getSourceChannel()
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].remaining()'
    - '[ReadReadyHandler].readReady()'
    - unwrappedData.close()
    - dataToUnwrap.getBuffer()
    - connection.getSourceChannel()
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].getReadListener()'
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].handleUnexpectedFailure(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].ioException(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].runReadListener(boolean)'
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].allAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].doHandshake()'
    - unwrappedData.getBuffer()
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].suspendReads()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].readReady()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ReadReadyHandler].forceTermination()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1327,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ReadReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ReadReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1332
    functionName: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].forceTermination()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
    - '[ReadReadyHandler].forceTermination()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].forceTermination()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connection.getSourceChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1336,1
    - Dst: connection.getSourceChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1336,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].getCloseListener()'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1336,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ReadReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ReadReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1337
    functionName: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].terminated()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler,io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler)'
    - '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].getCloseListener()'
    - connection.getSourceChannel()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit.SslReadReadyHandler].terminated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.WriteReadyHandler
      classConcrete: true
      classEnum: false
      classFields:
      - WriteReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegateHandler
    argTypes:
    - org.xnio.conduits.WriteReadyHandler
    constantsTouched: []
    func_position:
      end: 1350
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1350
    functionName: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].<init>(org.xnio.conduits.WriteReadyHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler
    signature: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].<init>(org.xnio.conduits.WriteReadyHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[WriteReadyHandler].forceTermination()'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1356,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WriteReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1361
    functionName: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].forceTermination()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
    - '[WriteReadyHandler].forceTermination()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].forceTermination()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connection.getSinkChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1365,1
    - Dst: connection.getSinkChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1365,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].getCloseListener()'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1365,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WriteReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1366
    functionName: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].terminated()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
    - connection.getSinkChannel()
    - '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].getCloseListener()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].terminated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1370,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1371,1
    - Dst: readReadyHandler.readReady()
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1372,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].doHandshake()'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1375,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].ioException(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1377,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1378,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].handleUnexpectedFailure(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1380,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1381,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1385,1
    - Dst: connection.getSinkChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1387,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].getWriteListener()'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1387,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].suspendWrites()'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1389,1
    - Dst: connection.getSinkChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1391,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1391,1
    - Dst: '[WriteReadyHandler].writeReady()'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1394,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1397,1
    - Dst: delegate.getSinkChannel()
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1398,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].suspendWrites()'
      Src: io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler:1398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WriteReadyHandler
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteReadyHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1400
    functionName: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].writeReady()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].suspendWrites()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
    - connection.getSinkChannel()
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
    - '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].getWriteListener()'
    - '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].anyAreSet(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler,io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
    - '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].ioException(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
    - '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].doHandshake()'
    - readReadyHandler.readReady()
    - '[WriteReadyHandler].writeReady()'
    - delegate.getSinkChannel()
    - '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].handleUnexpectedFailure(io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit.SslWriteReadyHandler].writeReady()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 1423
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1423
    functionName: '[io.undertow.protocols.ssl.SslConduit.AccumulativeOrBoolean].add(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SslConduit.AccumulativeOrBoolean].add(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1427
    functionName: '[io.undertow.protocols.ssl.SslConduit.AccumulativeOrBoolean].get()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SslConduit.AccumulativeOrBoolean].get()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.SslConduit.AccumulativeOrBoolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ssl.SslConduit.AccumulativeOrBoolean].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SslConduit.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SslConduit.AccumulativeOrBoolean
    signature: '[io.undertow.protocols.ssl.SslConduit.AccumulativeOrBoolean].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
      - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
      - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SNIContextMatcher
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - defaultContext
    - wildcards
    - exacts
    argTypes:
    - javax.net.ssl.SSLContext
    - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
    - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[io.undertow.protocols.ssl.SNIContextMatcher].<init>(javax.net.ssl.SSLContext,java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>,java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIContextMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNIContextMatcher
    signature: '[io.undertow.protocols.ssl.SNIContextMatcher].<init>(javax.net.ssl.SSLContext,java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>,java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>].entrySet()'
      Src: io.undertow.protocols.ssl.SNIContextMatcher:42,1
    - Dst: entry.getKey()
      Src: io.undertow.protocols.ssl.SNIContextMatcher:44,1
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].matches(io.undertow.protocols.ssl.SNIContextMatcher)'
      Src: io.undertow.protocols.ssl.SNIContextMatcher:44,1
    - Dst: entry.getValue()
      Src: io.undertow.protocols.ssl.SNIContextMatcher:45,1
    - Dst: '[java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>].entrySet()'
      Src: io.undertow.protocols.ssl.SNIContextMatcher:49,1
    - Dst: entry.getKey()
      Src: io.undertow.protocols.ssl.SNIContextMatcher:51,1
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].matches(io.undertow.protocols.ssl.SNIContextMatcher)'
      Src: io.undertow.protocols.ssl.SNIContextMatcher:51,1
    - Dst: entry.getValue()
      Src: io.undertow.protocols.ssl.SNIContextMatcher:52,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<javax.net.ssl.SNIServerName>
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
      - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - servers
    argTypes:
    - java.util.List<javax.net.ssl.SNIServerName>
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: '[io.undertow.protocols.ssl.SNIContextMatcher].getContext(java.util.List<javax.net.ssl.SNIServerName>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIContextMatcher.java
    functionUses: 1
    functionsReached:
    - entry.getKey()
    - entry.getValue()
    - '[java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>].entrySet()'
    - '[io.undertow.protocols.ssl.SNIContextMatcher].matches(io.undertow.protocols.ssl.SNIContextMatcher)'
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.protocols.ssl.SNIContextMatcher].getContext(java.util.List<javax.net.ssl.SNIServerName>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - javax.net.ssl.SSLContext
      - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
      - java.util.Map<javax.net.ssl.SNIMatcher,javax.net.ssl.SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIContextMatcher.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].defaultContextCannotBeNull()'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:71,1
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].<init>(SSLContext,Map<SNIMatcher,
        SSLContext>,Map<SNIMatcher, SSLContext>)'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SSLContext
      - Map<SNIMatcher, SSLContext>
      - Map<SNIMatcher, SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.SNIContextMatcher
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIContextMatcher.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SNIContextMatcher].<init>(SSLContext,Map<SNIMatcher,
      SSLContext>,Map<SNIMatcher, SSLContext>)'
    - '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].defaultContextCannotBeNull()'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNIContextMatcher
    signature: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SSLContext
      - Map<SNIMatcher, SSLContext>
      - Map<SNIMatcher, SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].getDefaultContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIContextMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].getDefaultContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - SSLContext
      - Map<SNIMatcher, SSLContext>
      - Map<SNIMatcher, SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultContext
    argTypes:
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].setDefaultContext(javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIContextMatcher.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].setDefaultContext(javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].contains(String)'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:86,1
    - Dst: '[javax.net.ssl.SNIHostName].createSNIMatcher(String)'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:87,1
    - Dst: '[Map<SNIMatcher, SSLContext>].put(io.undertow.protocols.ssl.SNIContextMatcher.Builder,javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:87,1
    - Dst: '[javax.net.ssl.SNIHostName].createSNIMatcher(String)'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:89,1
    - Dst: '[Map<SNIMatcher, SSLContext>].put(io.undertow.protocols.ssl.SNIContextMatcher.Builder,javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - SSLContext
      - Map<SNIMatcher, SSLContext>
      - Map<SNIMatcher, SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Builder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - context
    argTypes:
    - String
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].addMatch(String,javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIContextMatcher.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SNIHostName].createSNIMatcher(String)'
    - '[String].contains(String)'
    - '[Map<SNIMatcher, SSLContext>].put(io.undertow.protocols.ssl.SNIContextMatcher.Builder,javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: Builder
    signature: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].addMatch(String,javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:66,1
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.protocols.ssl.SNIContextMatcher.Builder:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - SSLContext
      - Map<SNIMatcher, SSLContext>
      - Map<SNIMatcher, SSLContext>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.SNIContextMatcher.Builder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIContextMatcher.java
    functionUses: 1
    functionsReached:
    - '[java.util.LinkedHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNIContextMatcher.Builder
    signature: '[io.undertow.protocols.ssl.SNIContextMatcher.Builder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:78,1
    - Dst: '[org.xnio.ssl.JsseSslUtils].createSSLContext(org.xnio.OptionMap)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:94,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Xnio
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - java.security.NoSuchProviderException
      - java.security.NoSuchAlgorithmException
      - java.security.KeyManagementException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.UndertowXnioSsl
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 2
    argNames:
    - xnio
    - optionMap
    argTypes:
    - org.xnio.Xnio
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ssl.JsseSslUtils].createSSLContext(org.xnio.OptionMap)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowXnioSsl
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:78,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Xnio
      - org.xnio.OptionMap
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.UndertowXnioSsl
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 3
    argNames:
    - xnio
    - optionMap
    - sslContext
    argTypes:
    - org.xnio.Xnio
    - org.xnio.OptionMap
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowXnioSsl
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:78,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext,java.util.concurrent.Executor)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Xnio
      - org.xnio.OptionMap
      - javax.net.ssl.SSLContext
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.UndertowXnioSsl
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 4
    argNames:
    - xnio
    - optionMap
    - sslContext
    - delegatedTaskExecutor
    argTypes:
    - org.xnio.Xnio
    - org.xnio.OptionMap
    - javax.net.ssl.SSLContext
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,javax.net.ssl.SSLContext,java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext,java.util.concurrent.Executor)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowXnioSsl
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,javax.net.ssl.SSLContext,java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:78,1
    - Dst: '[org.xnio.ssl.JsseSslUtils].createSSLContext(org.xnio.OptionMap)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:129,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Xnio
      - org.xnio.OptionMap
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - java.security.NoSuchProviderException
      - java.security.NoSuchAlgorithmException
      - java.security.KeyManagementException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.UndertowXnioSsl
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 3
    argNames:
    - xnio
    - optionMap
    - bufferPool
    argTypes:
    - org.xnio.Xnio
    - org.xnio.OptionMap
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ssl.JsseSslUtils].createSSLContext(org.xnio.OptionMap)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowXnioSsl
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:78,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext,null)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Xnio
      - org.xnio.OptionMap
      - io.undertow.connector.ByteBufferPool
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.UndertowXnioSsl
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 4
    argNames:
    - xnio
    - optionMap
    - bufferPool
    - sslContext
    argTypes:
    - org.xnio.Xnio
    - org.xnio.OptionMap
    - io.undertow.connector.ByteBufferPool
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext,null)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowXnioSsl
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:78,1
    - Dst: '[org.xnio.ssl.XnioSsl].<init>(org.xnio.Xnio,javax.net.ssl.SSLContext,org.xnio.OptionMap)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Xnio
      - org.xnio.OptionMap
      - io.undertow.connector.ByteBufferPool
      - javax.net.ssl.SSLContext
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.UndertowXnioSsl
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 5
    argNames:
    - xnio
    - optionMap
    - bufferPool
    - sslContext
    - delegatedTaskExecutor
    argTypes:
    - org.xnio.Xnio
    - org.xnio.OptionMap
    - io.undertow.connector.ByteBufferPool
    - javax.net.ssl.SSLContext
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext,java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ssl.XnioSsl].<init>(org.xnio.Xnio,javax.net.ssl.SSLContext,org.xnio.OptionMap)'
    - '[io.undertow.server.DefaultByteBufferPool].<init>(boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowXnioSsl
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].<init>(org.xnio.Xnio,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,javax.net.ssl.SSLContext,java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLContext
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLContext
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.concurrent.Executor
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].getDelegatedTaskExecutor()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.Executor
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].getDelegatedTaskExecutor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].getSSLEngine()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:184,1
    - Dst: '[org.xnio.ssl.JsseXnioSsl].getSslEngine(org.xnio.ssl.SslConnection)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ssl.SslConnection
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: true
      superClass: org.xnio.ssl.XnioSsl
    argCount: 1
    argNames:
    - connection
    argTypes:
    - org.xnio.ssl.SslConnection
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslEngine(org.xnio.ssl.SslConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowSslConnection].getSSLEngine()'
    - '[org.xnio.ssl.JsseXnioSsl].getSslEngine(org.xnio.ssl.SslConnection)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslEngine(org.xnio.ssl.SslConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].getSslConduit()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ssl.SslConnection
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.SslConduit
      static: true
      superClass: org.xnio.ssl.XnioSsl
    argCount: 1
    argNames:
    - connection
    argTypes:
    - org.xnio.ssl.SslConnection
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslConduit(org.xnio.ssl.SslConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowSslConnection].getSslConduit()'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SslConduit
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslConduit(org.xnio.ssl.SslConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].directExecutor()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:196,1
    - Dst: '[org.xnio.FutureResult].<init>(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:196,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:197,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:197,1
    - Dst: '[IoFuture.HandlingNotifier].<init>()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:206,1
    - Dst: '[org.xnio.IoFuture<org.xnio.ssl.SslConnection>].addNotifier(IoFuture.HandlingNotifier,org.xnio.FutureResult)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:197,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:215,1
    - Dst: '[IoFuture.HandlingNotifier].<init>()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:215,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].addNotifier(IoFuture.HandlingNotifier,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:215,1
    - Dst: '[org.xnio.FutureResult].addCancelHandler(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:220,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - org.xnio.ChannelListener<?superConnectedSslStreamChannel>
      - org.xnio.ChannelListener<?superBoundChannel>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<org.xnio.channels.ConnectedSslStreamChannel>
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 6
    argNames:
    - worker
    - bindAddress
    - destination
    - openListener
    - bindListener
    - optionMap
    argTypes:
    - org.xnio.XnioWorker
    - java.net.InetSocketAddress
    - java.net.InetSocketAddress
    - org.xnio.ChannelListener<?superConnectedSslStreamChannel>
    - org.xnio.ChannelListener<?superBoundChannel>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 222
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 222
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].connectSsl(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<?superConnectedSslStreamChannel>,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].addNotifier(IoFuture.HandlingNotifier,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[org.xnio.IoFuture<org.xnio.ssl.SslConnection>].addNotifier(IoFuture.HandlingNotifier,org.xnio.FutureResult)'
    - '[org.xnio.FutureResult].<init>(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[org.xnio.IoUtils].directExecutor()'
    - '[IoFuture.HandlingNotifier].<init>()'
    - '[org.xnio.FutureResult].addCancelHandler(io.undertow.protocols.ssl.UndertowXnioSsl)'
    linkageType: ''
    returnType: org.xnio.IoFuture<org.xnio.channels.ConnectedSslStreamChannel>
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].connectSsl(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<?superConnectedSslStreamChannel>,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.FutureResult].<init>(org.xnio.XnioWorker)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:225,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].<init>(org.xnio.OptionMap,java.net.InetSocketAddress,org.xnio.FutureResult,org.xnio.ChannelListener<?superSslConnection>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:226,1
    - Dst: '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:226,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setupSslConnection(org.xnio.FutureResult,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - org.xnio.ChannelListener<?superSslConnection>
      - org.xnio.ChannelListener<?superBoundChannel>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<org.xnio.ssl.SslConnection>
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 6
    argNames:
    - worker
    - bindAddress
    - destination
    - openListener
    - bindListener
    - optionMap
    argTypes:
    - org.xnio.XnioWorker
    - java.net.InetSocketAddress
    - java.net.InetSocketAddress
    - org.xnio.ChannelListener<?superSslConnection>
    - org.xnio.ChannelListener<?superBoundChannel>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<?superSslConnection>,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setupSslConnection(org.xnio.FutureResult,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[org.xnio.FutureResult].<init>(org.xnio.XnioWorker)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].<init>(org.xnio.OptionMap,java.net.InetSocketAddress,org.xnio.FutureResult,org.xnio.ChannelListener<?superSslConnection>)'
    - '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
    linkageType: ''
    returnType: org.xnio.IoFuture<org.xnio.ssl.SslConnection>
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<?superSslConnection>,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.FutureResult].<init>(org.xnio.XnioIoThread)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:231,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].<init>(org.xnio.OptionMap,java.net.InetSocketAddress,org.xnio.FutureResult,org.xnio.ChannelListener<?superSslConnection>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:232,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:232,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setupSslConnection(org.xnio.FutureResult,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioIoThread
      - java.net.InetSocketAddress
      - java.net.InetSocketAddress
      - org.xnio.ChannelListener<?superSslConnection>
      - org.xnio.ChannelListener<?superBoundChannel>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<org.xnio.ssl.SslConnection>
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 6
    argNames:
    - ioThread
    - bindAddress
    - destination
    - openListener
    - bindListener
    - optionMap
    argTypes:
    - org.xnio.XnioIoThread
    - java.net.InetSocketAddress
    - java.net.InetSocketAddress
    - org.xnio.ChannelListener<?superSslConnection>
    - org.xnio.ChannelListener<?superBoundChannel>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<?superSslConnection>,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
    - '[org.xnio.FutureResult].<init>(org.xnio.XnioIoThread)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].<init>(org.xnio.OptionMap,java.net.InetSocketAddress,org.xnio.FutureResult,org.xnio.ChannelListener<?superSslConnection>)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setupSslConnection(org.xnio.FutureResult,io.undertow.protocols.ssl.UndertowXnioSsl)'
    linkageType: ''
    returnType: org.xnio.IoFuture<org.xnio.ssl.SslConnection>
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<?superSslConnection>,org.xnio.ChannelListener<?superBoundChannel>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:237,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSSLEngine(javax.net.ssl.SSLContext,org.xnio.OptionMap,java.net.InetSocketAddress,boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:237,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ssl.SslConnection
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 2
    argNames:
    - connection
    - optionMap
    argTypes:
    - org.xnio.StreamConnection
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].wrapExistingConnection(org.xnio.StreamConnection,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].createSSLEngine(javax.net.ssl.SSLContext,org.xnio.OptionMap,java.net.InetSocketAddress,boolean)'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
    - '[org.xnio.StreamConnection].getPeerAddress()'
    linkageType: ''
    returnType: org.xnio.ssl.SslConnection
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].wrapExistingConnection(org.xnio.StreamConnection,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:241,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSSLEngine(javax.net.ssl.SSLContext,org.xnio.OptionMap,java.net.InetSocketAddress,boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:241,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - org.xnio.OptionMap
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ssl.SslConnection
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 3
    argNames:
    - connection
    - optionMap
    - clientMode
    argTypes:
    - org.xnio.StreamConnection
    - org.xnio.OptionMap
    - boolean
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].wrapExistingConnection(org.xnio.StreamConnection,org.xnio.OptionMap,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].createSSLEngine(javax.net.ssl.SSLContext,org.xnio.OptionMap,java.net.InetSocketAddress,boolean)'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
    - '[org.xnio.StreamConnection].getPeerAddress()'
    linkageType: ''
    returnType: org.xnio.ssl.SslConnection
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].wrapExistingConnection(org.xnio.StreamConnection,org.xnio.OptionMap,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getPeerAddress(java.net.URI)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:245,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSSLEngine(javax.net.ssl.SSLContext,org.xnio.OptionMap,java.net.InetSocketAddress,boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:245,1
    - Dst: '[javax.net.ssl.SSLEngine].getSSLParameters()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:246,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getServerNames()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:247,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getServerNames()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:247,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].isEmpty()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:247,1
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:248,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setSNIHostName(io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.OptionMap,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:248,1
    - Dst: '[javax.net.ssl.SSLEngine].setSSLParameters(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:249,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - org.xnio.OptionMap
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ssl.SslConnection
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 3
    argNames:
    - connection
    - optionMap
    - destinationURI
    argTypes:
    - org.xnio.StreamConnection
    - org.xnio.OptionMap
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].wrapExistingConnection(org.xnio.StreamConnection,org.xnio.OptionMap,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getServerNames()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getPeerAddress(java.net.URI)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].createSSLEngine(javax.net.ssl.SSLContext,org.xnio.OptionMap,java.net.InetSocketAddress,boolean)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setSNIHostName(io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.OptionMap,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
    - '[javax.net.ssl.SSLEngine].getSSLParameters()'
    - '[org.xnio.StreamConnection].getPeerAddress()'
    - '[javax.net.ssl.SSLEngine].setSSLParameters(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].isEmpty()'
    linkageType: ''
    returnType: org.xnio.ssl.SslConnection
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].wrapExistingConnection(org.xnio.StreamConnection,org.xnio.OptionMap,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:255,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:256,1
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:258,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].equals(String)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:258,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.InetSocketAddress
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 1
    argNames:
    - destinationURI
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].getPeerAddress(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 1
    functionsReached:
    - '[java.net.URI].getPort()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.net.URI].getScheme()'
    - '[java.net.URI].getHost()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].equals(String)'
    linkageType: ''
    returnType: java.net.InetSocketAddress
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].getPeerAddress(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:274,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:274,1
    - Dst: '[java.net.InetSocketAddress].getPort()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:275,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:275,1
    - Dst: '[javax.net.ssl.SSLContext].createSSLEngine(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:273,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setUseClientMode(boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:277,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl,boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:278,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setEnableSessionCreation(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:278,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:279,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSupportedCipherSuites()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:281,1
    - Dst: '[java.util.Arrays].asList(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:281,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:281,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:282,1
    - Dst: '[java.util.HashSet].contains(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:284,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:285,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:288,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setEnabledCipherSuites(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:288,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:290,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSupportedProtocols()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:292,1
    - Dst: '[java.util.Arrays].asList(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:292,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:292,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:293,1
    - Dst: '[java.util.HashSet].contains(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:295,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:296,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:299,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setEnabledProtocols(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:299,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:302,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setNeedClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:306,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setWantClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:307,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setWantClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:310,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setNeedClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:313,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:316,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:320,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSSLParameters()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:322,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setUseCipherSuitesOrder(boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:323,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setSSLParameters(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:324,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:326,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSSLParameters()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:328,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setEndpointIdentificationAlgorithm(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:329,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].setSSLParameters(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:330,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      - org.xnio.OptionMap
      - java.net.InetSocketAddress
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: true
      superClass: org.xnio.ssl.XnioSsl
    argCount: 4
    argNames:
    - sslContext
    - optionMap
    - peerAddress
    - client
    argTypes:
    - javax.net.ssl.SSLContext
    - org.xnio.OptionMap
    - java.net.InetSocketAddress
    - boolean
    constantsTouched: []
    func_position:
      end: 333
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 333
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSSLEngine(javax.net.ssl.SSLContext,org.xnio.OptionMap,java.net.InetSocketAddress,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 3
    functionsReached:
    - '[java.net.InetSocketAddress].getPort()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setNeedClientAuth(boolean)'
    - '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.util.HashSet].<init>(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.util.HashSet].contains(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setEnabledCipherSuites(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setEnabledProtocols(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[javax.net.ssl.SSLContext].createSSLEngine(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.util.ArrayList].add(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getSupportedCipherSuites()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setUseClientMode(boolean)'
    - '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl,boolean)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setUseCipherSuitesOrder(boolean)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setWantClientAuth(boolean)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getSSLParameters()'
    - '[java.util.ArrayList].toArray()'
    - '[java.util.Arrays].asList(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setEndpointIdentificationAlgorithm(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.util.ArrayList].<init>()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setEnableSessionCreation(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getSupportedProtocols()'
    - '[IllegalStateException].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].setSSLParameters(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowXnioSsl)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSSLEngine(javax.net.ssl.SSLContext,org.xnio.OptionMap,java.net.InetSocketAddress,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IoFuture.HandlingNotifier].<init>()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:336,1
    - Dst: '[org.xnio.IoFuture<org.xnio.StreamConnection>].addNotifier(IoFuture.HandlingNotifier,org.xnio.FutureResult<org.xnio.ssl.SslConnection>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:336,1
    - Dst: '[org.xnio.FutureResult<org.xnio.ssl.SslConnection>].addCancelHandler(org.xnio.IoFuture<org.xnio.StreamConnection>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:345,1
    - Dst: '[org.xnio.FutureResult<org.xnio.ssl.SslConnection>].getIoFuture()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.FutureResult<org.xnio.ssl.SslConnection>
      - org.xnio.IoFuture<org.xnio.StreamConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.IoFuture<org.xnio.ssl.SslConnection>
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 2
    argNames:
    - futureResult
    - connection
    argTypes:
    - org.xnio.FutureResult<org.xnio.ssl.SslConnection>
    - org.xnio.IoFuture<org.xnio.StreamConnection>
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].setupSslConnection(org.xnio.FutureResult<org.xnio.ssl.SslConnection>,org.xnio.IoFuture<org.xnio.StreamConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoFuture<org.xnio.StreamConnection>].addNotifier(IoFuture.HandlingNotifier,org.xnio.FutureResult<org.xnio.ssl.SslConnection>)'
    - '[org.xnio.FutureResult<org.xnio.ssl.SslConnection>].addCancelHandler(org.xnio.IoFuture<org.xnio.StreamConnection>)'
    - '[IoFuture.HandlingNotifier].<init>()'
    - '[org.xnio.FutureResult<org.xnio.ssl.SslConnection>].getIoFuture()'
    linkageType: ''
    returnType: org.xnio.IoFuture<org.xnio.ssl.SslConnection>
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].setupSslConnection(org.xnio.FutureResult<org.xnio.ssl.SslConnection>,org.xnio.IoFuture<org.xnio.StreamConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(org.xnio.XnioWorker,java.net.InetSocketAddress,null,org.xnio.OptionMap)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:351,1
    - Dst: '[org.xnio.channels.AcceptingChannel].<init>()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:352,1
    - Dst: '[org.xnio.channels.AcceptingChannel].getAcceptSetter()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:431,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].set(org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:431,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - java.net.InetSocketAddress
      - org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.AcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 4
    argNames:
    - worker
    - bindAddress
    - acceptListener
    - optionMap
    argTypes:
    - org.xnio.XnioWorker
    - java.net.InetSocketAddress
    - org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 433
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 433
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslTcpServer(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].set(org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>>)'
    - '[org.xnio.channels.AcceptingChannel].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(org.xnio.XnioWorker,java.net.InetSocketAddress,null,org.xnio.OptionMap)'
    - '[org.xnio.channels.AcceptingChannel].getAcceptSetter()'
    linkageType: ''
    returnType: org.xnio.channels.AcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslTcpServer(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.channels.ConnectedSslStreamChannel>>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLContext
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 1
    argNames:
    - context
    argTypes:
    - javax.net.ssl.SSLContext
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].updateSSLContext(javax.net.ssl.SSLContext)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].updateSSLContext(javax.net.ssl.SSLContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.XnioWorker].createStreamConnectionServer(java.net.InetSocketAddress,null,org.xnio.OptionMap)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:446,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].<init>(io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,boolean)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:446,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getAcceptSetter()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:447,1
    - Dst: '[ChannelListener.Setter<?extendsAcceptingChannel<org.xnio.ssl.SslConnection>>].set(org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.ssl.SslConnection>>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.XnioWorker
      - java.net.InetSocketAddress
      - org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.ssl.SslConnection>>
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 4
    argNames:
    - worker
    - bindAddress
    - acceptListener
    - optionMap
    argTypes:
    - org.xnio.XnioWorker
    - java.net.InetSocketAddress
    - org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.ssl.SslConnection>>
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.ssl.SslConnection>>,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.XnioWorker].createStreamConnectionServer(java.net.InetSocketAddress,null,org.xnio.OptionMap)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].<init>(io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,boolean)'
    - '[ChannelListener.Setter<?extendsAcceptingChannel<org.xnio.ssl.SslConnection>>].set(org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.ssl.SslConnection>>)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getAcceptSetter()'
    linkageType: ''
    returnType: org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].createSslConnectionServer(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener<?superAcceptingChannel<org.xnio.ssl.SslConnection>>,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<String>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:452,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:453,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:453,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getHostAddress()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:453,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].equals(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:453,1
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:455,1
    - Dst: '[javax.net.ssl.SNIHostName].<init>(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:460,1
    - Dst: '[io.undertow.UndertowMessages.MESSAGES].invalidSniHostname(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:462,1
    - Dst: '[java.util.Collections].singletonList(javax.net.ssl.SNIHostName)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:464,1
    - Dst: '[javax.net.ssl.SSLParameters].setServerNames(io.undertow.protocols.ssl.UndertowXnioSsl)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - org.xnio.OptionMap
      - javax.net.ssl.SSLParameters
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: org.xnio.ssl.XnioSsl
    argCount: 3
    argNames:
    - destination
    - optionMap
    - params
    argTypes:
    - java.net.InetSocketAddress
    - org.xnio.OptionMap
    - javax.net.ssl.SSLParameters
    constantsTouched: []
    func_position:
      end: 466
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 466
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl].setSNIHostName(java.net.InetSocketAddress,org.xnio.OptionMap,javax.net.ssl.SSLParameters)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages.MESSAGES].invalidSniHostname(io.undertow.protocols.ssl.UndertowXnioSsl,io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[javax.net.ssl.SSLParameters].setServerNames(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].equals(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.util.Collections].singletonList(javax.net.ssl.SNIHostName)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<String>)'
    - '[javax.net.ssl.SNIHostName].<init>(io.undertow.protocols.ssl.UndertowXnioSsl)'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getHostAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl].setSNIHostName(java.net.InetSocketAddress,org.xnio.OptionMap,javax.net.ssl.SSLParameters)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      - java.net.InetSocketAddress
      - org.xnio.FutureResult<org.xnio.ssl.SslConnection>
      - org.xnio.ChannelListener<?superSslConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - OptionMap
      - InetSocketAddress
      - FutureResult<SslConnection>
      - ChannelListener<? super SslConnection>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - optionMap
    - destination
    - futureResult
    - openListener
    argTypes:
    - org.xnio.OptionMap
    - java.net.InetSocketAddress
    - org.xnio.FutureResult<org.xnio.ssl.SslConnection>
    - org.xnio.ChannelListener<?superSslConnection>
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].<init>(org.xnio.OptionMap,java.net.InetSocketAddress,org.xnio.FutureResult<org.xnio.ssl.SslConnection>,org.xnio.ChannelListener<?superSslConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].<init>(org.xnio.OptionMap,java.net.InetSocketAddress,org.xnio.FutureResult<org.xnio.ssl.SslConnection>,org.xnio.ChannelListener<?superSslConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ssl.JsseSslUtils].createSSLEngine(io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,OptionMap,InetSocketAddress)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:484,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].getSSLParameters()'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:485,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].setSNIHostName(InetSocketAddress,OptionMap,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:486,1
    - Dst: '[OptionMap].get(org.xnio.Option<String>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:487,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].setEndpointIdentificationAlgorithm(io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:489,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].setSSLParameters(io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:492,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:494,1
    - Dst: '[FutureResult<SslConnection>].setResult(io.undertow.protocols.ssl.UndertowSslConnection)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:495,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:496,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.UndertowSslConnection,ChannelListener<?
        super SslConnection>)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:498,1
    - Dst: '[java.io.IOException].<init>(io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:501,1
    - Dst: '[FutureResult<SslConnection>].setException(java.io.IOException)'
      Src: io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - OptionMap
      - InetSocketAddress
      - FutureResult<SslConnection>
      - ChannelListener<? super SslConnection>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 503
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 503
    functionName: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowXnioSsl.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].setSNIHostName(InetSocketAddress,OptionMap,io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
    - '[org.xnio.ssl.JsseSslUtils].createSSLEngine(io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener,OptionMap,InetSocketAddress)'
    - '[OptionMap].get(org.xnio.Option<String>)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].getSSLParameters()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].setEndpointIdentificationAlgorithm(io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].setSSLParameters(io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
    - '[java.io.IOException].<init>(io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener)'
    - '[FutureResult<SslConnection>].setException(java.io.IOException)'
    - '[FutureResult<SslConnection>].setResult(io.undertow.protocols.ssl.UndertowSslConnection)'
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.UndertowSslConnection,ChannelListener<?
      super SslConnection>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowXnioSsl.StreamConnectionChannelListener].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SNISSLContextSpi
      static: false
      superClass: javax.net.ssl.SSLContextSpi
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - io.undertow.protocols.ssl.SNIContextMatcher
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.protocols.ssl.SNISSLContextSpi].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContextSpi.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNISSLContextSpi
    signature: '[io.undertow.protocols.ssl.SNISSLContextSpi].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - KeyManager[]
      - TrustManager[]
      - java.security.SecureRandom
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classPublic: false
      concrete: true
      exceptions:
      - java.security.KeyManagementException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: javax.net.ssl.SSLContextSpi
    argCount: 3
    argNames:
    - keyManagers
    - trustManagers
    - secureRandom
    argTypes:
    - KeyManager[]
    - TrustManager[]
    - java.security.SecureRandom
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineInit(KeyManager[],TrustManager[],java.security.SecureRandom)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContextSpi.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineInit(KeyManager[],TrustManager[],java.security.SecureRandom)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:49,1
    - Dst: '[javax.net.ssl.SSLContext].getSocketFactory()'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLSocketFactory
      static: false
      superClass: javax.net.ssl.SSLContextSpi
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineGetSocketFactory()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContextSpi.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLContext].getSocketFactory()'
    - '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSocketFactory
    signature: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineGetSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:54,1
    - Dst: '[javax.net.ssl.SSLContext].getServerSocketFactory()'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLServerSocketFactory
      static: false
      superClass: javax.net.ssl.SSLContextSpi
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineGetServerSocketFactory()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContextSpi.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLContext].getServerSocketFactory()'
    - '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
    linkageType: ''
    returnType: javax.net.ssl.SSLServerSocketFactory
    signature: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineGetServerSocketFactory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: false
      superClass: javax.net.ssl.SSLContextSpi
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineCreateSSLEngine()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContextSpi.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLEngine].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineCreateSSLEngine()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNISSLEngine].<init>(io.undertow.protocols.ssl.SNIContextMatcher,String,int)'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: false
      superClass: javax.net.ssl.SSLContextSpi
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineCreateSSLEngine(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContextSpi.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLEngine].<init>(io.undertow.protocols.ssl.SNIContextMatcher,String,int)'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineCreateSSLEngine(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:69,1
    - Dst: '[javax.net.ssl.SSLContext].getServerSessionContext()'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLSessionContext
      static: false
      superClass: javax.net.ssl.SSLContextSpi
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineGetServerSessionContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContextSpi.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLContext].getServerSessionContext()'
    - '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSessionContext
    signature: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineGetServerSessionContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:74,1
    - Dst: '[javax.net.ssl.SSLContext].getClientSessionContext()'
      Src: io.undertow.protocols.ssl.SNISSLContextSpi:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLSessionContext
      static: false
      superClass: javax.net.ssl.SSLContextSpi
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineGetClientSessionContext()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContextSpi.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLContext].getClientSessionContext()'
    - '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSessionContext
    signature: '[io.undertow.protocols.ssl.SNISSLContextSpi].engineGetClientSessionContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:70,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:72,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:74,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:87,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowAcceptingSslChannel,boolean)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:88,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowAcceptingSslChannel,boolean)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:89,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:90,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].toArray()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:91,1
    - Dst: '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:92,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].toArray()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:93,1
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getCloseSetter()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:95,1
    - Dst: '[org.xnio.ChannelListeners].getDelegatingSetter(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:95,1
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getAcceptSetter()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:97,1
    - Dst: '[org.xnio.ChannelListeners].getDelegatingSetter(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:97,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:98,1
    - Dst: '[org.xnio.Option].setBuilder()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:101,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:101,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:101,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:101,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:101,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:101,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].create()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.OptionMap
      - io.undertow.connector.ByteBufferPool
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - ssl
    - tcpServer
    - optionMap
    - applicationBufferPool
    - startTls
    argTypes:
    - io.undertow.protocols.ssl.UndertowXnioSsl
    - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
    - org.xnio.OptionMap
    - io.undertow.connector.ByteBufferPool
    - boolean
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].<init>(io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.channels.AcceptingChannel<?extendsStreamConnection>,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Option].setBuilder()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].toArray()'
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getCloseSetter()'
    - '[org.xnio.OptionMap].get(io.undertow.protocols.ssl.UndertowAcceptingSslChannel,boolean)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[org.xnio.ChannelListeners].getDelegatingSetter(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getAcceptSetter()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].create()'
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].<init>(io.undertow.protocols.ssl.UndertowXnioSsl,org.xnio.channels.AcceptingChannel<?extendsStreamConnection>,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Options.SSL_CLIENT_AUTH_MODE.cast(T)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:111,1
    - Dst: '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>].getAndSet(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:111,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:111,1
    - Dst: Options.SSL_USE_CLIENT_MODE.cast(T)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:113,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>].getAndSet()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:114,1
    - Dst: Boolean.valueOf(int)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:114,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:114,1
    - Dst: Options.SSL_ENABLE_SESSION_CREATION.cast(T)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:116,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>].getAndSet()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:117,1
    - Dst: Boolean.valueOf(int)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:117,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:117,1
    - Dst: Options.SSL_ENABLED_CIPHER_SUITES.cast(T)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:119,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].toArray()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:121,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:122,1
    - Dst: Options.SSL_ENABLED_PROTOCOLS.cast(T)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:124,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].toArray()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:126,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:127,1
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:129,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].nullParameter(String)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:131,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - Options.SSL_ENABLED_CIPHER_SUITES.cast(T)
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].setOption(org.xnio.Option<T>,T)'
    - Options.SSL_USE_CLIENT_MODE.cast(T)
    - Options.SSL_ENABLED_PROTOCOLS.cast(T)
    - Options.SSL_ENABLE_SESSION_CREATION.cast(T)
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].toArray()'
    - Options.SSL_CLIENT_AUTH_MODE.cast(T)
    - '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].nullParameter(String)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>].getAndSet()'
    - Boolean.valueOf(int)
    - '[java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>].getAndSet(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getWorker()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].accept()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:139,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getPeerAddress()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:144,1
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslContext()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:145,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getHostNameNoResolve(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:145,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getPort()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:145,1
    - Dst: '[javax.net.ssl.SSLContext].createSSLEngine(String,io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:145,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getSSLParameters()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:148,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setUseCipherSuitesOrder(boolean)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:149,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setSSLParameters(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:150,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setUseClientMode(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:153,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setNeedClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:158,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setWantClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:159,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setWantClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:162,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setNeedClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:165,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:168,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnableSessionCreation(int)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:171,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getSupportedCipherSuites()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:174,1
    - Dst: '[java.util.Arrays].asList(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:174,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:174,1
    - Dst: '[java.util.HashSet].isEmpty()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:175,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnabledCipherSuites(String[])'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:176,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:178,1
    - Dst: '[java.util.HashSet].contains(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:180,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:181,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:184,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnabledCipherSuites(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:184,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getSupportedProtocols()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:189,1
    - Dst: '[java.util.Arrays].asList(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:189,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:189,1
    - Dst: '[java.util.HashSet].isEmpty()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:190,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnabledProtocols(String[])'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:191,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:193,1
    - Dst: '[java.util.HashSet].contains(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:195,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:196,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:199,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnabledProtocols(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:199,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].accept(io.undertow.protocols.ssl.UndertowAcceptingSslChannel,io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:202,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:204,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].failedToAcceptSSLRequest(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:205,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.UndertowSslConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 208
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].accept()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnabledProtocols(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].accept()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].accept(io.undertow.protocols.ssl.UndertowAcceptingSslChannel,io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[java.util.Arrays].asList(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setUseClientMode(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[java.util.HashSet].<init>(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setUseCipherSuitesOrder(boolean)'
    - '[java.util.HashSet].isEmpty()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnabledCipherSuites(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getPeerAddress()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getHostNameNoResolve(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].failedToAcceptSSLRequest(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setWantClientAuth(boolean)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getSupportedProtocols()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnableSessionCreation(int)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnabledCipherSuites(String[])'
    - '[java.util.ArrayList].toArray()'
    - '[java.util.HashSet].contains(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[java.util.ArrayList].add(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[java.util.ArrayList].<init>()'
    - '[javax.net.ssl.SSLContext].createSSLEngine(String,io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslContext()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getSupportedCipherSuites()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setSSLParameters(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getSSLParameters()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getPort()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setEnabledProtocols(String[])'
    - '[IllegalStateException].<init>()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].setNeedClientAuth(boolean)'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowSslConnection
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].accept()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getDelegatedTaskExecutor()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:211,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.UndertowSslConnection
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - tcpServer
    - sslEngine
    argTypes:
    - org.xnio.StreamConnection
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].accept(org.xnio.StreamConnection,javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getDelegatedTaskExecutor()'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowSslConnection
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].accept(org.xnio.StreamConnection,javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsAcceptingChannel<org.xnio.ssl.SslConnection>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsAcceptingChannel<org.xnio.ssl.SslConnection>>
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].isOpen()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].close()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<org.xnio.Option<?>>].contains(org.xnio.Option<?>)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:227,1
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].supportsOption(org.xnio.Option<?>)'
    - '[java.util.Set<org.xnio.Option<?>>].contains(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Option<T>].cast(org.xnio.SslClientAuthMode)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:232,1
    - Dst: Boolean.valueOf(int)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:234,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:234,1
    - Dst: Boolean.valueOf(int)
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:236,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:236,1
    - Dst: '[org.xnio.Sequence].of(String[])'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:239,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:239,1
    - Dst: '[org.xnio.Sequence].of(String[])'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:242,1
    - Dst: '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:242,1
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getOption(org.xnio.Option<T>)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getOption(org.xnio.Option<T>)'
    - '[org.xnio.Option<T>].cast(io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[org.xnio.Option<T>].cast(org.xnio.SslClientAuthMode)'
    - '[org.xnio.Sequence].of(String[])'
    - Boolean.valueOf(int)
    linkageType: ''
    returnType: T
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsAcceptingChannel<org.xnio.ssl.SslConnection>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getAcceptSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsAcceptingChannel<org.xnio.ssl.SslConnection>>
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getAcceptSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getLocalAddress()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getLocalAddress(Class<A>)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getLocalAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].suspendAccepts()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].suspendAccepts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].suspendAccepts()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].suspendAccepts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].resumeAccepts()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].resumeAccepts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].resumeAccepts()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].resumeAccepts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].isAcceptResumed()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].isAcceptResumed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].isAcceptResumed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].isAcceptResumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].wakeupAccepts()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].wakeupAccepts()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].wakeupAccepts()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].wakeupAccepts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].awaitAcceptable()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].awaitAcceptable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].awaitAcceptable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].awaitAcceptable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].awaitAcceptable(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - time
    - timeUnit
    argTypes:
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].awaitAcceptable(long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].awaitAcceptable(long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].awaitAcceptable(long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getAcceptThread()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioExecutor
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getAcceptThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getAcceptThread()'
    linkageType: ''
    returnType: org.xnio.XnioExecutor
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getAcceptThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getIoThread()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.AcceptingChannel<?extendsStreamConnection>].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.InetSocketAddress].getHostString()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:297,1
    - Dst: '[java.net.InetSocketAddress].isUnresolved()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:300,1
    - Dst: '[java.net.InetSocketAddress].getHostName()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:301,1
    - Dst: '[java.net.InetSocketAddress].getAddress()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:303,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].toString()'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:304,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].indexOf(char)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:305,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].substring(int)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:308,1
    - Dst: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].substring(int,io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
      Src: io.undertow.protocols.ssl.UndertowAcceptingSslChannel:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.ssl.UndertowXnioSsl
      - org.xnio.channels.AcceptingChannel<?extendsStreamConnection>
      - org.xnio.SslClientAuthMode
      - int
      - int
      - String[]
      - String[]
      - java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel,org.xnio.SslClientAuthMode>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - ChannelListener.Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>>
      - boolean
      - io.undertow.connector.ByteBufferPool
      - boolean
      - java.util.Set<org.xnio.Option<?>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - socketAddress
    argTypes:
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 316
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 316
    functionName: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getHostNameNoResolve(java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowAcceptingSslChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].toString()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].indexOf(char)'
    - '[java.net.InetSocketAddress].getHostName()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].substring(int,io.undertow.protocols.ssl.UndertowAcceptingSslChannel)'
    - '[java.net.InetSocketAddress].getHostString()'
    - '[java.net.InetSocketAddress].isUnresolved()'
    - '[java.net.InetSocketAddress].getAddress()'
    - '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].substring(int)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.ssl.UndertowAcceptingSslChannel].getHostNameNoResolve(java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SNISSLExplorer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNISSLExplorer
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:74,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].remaining()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:77,1
    - Dst: '[java.nio.BufferUnderflowException].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:78,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:82,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:83,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:84,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:88,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].getRequiredSize(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer].remaining()'
    - '[java.nio.BufferUnderflowException].<init>()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].getRequiredSize(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].wrap(byte[],int,int)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:117,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].asReadOnlyBuffer()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:117,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getRequiredSize(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - source
    - offset
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].getRequiredSize(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getRequiredSize(io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].asReadOnlyBuffer()'
    - '[java.nio.ByteBuffer].wrap(byte[],int,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].getRequiredSize(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:150,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].remaining()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:153,1
    - Dst: '[java.nio.BufferUnderflowException].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:154,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:158,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:159,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:160,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:163,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreTLSRecord(io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:165,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].notHandshakeRecord()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<javax.net.ssl.SNIServerName>
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].explore(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 1
    functionsReached:
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].notHandshakeRecord()'
    - '[java.nio.BufferUnderflowException].<init>()'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].get()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].remaining()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].exploreTLSRecord(io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer)'
    linkageType: ''
    returnType: java.util.List<javax.net.ssl.SNIServerName>
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].explore(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].wrap(byte[],int,int)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:201,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].asReadOnlyBuffer()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:201,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].explore(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<javax.net.ssl.SNIServerName>
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - source
    - offset
    - length
    argTypes:
    - byte[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].explore(byte[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer].asReadOnlyBuffer()'
    - '[java.nio.ByteBuffer].wrap(byte[],int,int)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].explore(io.undertow.protocols.ssl.SNISSLExplorer)'
    linkageType: ''
    returnType: java.util.List<javax.net.ssl.SNIServerName>
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].explore(byte[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].notHandshakeRecord()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:229,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:233,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:234,1
    - Dst: '[java.nio.BufferUnderflowException].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:235,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreHandshake(java.nio.ByteBuffer,byte,byte,int)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:240,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].invalidHandshakeRecord()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - byte
      - byte
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<javax.net.ssl.SNIServerName>
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - input
    - firstByte
    - secondByte
    - thirdByte
    argTypes:
    - java.nio.ByteBuffer
    - byte
    - byte
    - byte
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreTLSRecord(java.nio.ByteBuffer,byte,byte,byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer].invalidHandshakeRecord()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].notHandshakeRecord()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.BufferUnderflowException].<init>()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].exploreHandshake(java.nio.ByteBuffer,byte,byte,int)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: java.util.List<javax.net.ssl.SNIServerName>
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreTLSRecord(java.nio.ByteBuffer,byte,byte,byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:279,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].expectedClientHello()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:281,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt24(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:285,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].multiRecordSSLHandshake()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:290,1
    - Dst: '[java.nio.ByteBuffer].duplicate()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:293,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].position()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:294,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].limit(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:294,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreClientHello(io.undertow.protocols.ssl.SNISSLExplorer,byte,byte)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - byte
      - byte
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<javax.net.ssl.SNIServerName>
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - input
    - recordMajorVersion
    - recordMinorVersion
    - recordLength
    argTypes:
    - java.nio.ByteBuffer
    - byte
    - byte
    - int
    constantsTouched: []
    func_position:
      end: 297
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 297
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreHandshake(java.nio.ByteBuffer,byte,byte,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer].exploreClientHello(io.undertow.protocols.ssl.SNISSLExplorer,byte,byte)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].position()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt24(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].duplicate()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].expectedClientHello()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].multiRecordSSLHandshake()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].limit(io.undertow.protocols.ssl.SNISSLExplorer)'
    linkageType: ''
    returnType: java.util.List<javax.net.ssl.SNIServerName>
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreHandshake(java.nio.ByteBuffer,byte,byte,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:333,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:334,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:337,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:338,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector8(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:341,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:344,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:346,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:347,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector8(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:352,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:354,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreExtensions(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:355,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - byte
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<javax.net.ssl.SNIServerName>
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - input
    - recordMajorVersion
    - recordMinorVersion
    argTypes:
    - java.nio.ByteBuffer
    - byte
    - byte
    constantsTouched: []
    func_position:
      end: 361
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 361
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreClientHello(java.nio.ByteBuffer,byte,byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].emptyList()'
    - '[java.nio.ByteBuffer].position(int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector8(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].exploreExtensions(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: java.util.List<javax.net.ssl.SNIServerName>
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreClientHello(java.nio.ByteBuffer,byte,byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:378,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:379,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:381,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:383,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:384,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreSNIExt(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:387,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreALPN(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:389,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:391,1
    - Dst: '[ExtensionInfo].<init>(java.util.List<javax.net.ssl.SNIServerName>,java.util.List<String>)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: ExtensionInfo
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 398
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 398
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreExtensions(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer].exploreSNIExt(java.nio.ByteBuffer,int)'
    - '[ExtensionInfo].<init>(java.util.List<javax.net.ssl.SNIServerName>,java.util.List<String>)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector(java.nio.ByteBuffer,int)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].exploreALPN(java.nio.ByteBuffer,int)'
    linkageType: ''
    returnType: ExtensionInfo
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreExtensions(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:410,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:414,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].invalidTlsExt()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:416,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:421,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].notEnoughData()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:423,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:426,1
    - Dst: '[String].<init>(io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:427,1
    - Dst: '[java.util.ArrayList].add(String)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:427,1
    - Dst: '[java.util.ArrayList].isEmpty()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:432,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<String>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - input
    - extLen
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 433
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 433
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreALPN(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer].invalidTlsExt()'
    - '[String].<init>(io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].notEnoughData()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(String)'
    - '[java.nio.ByteBuffer].get(io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
    - '[java.util.ArrayList].isEmpty()'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreALPN(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.LinkedHashMap].<init>()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:456,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:460,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].invalidTlsExt()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:462,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:467,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:468,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].notEnoughData()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:470,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:473,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].emptyHostNameSni()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:479,1
    - Dst: '[javax.net.ssl.SNIHostName].<init>(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:481,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName].<init>(int,io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:484,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName].getType()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:487,1
    - Dst: '[java.util.LinkedHashMap].put(io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:487,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName].getType()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:488,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].duplicatedSniServerName(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:488,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].invalidTlsExt()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:495,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].invalidTlsExt()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:499,1
    - Dst: '[java.util.LinkedHashMap].values()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:502,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:502,1
    - Dst: '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:502,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - javax.net.ssl.SSLException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.List<javax.net.ssl.SNIServerName>
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - input
    - extLen
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 503
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 503
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreSNIExt(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName].<init>(int,io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].invalidTlsExt()'
    - '[java.util.ArrayList].<init>(io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[java.util.LinkedHashMap].put(io.undertow.protocols.ssl.SNISSLExplorer,io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName].getType()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].duplicatedSniServerName(io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].notEnoughData()'
    - '[java.util.LinkedHashMap].values()'
    - '[java.util.LinkedHashMap].<init>()'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
    - '[java.util.Collections].unmodifiableList(java.util.ArrayList)'
    - '[javax.net.ssl.SNIHostName].<init>(io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].emptyHostNameSni()'
    - '[java.nio.ByteBuffer].get(io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: java.util.List<javax.net.ssl.SNIServerName>
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].exploreSNIExt(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 4
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:510,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 5
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt16(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:514,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:514,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt24(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt24(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:519,1
    - Dst: '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - input
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector8(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector(java.nio.ByteBuffer,int)'
    - '[io.undertow.protocols.ssl.SNISSLExplorer].getInt8(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector8(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:524,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.ssl.SNISSLExplorer)'
      Src: io.undertow.protocols.ssl.SNISSLExplorer:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 2
    functionsReached:
    - '[java.nio.ByteBuffer].position(io.undertow.protocols.ssl.SNISSLExplorer)'
    - '[java.nio.ByteBuffer].position()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer].ignoreByteVector(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SNIServerName].<init>(int,byte[])'
      Src: io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - byte[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName
      static: false
      superClass: SNIServerName
    argCount: 2
    argNames:
    - code
    - encoded
    argTypes:
    - int
    - byte[]
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName].<init>(int,byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SNIServerName].<init>(int,byte[])'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer.UnknownServerName].<init>(int,byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<javax.net.ssl.SNIServerName>
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - List<SNIServerName>
      - List<String>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SNISSLExplorer.ExtensionInfo
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - sni
    - alpn
    argTypes:
    - java.util.List<javax.net.ssl.SNIServerName>
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: '[io.undertow.protocols.ssl.SNISSLExplorer.ExtensionInfo].<init>(java.util.List<javax.net.ssl.SNIServerName>,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLExplorer.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNISSLExplorer.ExtensionInfo
    signature: '[io.undertow.protocols.ssl.SNISSLExplorer.ExtensionInfo].<init>(java.util.List<javax.net.ssl.SNIServerName>,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Option].setBuilder()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:42,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].add(io.undertow.protocols.ssl.UndertowSslConnection,io.undertow.protocols.ssl.UndertowSslConnection)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:42,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].create()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:42,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:46,1
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:55,1
    - Dst: '[org.xnio.ssl.SslConnection].<init>(io.undertow.protocols.ssl.UndertowSslConnection)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:55,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback].<init>()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:58,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,java.util.concurrent.Executor,io.undertow.connector.ByteBufferPool,io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:58,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].setSourceConduit(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:59,1
    - Dst: '[io.undertow.protocols.ssl.UndertowSslConnection].setSinkConduit(io.undertow.protocols.ssl.SslConduit)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - javax.net.ssl.SSLEngine
      - io.undertow.connector.ByteBufferPool
      - java.util.concurrent.Executor
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.UndertowSslConnection
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 4
    argNames:
    - delegate
    - engine
    - bufferPool
    - delegatedTaskExecutor
    argTypes:
    - org.xnio.StreamConnection
    - javax.net.ssl.SSLEngine
    - io.undertow.connector.ByteBufferPool
    - java.util.concurrent.Executor
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.protocols.ssl.UndertowSslConnection].add(io.undertow.protocols.ssl.UndertowSslConnection,io.undertow.protocols.ssl.UndertowSslConnection)'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].setSourceConduit(io.undertow.protocols.ssl.SslConduit)'
    - '[org.xnio.ssl.SslConnection].<init>(io.undertow.protocols.ssl.UndertowSslConnection)'
    - '[io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback].<init>()'
    - '[io.undertow.protocols.ssl.SslConduit].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,java.util.concurrent.Executor,io.undertow.connector.ByteBufferPool,io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback)'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].create()'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[io.undertow.protocols.ssl.UndertowSslConnection].setSinkConduit(io.undertow.protocols.ssl.SslConduit)'
    - '[org.xnio.Option].setBuilder()'
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowSslConnection
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].<init>(org.xnio.StreamConnection,javax.net.ssl.SSLEngine,io.undertow.connector.ByteBufferPool,java.util.concurrent.Executor)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].startHandshake()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].startHandshake()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].startHandshake()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].startHandshake()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getSslSession()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].getSslSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].getSslSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].getSslSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsSslConnection>
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].getHandshakeSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsSslConnection>
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].getHandshakeSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:81,1
    - Dst: '[org.xnio.ssl.SslConnection].notifyWriteClosed()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].notifyWriteClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ssl.SslConnection].notifyWriteClosed()'
    - '[io.undertow.protocols.ssl.SslConduit].notifyWriteClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].notifyWriteClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:90,1
    - Dst: '[org.xnio.ssl.SslConnection].notifyReadClosed()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].notifyReadClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].notifyReadClosed()'
    - '[org.xnio.ssl.SslConnection].notifyReadClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].notifyReadClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getPeerAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getLocalAddress()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].getSSLEngine()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].getSSLEngine()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.ssl.SslConduit
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].getSslConduit()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SslConduit
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].getSslConduit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Option<T>].cast()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:119,1
    - Dst: '[javax.net.ssl.SSLEngine].setWantClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:121,1
    - Dst: '[javax.net.ssl.SSLEngine].setNeedClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:122,1
    - Dst: '[javax.net.ssl.SSLEngine].setWantClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:124,1
    - Dst: '[javax.net.ssl.SSLEngine].setNeedClientAuth(boolean)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:126,1
    - Dst: '[IllegalArgumentException].<init>()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:130,1
    - Dst: '[org.xnio.StreamConnection].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Option<T>].cast()'
    - '[IllegalArgumentException].<init>()'
    - '[javax.net.ssl.SSLEngine].setWantClientAuth(boolean)'
    - '[org.xnio.StreamConnection].setOption(org.xnio.Option<T>,T)'
    - '[javax.net.ssl.SSLEngine].setNeedClientAuth(boolean)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Option<T>].cast()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:140,1
    - Dst: '[org.xnio.StreamConnection].getOption(org.xnio.Option<T>)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getOption(org.xnio.Option<T>)'
    - '[org.xnio.Option<T>].cast()'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Set<org.xnio.Option<?>>].contains(org.xnio.Option<?>)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:149,1
    - Dst: '[org.xnio.StreamConnection].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.Set<org.xnio.Option<?>>].contains(org.xnio.Option<?>)'
    - '[org.xnio.StreamConnection].supportsOption(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ssl.SslConnection].readClosed()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].readClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ssl.SslConnection].readClosed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].readClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ssl.SslConnection].writeClosed()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].writeClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ssl.SslConnection].writeClosed()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].writeClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SslConduit].close()'
      Src: io.undertow.protocols.ssl.UndertowSslConnection:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<org.xnio.Option<?>>
      - org.xnio.StreamConnection
      - io.undertow.protocols.ssl.SslConduit
      - ChannelListener.SimpleSetter<org.xnio.ssl.SslConnection>
      - javax.net.ssl.SSLEngine
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: org.xnio.ssl.SslConnection
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection].closeAction()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SslConduit].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection].closeAction()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: handshakeSetter.get()
      Src: io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback:170,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback,io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback)'
      Src: io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback].run()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback,io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback)'
    - handshakeSetter.get()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/UndertowSslConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback
    signature: '[io.undertow.protocols.ssl.UndertowSslConnection.HandshakeCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.SNISSLContextSpi].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
      Src: io.undertow.protocols.ssl.SNISSLContext:23,1
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
      Src: io.undertow.protocols.ssl.SNISSLContext:23,1
    - Dst: '[javax.net.ssl.SSLContext].getProvider()'
      Src: io.undertow.protocols.ssl.SNISSLContext:23,1
    - Dst: '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
      Src: io.undertow.protocols.ssl.SNISSLContext:23,1
    - Dst: '[javax.net.ssl.SSLContext].getProtocol()'
      Src: io.undertow.protocols.ssl.SNISSLContext:23,1
    - Dst: '[javax.net.ssl.SSLContext].<init>(io.undertow.protocols.ssl.SNISSLContextSpi,io.undertow.protocols.ssl.SNISSLContext,io.undertow.protocols.ssl.SNISSLContext)'
      Src: io.undertow.protocols.ssl.SNISSLContext:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SNIContextMatcher
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.SNISSLContext
      static: false
      superClass: javax.net.ssl.SSLContext
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - io.undertow.protocols.ssl.SNIContextMatcher
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '[io.undertow.protocols.ssl.SNISSLContext].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNISSLContext.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ssl.SNIContextMatcher].getDefaultContext()'
    - '[javax.net.ssl.SSLContext].<init>(io.undertow.protocols.ssl.SNISSLContextSpi,io.undertow.protocols.ssl.SNISSLContext,io.undertow.protocols.ssl.SNISSLContext)'
    - '[javax.net.ssl.SSLContext].getProvider()'
    - '[io.undertow.protocols.ssl.SNISSLContextSpi].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
    - '[javax.net.ssl.SSLContext].getProtocol()'
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNISSLContext
    signature: '[io.undertow.protocols.ssl.SNISSLContext].<init>(io.undertow.protocols.ssl.SNIContextMatcher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNEngineManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: '[io.undertow.protocols.ssl.SNIAlpnEngineManager].getPriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIAlpnEngineManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.ssl.SNIAlpnEngineManager].getPriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snisslEngine.setSelectionCallback(java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)
      Src: io.undertow.protocols.ssl.SNIAlpnEngineManager:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNEngineManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - engine
    - selectedFunction
    argTypes:
    - javax.net.ssl.SSLEngine
    - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: '[io.undertow.protocols.ssl.SNIAlpnEngineManager].registerEngine(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIAlpnEngineManager.java
    functionUses: 0
    functionsReached:
    - snisslEngine.setSelectionCallback(java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.ssl.SNIAlpnEngineManager].registerEngine(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNEngineManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.ssl.SNIAlpnEngineManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.ssl.SNIAlpnEngineManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/ssl/SNIAlpnEngineManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.ssl.SNIAlpnEngineManager
    signature: '[io.undertow.protocols.ssl.SNIAlpnEngineManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>(null,int)'
      Src: io.undertow.protocols.http2.HpackException:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.protocols.http2.HpackException].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackException.java
    functionUses: 9
    functionsReached:
    - '[io.undertow.protocols.http2.HpackException].<init>(null,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.protocols.http2.HpackException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Exception].<init>(String)'
      Src: io.undertow.protocols.http2.HpackException:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Exception
    argCount: 2
    argNames:
    - message
    - closeCode
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.protocols.http2.HpackException].<init>(String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackException.java
    functionUses: 0
    functionsReached:
    - '[Exception].<init>(String)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.protocols.http2.HpackException].<init>(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Exception
    argCount: 1
    argNames:
    - closeCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.protocols.http2.HpackException].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackException.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.protocols.http2.HpackException].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.protocols.http2.HpackException].getCloseCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HpackException].getCloseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateParser:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2WindowUpdateParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.protocols.http2.Http2WindowUpdateParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2WindowUpdateParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2WindowUpdateParser
    signature: '[io.undertow.protocols.http2.Http2WindowUpdateParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2WindowUpdateParser:38,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateParser:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - frameHeaderParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: '[io.undertow.protocols.http2.Http2WindowUpdateParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2WindowUpdateParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2WindowUpdateParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.protocols.http2.Http2WindowUpdateParser].getDeltaWindowSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2WindowUpdateParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2WindowUpdateParser].getDeltaWindowSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2RstStreamParser:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2RstStreamParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.protocols.http2.Http2RstStreamParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2RstStreamParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2RstStreamParser
    signature: '[io.undertow.protocols.http2.Http2RstStreamParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2RstStreamParser:38,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2RstStreamParser:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - headerParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: '[io.undertow.protocols.http2.Http2RstStreamParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2RstStreamParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2RstStreamParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.protocols.http2.Http2RstStreamParser].getErrorCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2RstStreamParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2RstStreamParser].getErrorCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:51,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap,int)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2DataStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 3
    argNames:
    - channel
    - streamId
    - frameType
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - int
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap,int)'
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2DataStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:55,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getEncoder()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - int
      - io.undertow.util.HeaderMap
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2DataStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 4
    argNames:
    - channel
    - streamId
    - headers
    - frameType
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - int
    - io.undertow.util.HeaderMap
    - int
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
    - '[io.undertow.protocols.http2.Http2Channel].getEncoder()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2DataStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: TrailersProducer
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getTrailersProducer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrailersProducer
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getTrailersProducer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - TrailersProducer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - trailersProducer
    argTypes:
    - TrailersProducer
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].setTrailersProducer(TrailersProducer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].setTrailersProducer(TrailersProducer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:72,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getPaddingBytes()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:72,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:73,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:73,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].grabFlowControlBytes(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:74,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:75,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].hasRemaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:75,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:77,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:77,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel,null)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:77,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:81,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:81,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:84,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:84,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:88,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:88,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].isFinalFrameQueued()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:92,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:92,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:92,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:93,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBufferPool()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:93,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].allocate()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:93,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:95,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].getTrailers()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:100,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].size()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:101,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:110,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:111,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:112,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:113,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:114,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:116,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:116,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:118,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getPaddingBytes()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:118,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:120,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeBeforeHeaderBlock(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:122,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encode(io.undertow.util.HeaderMap,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:124,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].position()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:126,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:127,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:128,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:129,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:130,1
    - Dst: currentBuffer.remaining()
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:133,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].allocateAll(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:134,1
    - Dst: current.getBuffer()
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:136,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:139,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].allocateAll(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:145,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].encodeContinuationFrame(io.undertow.util.HeaderMap,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:147,1
    - Dst: currentPooled.getBuffer()
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:153,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:158,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:158,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:161,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].allocateAll(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:162,1
    - Dst: currentPooled.getBuffer()
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:164,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:167,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:167,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:169,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:169,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].position()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:169,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].limit(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:169,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:171,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:172,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:173,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:174,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:176,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:181,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:183,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:183,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:185,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:186,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:189,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:189,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:192,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:193,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:194,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:195,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:197,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:200,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:202,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:202,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:204,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:205,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:212,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBufferPool()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:212,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].allocate()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:212,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:214,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:214,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:216,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:216,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:217,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:217,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:218,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:218,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:219,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:219,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:220,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:220,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:222,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:222,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:222,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:223,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encode(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:223,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].http2TrailerToLargeForSingleBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:225,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:227,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].position()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:227,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:228,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:228,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:229,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:229,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:230,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:230,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:231,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:231,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:232,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:232,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:233,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:234,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:234,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:235,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].close()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:236,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:240,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel,boolean,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:241,1
    - Dst: allHeaderBuffers[i].getBuffer()
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:247,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].position()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:247,1
    - Dst: allHeaderBuffers[i].getBuffer()
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:248,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:248,1
    - Dst: '[java.nio.ByteBuffer].allocate(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:251,1
    - Dst: allHeaderBuffers[i].getBuffer()
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:254,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:254,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:256,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:257,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.util.ImmediatePooledByteBuffer,boolean,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:257,1
    - Dst: allHeaderBuffers[i].close()
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:261,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 311
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 266
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].createFrameHeaderImpl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].allocate()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].allocateAll(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].grabFlowControlBytes(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - currentBuffer.remaining()
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].encodeContinuationFrame(io.undertow.util.HeaderMap,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getPaddingBytes()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.util.ImmediatePooledByteBuffer,boolean,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.HpackEncoder].encode(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBuffer()'
    - allHeaderBuffers[i].getBuffer()
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].flip()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].position()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel,io.undertow.protocols.http2.Http2DataStreamSinkChannel,boolean,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeBeforeHeaderBlock(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].getTrailers()'
    - allHeaderBuffers[i].close()
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].isFinalFrameQueued()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].limit(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].hasRemaining()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(int,byte)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.http2.Http2DataStreamSinkChannel,null)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].close()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].remaining()'
    - '[java.nio.ByteBuffer].allocate(io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].size()'
    - '[io.undertow.protocols.http2.HpackEncoder].encode(io.undertow.util.HeaderMap,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getBufferPool()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].http2TrailerToLargeForSingleBuffer()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].put(byte)'
    - current.getBuffer()
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
    - currentPooled.getBuffer()
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].createFrameHeaderImpl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getHeaders()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:269,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:269,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 5
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].isContinueStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getHeaders()'
    - '[String].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].isContinueStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:278,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:279,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:280,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:281,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:282,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:283,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:284,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:284,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encode(io.undertow.util.HeaderMap,java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:285,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:286,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:287,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:288,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:289,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: HpackEncoder.State
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 2
    argNames:
    - headers
    - current
    argTypes:
    - io.undertow.util.HeaderMap
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 292
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 292
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].encodeContinuationFrame(io.undertow.util.HeaderMap,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.protocols.http2.HpackEncoder].encode(io.undertow.util.HeaderMap,java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].put(int,byte)'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2DataStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getStreamId()'
    linkageType: ''
    returnType: HpackEncoder.State
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].encodeContinuationFrame(io.undertow.util.HeaderMap,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:296,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].write(ByteBuffer[],int,int)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].write(ByteBuffer[],int,int)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 7
    functionsReached:
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:309,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].write(ByteBuffer[])'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].write(ByteBuffer[])'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:315,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].write(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].write(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:321,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:327,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].writeFinal(ByteBuffer[])'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeFinal(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].writeFinal(ByteBuffer[])'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeFinal(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:333,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:339,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:341,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].flush()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].flush()'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFailedChannel()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeBeforeHeaderBlock(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].writeBeforeHeaderBlock(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].isFlushRequiredOnEmptyBuffer()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].isFlushRequiredOnEmptyBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].handleFlushComplete(boolean)'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - finalFrame
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFlushComplete(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].handleFlushComplete(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].handleFlushComplete(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].channelForciblyClosed()'
      Src: io.undertow.protocols.http2.Http2DataStreamSinkChannel:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].channelForciblyClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].channelForciblyClosed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].channelForciblyClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getCompletionListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].getCompletionListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackEncoder
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
      - int
      - boolean
      - boolean
      - TrailersProducer
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - completionListener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].setCompletionListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].setCompletionListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2DataStreamSinkChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].getTrailers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].getTrailers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataStreamSinkChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer
    signature: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].writeFinal(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].writeFinal(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
      Src: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2NoDataStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].controlFrameCannotHaveBodyContent()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel:36,1
    - Dst: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.connector.PooledByteBuffer
      - long
      - io.undertow.util.HeaderMap
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 6
    argNames:
    - framedChannel
    - data
    - frameDataRemaining
    - headers
    - pushedStreamId
    - associatedStreamId
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.connector.PooledByteBuffer
    - long
    - io.undertow.util.HeaderMap
    - int
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long,io.undertow.util.HeaderMap,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
    - '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].lastFrame()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long,io.undertow.util.HeaderMap,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].getHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].getPushedStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].getPushedStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].getAssociatedStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].getAssociatedStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.ConnectionErrorException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/ConnectionErrorException.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.ConnectionErrorException
    signature: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(String)'
      Src: io.undertow.protocols.http2.ConnectionErrorException:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.ConnectionErrorException
      static: false
      superClass: java.io.IOException
    argCount: 2
    argNames:
    - code
    - message
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/ConnectionErrorException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.ConnectionErrorException
    signature: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.protocols.http2.ConnectionErrorException:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.ConnectionErrorException
      static: false
      superClass: java.io.IOException
    argCount: 2
    argNames:
    - code
    - cause
    argTypes:
    - int
    - Throwable
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/ConnectionErrorException.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.ConnectionErrorException
    signature: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.protocols.http2.ConnectionErrorException].getCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/ConnectionErrorException.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.ConnectionErrorException].getCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.protocols.http2.HpackDecoder:76,1
    - Dst: Math.min(int,int)
      Src: io.undertow.protocols.http2.HpackDecoder:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackDecoder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxAllowedMemorySize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 15
    functionsReached:
    - '[StringBuilder].<init>()'
    - Math.min(int,int)
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackDecoder
    signature: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.protocols.http2.HpackDecoder:76,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackDecoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.protocols.http2.HpackDecoder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(int)'
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackDecoder
    signature: '[io.undertow.protocols.http2.HpackDecoder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.HpackDecoder:96,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.HpackDecoder:97,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.HpackDecoder:98,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.HpackDecoder:102,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:102,1
    - Dst: '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.http2.HpackDecoder:103,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].hpackFailed()'
      Src: io.undertow.protocols.http2.HpackDecoder:106,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:108,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].zeroNotValidHeaderTableIndex()'
      Src: io.undertow.protocols.http2.HpackDecoder:111,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].handleIndex(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:113,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].readHeaderName(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.http2.HpackDecoder:117,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].hpackFailed()'
      Src: io.undertow.protocols.http2.HpackDecoder:120,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:122,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].readHpackString(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.HpackDecoder:125,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].hpackFailed()'
      Src: io.undertow.protocols.http2.HpackDecoder:128,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:130,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.util.HttpString,String,boolean)'
      Src: io.undertow.protocols.http2.HpackDecoder:133,1
    - Dst: '[io.undertow.protocols.http2.Hpack.HeaderField].<init>(io.undertow.util.HttpString,String)'
      Src: io.undertow.protocols.http2.HpackDecoder:134,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].addEntryToHeaderTable(io.undertow.protocols.http2.Hpack.HeaderField)'
      Src: io.undertow.protocols.http2.HpackDecoder:134,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].readHeaderName(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.http2.HpackDecoder:138,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].hpackFailed()'
      Src: io.undertow.protocols.http2.HpackDecoder:141,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:143,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].readHpackString(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.HpackDecoder:146,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].hpackFailed()'
      Src: io.undertow.protocols.http2.HpackDecoder:149,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:151,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.util.HttpString,String,boolean)'
      Src: io.undertow.protocols.http2.HpackDecoder:154,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].readHeaderName(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.http2.HpackDecoder:158,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:160,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].readHpackString(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.HpackDecoder:163,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].hpackFailed()'
      Src: io.undertow.protocols.http2.HpackDecoder:166,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:168,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.util.HttpString,String,boolean)'
      Src: io.undertow.protocols.http2.HpackDecoder:171,1
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.protocols.http2.HpackDecoder:174,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].handleMaxMemorySizeChange(java.nio.ByteBuffer,io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:177,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].invalidHpackEncoding(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:181,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 69
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - moreData
    argTypes:
    - java.nio.ByteBuffer
    - boolean
    constantsTouched: []
    func_position:
      end: 187
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 187
    functionName: '[io.undertow.protocols.http2.HpackDecoder].decode(java.nio.ByteBuffer,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.util.HttpString,String,boolean)'
    - '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
    - '[java.nio.ByteBuffer].position(int)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    - '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HpackDecoder)'
    - '[io.undertow.protocols.http2.HpackDecoder].readHeaderName(java.nio.ByteBuffer,int)'
    - '[io.undertow.protocols.http2.HpackDecoder].hpackFailed()'
    - '[io.undertow.protocols.http2.HpackDecoder].addEntryToHeaderTable(io.undertow.protocols.http2.Hpack.HeaderField)'
    - '[io.undertow.protocols.http2.HpackDecoder].invalidHpackEncoding(io.undertow.protocols.http2.HpackDecoder)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.protocols.http2.HpackDecoder].handleIndex(int)'
    - '[io.undertow.protocols.http2.HpackDecoder].zeroNotValidHeaderTableIndex()'
    - '[io.undertow.protocols.http2.HpackDecoder].handleMaxMemorySizeChange(java.nio.ByteBuffer,io.undertow.protocols.http2.HpackDecoder)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.protocols.http2.Hpack.HeaderField].<init>(io.undertow.util.HttpString,String)'
    - '[io.undertow.protocols.http2.HpackDecoder].readHpackString(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackDecoder].decode(java.nio.ByteBuffer,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.HpackDecoder:190,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:190,1
    - Dst: '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.http2.HpackDecoder:191,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:193,1
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - originalPos
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 215
    functionName: '[io.undertow.protocols.http2.HpackDecoder].handleMaxMemorySizeChange(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
    - '[io.undertow.protocols.http2.HpackException].<init>(int)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].position(int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.HpackDecoder].handleMaxMemorySizeChange(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.HpackDecoder:218,1
    - Dst: '[java.nio.ByteBuffer].position(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:218,1
    - Dst: '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.http2.HpackDecoder:219,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].handleIndexedHeaderName(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:223,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].readHpackString(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.HpackDecoder:225,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.protocols.http2.HpackDecoder:228,1
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.protocols.http2.HpackDecoder:230,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.HpackDecoder:232,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - prefixLength
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 234
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 234
    functionName: '[io.undertow.protocols.http2.HpackDecoder].readHeaderName(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
    - '[java.nio.ByteBuffer].position(int)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    - '[io.undertow.protocols.http2.HpackDecoder].handleIndexedHeaderName(int)'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[java.nio.ByteBuffer].position()'
    - '[String].isEmpty()'
    - '[io.undertow.protocols.http2.HpackDecoder].readHpackString(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.protocols.http2.HpackDecoder].readHeaderName(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.HpackDecoder:237,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.HpackDecoder:240,1
    - Dst: '[java.nio.ByteBuffer].get(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:240,1
    - Dst: '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
      Src: io.undertow.protocols.http2.HpackDecoder:242,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.HpackDecoder:243,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].readHuffmanString(int,java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.HpackDecoder:248,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.protocols.http2.HpackDecoder:253,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.protocols.http2.HpackDecoder:255,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:257,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].isEmpty()'
      Src: io.undertow.protocols.http2.HpackDecoder:259,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 264
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 264
    functionName: '[io.undertow.protocols.http2.HpackDecoder].readHpackString(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 2
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
    - '[io.undertow.protocols.http2.HpackDecoder].readHuffmanString(int,java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[StringBuilder].toString()'
    - '[io.undertow.protocols.http2.HpackDecoder].isEmpty()'
    - '[java.nio.ByteBuffer].position()'
    - '[StringBuilder].setLength(int)'
    - '[java.nio.ByteBuffer].get(io.undertow.protocols.http2.HpackDecoder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.http2.HpackDecoder].readHpackString(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HPackHuffman].decode(java.nio.ByteBuffer,int,StringBuilder)'
      Src: io.undertow.protocols.http2.HpackDecoder:269,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.protocols.http2.HpackDecoder:270,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:272,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].isEmpty()'
      Src: io.undertow.protocols.http2.HpackDecoder:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - length
    - buffer
    argTypes:
    - int
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: '[io.undertow.protocols.http2.HpackDecoder].readHuffmanString(int,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].toString()'
    - '[io.undertow.protocols.http2.HpackDecoder].isEmpty()'
    - '[StringBuilder].setLength(int)'
    - '[io.undertow.protocols.http2.HPackHuffman].decode(java.nio.ByteBuffer,int,StringBuilder)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.http2.HpackDecoder].readHuffmanString(int,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.protocols.http2.HpackDecoder:286,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getRealIndex(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:288,1
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.protocols.http2.HpackDecoder:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: '[io.undertow.protocols.http2.HpackDecoder].handleIndexedHeaderName(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder].getRealIndex(io.undertow.protocols.http2.HpackDecoder)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.protocols.http2.HpackDecoder].handleIndexedHeaderName(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].addStaticTableEntry(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:305,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].getRealIndex(io.undertow.protocols.http2.HpackDecoder)'
      Src: io.undertow.protocols.http2.HpackDecoder:307,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.protocols.http2.HpackDecoder,io.undertow.protocols.http2.HpackDecoder,boolean)'
      Src: io.undertow.protocols.http2.HpackDecoder:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: '[io.undertow.protocols.http2.HpackDecoder].handleIndex(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.protocols.http2.HpackDecoder,io.undertow.protocols.http2.HpackDecoder,boolean)'
    - '[io.undertow.protocols.http2.HpackDecoder].getRealIndex(io.undertow.protocols.http2.HpackDecoder)'
    - '[io.undertow.protocols.http2.HpackDecoder].addStaticTableEntry(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackDecoder].handleIndex(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].invalidHpackIndex(int)'
      Src: io.undertow.protocols.http2.HpackDecoder:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: '[io.undertow.protocols.http2.HpackDecoder].getRealIndex(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder].invalidHpackIndex(int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HpackDecoder].getRealIndex(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.protocols.http2.HpackDecoder,boolean)'
      Src: io.undertow.protocols.http2.HpackDecoder:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: '[io.undertow.protocols.http2.HpackDecoder].addStaticTableEntry(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.protocols.http2.HpackDecoder,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackDecoder].addStaticTableEntry(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].resizeIfRequired()'
      Src: io.undertow.protocols.http2.HpackDecoder:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Hpack.HeaderField
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - entry
    argTypes:
    - io.undertow.protocols.http2.Hpack.HeaderField
    constantsTouched: []
    func_position:
      end: 372
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 372
    functionName: '[io.undertow.protocols.http2.HpackDecoder].addEntryToHeaderTable(io.undertow.protocols.http2.Hpack.HeaderField)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.HpackDecoder].resizeIfRequired()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackDecoder].addEntryToHeaderTable(io.undertow.protocols.http2.Hpack.HeaderField)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: '[io.undertow.protocols.http2.HpackDecoder].resizeIfRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackDecoder].resizeIfRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: HeaderEmitter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: '[io.undertow.protocols.http2.HpackDecoder].getHeaderEmitter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderEmitter
    signature: '[io.undertow.protocols.http2.HpackDecoder].getHeaderEmitter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - HeaderEmitter
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerEmitter
    argTypes:
    - HeaderEmitter
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(HeaderEmitter)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter(HeaderEmitter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: '[io.undertow.protocols.http2.HpackDecoder].getFirstSlotPosition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HpackDecoder].getFirstSlotPosition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: HeaderField[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: '[io.undertow.protocols.http2.HpackDecoder].getHeaderTable()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HeaderField[]
    signature: '[io.undertow.protocols.http2.HpackDecoder].getHeaderTable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HpackDecoder].getFilledTableSlots()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HpackDecoder].getCurrentMemorySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - HeaderEmitter
      - HeaderField[]
      - int
      - int
      - int
      - int
      - int
      - boolean
      - StringBuilder
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: '[io.undertow.protocols.http2.HpackDecoder].getSpecifiedMemorySize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HpackDecoder].getSpecifiedMemorySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - value
    - neverIndex
    argTypes:
    - io.undertow.util.HttpString
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.util.HttpString,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].emitHeader(io.undertow.util.HttpString,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackDecoder.HeaderEmitter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackDecoder.HeaderEmitter
    signature: '[io.undertow.protocols.http2.HpackDecoder.HeaderEmitter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2Setting
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - id
    - value
    argTypes:
    - int
    - long
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.protocols.http2.Http2Setting].<init>(int,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Setting.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Setting
    signature: '[io.undertow.protocols.http2.Http2Setting].<init>(int,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.protocols.http2.Http2Setting].getId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Setting.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Setting].getId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.protocols.http2.Http2Setting].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Setting.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2Setting].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 3
    argNames:
    - channel
    - status
    - lastGoodStreamId
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - int
    - int
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:48,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:50,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:51,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:52,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:53,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:54,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:55,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:56,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].flip()'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,int)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].put(byte)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].isLastFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].isLastFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.protocols.http2.Http2HeadersParser
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2PushBackParser
      - io.undertow.protocols.http2.Http2HeadersParser
      - int
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.protocol.framed.FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2FrameHeaderParser
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - http2Channel
    - continuationParser
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.protocols.http2.Http2HeadersParser
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.protocols.http2.Http2FrameHeaderParser].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2HeadersParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FrameHeaderParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2FrameHeaderParser
    signature: '[io.undertow.protocols.http2.Http2FrameHeaderParser].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2HeadersParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].parseFrameHeader(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:70,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].expectedContinuationFrame()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:74,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:74,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].streamIdMustNotBeZeroForFrameType(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:79,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:79,1
    - Dst: '[io.undertow.protocols.http2.Http2DataFrameParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:81,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].streamIdMustNotBeZeroForFrameType(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:86,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:86,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getDecoder()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:88,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:88,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaders()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:88,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderListSize()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:88,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:88,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].allAreClear(int,int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:89,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].incorrectFrameSize()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:96,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:96,1
    - Dst: '[io.undertow.protocols.http2.Http2RstStreamParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:98,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:103,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].http2ContinuationFrameNotExpected()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:104,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersParser].getStreamId()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:106,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:107,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].http2ContinuationFrameNotExpected()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:108,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersParser].moreData(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:111,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:112,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getDecoder()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:117,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:117,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaders()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:117,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderListSize()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:117,1
    - Dst: '[io.undertow.protocols.http2.Http2PushPromiseParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:117,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].allAreClear(int,int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:118,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].streamIdMustBeZeroForFrameType(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:125,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:125,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:127,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].invalidPingSize()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:132,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:132,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].streamIdMustBeZeroForFrameType(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:135,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:135,1
    - Dst: '[io.undertow.protocols.http2.Http2PingParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:137,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].incorrectFrameSize()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:143,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:143,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].streamIdMustBeZeroForFrameType(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:146,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:146,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:148,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].incorrectFrameSize()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:153,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:153,1
    - Dst: '[io.undertow.protocols.http2.Http2WindowUpdateParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:155,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].incorrectFrameSize()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:160,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:160,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].streamIdMustNotBeZeroForFrameType(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:163,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:163,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:165,1
    - Dst: '[io.undertow.protocols.http2.Http2DiscardParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:169,1
    - Dst: '[io.undertow.protocols.http2.Http2DiscardParser].parse(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:174,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreSet(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:176,1
    - Dst: '[io.undertow.protocols.http2.Http2DiscardParser].isFinished()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:180,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 93
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2PushBackParser
      - io.undertow.protocols.http2.Http2HeadersParser
      - int
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.server.protocol.framed.FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 181
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 181
    functionName: '[io.undertow.protocols.http2.Http2FrameHeaderParser].handle(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FrameHeaderParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PingParser].<init>(int)'
    - '[io.undertow.protocols.http2.Http2SettingsParser].<init>(int)'
    - '[io.undertow.protocols.http2.Http2DiscardParser].isFinished()'
    - '[io.undertow.protocols.http2.Http2WindowUpdateParser].<init>(int)'
    - '[io.undertow.protocols.http2.Http2Channel].getMaxHeaders()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].streamIdMustNotBeZeroForFrameType(int)'
    - '[io.undertow.protocols.http2.Http2PriorityParser].<init>(int)'
    - '[io.undertow.protocols.http2.Http2PushPromiseParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].incorrectFrameSize()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].invalidPingSize()'
    - '[io.undertow.protocols.http2.Http2DataFrameParser].<init>(int)'
    - '[io.undertow.protocols.http2.Http2DiscardParser].<init>(int)'
    - '[io.undertow.protocols.http2.Http2RstStreamParser].<init>(int)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].allAreClear(int,int)'
    - '[io.undertow.protocols.http2.Http2Channel].getDecoder()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreSet(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    - '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderListSize()'
    - '[io.undertow.protocols.http2.Http2HeadersParser].moreData(int)'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].parseFrameHeader(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].http2ContinuationFrameNotExpected()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].expectedContinuationFrame()'
    - '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    - '[io.undertow.protocols.http2.Http2GoAwayParser].<init>(int)'
    - '[io.undertow.protocols.http2.Http2HeadersParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
    - '[io.undertow.protocols.http2.Http2DiscardParser].parse(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].streamIdMustBeZeroForFrameType(int)'
    - '[io.undertow.protocols.http2.Http2HeadersParser].getStreamId()'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2FrameHeaderParser].handle(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:184,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2PushBackParser
      - io.undertow.protocols.http2.Http2HeadersParser
      - int
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.protocol.framed.FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - byteBuffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: '[io.undertow.protocols.http2.Http2FrameHeaderParser].parseFrameHeader(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FrameHeaderParser.java
    functionUses: 1
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2FrameHeaderParser].parseFrameHeader(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2PushBackParser
      - io.undertow.protocols.http2.Http2HeadersParser
      - int
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.protocol.framed.FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FrameHeaderParser.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2PushBackParser
      - io.undertow.protocols.http2.Http2HeadersParser
      - int
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.protocol.framed.FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getActualLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FrameHeaderParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getActualLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:221,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].removeStreamSource(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:222,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getIncomingStream(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:224,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].isHeadersEndStream()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:225,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:225,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].removeStreamSource(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:226,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getIncomingStream(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:229,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getFrameLength()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:233,1
    - Dst: dataFrameParser.getPadding()
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:233,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreSet(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:233,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateContentSize(long,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:233,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getIncomingStream(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:237,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreClear(int,int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:239,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersParser].isContentExpected()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:239,1
    - Dst: io.undertow.UndertowLogger.REQUEST_IO_LOGGER.debug(String)
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:241,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:242,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].isHeadersEndStream()'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:244,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].allAreSet(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:244,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].removeStreamSource(int)'
      Src: io.undertow.protocols.http2.Http2FrameHeaderParser:245,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2PushBackParser
      - io.undertow.protocols.http2.Http2HeadersParser
      - int
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.protocol.framed.FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 251
    functionName: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getExistingChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FrameHeaderParser.java
    functionUses: 0
    functionsReached:
    - dataFrameParser.getPadding()
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreSet(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    - io.undertow.UndertowLogger.REQUEST_IO_LOGGER.debug(String)
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreClear(int,int)'
    - '[io.undertow.protocols.http2.Http2Channel].removeStreamSource(int)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateContentSize(long,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].allAreSet(int,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].anyAreSet(int,int)'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].getFrameLength()'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].isHeadersEndStream()'
    - '[io.undertow.protocols.http2.Http2HeadersParser].isContentExpected()'
    - '[io.undertow.protocols.http2.Http2Channel].getIncomingStream(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<?,?,?>
    signature: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getExistingChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2PushBackParser
      - io.undertow.protocols.http2.Http2HeadersParser
      - int
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.protocol.framed.FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PushBackParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getParser()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FrameHeaderParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PushBackParser
    signature: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getParser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - int
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2PushBackParser
      - io.undertow.protocols.http2.Http2HeadersParser
      - int
      - io.undertow.protocols.http2.Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.server.protocol.framed.FrameHeaderData
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2HeadersParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getContinuationParser()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FrameHeaderParser.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeadersParser
    signature: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getContinuationParser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2DiscardParser:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2DiscardParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.protocols.http2.Http2DiscardParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DiscardParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2DiscardParser
    signature: '[io.undertow.protocols.http2.Http2DiscardParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2DiscardParser:39,1
    - Dst: Math.min(io.undertow.protocols.http2.Http2DiscardParser,int)
      Src: io.undertow.protocols.http2.Http2DiscardParser:39,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Http2DiscardParser:41,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.Http2DiscardParser)'
      Src: io.undertow.protocols.http2.Http2DiscardParser:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - frameHeaderParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: '[io.undertow.protocols.http2.Http2DiscardParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DiscardParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.Http2DiscardParser)'
    - '[java.nio.ByteBuffer].remaining()'
    - Math.min(io.undertow.protocols.http2.Http2DiscardParser,int)
    - '[java.nio.ByteBuffer].position()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2DiscardParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:68,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getInitialReceiveWindowSize()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:71,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:72,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.connector.PooledByteBuffer
      - long
      - io.undertow.util.HeaderMap
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2StreamSourceChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 5
    argNames:
    - framedChannel
    - data
    - frameDataRemaining
    - headers
    - streamId
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.connector.PooledByteBuffer
    - long
    - io.undertow.util.HeaderMap
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long,io.undertow.util.HeaderMap,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
    - Long.parseLong(String)
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.Http2Channel].getInitialReceiveWindowSize()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2StreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long,io.undertow.util.HeaderMap,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data.getParser()
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:83,1
    - Dst: '[io.undertow.protocols.http2.Http2DataFrameParser].getPadding()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:85,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:88,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:90,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:90,1
    - Dst: '[RuntimeException].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:91,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersParser].getHeaderMap()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:95,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:95,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersParser].getHeaderMap()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:97,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler].handleTrailers(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:97,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].handleFinalFrame(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.protocols.http2.Http2DataFrameParser].getPadding()'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler].handleTrailers(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - data.getParser()
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].handleFinalFrame(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].getFramedChannel()'
    - '[io.undertow.protocols.http2.Http2HeadersParser].getHeaderMap()'
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:106,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:106,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:107,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:107,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:108,1
    - Dst: '[java.nio.ByteBuffer].limit(int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 2
    argNames:
    - data
    - frameDataRemaining
    argTypes:
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFrameDataRemaining(io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].limit(int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFrameDataRemaining(io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Bits].anyAreSet(io.undertow.protocols.http2.Http2StreamSourceChannel,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:118,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:119,1
    - Dst: '[org.xnio.Bits].allAreSet(io.undertow.protocols.http2.Http2StreamSourceChannel,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:122,1
    - Dst: '[org.xnio.Bits].allAreSet(io.undertow.protocols.http2.Http2StreamSourceChannel,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:123,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:124,1
    - Dst: '[org.xnio.Bits].anyAreSet(io.undertow.protocols.http2.Http2StreamSourceChannel,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:131,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].handleFinalFrame(io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Bits].allAreSet(io.undertow.protocols.http2.Http2StreamSourceChannel,int)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].lastFrame()'
    - '[org.xnio.Bits].anyAreSet(io.undertow.protocols.http2.Http2StreamSourceChannel,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].handleFinalFrame(io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHttp2Channel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:141,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:141,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHttp2Channel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:142,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].registerStreamSink(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getResponseChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].registerStreamSink(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel,int)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHttp2Channel()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getResponseChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].read(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:148,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - dst
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].read(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].read(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].read(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].read(ByteBuffer[],int,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:155,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 3
    argNames:
    - dsts
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].read(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].read(ByteBuffer[],int,int)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].read(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].read(ByteBuffer[])'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:162,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - dsts
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].read(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].read(ByteBuffer[])'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].read(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:169,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:170,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - java.nio.ByteBuffer
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 3
    argNames:
    - count
    - throughBuffer
    - streamSinkChannel
    argTypes:
    - long
    - java.nio.ByteBuffer
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].transferTo(long,java.nio.ByteBuffer,org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:176,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      - java.nio.channels.FileChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 3
    argNames:
    - position
    - count
    - target
    argTypes:
    - long
    - long
    - java.nio.channels.FileChannel
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].transferTo(long,long,java.nio.channels.FileChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHttp2Channel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:188,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateReceiveFlowControlWindow(int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:189,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getInitialReceiveWindowSize()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:190,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].sendUpdateWindowSize(int,io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - read
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateReceiveFlowControlWindow(int)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].getInitialReceiveWindowSize()'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].sendUpdateWindowSize(int,io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHttp2Channel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateFlowControlWindow(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].complete()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:201,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].complete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>)'
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].complete()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].complete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getCompletionListener()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getCompletionListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].isComplete()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:217,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - completionListener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setCompletionListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListeners].invokeChannelListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].isComplete()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setCompletionListener(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].markStreamBroken()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].rstStream(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].markStreamBroken()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].rstStream(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>].handleEvent()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:234,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHttp2Channel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:237,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:237,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].markStreamBroken()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].channelForciblyClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].markStreamBroken()'
    - '[org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>].handleEvent()'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].sendRstStream(int,int)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHttp2Channel()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].channelForciblyClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - ignoreForceClose
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setIgnoreForceClose(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setIgnoreForceClose(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].isIgnoreForceClose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].isIgnoreForceClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].isHeadersEndStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].isHeadersEndStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: TrailersHandler
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getTrailersHandler()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrailersHandler
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getTrailersHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - TrailersHandler
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 1
    argNames:
    - trailersHandler
    argTypes:
    - TrailersHandler
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setTrailersHandler(TrailersHandler)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setTrailersHandler(TrailersHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:282,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].debugf(String,int,io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:282,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:283,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:283,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:285,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].debugf(String,int,io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:285,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:286,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2StreamSourceChannel:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      - int
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2StreamSourceChannel>
      - int
      - boolean
      - long
      - TrailersHandler
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.http2.Http2Stream
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 2
    argNames:
    - frameLength
    - last
    argTypes:
    - long
    - boolean
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateContentSize(long,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].debugf(String,int,io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].getFramedChannel()'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].sendRstStream(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel].updateContentSize(long,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerMap
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler].handleTrailers(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler].handleTrailers(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSourceChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler
    signature: '[io.undertow.protocols.http2.Http2StreamSourceChannel.TrailersHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSourceChannel:36,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSourceChannel:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.connector.PooledByteBuffer
      - long
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2SettingsStreamSourceChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 4
    argNames:
    - framedChannel
    - data
    - frameDataRemaining
    - settings
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.connector.PooledByteBuffer
    - long
    - java.util.List<io.undertow.protocols.http2.Http2Setting>
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[io.undertow.protocols.http2.Http2SettingsStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long,java.util.List<io.undertow.protocols.http2.Http2Setting>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2SettingsStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSourceChannel].lastFrame()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2SettingsStreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2SettingsStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long,java.util.List<io.undertow.protocols.http2.Http2Setting>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Collections].unmodifiableList(java.util.List<io.undertow.protocols.http2.Http2Setting>)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSourceChannel:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.protocols.http2.Http2Setting>
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.protocols.http2.Http2SettingsStreamSourceChannel].getSettings()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2SettingsStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].unmodifiableList(java.util.List<io.undertow.protocols.http2.Http2Setting>)'
    linkageType: ''
    returnType: java.util.List<io.undertow.protocols.http2.Http2Setting>
    signature: '[io.undertow.protocols.http2.Http2SettingsStreamSourceChannel].getSettings()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2PingStreamSourceChannel:32,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2PingStreamSourceChannel:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PingStreamSourceChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 3
    argNames:
    - framedChannel
    - pingData
    - ack
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PingStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].lastFrame()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PingStreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PingStreamSourceChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].isAck()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PingStreamSourceChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].isAck()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
      Src: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2DataStreamSinkChannel
    argCount: 2
    argNames:
    - channel
    - streamId
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap,int)'
      Src: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - int
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2DataStreamSinkChannel
    argCount: 3
    argNames:
    - channel
    - streamId
    - headers
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - int
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap,int)'
      Src: io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.util.HeaderMap
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2DataStreamSinkChannel
    argCount: 4
    argNames:
    - channel
    - requestHeaders
    - associatedStreamId
    - pushedStreamId
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.util.HeaderMap
    - int
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.util.HeaderMap,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,io.undertow.util.HeaderMap,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.util.HeaderMap,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel:41,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel:42,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel:43,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2DataStreamSinkChannel
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].writeBeforeHeaderBlock(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].writeBeforeHeaderBlock(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2DataStreamSinkChannel
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].grabFlowControlBytes(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseStreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].grabFlowControlBytes(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2DataStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].getPushedStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseStreamSinkChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].getPushedStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
      Src: io.undertow.protocols.http2.Http2HeadersParser:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - boolean
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2HeadersParser
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 6
    argNames:
    - frameLength
    - hpackDecoder
    - client
    - maxHeaders
    - streamId
    - maxHeaderListSize
    argTypes:
    - int
    - io.undertow.protocols.http2.HpackDecoder
    - boolean
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.protocols.http2.Http2HeadersParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2HeaderBlockParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeadersParser
    signature: '[io.undertow.protocols.http2.Http2HeadersParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Bits].anyAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2HeadersParser:44,1
    - Dst: '[org.xnio.Bits].anyAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2HeadersParser:45,1
    - Dst: '[org.xnio.Bits].allAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2HeadersParser:46,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2HeadersParser:51,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2HeadersParser:55,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2HeadersParser:58,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2HeadersParser:61,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2HeadersParser:64,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2HeadersParser:65,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2HeadersParser:66,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2HeadersParser:67,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 2
    argNames:
    - resource
    - headerParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: '[io.undertow.protocols.http2.Http2HeadersParser].handleBeforeHeader(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersParser.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.Bits].allAreSet(int,int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[org.xnio.Bits].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2HeadersParser].handleBeforeHeader(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.protocols.http2.Http2HeadersParser].getPaddingLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2HeadersParser].getPaddingLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.protocols.http2.Http2HeadersParser].getDependentStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2HeadersParser].getDependentStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: '[io.undertow.protocols.http2.Http2HeadersParser].getWeight()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2HeadersParser].getWeight()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.protocols.http2.Http2HeadersParser].isHeadersEndStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2HeadersParser].isHeadersEndStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - int
      - boolean
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.protocols.http2.Http2HeadersParser].isExclusive()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeadersParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2HeadersParser].isExclusive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
      Src: io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PrefaceStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel:38,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel:38,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel].createFrameHeaderImpl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PrefaceStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel].createFrameHeaderImpl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:44,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - boolean
      - int
      - int
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2HeaderBlockParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 6
    argNames:
    - frameLength
    - decoder
    - client
    - maxHeaders
    - streamId
    - maxHeaderListSize
    argTypes:
    - int
    - io.undertow.protocols.http2.HpackDecoder
    - boolean
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeaderBlockParser
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Bits].anyAreClear(int,int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:83,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:87,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:88,1
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].handleBeforeHeader(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:92,1
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].getPaddingLength()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:95,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:96,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:99,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:104,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:106,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:107,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:108,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.protocols.http2.Http2HeaderBlockParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:108,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].decode(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2HeaderBlockParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:112,1
    - Dst: e.getCloseCode()
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:114,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(io.undertow.protocols.http2.Http2HeaderBlockParser,io.undertow.protocols.http2.Http2HeaderBlockParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:114,1
    - Dst: '[io.undertow.util.HeaderMap].size()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:117,1
    - Dst: '[io.undertow.protocols.http2.StreamErrorException].<init>(int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:118,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:121,1
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:122,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.protocols.http2.Http2HeaderBlockParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:124,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.Http2HeaderBlockParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:125,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.protocols.http2.Http2HeaderBlockParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:127,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:131,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - header
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 134
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 134
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.StreamErrorException].<init>(int)'
    - '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int)'
    - '[java.nio.ByteBuffer].remaining()'
    - e.getCloseCode()
    - '[io.undertow.protocols.http2.HpackDecoder].decode(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2HeaderBlockParser)'
    - '[org.xnio.Bits].anyAreClear(int,int)'
    - '[io.undertow.protocols.http2.Http2HeaderBlockParser].handleBeforeHeader(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    - '[io.undertow.protocols.http2.HpackDecoder].setHeaderEmitter()'
    - '[java.nio.ByteBuffer].position()'
    - '[io.undertow.protocols.http2.Http2HeaderBlockParser].getPaddingLength()'
    - '[io.undertow.protocols.http2.ConnectionErrorException].<init>(io.undertow.protocols.http2.Http2HeaderBlockParser,io.undertow.protocols.http2.Http2HeaderBlockParser)'
    - '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.Http2HeaderBlockParser)'
    - '[java.nio.ByteBuffer].limit(io.undertow.protocols.http2.Http2HeaderBlockParser)'
    - '[io.undertow.util.HeaderMap].size()'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - header
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].handleBeforeHeader(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].handleBeforeHeader(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].getHeaderMap()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].getHeaderMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:144,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:147,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].isContentExpected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 0
    functionsReached:
    - Long.parseLong(String)
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].isContentExpected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:158,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:158,1
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>(io.undertow.protocols.http2.Http2HeaderBlockParser,int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:160,1
    - Dst: '[io.undertow.util.HeaderMap].size()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:163,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:166,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:168,1
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].invalidHeader()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:169,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:171,1
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>(int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:172,1
    - Dst: '[io.undertow.util.HttpString].byteAt(int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:174,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:176,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:180,1
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>(io.undertow.protocols.http2.Http2HeaderBlockParser,int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:185,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:190,1
    - Dst: '[io.undertow.util.HttpString].byteAt(io.undertow.protocols.http2.Http2HeaderBlockParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:191,1
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].debugf(String,io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:194,1
    - Dst: '[io.undertow.server.Connectors].isValidTokenCharacter(byte)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:195,1
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].debugf(String,io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:197,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 3
    argNames:
    - name
    - value
    - neverIndex
    argTypes:
    - io.undertow.util.HttpString
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 201
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 201
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].emitHeader(io.undertow.util.HttpString,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HttpString].byteAt(io.undertow.protocols.http2.Http2HeaderBlockParser)'
    - '[io.undertow.util.HttpString].length()'
    - '[io.undertow.protocols.http2.Http2HeaderBlockParser].debugf(String,io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.HpackException].<init>(io.undertow.protocols.http2.Http2HeaderBlockParser,int)'
    - '[io.undertow.protocols.http2.Http2HeaderBlockParser].invalidHeader()'
    - '[String].length()'
    - '[io.undertow.server.Connectors].isValidTokenCharacter(byte)'
    - '[io.undertow.util.HttpString].byteAt(int)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,String)'
    - '[io.undertow.protocols.http2.HpackException].<init>(int)'
    - '[io.undertow.util.HeaderMap].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].emitHeader(io.undertow.util.HttpString,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: false
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].getPaddingLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].getPaddingLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].moreData(int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:205,1
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].headerBlockTooLarge(int)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:209,1
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].debug(io.undertow.protocols.http2.Http2HeaderBlockParser)'
      Src: io.undertow.protocols.http2.Http2HeaderBlockParser:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - data
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].moreData(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].moreData(int)'
    - '[io.undertow.protocols.http2.Http2HeaderBlockParser].headerBlockTooLarge(int)'
    - '[io.undertow.protocols.http2.Http2HeaderBlockParser].debug(io.undertow.protocols.http2.Http2HeaderBlockParser)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].moreData(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].isInvalid()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].isInvalid()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - boolean
      - io.undertow.protocols.http2.HpackDecoder
      - int
      - int
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - int
      - int
      - java.util.Set<io.undertow.util.HttpString>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HpackDecoder.HeaderEmitter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: '[io.undertow.protocols.http2.Http2HeaderBlockParser].getStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2HeaderBlockParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2HeaderBlockParser].getStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[HpackHeaderFunction].<init>()'
      Src: io.undertow.protocols.http2.HpackEncoder:60,1
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.protocols.http2.HpackEncoder:93,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.protocols.http2.HpackEncoder:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - HpackHeaderFunction
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackEncoder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - maxTableSize
    - headerFunction
    argTypes:
    - int
    - HpackHeaderFunction
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.protocols.http2.HpackEncoder].<init>(int,HpackHeaderFunction)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayDeque].<init>()'
    - '[HpackHeaderFunction].<init>()'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackEncoder
    signature: '[io.undertow.protocols.http2.HpackEncoder].<init>(int,HpackHeaderFunction)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[HpackHeaderFunction].<init>()'
      Src: io.undertow.protocols.http2.HpackEncoder:60,1
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.protocols.http2.HpackEncoder:93,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.protocols.http2.HpackEncoder:94,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].<init>(int,HpackHeaderFunction)'
      Src: io.undertow.protocols.http2.HpackEncoder:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackEncoder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxTableSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[io.undertow.protocols.http2.HpackEncoder].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayDeque].<init>()'
    - '[HpackHeaderFunction].<init>()'
    - '[io.undertow.protocols.http2.HpackEncoder].<init>(int,HpackHeaderFunction)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackEncoder
    signature: '[io.undertow.protocols.http2.HpackEncoder].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.HpackEncoder:147,1
    - Dst: '[java.nio.ByteBuffer].put()'
      Src: io.undertow.protocols.http2.HpackEncoder:151,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].handleTableSizeChange(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.HpackEncoder:158,1
    - Dst: '[io.undertow.util.HeaderMap].fastIterate()'
      Src: io.undertow.protocols.http2.HpackEncoder:160,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.protocols.http2.HpackEncoder:164,1
    - Dst: '[io.undertow.util.HeaderMap].fiNext(long)'
      Src: io.undertow.protocols.http2.HpackEncoder:166,1
    - Dst: '[io.undertow.util.HeaderMap].fiCurrent(long)'
      Src: io.undertow.protocols.http2.HpackEncoder:169,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.protocols.http2.HpackEncoder:172,1
    - Dst: '[io.undertow.util.HttpString].byteAt(int)'
      Src: io.undertow.protocols.http2.HpackEncoder:172,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.protocols.http2.HpackEncoder:176,1
    - Dst: '[io.undertow.util.HttpString].byteAt(int)'
      Src: io.undertow.protocols.http2.HpackEncoder:176,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.protocols.http2.HpackEncoder:180,1
    - Dst: '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.HpackEncoder:180,1
    - Dst: '[io.undertow.util.HeaderValues].size()'
      Src: io.undertow.protocols.http2.HpackEncoder:185,1
    - Dst: '[io.undertow.util.HeaderValues].getHeaderName()'
      Src: io.undertow.protocols.http2.HpackEncoder:187,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:188,1
    - Dst: '[io.undertow.util.HeaderValues].get(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:190,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:191,1
    - Dst: '[String].charAt(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:192,1
    - Dst: '[String].replace(char,char)'
      Src: io.undertow.protocols.http2.HpackEncoder:194,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].replace(char,char)'
      Src: io.undertow.protocols.http2.HpackEncoder:194,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].findInTable(io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:198,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:200,1
    - Dst: current.remaining()
      Src: io.undertow.protocols.http2.HpackEncoder:204,1
    - Dst: '[java.nio.ByteBuffer].wrap()'
      Src: io.undertow.protocols.http2.HpackEncoder:206,1
    - Dst: '[HpackHeaderFunction].shouldUseIndexing(io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:209,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:209,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:209,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:212,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableName(io.undertow.protocols.http2.HpackEncoder,io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.HpackEncoder:213,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableValue(io.undertow.protocols.http2.HpackEncoder,io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:214,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].addToDynamicTable(io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:215,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:218,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableName(io.undertow.protocols.http2.HpackEncoder,io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.HpackEncoder:219,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableValue(io.undertow.protocols.http2.HpackEncoder,io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:220,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].equals(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:223,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:225,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].getPosition()'
      Src: io.undertow.protocols.http2.HpackEncoder:226,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(io.undertow.protocols.http2.HpackEncoder,io.undertow.protocols.http2.HpackEncoder,int)'
      Src: io.undertow.protocols.http2.HpackEncoder:226,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:230,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].getPosition()'
      Src: io.undertow.protocols.http2.HpackEncoder:231,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(io.undertow.protocols.http2.HpackEncoder,io.undertow.protocols.http2.HpackEncoder,int)'
      Src: io.undertow.protocols.http2.HpackEncoder:231,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableValue(io.undertow.protocols.http2.HpackEncoder,io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:232,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].addToDynamicTable(io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:233,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:236,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].getPosition()'
      Src: io.undertow.protocols.http2.HpackEncoder:237,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(io.undertow.protocols.http2.HpackEncoder,io.undertow.protocols.http2.HpackEncoder,int)'
      Src: io.undertow.protocols.http2.HpackEncoder:237,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableValue(io.undertow.protocols.http2.HpackEncoder,io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:238,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].position()'
      Src: io.undertow.protocols.http2.HpackEncoder:244,1
    - Dst: '[io.undertow.util.HeaderMap].fiNext(long)'
      Src: io.undertow.protocols.http2.HpackEncoder:250,1
    - Dst: '[io.undertow.util.HeaderMap].fastIterate()'
      Src: io.undertow.protocols.http2.HpackEncoder:253,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 116
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: State
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headers
    - target
    argTypes:
    - io.undertow.util.HeaderMap
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 259
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 259
    functionName: '[io.undertow.protocols.http2.HpackEncoder].encode(io.undertow.util.HeaderMap,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(io.undertow.protocols.http2.HpackEncoder,io.undertow.protocols.http2.HpackEncoder,int)'
    - '[io.undertow.util.HttpString].length()'
    - '[String].charAt(io.undertow.protocols.http2.HpackEncoder)'
    - '[String].replace(char,char)'
    - '[java.nio.ByteBuffer].put()'
    - '[io.undertow.util.HeaderMap].fiNext(long)'
    - '[java.util.Set<io.undertow.util.HttpString>].contains(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].fiCurrent(long)'
    - '[io.undertow.protocols.http2.HpackEncoder.TableEntry].getPosition()'
    - '[io.undertow.protocols.http2.HpackEncoder].findInTable(io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.protocols.http2.HpackEncoder].addToDynamicTable(io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
    - '[io.undertow.util.HeaderValues].size()'
    - '[String].length()'
    - '[io.undertow.util.HttpString].byteAt(int)'
    - '[io.undertow.protocols.http2.HpackEncoder].length()'
    - '[java.nio.ByteBuffer].wrap()'
    - '[io.undertow.protocols.http2.HpackEncoder].handleTableSizeChange(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.http2.HpackEncoder].equals(io.undertow.protocols.http2.HpackEncoder)'
    - '[io.undertow.util.HeaderValues].get(io.undertow.protocols.http2.HpackEncoder)'
    - current.remaining()
    - '[io.undertow.protocols.http2.HpackEncoder].position()'
    - '[io.undertow.util.HeaderValues].getHeaderName()'
    - '[io.undertow.protocols.http2.HpackEncoder].put(byte)'
    - '[HpackHeaderFunction].shouldUseIndexing(io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
    - '[io.undertow.util.HeaderMap].fastIterate()'
    - '[IllegalStateException].<init>()'
    - '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableValue(io.undertow.protocols.http2.HpackEncoder,io.undertow.util.HttpString,io.undertow.protocols.http2.HpackEncoder)'
    - '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableName(io.undertow.protocols.http2.HpackEncoder,io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.HpackEncoder].replace(char,char)'
    linkageType: ''
    returnType: State
    signature: '[io.undertow.protocols.http2.HpackEncoder].encode(io.undertow.util.HeaderMap,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[HpackHeaderFunction].shouldUseHuffman(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.HpackEncoder:262,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.protocols.http2.HpackEncoder:263,1
    - Dst: '[io.undertow.protocols.http2.HPackHuffman].encode(java.nio.ByteBuffer,String,boolean)'
      Src: io.undertow.protocols.http2.HpackEncoder:263,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:267,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:268,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(java.nio.ByteBuffer,int,int)'
      Src: io.undertow.protocols.http2.HpackEncoder:268,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:269,1
    - Dst: '[io.undertow.util.HttpString].byteAt(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:270,1
    - Dst: '[io.undertow.protocols.http2.Hpack].toLower(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:270,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - target
    - headerName
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableName(java.nio.ByteBuffer,io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Hpack].toLower(byte)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(java.nio.ByteBuffer,int,int)'
    - '[io.undertow.util.HttpString].length()'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.util.HttpString].byteAt(io.undertow.protocols.http2.HpackEncoder)'
    - '[HpackHeaderFunction].shouldUseHuffman(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.HPackHuffman].encode(java.nio.ByteBuffer,String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableName(java.nio.ByteBuffer,io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[HpackHeaderFunction].shouldUseHuffman(io.undertow.util.HttpString,String)'
      Src: io.undertow.protocols.http2.HpackEncoder:276,1
    - Dst: '[io.undertow.protocols.http2.HPackHuffman].encode(java.nio.ByteBuffer,String,boolean)'
      Src: io.undertow.protocols.http2.HpackEncoder:277,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].writeValueString(java.nio.ByteBuffer,String)'
      Src: io.undertow.protocols.http2.HpackEncoder:278,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].writeValueString(java.nio.ByteBuffer,String)'
      Src: io.undertow.protocols.http2.HpackEncoder:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - target
    - headerName
    - val
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableValue(java.nio.ByteBuffer,io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached:
    - '[HpackHeaderFunction].shouldUseHuffman(io.undertow.util.HttpString,String)'
    - '[io.undertow.protocols.http2.HpackEncoder].writeValueString(java.nio.ByteBuffer,String)'
    - '[io.undertow.protocols.http2.HPackHuffman].encode(java.nio.ByteBuffer,String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackEncoder].writeHuffmanEncodableValue(java.nio.ByteBuffer,io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:286,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:287,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(java.nio.ByteBuffer,io.undertow.protocols.http2.HpackEncoder,int)'
      Src: io.undertow.protocols.http2.HpackEncoder:287,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.HpackEncoder:288,1
    - Dst: '[String].charAt(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:289,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - target
    - val
    argTypes:
    - java.nio.ByteBuffer
    - String
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: '[io.undertow.protocols.http2.HpackEncoder].writeValueString(java.nio.ByteBuffer,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 1
    functionsReached:
    - '[String].length()'
    - '[String].charAt(io.undertow.protocols.http2.HpackEncoder)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(java.nio.ByteBuffer,io.undertow.protocols.http2.HpackEncoder,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackEncoder].writeValueString(java.nio.ByteBuffer,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[DynamicTableEntry].<init>(io.undertow.util.HttpString,String)'
      Src: io.undertow.protocols.http2.HpackEncoder:295,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].get(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.HpackEncoder:296,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].put(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.HpackEncoder:298,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].add(DynamicTableEntry)'
      Src: io.undertow.protocols.http2.HpackEncoder:300,1
    - Dst: '[java.util.Deque<TableEntry>].add(DynamicTableEntry)'
      Src: io.undertow.protocols.http2.HpackEncoder:301,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].runEvictionIfRequired()'
      Src: io.undertow.protocols.http2.HpackEncoder:303,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].preventPositionRollover()'
      Src: io.undertow.protocols.http2.HpackEncoder:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - val
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: '[io.undertow.protocols.http2.HpackEncoder].addToDynamicTable(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached:
    - '[DynamicTableEntry].<init>(io.undertow.util.HttpString,String)'
    - '[java.util.Deque<TableEntry>].add(DynamicTableEntry)'
    - '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].put(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.HpackEncoder].runEvictionIfRequired()'
    - '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].get(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.HpackEncoder].add(DynamicTableEntry)'
    - '[io.undertow.protocols.http2.HpackEncoder].preventPositionRollover()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackEncoder].addToDynamicTable(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].entrySet()'
      Src: io.undertow.protocols.http2.HpackEncoder:315,1
    - Dst: entry.getValue()
      Src: io.undertow.protocols.http2.HpackEncoder:316,1
    - Dst: t.getPosition()
      Src: io.undertow.protocols.http2.HpackEncoder:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: '[io.undertow.protocols.http2.HpackEncoder].preventPositionRollover()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 1
    functionsReached:
    - t.getPosition()
    - entry.getValue()
    - '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].entrySet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackEncoder].preventPositionRollover()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<TableEntry>].poll()'
      Src: io.undertow.protocols.http2.HpackEncoder:326,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].get(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:331,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].remove(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:332,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].isEmpty()'
      Src: io.undertow.protocols.http2.HpackEncoder:333,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].remove(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: '[io.undertow.protocols.http2.HpackEncoder].runEvictionIfRequired()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.http2.HpackEncoder].remove(io.undertow.protocols.http2.HpackEncoder)'
    - '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].remove(io.undertow.protocols.http2.HpackEncoder)'
    - '[io.undertow.protocols.http2.HpackEncoder].isEmpty()'
    - '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].get(io.undertow.protocols.http2.HpackEncoder)'
    - '[java.util.Deque<TableEntry>].poll()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackEncoder].runEvictionIfRequired()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<io.undertow.util.HttpString,TableEntry[]>].get(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.HpackEncoder:340,1
    - Dst: st.value.equals(String)
      Src: io.undertow.protocols.http2.HpackEncoder:343,1
    - Dst: '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].get(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.HpackEncoder:348,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].size()'
      Src: io.undertow.protocols.http2.HpackEncoder:350,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].get(io.undertow.protocols.http2.HpackEncoder)'
      Src: io.undertow.protocols.http2.HpackEncoder:351,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].equals(String)'
      Src: io.undertow.protocols.http2.HpackEncoder:352,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: TableEntry
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - headerName
    - value
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 361
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 361
    functionName: '[io.undertow.protocols.http2.HpackEncoder].findInTable(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackEncoder].size()'
    - '[io.undertow.protocols.http2.HpackEncoder].get(io.undertow.protocols.http2.HpackEncoder)'
    - '[java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>].get(io.undertow.util.HttpString)'
    - st.value.equals(String)
    - '[io.undertow.protocols.http2.HpackEncoder].equals(String)'
    - '[java.util.Map<io.undertow.util.HttpString,TableEntry[]>].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: TableEntry
    signature: '[io.undertow.protocols.http2.HpackEncoder].findInTable(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Math.min(int,int)
      Src: io.undertow.protocols.http2.HpackEncoder:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - newSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: '[io.undertow.protocols.http2.HpackEncoder].setMaxTableSize(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 1
    functionsReached:
    - Math.min(int,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackEncoder].setMaxTableSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:377,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(java.nio.ByteBuffer,int,int)'
      Src: io.undertow.protocols.http2.HpackEncoder:378,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.HpackEncoder:380,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(java.nio.ByteBuffer,int,int)'
      Src: io.undertow.protocols.http2.HpackEncoder:381,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].runEvictionIfRequired()'
      Src: io.undertow.protocols.http2.HpackEncoder:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Set<io.undertow.util.HttpString>
      - HpackHeaderFunction
      - long
      - boolean
      - io.undertow.util.HeaderMap
      - int
      - int
      - int
      - java.util.Map<io.undertow.util.HttpString,TableEntry[]>
      - java.util.Deque<TableEntry>
      - java.util.Map<io.undertow.util.HttpString,java.util.List<TableEntry>>
      - byte[]
      - int
      - int
      - int
      - int
      - HpackHeaderFunction
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - target
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: '[io.undertow.protocols.http2.HpackEncoder].handleTableSizeChange(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.HpackEncoder].encodeInteger(java.nio.ByteBuffer,int,int)'
    - '[io.undertow.protocols.http2.HpackEncoder].runEvictionIfRequired()'
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HpackEncoder].handleTableSizeChange(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.HpackEncoder.TableEntry:404,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.HpackEncoder.TableEntry:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - HttpString
      - String
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackEncoder.TableEntry
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - value
    - position
    argTypes:
    - io.undertow.util.HttpString
    - String
    - int
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].<init>(io.undertow.util.HttpString,String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 1
    functionsReached:
    - '[String].length()'
    - '[io.undertow.util.HttpString].length()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackEncoder.TableEntry
    signature: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].<init>(io.undertow.util.HttpString,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HttpString
      - String
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].getPosition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].getPosition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].<init>(io.undertow.util.HttpString,String,int)'
      Src: io.undertow.protocols.http2.HpackEncoder.DynamicTableEntry:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackEncoder.DynamicTableEntry
      static: false
      superClass: TableEntry
    argCount: 3
    argNames:
    - name
    - value
    - position
    argTypes:
    - io.undertow.util.HttpString
    - String
    - int
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: '[io.undertow.protocols.http2.HpackEncoder.DynamicTableEntry].<init>(io.undertow.util.HttpString,String,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackEncoder.TableEntry].<init>(io.undertow.util.HttpString,String,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackEncoder.DynamicTableEntry
    signature: '[io.undertow.protocols.http2.HpackEncoder.DynamicTableEntry].<init>(io.undertow.util.HttpString,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackEncoder.TableEntry].getPosition()'
      Src: io.undertow.protocols.http2.HpackEncoder.DynamicTableEntry:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: TableEntry
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: '[io.undertow.protocols.http2.HpackEncoder.DynamicTableEntry].getPosition()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HpackEncoder.TableEntry].getPosition()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HpackEncoder.DynamicTableEntry].getPosition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - header
    - value
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 428
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 428
    functionName: '[io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction].shouldUseIndexing(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction].shouldUseIndexing(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - header
    - value
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 437
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 437
    functionName: '[io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction].shouldUseHuffman(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction].shouldUseHuffman(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 445
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 445
    functionName: '[io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction].shouldUseHuffman(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction].shouldUseHuffman(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HpackEncoder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction
    signature: '[io.undertow.protocols.http2.HpackEncoder.HpackHeaderFunction].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.protocols.http2.Http2PriorityTree:35,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:49,1
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].put(int,Http2PriorityNode)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - java.util.Map<Integer,Http2PriorityNode>
      - int[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2PriorityTree
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].<init>(int,int)'
    - '[java.util.Map<Integer,Http2PriorityNode>].put(int,Http2PriorityNode)'
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PriorityTree
    signature: '[io.undertow.protocols.http2.Http2PriorityTree].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:61,1
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:63,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree].exclusive(io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:65,1
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:68,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree].addDependent(io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:70,1
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].put(int,io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - java.util.Map<Integer,Http2PriorityNode>
      - int[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - streamId
    - dependency
    - weighting
    - exclusive
    argTypes:
    - int
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree].registerStream(int,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
    - '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].<init>(int,int)'
    - '[java.util.Map<Integer,Http2PriorityNode>].put(int,io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)'
    - '[io.undertow.protocols.http2.Http2PriorityTree].exclusive(io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)'
    - '[io.undertow.protocols.http2.Http2PriorityTree].addDependent(io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PriorityTree].registerStream(int,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:82,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree].hasDependents()'
      Src: io.undertow.protocols.http2.Http2PriorityTree:86,1
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].get(io.undertow.protocols.http2.Http2PriorityTree)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:90,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree].hasDependents()'
      Src: io.undertow.protocols.http2.Http2PriorityTree:93,1
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].remove(io.undertow.protocols.http2.Http2PriorityTree)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - java.util.Map<Integer,Http2PriorityNode>
      - int[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree].streamRemoved(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
    - '[java.util.Map<Integer,Http2PriorityNode>].remove(io.undertow.protocols.http2.Http2PriorityTree)'
    - '[java.util.Map<Integer,Http2PriorityNode>].get(io.undertow.protocols.http2.Http2PriorityTree)'
    - '[io.undertow.protocols.http2.Http2PriorityTree].hasDependents()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PriorityTree].streamRemoved(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.protocols.http2.Http2PriorityTree:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - java.util.Map<Integer,Http2PriorityNode>
      - int[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Comparator<Integer>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree].comparator()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached:
    - '[java.util.Comparator].<init>()'
    linkageType: ''
    returnType: java.util.Comparator<Integer>
    signature: '[io.undertow.protocols.http2.Http2PriorityTree].comparator()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Http2PriorityNode
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - java.util.Map<Integer,Http2PriorityNode>
      - int[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: double
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - n1
    argTypes:
    - Http2PriorityNode
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree].createWeightingProportion(Http2PriorityNode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: '[io.undertow.protocols.http2.Http2PriorityTree].createWeightingProportion(Http2PriorityNode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:142,1
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:150,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree].removeDependent(io.undertow.protocols.http2.Http2PriorityTree)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:152,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree].exclusive(io.undertow.protocols.http2.Http2PriorityTree)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:153,1
    - Dst: '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:156,1
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree].addDependent(io.undertow.protocols.http2.Http2PriorityTree)'
      Src: io.undertow.protocols.http2.Http2PriorityTree:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - java.util.Map<Integer,Http2PriorityNode>
      - int[]
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - streamId
    - streamDependency
    - weight
    - exlusive
    argTypes:
    - int
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 161
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 161
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree].priorityFrame(int,int,int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Integer,Http2PriorityNode>].get(int)'
    - '[io.undertow.protocols.http2.Http2PriorityTree].addDependent(io.undertow.protocols.http2.Http2PriorityTree)'
    - '[io.undertow.protocols.http2.Http2PriorityTree].removeDependent(io.undertow.protocols.http2.Http2PriorityTree)'
    - '[io.undertow.protocols.http2.Http2PriorityTree].exclusive(io.undertow.protocols.http2.Http2PriorityTree)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PriorityTree].priorityFrame(int,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - int
      - int
      - int
      - Http2PriorityNode[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamId
    - weighting
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].<init>(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode
    signature: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - Http2PriorityNode
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - int
      - int
      - int
      - Http2PriorityNode[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - node
    argTypes:
    - Http2PriorityNode
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].removeDependent(Http2PriorityNode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].removeDependent(Http2PriorityNode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - int
      - int
      - int
      - Http2PriorityNode[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].hasDependents()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].hasDependents()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode,int,Http2PriorityNode[],int,io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)
      Src: io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - Http2PriorityNode
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - int
      - int
      - int
      - Http2PriorityNode[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - node
    argTypes:
    - Http2PriorityNode
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].addDependent(Http2PriorityNode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached:
    - System.arraycopy(io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode,int,Http2PriorityNode[],int,io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].addDependent(Http2PriorityNode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].addDependent(io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)'
      Src: io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - Http2PriorityNode
      classConcrete: true
      classEnum: false
      classFields:
      - Http2PriorityNode
      - int
      - int
      - int
      - Http2PriorityNode[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - node
    argTypes:
    - Http2PriorityNode
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].exclusive(Http2PriorityNode)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityTree.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].addDependent(io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PriorityTree.Http2PriorityNode].exclusive(Http2PriorityNode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 3
    argNames:
    - channel
    - streamId
    - deltaWindowSize
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - int
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2WindowUpdateStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:46,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:47,1
    - Dst: '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:48,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:49,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:50,1
    - Dst: '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:51,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:52,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2WindowUpdateStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].flip()'
    - '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].put(byte)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel,int)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2GoAwayParser:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2GoAwayParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.protocols.http2.Http2GoAwayParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2GoAwayParser
    signature: '[io.undertow.protocols.http2.Http2GoAwayParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2GoAwayParser:39,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2GoAwayParser:42,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2GoAwayParser:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - headerParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: '[io.undertow.protocols.http2.Http2GoAwayParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2GoAwayParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.protocols.http2.Http2GoAwayParser].getStatusCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2GoAwayParser].getStatusCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.protocols.http2.Http2GoAwayParser].getLastGoodStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2GoAwayParser].getLastGoodStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel:34,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.connector.PooledByteBuffer
      - long
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 5
    argNames:
    - framedChannel
    - data
    - frameDataRemaining
    - status
    - lastGoodStreamId
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.connector.PooledByteBuffer
    - long
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].lastFrame()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].getStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayStreamSourceChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].getLastGoodStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2GoAwayStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].getLastGoodStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.protocols.http2.Http2Channel:94,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:99,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:100,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:101,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:102,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:103,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:161,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel:183,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel:185,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.http2.Http2Channel:192,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.http2.Http2Channel:195,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:222,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.HashMap)'
      Src: io.undertow.protocols.http2.Http2Channel:222,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:226,1
    - Dst: '[StreamCache].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:242,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,null,org.xnio.OptionMap)'
      Src: io.undertow.protocols.http2.Http2Channel:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - connectedStreamChannel
    - protocol
    - bufferPool
    - data
    - clientSide
    - fromUpgrade
    - settings
    argTypes:
    - org.xnio.StreamConnection
    - String
    - io.undertow.connector.ByteBufferPool
    - io.undertow.connector.PooledByteBuffer
    - boolean
    - boolean
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,null,org.xnio.OptionMap)'
    - '[java.util.HashMap].<init>()'
    - Integer.getInteger(String,int)
    - '[java.util.Collections].synchronizedMap(java.util.HashMap)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[Object].<init>()'
    - System.currentTimeMillis()
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[StreamCache].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel
    signature: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.protocols.http2.Http2Channel:94,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:99,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:100,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:101,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:102,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:103,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:161,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel:183,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel:185,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.http2.Http2Channel:192,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.http2.Http2Channel:195,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:222,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.HashMap)'
      Src: io.undertow.protocols.http2.Http2Channel:222,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:226,1
    - Dst: '[StreamCache].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:242,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,null,org.xnio.OptionMap)'
      Src: io.undertow.protocols.http2.Http2Channel:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      - boolean
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - connectedStreamChannel
    - protocol
    - bufferPool
    - data
    - clientSide
    - fromUpgrade
    - prefaceRequired
    - settings
    argTypes:
    - org.xnio.StreamConnection
    - String
    - io.undertow.connector.ByteBufferPool
    - io.undertow.connector.PooledByteBuffer
    - boolean
    - boolean
    - boolean
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,null,org.xnio.OptionMap)'
    - '[java.util.HashMap].<init>()'
    - Integer.getInteger(String,int)
    - '[java.util.Collections].synchronizedMap(java.util.HashMap)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[Object].<init>()'
    - System.currentTimeMillis()
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[StreamCache].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel
    signature: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.getInteger(String,int)
      Src: io.undertow.protocols.http2.Http2Channel:94,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:99,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:100,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:101,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:102,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.protocols.http2.Http2Channel:103,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:161,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel:183,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel:185,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.http2.Http2Channel:192,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.protocols.http2.Http2Channel:195,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:222,1
    - Dst: '[java.util.Collections].synchronizedMap(java.util.HashMap)'
      Src: io.undertow.protocols.http2.Http2Channel:222,1
    - Dst: '[Object].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:226,1
    - Dst: '[StreamCache].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:242,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:254,1
    - Dst: '[Object].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.protocols.http2.Http2FramePriority,io.undertow.connector.PooledByteBuffer,org.xnio.OptionMap)'
      Src: io.undertow.protocols.http2.Http2Channel:254,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.protocols.http2.Http2Channel:257,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:258,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:260,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.protocols.http2.Http2Channel:263,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:265,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:266,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:267,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderSize(org.xnio.OptionMap)'
      Src: io.undertow.protocols.http2.Http2Channel:268,1
    - Dst: '[java.security.SecureRandom].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:270,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:274,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:274,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:275,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:275,1
    - Dst: '[io.undertow.protocols.http2.HpackDecoder].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:277,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:278,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendPreface()'
      Src: io.undertow.protocols.http2.Http2Channel:284,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
      Src: io.undertow.protocols.http2.Http2Channel:286,1
    - Dst: '[StreamHolder].<init>(io.undertow.protocols.http2.Http2StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:289,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndIncrement()'
      Src: io.undertow.protocols.http2.Http2Channel:291,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].put(int,StreamHolder)'
      Src: io.undertow.protocols.http2.Http2Channel:292,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
      Src: io.undertow.protocols.http2.Http2Channel:295,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2Channel:299,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsParser].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:299,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].<init>(null)'
      Src: io.undertow.protocols.http2.Http2Channel:301,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2Channel:302,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsParser].parse(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2Channel:303,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsParser].getSettings()'
      Src: io.undertow.protocols.http2.Http2Channel:304,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].updateSettings(java.util.List<io.undertow.protocols.http2.Http2Setting>)'
      Src: io.undertow.protocols.http2.Http2Channel:304,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.protocols.http2.Http2Channel:306,1
    - Dst: '[RuntimeException].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:308,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.protocols.http2.Http2Channel:311,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.protocols.http2.Http2Channel:312,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:316,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel,Runnable)'
      Src: io.undertow.protocols.http2.Http2Channel:316,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:330,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener)'
      Src: io.undertow.protocols.http2.Http2Channel:330,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 86
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - String
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - boolean
      - boolean
      - boolean
      - java.nio.ByteBuffer
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel
      static: false
      superClass: Object
    argCount: 9
    argNames:
    - connectedStreamChannel
    - protocol
    - bufferPool
    - data
    - clientSide
    - fromUpgrade
    - prefaceRequired
    - initialOtherSideSettings
    - settings
    argTypes:
    - org.xnio.StreamConnection
    - String
    - io.undertow.connector.ByteBufferPool
    - io.undertow.connector.PooledByteBuffer
    - boolean
    - boolean
    - boolean
    - java.nio.ByteBuffer
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 337
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 337
    functionName: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,java.nio.ByteBuffer,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.Map<Integer,StreamHolder>].put(int,StreamHolder)'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel,Runnable)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndIncrement()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    - '[Runnable].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].updateSettings(java.util.List<io.undertow.protocols.http2.Http2Setting>)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener)'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.protocols.http2.Http2Channel].sendPreface()'
    - '[io.undertow.protocols.http2.Http2FramePriority].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderSize(org.xnio.OptionMap)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    - '[io.undertow.protocols.http2.HpackEncoder].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    - '[StreamHolder].<init>(io.undertow.protocols.http2.Http2StreamSinkChannel)'
    - Integer.getInteger(String,int)
    - '[Object].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,io.undertow.protocols.http2.Http2FramePriority,io.undertow.connector.PooledByteBuffer,org.xnio.OptionMap)'
    - '[java.security.SecureRandom].<init>()'
    - '[java.util.Collections].synchronizedMap(java.util.HashMap)'
    - '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
    - '[Object].<init>()'
    - System.currentTimeMillis()
    - '[StreamCache].<init>()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].<init>(null)'
    - '[io.undertow.protocols.http2.Http2SettingsParser].parse(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    - '[RuntimeException].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2SettingsParser].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.protocols.http2.Http2SettingsParser].getSettings()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.HpackDecoder].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel
    signature: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,String,io.undertow.connector.ByteBufferPool,io.undertow.connector.PooledByteBuffer,boolean,boolean,boolean,java.nio.ByteBuffer,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:340,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
      Src: io.undertow.protocols.http2.Http2Channel:342,1
    - Dst: Math.min(int,io.undertow.protocols.http2.Http2Channel)
      Src: io.undertow.protocols.http2.Http2Channel:346,1
    - Dst: Math.min(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)
      Src: io.undertow.protocols.http2.Http2Channel:346,1
    - Dst: Math.min(int,io.undertow.protocols.http2.Http2Channel)
      Src: io.undertow.protocols.http2.Http2Channel:348,1
    - Dst: Math.min(int,io.undertow.protocols.http2.Http2Channel)
      Src: io.undertow.protocols.http2.Http2Channel:352,1
    - Dst: Math.min(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)
      Src: io.undertow.protocols.http2.Http2Channel:360,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - settings
    argTypes:
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 373
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 373
    functionName: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderSize(org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - Math.min(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)
    - Math.min(int,io.undertow.protocols.http2.Http2Channel)
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>,int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderSize(org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:376,1
    - Dst: '[io.undertow.protocols.http2.Http2Setting].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:377,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Setting)'
      Src: io.undertow.protocols.http2.Http2Channel:377,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:378,1
    - Dst: '[io.undertow.protocols.http2.Http2Setting].<init>(int)'
      Src: io.undertow.protocols.http2.Http2Channel:379,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Setting)'
      Src: io.undertow.protocols.http2.Http2Channel:379,1
    - Dst: '[io.undertow.protocols.http2.Http2Setting].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:381,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Setting)'
      Src: io.undertow.protocols.http2.Http2Channel:381,1
    - Dst: '[io.undertow.protocols.http2.Http2Setting].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:382,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Setting)'
      Src: io.undertow.protocols.http2.Http2Channel:382,1
    - Dst: '[io.undertow.protocols.http2.Http2Setting].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:384,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Setting)'
      Src: io.undertow.protocols.http2.Http2Channel:384,1
    - Dst: '[io.undertow.protocols.http2.Http2Setting].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:387,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Setting)'
      Src: io.undertow.protocols.http2.Http2Channel:387,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].<init>(java.util.ArrayList)'
      Src: io.undertow.protocols.http2.Http2Channel:389,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 391
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Setting].<init>(int)'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].<init>(java.util.ArrayList)'
    - '[io.undertow.protocols.http2.Http2Setting].<init>(int,int)'
    - '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
    - '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Setting)'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
      Src: io.undertow.protocols.http2.Http2Channel:395,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:398,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendSettingsAck()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendSettingsAck()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].flushChannel(org.xnio.channels.StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:404,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].ioException(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:406,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].handleUnexpectedFailure(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stream
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].handleUnexpectedFailure(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].ioException(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].flushChannel(org.xnio.channels.StreamSinkChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
      Src: io.undertow.protocols.http2.Http2Channel:413,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].flush()'
      Src: io.undertow.protocols.http2.Http2Channel:414,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
      Src: io.undertow.protocols.http2.Http2Channel:415,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].writeExceptionHandler()'
      Src: io.undertow.protocols.http2.Http2Channel:415,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:415,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].set(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:415,1
    - Dst: '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
      Src: io.undertow.protocols.http2.Http2Channel:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - stream
    argTypes:
    - org.xnio.channels.StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: '[io.undertow.protocols.http2.Http2Channel].flushChannel(org.xnio.channels.StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.channels.StreamSinkChannel].shutdownWrites()'
    - '[org.xnio.channels.StreamSinkChannel].resumeWrites()'
    - '[org.xnio.channels.StreamSinkChannel].flush()'
    - '[io.undertow.protocols.http2.Http2Channel].writeExceptionHandler()'
    - '[org.xnio.channels.StreamSinkChannel].getWriteSetter()'
    - '[io.undertow.protocols.http2.Http2Channel].set(io.undertow.protocols.http2.Http2Channel)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].flushChannel(org.xnio.channels.StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:421,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendPreface()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(io.undertow.protocols.http2.Http2PrefaceStreamSinkChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendPreface()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].createChannelImpl(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
      Src: io.undertow.protocols.http2.Http2Channel:426,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].requestStarted()'
      Src: io.undertow.protocols.http2.Http2Channel:430,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].isEmpty()'
      Src: io.undertow.protocols.http2.Http2Channel:431,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].failedParse()'
      Src: io.undertow.protocols.http2.Http2Channel:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frameHeaderData
    - frameData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 437
      start: 424
    functionDepth: 5
    functionLinenumber: 424
    functionLinenumberEnd: 437
    functionName: '[io.undertow.protocols.http2.Http2Channel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<Integer,StreamHolder>].isEmpty()'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].failedParse()'
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].requestStarted()'
    - '[io.undertow.protocols.http2.Http2Channel].createChannelImpl(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2Channel].createChannel(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:446,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].tracef(String,long,int)'
      Src: io.undertow.protocols.http2.Http2Channel:447,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:459,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:460,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].serverReceivedPushPromise()'
      Src: io.undertow.protocols.http2.Http2Channel:461,1
    - Dst: '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,long,io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel,int)'
      Src: io.undertow.protocols.http2.Http2Channel:464,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
      Src: io.undertow.protocols.http2.Http2Channel:470,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].get(int)'
      Src: io.undertow.protocols.http2.Http2Channel:473,1
    - Dst: '[StreamCache].find(int)'
      Src: io.undertow.protocols.http2.Http2Channel:475,1
    - Dst: '[StreamCache].find(int)'
      Src: io.undertow.protocols.http2.Http2Channel:478,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:479,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:481,1
    - Dst: '[org.xnio.Bits].allAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:486,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:487,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:488,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getLastAssignedStreamOtherSide()'
      Src: io.undertow.protocols.http2.Http2Channel:493,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:494,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:495,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:498,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:499,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:500,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,long,io.undertow.protocols.http2.Http2Channel,int)'
      Src: io.undertow.protocols.http2.Http2Channel:506,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].updateStreamIdsCountersInHeaders(int)'
      Src: io.undertow.protocols.http2.Http2Channel:508,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].get(int)'
      Src: io.undertow.protocols.http2.Http2Channel:510,1
    - Dst: '[StreamCache].find(int)'
      Src: io.undertow.protocols.http2.Http2Channel:512,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndIncrement()'
      Src: io.undertow.protocols.http2.Http2Channel:516,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].put(int)'
      Src: io.undertow.protocols.http2.Http2Channel:517,1
    - Dst: parser.isHeadersEndStream()
      Src: io.undertow.protocols.http2.Http2Channel:522,1
    - Dst: '[org.xnio.Bits].allAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:522,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2Channel:523,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:526,1
    - Dst: parser.getHeaderMap()
      Src: io.undertow.protocols.http2.Http2Channel:526,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.protocols.http2.Http2Channel:526,1
    - Dst: '[String].equals(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:526,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
      Src: io.undertow.protocols.http2.Http2Channel:529,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].remove(int)'
      Src: io.undertow.protocols.http2.Http2Channel:530,1
    - Dst: parser.isInvalid()
      Src: io.undertow.protocols.http2.Http2Channel:534,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].rstStream(int)'
      Src: io.undertow.protocols.http2.Http2Channel:535,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:536,1
    - Dst: parser.getDependentStreamId()
      Src: io.undertow.protocols.http2.Http2Channel:539,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:540,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:541,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:550,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].streamIdMustNotBeZeroForFrameType(int)'
      Src: io.undertow.protocols.http2.Http2Channel:552,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:552,1
    - Dst: '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,io.undertow.protocols.http2.Http2Channel,int)'
      Src: io.undertow.protocols.http2.Http2Channel:554,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].handleRstStream(int,boolean)'
      Src: io.undertow.protocols.http2.Http2Channel:555,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
      Src: io.undertow.protocols.http2.Http2Channel:556,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:557,1
    - Dst: '[org.xnio.Bits].anyAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:562,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsParser].getSettings()'
      Src: io.undertow.protocols.http2.Http2Channel:563,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].updateSettings(java.util.List<io.undertow.protocols.http2.Http2Setting>)'
      Src: io.undertow.protocols.http2.Http2Channel:563,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendSettingsAck()'
      Src: io.undertow.protocols.http2.Http2Channel:564,1
    - Dst: '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
      Src: io.undertow.protocols.http2.Http2Channel:566,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:567,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:568,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getFrameLength()'
      Src: io.undertow.protocols.http2.Http2Channel:571,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsParser].getSettings()'
      Src: io.undertow.protocols.http2.Http2Channel:571,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,long,java.util.List<io.undertow.protocols.http2.Http2Setting>)'
      Src: io.undertow.protocols.http2.Http2Channel:571,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:577,1
    - Dst: '[org.xnio.Bits].anyAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:578,1
    - Dst: pingParser.getData()
      Src: io.undertow.protocols.http2.Http2Channel:579,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:579,1
    - Dst: pingParser.getData()
      Src: io.undertow.protocols.http2.Http2Channel:581,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:581,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendPing(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler,boolean)'
      Src: io.undertow.protocols.http2.Http2Channel:581,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getFrameLength()'
      Src: io.undertow.protocols.http2.Http2Channel:587,1
    - Dst: http2GoAwayParser.getStatusCode()
      Src: io.undertow.protocols.http2.Http2Channel:587,1
    - Dst: http2GoAwayParser.getLastGoodStreamId()
      Src: io.undertow.protocols.http2.Http2Channel:587,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,long,io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:587,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].values()'
      Src: io.undertow.protocols.http2.Http2Channel:591,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].rstStream()'
      Src: io.undertow.protocols.http2.Http2Channel:593,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].rstStream()'
      Src: io.undertow.protocols.http2.Http2Channel:596,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:599,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:600,1
    - Dst: parser.getDeltaWindowSize()
      Src: io.undertow.protocols.http2.Http2Channel:605,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].handleWindowUpdate(int,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:605,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:606,1
    - Dst: parser.getStreamDependency()
      Src: io.undertow.protocols.http2.Http2Channel:612,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:614,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:617,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].tracef(String,long,int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:622,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.protocols.http2.Http2Channel:623,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 153
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      - io.undertow.connector.PooledByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - frameHeaderData
    - frameData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 628
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 628
    functionName: '[io.undertow.protocols.http2.Http2Channel].createChannelImpl(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[String].equals(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,io.undertow.protocols.http2.Http2Channel,int)'
    - '[java.util.Map<Integer,StreamHolder>].get(int)'
    - parser.getDependentStreamId()
    - '[java.util.Map<Integer,StreamHolder>].values()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndIncrement()'
    - '[io.undertow.protocols.http2.Http2Channel].updateStreamIdsCountersInHeaders(int)'
    - '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
    - parser.getDeltaWindowSize()
    - '[io.undertow.protocols.http2.Http2PushPromiseStreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,long,io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel,int)'
    - parser.getStreamDependency()
    - '[io.undertow.protocols.http2.Http2Channel].updateSettings(java.util.List<io.undertow.protocols.http2.Http2Setting>)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,long,io.undertow.protocols.http2.Http2Channel,int)'
    - '[io.undertow.protocols.http2.Http2Channel].handleRstStream(int,boolean)'
    - '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].serverReceivedPushPromise()'
    - '[io.undertow.protocols.http2.Http2Channel].handleWindowUpdate(int,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.protocols.http2.Http2Channel].streamIdMustNotBeZeroForFrameType(int)'
    - '[io.undertow.protocols.http2.Http2Channel].sendSettingsAck()'
    - http2GoAwayParser.getLastGoodStreamId()
    - '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int,io.undertow.protocols.http2.Http2Channel)'
    - '[StreamCache].find(int)'
    - '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].lastFrame()'
    - '[io.undertow.server.protocol.framed.FrameHeaderData].getFrameLength()'
    - '[io.undertow.protocols.http2.Http2Channel].tracef(String,long,int,int)'
    - '[io.undertow.protocols.http2.Http2Channel].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].rstStream(int)'
    - pingParser.getData()
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[org.xnio.Bits].allAreSet(int,int)'
    - '[java.util.Map<Integer,StreamHolder>].put(int)'
    - http2GoAwayParser.getStatusCode()
    - '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
    - parser.isHeadersEndStream()
    - '[org.xnio.Bits].anyAreSet(int,int)'
    - '[io.undertow.protocols.http2.Http2SettingsParser].getSettings()'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,long,java.util.List<io.undertow.protocols.http2.Http2Setting>)'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSourceChannel].<init>(io.undertow.connector.PooledByteBuffer,long,io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)'
    - parser.isInvalid()
    - '[io.undertow.protocols.http2.Http2Channel].rstStream()'
    - '[io.undertow.protocols.http2.Http2Channel].sendPing(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler,boolean)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].getFrameLength()'
    - '[io.undertow.protocols.http2.Http2Channel].tracef(String,long,int)'
    - '[io.undertow.protocols.http2.Http2Channel].getLastAssignedStreamOtherSide()'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    - parser.getHeaderMap()
    - '[java.util.Map<Integer,StreamHolder>].remove(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2Channel].createChannelImpl(io.undertow.server.protocol.framed.FrameHeaderData,io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].parseFrameNoContinuation(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2Channel:634,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getContinuationParser()'
      Src: io.undertow.protocols.http2.Http2Channel:637,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.Http2Channel:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.FrameHeaderData
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 639
      start: 630
    functionDepth: 5
    functionLinenumber: 630
    functionLinenumberEnd: 639
    functionName: '[io.undertow.protocols.http2.Http2Channel].parseFrame(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].parseFrameNoContinuation(java.nio.ByteBuffer)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].getContinuationParser()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.FrameHeaderData
    signature: '[io.undertow.protocols.http2.Http2Channel].parseFrame(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.Http2Channel:643,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2Channel:644,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getUnderlyingConnection()'
      Src: io.undertow.protocols.http2.Http2Channel:645,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:645,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].incorrectHttp2Preface()'
      Src: io.undertow.protocols.http2.Http2Channel:646,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].<init>(io.undertow.protocols.http2.Http2HeadersParser)'
      Src: io.undertow.protocols.http2.Http2Channel:653,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].handle(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2Channel:656,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].remoteEndpointFailedToSendInitialSettings(int)'
      Src: io.undertow.protocols.http2.Http2Channel:661,1
    - Dst: '[java.io.IOException].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:667,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].markReadsBroken(java.io.IOException)'
      Src: io.undertow.protocols.http2.Http2Channel:667,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getActualLength()'
      Src: io.undertow.protocols.http2.Http2Channel:673,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getActualLength()'
      Src: io.undertow.protocols.http2.Http2Channel:673,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:674,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].http2FrameTooLarge()'
      Src: io.undertow.protocols.http2.Http2Channel:675,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getContinuationParser()'
      Src: io.undertow.protocols.http2.Http2Channel:677,1
    - Dst: '[io.undertow.protocols.http2.Http2FrameHeaderParser].getContinuationParser()'
      Src: io.undertow.protocols.http2.Http2Channel:678,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2FrameHeaderParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 681
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 681
    functionName: '[io.undertow.protocols.http2.Http2Channel].parseFrameNoContinuation(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[java.io.IOException].<init>()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].<init>(io.undertow.protocols.http2.Http2HeadersParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.protocols.http2.Http2Channel].markReadsBroken(java.io.IOException)'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].getContinuationParser()'
    - '[io.undertow.protocols.http2.Http2Channel].getUnderlyingConnection()'
    - '[io.undertow.protocols.http2.Http2Channel].remoteEndpointFailedToSendInitialSettings(int)'
    - '[io.undertow.protocols.http2.Http2Channel].incorrectHttp2Preface()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].getActualLength()'
    - '[java.nio.ByteBuffer].get()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    - '[io.undertow.protocols.http2.Http2Channel].http2FrameTooLarge()'
    - '[io.undertow.protocols.http2.Http2FrameHeaderParser].handle(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2FrameHeaderParser
    signature: '[io.undertow.protocols.http2.Http2Channel].parseFrameNoContinuation(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.protocols.http2.Http2Channel:687,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: '[io.undertow.protocols.http2.Http2Channel].lastDataRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose()'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].lastDataRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: '[io.undertow.protocols.http2.Http2Channel].isLastFrameReceived()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].isLastFrameReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: '[io.undertow.protocols.http2.Http2Channel].isLastFrameSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].isLastFrameSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
      Src: io.undertow.protocols.http2.Http2Channel:709,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debugf(Throwable,String,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:709,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].getCode()'
      Src: io.undertow.protocols.http2.Http2Channel:711,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:711,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int,io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler)'
      Src: io.undertow.protocols.http2.Http2Channel:711,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:713,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler)'
      Src: io.undertow.protocols.http2.Http2Channel:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 715
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 715
    functionName: '[io.undertow.protocols.http2.Http2Channel].handleBrokenSourceChannel(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].debugf(Throwable,String,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int,io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler)'
    - '[io.undertow.protocols.http2.ConnectionErrorException].getCode()'
    - '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
    - '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].handleBrokenSourceChannel(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
      Src: io.undertow.protocols.http2.Http2Channel:719,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debugf(Throwable,String,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:719,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.protocols.http2.Http2Channel:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 723
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 723
    functionName: '[io.undertow.protocols.http2.Http2Channel].handleBrokenSinkChannel(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].debugf(Throwable,String,io.undertow.protocols.http2.Http2Channel)'
    - '[org.xnio.IoUtils].safeClose()'
    - '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].handleBrokenSinkChannel(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].closeSubChannels(java.util.Map<Integer,StreamHolder>)'
      Src: io.undertow.protocols.http2.Http2Channel:727,1
    - Dst: '[StreamCache].getStreamHolders()'
      Src: io.undertow.protocols.http2.Http2Channel:728,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].closeSubChannels(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 729
    functionName: '[io.undertow.protocols.http2.Http2Channel].closeSubChannels()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].closeSubChannels(java.util.Map<Integer,StreamHolder>)'
    - '[StreamCache].getStreamHolders()'
    - '[io.undertow.protocols.http2.Http2Channel].closeSubChannels(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].closeSubChannels()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer,StreamHolder>].entrySet()'
      Src: io.undertow.protocols.http2.Http2Channel:732,1
    - Dst: e.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:733,1
    - Dst: receiver.markStreamBroken()
      Src: io.undertow.protocols.http2.Http2Channel:736,1
    - Dst: sink.isWritesShutdown()
      Src: io.undertow.protocols.http2.Http2Channel:740,1
    - Dst: sink.getIoThread()
      Src: io.undertow.protocols.http2.Http2Channel:741,1
    - Dst: sink.getWriteSetter()
      Src: io.undertow.protocols.http2.Http2Channel:741,1
    - Dst: '[ChannelListener.SimpleSetter].get()'
      Src: io.undertow.protocols.http2.Http2Channel:741,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:741,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<Integer,StreamHolder>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streams
    argTypes:
    - java.util.Map<Integer,StreamHolder>
    constantsTouched: []
    func_position:
      end: 747
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 747
    functionName: '[io.undertow.protocols.http2.Http2Channel].closeSubChannels(java.util.Map<Integer,StreamHolder>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - e.getValue()
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.Http2Channel)'
    - '[ChannelListener.SimpleSetter].get()'
    - receiver.markStreamBroken()
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel)'
    - sink.getWriteSetter()
    - '[java.util.Map<Integer,StreamHolder>].entrySet()'
    - sink.getIoThread()
    - sink.isWritesShutdown()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].closeSubChannels(java.util.Map<Integer,StreamHolder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer,StreamHolder>].size()'
      Src: io.undertow.protocols.http2.Http2Channel:751,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:751,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].entrySet()'
      Src: io.undertow.protocols.http2.Http2Channel:752,1
    - Dst: entry.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:753,1
    - Dst: entry.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:754,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel,io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 761
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 761
    functionName: '[io.undertow.protocols.http2.Http2Channel].getReceivers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - entry.getValue()
    - '[java.util.ArrayList].add(io.undertow.protocols.http2.Http2Channel)'
    - '[java.util.ArrayList].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[java.util.Map<Integer,StreamHolder>].size()'
    - '[java.util.Map<Integer,StreamHolder>].entrySet()'
    linkageType: ''
    returnType: java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<io.undertow.protocols.http2.Http2Channel,io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel,io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>>
    signature: '[io.undertow.protocols.http2.Http2Channel].getReceivers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setting.getId()
      Src: io.undertow.protocols.http2.Http2Channel:770,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:772,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:773,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:776,1
    - Dst: setting.getId()
      Src: io.undertow.protocols.http2.Http2Channel:779,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:780,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:780,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:781,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debug(String)'
      Src: io.undertow.protocols.http2.Http2Channel:781,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:782,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:785,1
    - Dst: setting.getId()
      Src: io.undertow.protocols.http2.Http2Channel:786,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:788,1
    - Dst: '[io.undertow.protocols.http2.HpackEncoder].setMaxTableSize(int)'
      Src: io.undertow.protocols.http2.Http2Channel:788,1
    - Dst: setting.getId()
      Src: io.undertow.protocols.http2.Http2Channel:790,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:792,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debug(String)'
      Src: io.undertow.protocols.http2.Http2Channel:799,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:800,1
    - Dst: setting.getId()
      Src: io.undertow.protocols.http2.Http2Channel:803,1
    - Dst: setting.getValue()
      Src: io.undertow.protocols.http2.Http2Channel:804,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - settings
    argTypes:
    - java.util.List<io.undertow.protocols.http2.Http2Setting>
    constantsTouched: []
    func_position:
      end: 809
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 809
    functionName: '[io.undertow.protocols.http2.Http2Channel].updateSettings(java.util.List<io.undertow.protocols.http2.Http2Setting>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].debug(String)'
    - '[io.undertow.protocols.http2.HpackEncoder].setMaxTableSize(int)'
    - setting.getId()
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    - setting.getValue()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].updateSettings(java.util.List<io.undertow.protocols.http2.Http2Setting>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: '[io.undertow.protocols.http2.Http2Channel].getHttp2Version()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getHttp2Version()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 817
    functionName: '[io.undertow.protocols.http2.Http2Channel].getInitialSendWindowSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getInitialSendWindowSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: '[io.undertow.protocols.http2.Http2Channel].getInitialReceiveWindowSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getInitialReceiveWindowSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 825
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 825
    functionName: '[io.undertow.protocols.http2.Http2Channel].getSendMaxConcurrentStreams()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getSendMaxConcurrentStreams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
      Src: io.undertow.protocols.http2.Http2Channel:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sendMaxConcurrentStreams
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: '[io.undertow.protocols.http2.Http2Channel].setSendMaxConcurrentStreams(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].sendSettings()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].setSendMaxConcurrentStreams(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 834
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 834
    functionName: '[io.undertow.protocols.http2.Http2Channel].getReceiveMaxConcurrentStreams()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getReceiveMaxConcurrentStreams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debug(String)'
      Src: io.undertow.protocols.http2.Http2Channel:839,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:840,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].notifyFlowControlAllowed()'
      Src: io.undertow.protocols.http2.Http2Channel:849,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:852,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debug(String)'
      Src: io.undertow.protocols.http2.Http2Channel:857,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:858,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].get(int)'
      Src: io.undertow.protocols.http2.Http2Channel:861,1
    - Dst: '[StreamCache].find(int)'
      Src: io.undertow.protocols.http2.Http2Channel:864,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
      Src: io.undertow.protocols.http2.Http2Channel:864,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:865,1
    - Dst: stream.updateFlowControlWindow(int)
      Src: io.undertow.protocols.http2.Http2Channel:868,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamId
    - deltaWindowSize
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 871
      start: 836
    functionDepth: 4
    functionLinenumber: 836
    functionLinenumberEnd: 871
    functionName: '[io.undertow.protocols.http2.Http2Channel].handleWindowUpdate(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
    - '[StreamCache].find(int)'
    - '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
    - '[io.undertow.protocols.http2.Http2Channel].debug(String)'
    - '[java.util.Map<Integer,StreamHolder>].get(int)'
    - '[io.undertow.protocols.http2.Http2Channel].notifyFlowControlAllowed()'
    - stream.updateFlowControlWindow(int)
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].handleWindowUpdate(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].recalculateHeldFrames()'
      Src: io.undertow.protocols.http2.Http2Channel:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 875
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 875
    functionName: '[io.undertow.protocols.http2.Http2Channel].notifyFlowControlAllowed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[Object].recalculateHeldFrames()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].notifyFlowControlAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:878,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[],io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler)'
      Src: io.undertow.protocols.http2.Http2Channel:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[],io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler)'
    - '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[],org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>,boolean)'
      Src: io.undertow.protocols.http2.Http2Channel:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - exceptionHandler
    argTypes:
    - byte[]
    - org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[],org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[],org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[],org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].<init>(byte[],boolean)'
      Src: io.undertow.protocols.http2.Http2Channel:886,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].shutdownWrites()'
      Src: io.undertow.protocols.http2.Http2Channel:888,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].flush()'
      Src: io.undertow.protocols.http2.Http2Channel:889,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].getWriteSetter()'
      Src: io.undertow.protocols.http2.Http2Channel:890,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
      Src: io.undertow.protocols.http2.Http2Channel:890,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].set(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:890,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].resumeWrites()'
      Src: io.undertow.protocols.http2.Http2Channel:891,1
    - Dst: '[org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].handleException(io.undertow.protocols.http2.Http2PingStreamSinkChannel,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:895,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debug(String,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:897,1
    - Dst: '[java.io.IOException].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:901,1
    - Dst: '[org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].handleException(io.undertow.protocols.http2.Http2PingStreamSinkChannel,java.io.IOException)'
      Src: io.undertow.protocols.http2.Http2Channel:901,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debug(String,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      - org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - data
    - exceptionHandler
    - ack
    argTypes:
    - byte[]
    - org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
    - boolean
    constantsTouched: []
    func_position:
      end: 906
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 906
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[],org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].resumeWrites()'
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].shutdownWrites()'
    - '[io.undertow.protocols.http2.Http2Channel].debug(String,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].getWriteSetter()'
    - '[io.undertow.protocols.http2.Http2Channel].set(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].<init>(byte[],boolean)'
    - '[org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].handleException(io.undertow.protocols.http2.Http2PingStreamSinkChannel,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].flush()'
    - '[java.io.IOException].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].handleException(io.undertow.protocols.http2.Http2PingStreamSinkChannel,java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendPing(byte[],org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:909,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int,io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler)'
      Src: io.undertow.protocols.http2.Http2Channel:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 15
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int,io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler)'
    - '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isTraceEnabled()'
      Src: io.undertow.protocols.http2.Http2Channel:917,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:918,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].tracef(java.nio.channels.ClosedChannelException,String)'
      Src: io.undertow.protocols.http2.Http2Channel:918,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getLastGoodStreamId()'
      Src: io.undertow.protocols.http2.Http2Channel:920,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:920,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].shutdownWrites()'
      Src: io.undertow.protocols.http2.Http2Channel:922,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].flush()'
      Src: io.undertow.protocols.http2.Http2Channel:923,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].getWriteSetter()'
      Src: io.undertow.protocols.http2.Http2Channel:924,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:924,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
      Src: io.undertow.protocols.http2.Http2Channel:924,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].set(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:924,1
    - Dst: '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].resumeWrites()'
      Src: io.undertow.protocols.http2.Http2Channel:930,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.protocols.http2.Http2Channel:932,1
    - Dst: '[org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].handleException(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:935,1
    - Dst: '[java.io.IOException].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:937,1
    - Dst: '[org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].handleException(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,java.io.IOException)'
      Src: io.undertow.protocols.http2.Http2Channel:937,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - status
    - exceptionHandler
    argTypes:
    - int
    - org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
    constantsTouched: []
    func_position:
      end: 939
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 939
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int,org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].tracef(java.nio.channels.ClosedChannelException,String)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(org.xnio.ChannelListener,org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].resumeWrites()'
    - '[org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].handleException(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,java.io.IOException)'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].<init>(int,int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].flush()'
    - '[io.undertow.protocols.http2.Http2Channel].set(io.undertow.protocols.http2.Http2Channel)'
    - '[org.xnio.IoUtils].safeClose()'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].getWriteSetter()'
    - '[org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].handleException(io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].isTraceEnabled()'
    - '[java.io.IOException].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].getLastGoodStreamId()'
    - '[io.undertow.protocols.http2.Http2GoAwayStreamSinkChannel].shutdownWrites()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int,org.xnio.ChannelExceptionHandler<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:942,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].flushChannel(io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamId
    - delta
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 945
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 945
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendUpdateWindowSize(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].flushChannel(io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2WindowUpdateStreamSinkChannel].<init>(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendUpdateWindowSize(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getUnderlyingConnection()'
      Src: io.undertow.protocols.http2.Http2Channel:948,1
    - Dst: '[org.xnio.ssl.SslConnection].getSslSession()'
      Src: io.undertow.protocols.http2.Http2Channel:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLSession
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 953
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 953
    functionName: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 7
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getUnderlyingConnection()'
    - '[org.xnio.ssl.SslConnection].getSslSession()'
    linkageType: ''
    returnType: javax.net.ssl.SSLSession
    signature: '[io.undertow.protocols.http2.Http2Channel].getSslSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendUpdateWindowSize(int,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - read
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 972
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 972
    functionName: '[io.undertow.protocols.http2.Http2Channel].updateReceiveFlowControlWindow(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].sendUpdateWindowSize(int,io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].updateReceiveFlowControlWindow(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:982,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].headersStreamCanOnlyBeCreatedByClient()'
      Src: io.undertow.protocols.http2.Http2Channel:983,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.protocols.http2.Http2Channel:985,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].channelIsClosed()'
      Src: io.undertow.protocols.http2.Http2Channel:986,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].incrementAndGet()'
      Src: io.undertow.protocols.http2.Http2Channel:988,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].streamLimitExceeded()'
      Src: io.undertow.protocols.http2.Http2Channel:990,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.util.HeaderMap)'
      Src: io.undertow.protocols.http2.Http2Channel:994,1
    - Dst: '[StreamHolder].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:995,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].put(io.undertow.protocols.http2.Http2Channel,StreamHolder)'
      Src: io.undertow.protocols.http2.Http2Channel:995,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requestHeaders
    argTypes:
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 998
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 998
    functionName: '[io.undertow.protocols.http2.Http2Channel].createStream(io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].headersStreamCanOnlyBeCreatedByClient()'
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    - '[io.undertow.protocols.http2.Http2Channel].streamLimitExceeded()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].incrementAndGet()'
    - '[java.util.Map<Integer,StreamHolder>].put(io.undertow.protocols.http2.Http2Channel,StreamHolder)'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[io.undertow.protocols.http2.Http2Channel].channelIsClosed()'
    - '[StreamHolder].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2Channel].createStream(io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Integer.toString(int)
      Src: io.undertow.protocols.http2.Http2Channel:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1002
    functionName: '[io.undertow.protocols.http2.Http2Channel].getProtocolRequestId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 2
    functionsReached:
    - Integer.toString(int)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.http2.Http2Channel].getProtocolRequestId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:1013,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].pushPromiseCanOnlyBeCreatedByServer()'
      Src: io.undertow.protocols.http2.Http2Channel:1014,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.protocols.http2.Http2Channel:1016,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].channelIsClosed()'
      Src: io.undertow.protocols.http2.Http2Channel:1017,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1019,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debugf(String,int)'
      Src: io.undertow.protocols.http2.Http2Channel:1020,1
    - Dst: '[StreamHolder].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:1023,1
    - Dst: Math.max(int,int)
      Src: io.undertow.protocols.http2.Http2Channel:1025,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].put(int,StreamHolder)'
      Src: io.undertow.protocols.http2.Http2Channel:1026,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pushedStreamId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1028
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1028
    functionName: '[io.undertow.protocols.http2.Http2Channel].addPushPromiseStream(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
    - '[java.util.Map<Integer,StreamHolder>].put(int,StreamHolder)'
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    - Math.max(int,int)
    - '[io.undertow.protocols.http2.Http2Channel].debugf(String,int)'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[io.undertow.protocols.http2.Http2Channel].channelIsClosed()'
    - '[StreamHolder].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2Channel].pushPromiseCanOnlyBeCreatedByServer()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].addPushPromiseStream(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1032
    functionName: '[io.undertow.protocols.http2.Http2Channel].getLastAssignedStreamOtherSide()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getLastAssignedStreamOtherSide()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: '[io.undertow.protocols.http2.Http2Channel].getLastGoodStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getLastGoodStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Math.max(int,int)
      Src: io.undertow.protocols.http2.Http2Channel:1050,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:1051,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:1055,1
    - Dst: Math.max(int,int)
      Src: io.undertow.protocols.http2.Http2Channel:1057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamNo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1059
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1059
    functionName: '[io.undertow.protocols.http2.Http2Channel].updateStreamIdsCountersInHeaders(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - Math.max(int,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].updateStreamIdsCountersInHeaders(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.protocols.http2.Http2Channel:1062,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].channelIsClosed()'
      Src: io.undertow.protocols.http2.Http2Channel:1063,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:1065,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].pushPromiseCanOnlyBeCreatedByServer()'
      Src: io.undertow.protocols.http2.Http2Channel:1066,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].incrementAndGet()'
      Src: io.undertow.protocols.http2.Http2Channel:1068,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].streamLimitExceeded()'
      Src: io.undertow.protocols.http2.Http2Channel:1070,1
    - Dst: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].<init>(io.undertow.util.HeaderMap,int,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:1074,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].flushChannel(io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:1075,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.util.HeaderMap)'
      Src: io.undertow.protocols.http2.Http2Channel:1077,1
    - Dst: '[StreamHolder].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:1078,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].put(io.undertow.protocols.http2.Http2Channel,StreamHolder)'
      Src: io.undertow.protocols.http2.Http2Channel:1078,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.util.HeaderMap
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - associatedStreamId
    - requestHeaders
    - responseHeaders
    argTypes:
    - int
    - io.undertow.util.HeaderMap
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 1080
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1080
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendPushPromise(int,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    - '[io.undertow.protocols.http2.Http2Channel].streamLimitExceeded()'
    - '[io.undertow.protocols.http2.Http2Channel].flushChannel(io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].incrementAndGet()'
    - '[java.util.Map<Integer,StreamHolder>].put(io.undertow.protocols.http2.Http2Channel,StreamHolder)'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].<init>(io.undertow.util.HeaderMap,int,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].channelIsClosed()'
    - '[StreamHolder].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.util.HeaderMap)'
    - '[io.undertow.protocols.http2.Http2Channel].pushPromiseCanOnlyBeCreatedByServer()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2Channel].sendPushPromise(int,io.undertow.util.HeaderMap,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Math.min(int,long)
      Src: io.undertow.protocols.http2.Http2Channel:1094,1
    - Dst: Math.min(int,io.undertow.protocols.http2.Http2Channel)
      Src: io.undertow.protocols.http2.Http2Channel:1099,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - bytesToGrab
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1103
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1103
    functionName: '[io.undertow.protocols.http2.Http2Channel].grabFlowControlBytes(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - Math.min(int,io.undertow.protocols.http2.Http2Channel)
    - Math.min(int,long)
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].grabFlowControlBytes(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2Channel:1106,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].get(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:1106,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].streamNotRegistered()'
      Src: io.undertow.protocols.http2.Http2Channel:1108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - synResponse
    argTypes:
    - io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
    constantsTouched: []
    func_position:
      end: 1111
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1111
    functionName: '[io.undertow.protocols.http2.Http2Channel].registerStreamSink(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].streamNotRegistered()'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
    - '[java.util.Map<Integer,StreamHolder>].get(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].registerStreamSink(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer,StreamHolder>].get(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1114,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:1121,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
      Src: io.undertow.protocols.http2.Http2Channel:1122,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
      Src: io.undertow.protocols.http2.Http2Channel:1124,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].remove(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1126,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isLastFrameReceived()'
      Src: io.undertow.protocols.http2.Http2Channel:1128,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].isEmpty()'
      Src: io.undertow.protocols.http2.Http2Channel:1128,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1129,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].isEmpty()'
      Src: io.undertow.protocols.http2.Http2Channel:1130,1
    - Dst: '[io.undertow.server.protocol.ParseTimeoutUpdater].connectionIdle()'
      Src: io.undertow.protocols.http2.Http2Channel:1131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1133
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1133
    functionName: '[io.undertow.protocols.http2.Http2Channel].removeStreamSink(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.protocol.ParseTimeoutUpdater].connectionIdle()'
    - '[io.undertow.protocols.http2.Http2Channel].isLastFrameReceived()'
    - '[java.util.Map<Integer,StreamHolder>].get(int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[java.util.Map<Integer,StreamHolder>].isEmpty()'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    - '[java.util.Map<Integer,StreamHolder>].remove(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].removeStreamSink(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1137
    functionName: '[io.undertow.protocols.http2.Http2Channel].isClient()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].isClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackEncoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1142
    functionName: '[io.undertow.protocols.http2.Http2Channel].getEncoder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackEncoder
    signature: '[io.undertow.protocols.http2.Http2Channel].getEncoder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.HpackDecoder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: '[io.undertow.protocols.http2.Http2Channel].getDecoder()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackDecoder
    signature: '[io.undertow.protocols.http2.Http2Channel].getDecoder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Random].nextInt(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1157
    functionName: '[io.undertow.protocols.http2.Http2Channel].getPaddingBytes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[java.util.Random].nextInt(int)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getPaddingBytes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].argumentCannotBeNull(String)'
      Src: io.undertow.protocols.http2.Http2Channel:1162,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.protocols.http2.Http2Channel:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 1165
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1165
    functionName: '[io.undertow.protocols.http2.Http2Channel].getAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<T>)'
    - '[io.undertow.protocols.http2.Http2Channel].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.protocols.http2.Http2Channel].getAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].argumentCannotBeNull(String)'
      Src: io.undertow.protocols.http2.Http2Channel:1170,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<?extendsList<T>>)'
      Src: io.undertow.protocols.http2.Http2Channel:1172,1
    - Dst: '[java.util.Collections].emptyList()'
      Src: io.undertow.protocols.http2.Http2Channel:1174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<?extendsList<T>>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<?extendsList<T>>
    constantsTouched: []
    func_position:
      end: 1177
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1177
    functionName: '[io.undertow.protocols.http2.Http2Channel].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<?extendsList<T>>)'
    - '[java.util.Collections].emptyList()'
    - '[io.undertow.protocols.http2.Http2Channel].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: java.util.List<T>
    signature: '[io.undertow.protocols.http2.Http2Channel].getAttachmentList(io.undertow.util.AttachmentKey<?extendsList<T>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].argumentCannotBeNull(String)'
      Src: io.undertow.protocols.http2.Http2Channel:1182,1
    - Dst: '[io.undertow.util.AttachmentKey<T>].cast(T)'
      Src: io.undertow.protocols.http2.Http2Channel:1184,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].put(io.undertow.util.AttachmentKey<T>,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:1184,1
    - Dst: '[io.undertow.util.AttachmentKey<T>].cast(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:1184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    - T
    constantsTouched: []
    func_position:
      end: 1185
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1185
    functionName: '[io.undertow.protocols.http2.Http2Channel].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].put(io.undertow.util.AttachmentKey<T>,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.util.AttachmentKey<T>].cast(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.util.AttachmentKey<T>].cast(T)'
    - '[io.undertow.protocols.http2.Http2Channel].argumentCannotBeNull(String)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.protocols.http2.Http2Channel].putAttachment(io.undertow.util.AttachmentKey<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].remove(io.undertow.util.AttachmentKey<T>)'
      Src: io.undertow.protocols.http2.Http2Channel:1189,1
    - Dst: '[io.undertow.util.AttachmentKey<T>].cast(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<T>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - key
    argTypes:
    - io.undertow.util.AttachmentKey<T>
    constantsTouched: []
    func_position:
      end: 1190
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1190
    functionName: '[io.undertow.protocols.http2.Http2Channel].removeAttachment(io.undertow.util.AttachmentKey<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.AttachmentKey<T>].cast(io.undertow.protocols.http2.Http2Channel)'
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].remove(io.undertow.util.AttachmentKey<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.protocols.http2.Http2Channel].removeAttachment(io.undertow.util.AttachmentKey<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].argumentCannotBeNull(String)'
      Src: io.undertow.protocols.http2.Http2Channel:1196,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>)'
      Src: io.undertow.protocols.http2.Http2Channel:1200,1
    - Dst: '[io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>].cast(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:1200,1
    - Dst: '[io.undertow.util.AttachmentList].<init>(Class<T>)'
      Src: io.undertow.protocols.http2.Http2Channel:1202,1
    - Dst: '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].put(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,io.undertow.util.AttachmentList)'
      Src: io.undertow.protocols.http2.Http2Channel:1203,1
    - Dst: '[io.undertow.util.AttachmentList].add(T)'
      Src: io.undertow.protocols.http2.Http2Channel:1204,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].add(T)'
      Src: io.undertow.protocols.http2.Http2Channel:1206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>
    - T
    constantsTouched: []
    func_position:
      end: 1209
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1209
    functionName: '[io.undertow.protocols.http2.Http2Channel].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].get(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>)'
    - '[io.undertow.protocols.http2.Http2Channel].add(T)'
    - '[java.util.Map<io.undertow.util.AttachmentKey<?>,Object>].put(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,io.undertow.util.AttachmentList)'
    - '[io.undertow.protocols.http2.Http2Channel].argumentCannotBeNull(String)'
    - '[io.undertow.util.AttachmentList].<init>(Class<T>)'
    - '[io.undertow.util.AttachmentList].add(T)'
    - '[io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>].cast(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.protocols.http2.Http2Channel:1212,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].handleRstStream(int,boolean)'
      Src: io.undertow.protocols.http2.Http2Channel:1216,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isThisGoneAway()'
      Src: io.undertow.protocols.http2.Http2Channel:1217,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isDebugEnabled()'
      Src: io.undertow.protocols.http2.Http2Channel:1218,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:1219,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debugf(java.nio.channels.ClosedChannelException,String,int)'
      Src: io.undertow.protocols.http2.Http2Channel:1219,1
    - Dst: '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].<init>(int,int)'
      Src: io.undertow.protocols.http2.Http2Channel:1222,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(io.undertow.protocols.http2.Http2RstStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:1223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamId
    - statusCode
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1225
      start: 1211
    functionDepth: 4
    functionLinenumber: 1211
    functionLinenumberEnd: 1225
    functionName: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].isThisGoneAway()'
    - '[io.undertow.protocols.http2.Http2Channel].handleRstStream(int,boolean)'
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].isDebugEnabled()'
    - '[io.undertow.protocols.http2.Http2Channel].flushChannelIgnoreFailure(io.undertow.protocols.http2.Http2RstStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2Channel].debugf(java.nio.channels.ClosedChannelException,String,int)'
    - '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].<init>(int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer,StreamHolder>].remove(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1228,1
    - Dst: '[StreamCache].store(int,io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2Channel:1230,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:1231,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
      Src: io.undertow.protocols.http2.Http2Channel:1232,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
      Src: io.undertow.protocols.http2.Http2Channel:1235,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].rstStream()'
      Src: io.undertow.protocols.http2.Http2Channel:1238,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].rstStream()'
      Src: io.undertow.protocols.http2.Http2Channel:1241,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].trackReceivedRstWindow()'
      Src: io.undertow.protocols.http2.Http2Channel:1251,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].trackSentRstWindow()'
      Src: io.undertow.protocols.http2.Http2Channel:1255,1
    - Dst: '[StreamCache].find(int,boolean)'
      Src: io.undertow.protocols.http2.Http2Channel:1258,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].trackReceivedRstWindow()'
      Src: io.undertow.protocols.http2.Http2Channel:1265,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].trackSentRstWindow()'
      Src: io.undertow.protocols.http2.Http2Channel:1268,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StreamHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamId
    - receivedRst
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 1271
      start: 1227
    functionDepth: 3
    functionLinenumber: 1227
    functionLinenumberEnd: 1271
    functionName: '[io.undertow.protocols.http2.Http2Channel].handleRstStream(int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 2
    functionsReached:
    - '[StreamCache].store(int,io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].rstStream()'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
    - '[io.undertow.protocols.http2.Http2Channel].trackSentRstWindow()'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[io.undertow.protocols.http2.Http2Channel].trackReceivedRstWindow()'
    - '[StreamCache].find(int,boolean)'
    - '[java.util.Map<Integer,StreamHolder>].remove(int)'
    linkageType: ''
    returnType: StreamHolder
    signature: '[io.undertow.protocols.http2.Http2Channel].handleRstStream(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel:1274,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1282,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debugf(String,int,long)'
      Src: io.undertow.protocols.http2.Http2Channel:1283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1273
    functionDepth: 2
    functionLinenumber: 1273
    functionLinenumberEnd: 1288
    functionName: '[io.undertow.protocols.http2.Http2Channel].trackReceivedRstWindow()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].debugf(String,int,long)'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].trackReceivedRstWindow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel:1291,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1299,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].debugf(String,int,long)'
      Src: io.undertow.protocols.http2.Http2Channel:1300,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.protocols.http2.Http2Channel:1303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1306
    functionName: '[io.undertow.protocols.http2.Http2Channel].trackSentRstWindow()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].debugf(String,int,long)'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    - '[org.xnio.IoUtils].safeClose()'
    - System.currentTimeMillis()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel].trackSentRstWindow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel:1315,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].updateStreamIdsCountersInHeaders(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1317,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1318,1
    - Dst: '[StreamHolder].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel:1319,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].put(int,StreamHolder)'
      Src: io.undertow.protocols.http2.Http2Channel:1321,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndIncrement()'
      Src: io.undertow.protocols.http2.Http2Channel:1322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1325
    functionName: '[io.undertow.protocols.http2.Http2Channel].createInitialUpgradeResponseStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].<init>(int)'
    - '[IllegalStateException].<init>()'
    - '[java.util.Map<Integer,StreamHolder>].put(int,StreamHolder)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndIncrement()'
    - '[io.undertow.protocols.http2.Http2Channel].updateStreamIdsCountersInHeaders(int)'
    - '[StreamHolder].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2Channel].createInitialUpgradeResponseStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1329
    functionName: '[io.undertow.protocols.http2.Http2Channel].isPushEnabled()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].isPushEnabled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1333
    functionName: '[io.undertow.protocols.http2.Http2Channel].isPeerGoneAway()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].isPeerGoneAway()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1337
    functionName: '[io.undertow.protocols.http2.Http2Channel].isThisGoneAway()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].isThisGoneAway()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer,StreamHolder>].get(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1340,1
    - Dst: '[StreamCache].find(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1342,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isClient()'
      Src: io.undertow.protocols.http2.Http2Channel:1349,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
      Src: io.undertow.protocols.http2.Http2Channel:1350,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
      Src: io.undertow.protocols.http2.Http2Channel:1352,1
    - Dst: '[java.util.Map<Integer,StreamHolder>].remove(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2StreamSourceChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1357
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1357
    functionName: '[io.undertow.protocols.http2.Http2Channel].removeStreamSource(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[StreamCache].find(int)'
    - '[java.util.Map<Integer,StreamHolder>].get(int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>].getAndDecrement()'
    - '[io.undertow.protocols.http2.Http2Channel].isClient()'
    - '[java.util.Map<Integer,StreamHolder>].remove(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2StreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2Channel].removeStreamSource(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<Integer,StreamHolder>].get(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1360,1
    - Dst: '[StreamCache].find(int)'
      Src: io.undertow.protocols.http2.Http2Channel:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2StreamSourceChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: '[io.undertow.protocols.http2.Http2Channel].getIncomingStream(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[StreamCache].find(int)'
    - '[java.util.Map<Integer,StreamHolder>].get(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2StreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2Channel].getIncomingStream(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1380
    functionName: '[io.undertow.protocols.http2.Http2Channel].getReceiveMaxFrameSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getReceiveMaxFrameSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1384
    functionName: '[io.undertow.protocols.http2.Http2Channel].getSendMaxFrameSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getSendMaxFrameSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1388
    functionName: '[io.undertow.protocols.http2.Http2Channel].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.http2.Http2Channel].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamNo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1398
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1398
    functionName: '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel].isIdle(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - byte[]
      - int
      - int
      - int
      - int
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      - java.util.Map<Integer,StreamHolder>
      - String
      - int
      - boolean
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - long
      - long
      - long
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.http2.Http2Channel>
      - boolean
      - boolean
      - boolean
      - int
      - int
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - io.undertow.protocols.http2.HpackEncoder
      - int
      - java.util.Random
      - int
      - boolean
      - io.undertow.protocols.http2.Http2HeadersParser
      - boolean
      - java.util.Map<io.undertow.util.AttachmentKey<?>,Object>
      - io.undertow.server.protocol.ParseTimeoutUpdater
      - Object
      - int
      - long
      - int
      - StreamCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.util.Attachable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1402
    functionName: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderListSize()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Channel].getMaxHeaderListSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler:1373,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].handleBrokenSinkChannel(java.io.IOException)'
      Src: io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - channel
    - exception
    argTypes:
    - io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 1375
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1375
    functionName: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].handleException(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel,java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].handleBrokenSinkChannel(java.io.IOException)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].handleException(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler
    signature: '[io.undertow.protocols.http2.Http2Channel.Http2ControlMessageExceptionHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - boolean
      - Http2StreamSourceChannel
      - Http2StreamSinkChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel.StreamHolder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sourceChannel
    argTypes:
    - io.undertow.protocols.http2.Http2StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamHolder].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel.StreamHolder
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamHolder].<init>(io.undertow.protocols.http2.Http2StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - boolean
      - Http2StreamSourceChannel
      - Http2StreamSinkChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel.StreamHolder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sinkChannel
    argTypes:
    - io.undertow.protocols.http2.Http2StreamSinkChannel
    constantsTouched: []
    func_position:
      end: 1424
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamHolder].<init>(io.undertow.protocols.http2.Http2StreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel.StreamHolder
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamHolder].<init>(io.undertow.protocols.http2.Http2StreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - boolean
      - boolean
      - Http2StreamSourceChannel
      - Http2StreamSinkChannel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1430
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamHolder].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamHolder].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Map<Integer, StreamHolder>].put(int,StreamHolder)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1444,1
    - Dst: '[StreamCacheEntry].<init>(int)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1445,1
    - Dst: '[Queue<StreamCacheEntry>].add(StreamCacheEntry)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - StreamHolder
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Integer, StreamHolder>
      - Queue<StreamCacheEntry>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamId
    - streamHolder
    argTypes:
    - int
    - StreamHolder
    constantsTouched: []
    func_position:
      end: 1446
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1446
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamCache].store(int,StreamHolder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[Queue<StreamCacheEntry>].add(StreamCacheEntry)'
    - '[StreamCacheEntry].<init>(int)'
    - '[Map<Integer, StreamHolder>].put(int,StreamHolder)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamCache].store(int,StreamHolder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel.StreamCache].find(int,boolean)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Integer, StreamHolder>
      - Queue<StreamCacheEntry>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StreamHolder
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1455
      start: 1453
    functionDepth: 2
    functionLinenumber: 1453
    functionLinenumberEnd: 1455
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamCache].find(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel.StreamCache].find(int,boolean)'
    linkageType: ''
    returnType: StreamHolder
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamCache].find(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Queue<StreamCacheEntry>].iterator()'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1458,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel.StreamCache].hasNext()'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1458,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel.StreamCache].next()'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1459,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel.StreamCache].shouldEvict()'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1460,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel.StreamCache].remove()'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1461,1
    - Dst: '[Map<Integer, StreamHolder>].remove(io.undertow.protocols.http2.Http2Channel.StreamCache)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1462,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel.StreamCache)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1470,1
    - Dst: sink.isWritesShutdown()
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1474,1
    - Dst: sink.getIoThread()
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1475,1
    - Dst: sink.getWriteSetter()
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1475,1
    - Dst: '[ChannelListener.SimpleSetter].get()'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1475,1
    - Dst: '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.http2.Http2Channel.StreamCache,io.undertow.protocols.http2.Http2Channel.StreamCache,io.undertow.protocols.http2.Http2Channel.StreamCache)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1475,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel.StreamCache)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1477,1
    - Dst: '[Map<Integer, StreamHolder>].get(int)'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1481,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Integer, StreamHolder>
      - Queue<StreamCacheEntry>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StreamHolder
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - streamId
    - all
    argTypes:
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 1487
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1487
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamCache].find(int,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 1
    functionsReached:
    - '[Map<Integer, StreamHolder>].remove(io.undertow.protocols.http2.Http2Channel.StreamCache)'
    - '[Queue<StreamCacheEntry>].iterator()'
    - '[org.xnio.ChannelListeners].invokeChannelListener(io.undertow.protocols.http2.Http2Channel.StreamCache,io.undertow.protocols.http2.Http2Channel.StreamCache,io.undertow.protocols.http2.Http2Channel.StreamCache)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2Channel.StreamCache)'
    - '[ChannelListener.SimpleSetter].get()'
    - '[io.undertow.protocols.http2.Http2Channel.StreamCache].shouldEvict()'
    - '[Map<Integer, StreamHolder>].get(int)'
    - '[io.undertow.protocols.http2.Http2Channel.StreamCache].remove()'
    - '[io.undertow.protocols.http2.Http2Channel.StreamCache].hasNext()'
    - sink.getWriteSetter()
    - sink.getIoThread()
    - '[io.undertow.protocols.http2.Http2Channel.StreamCache].next()'
    - sink.isWritesShutdown()
    linkageType: ''
    returnType: StreamHolder
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamCache].find(int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Integer, StreamHolder>
      - Queue<StreamCacheEntry>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<Integer,StreamHolder>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1491
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamCache].getStreamHolders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<Integer,StreamHolder>
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamCache].getStreamHolders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1436,1
    - Dst: '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
      Src: io.undertow.protocols.http2.Http2Channel.StreamCache:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Map<Integer, StreamHolder>
      - Queue<StreamCacheEntry>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel.StreamCache
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamCache].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentLinkedQueue].<init>()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel.StreamCache
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamCache].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel.StreamCacheEntry:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel.StreamCacheEntry
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamCacheEntry].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - System.currentTimeMillis()
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel.StreamCacheEntry
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamCacheEntry].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.protocols.http2.Http2Channel.StreamCacheEntry:1504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1505
    functionName: '[io.undertow.protocols.http2.Http2Channel.StreamCacheEntry].shouldEvict()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Channel.java
    functionUses: 0
    functionsReached:
    - System.currentTimeMillis()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2Channel.StreamCacheEntry].shouldEvict()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.http2.Http2SettingsParser:32,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2SettingsParser:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2SettingsParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.protocols.http2.Http2SettingsParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2SettingsParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2SettingsParser
    signature: '[io.undertow.protocols.http2.Http2SettingsParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2SettingsParser:41,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2SettingsParser:44,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2SettingsParser:45,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2SettingsParser:46,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2SettingsParser:47,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2SettingsParser:48,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2SettingsParser:49,1
    - Dst: '[io.undertow.protocols.http2.Http2Setting].<init>(io.undertow.protocols.http2.Http2SettingsParser,io.undertow.protocols.http2.Http2SettingsParser)'
      Src: io.undertow.protocols.http2.Http2SettingsParser:50,1
    - Dst: '[java.util.List<io.undertow.protocols.http2.Http2Setting>].add(io.undertow.protocols.http2.Http2Setting)'
      Src: io.undertow.protocols.http2.Http2SettingsParser:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - parser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: '[io.undertow.protocols.http2.Http2SettingsParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2SettingsParser.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.protocols.http2.Http2Setting>].add(io.undertow.protocols.http2.Http2Setting)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Http2Setting].<init>(io.undertow.protocols.http2.Http2SettingsParser,io.undertow.protocols.http2.Http2SettingsParser)'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2SettingsParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.protocols.http2.Http2Setting>
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.protocols.http2.Http2SettingsParser].getSettings()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2SettingsParser.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<io.undertow.protocols.http2.Http2Setting>
    signature: '[io.undertow.protocols.http2.Http2SettingsParser].getSettings()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2PriorityParser:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PriorityParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.protocols.http2.Http2PriorityParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PriorityParser
    signature: '[io.undertow.protocols.http2.Http2PriorityParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2PriorityParser:42,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2PriorityParser:45,1
    - Dst: '[org.xnio.Bits].anyAreSet(int,int,int)'
      Src: io.undertow.protocols.http2.Http2PriorityParser:46,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2PriorityParser:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - frameHeaderParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: '[io.undertow.protocols.http2.Http2PriorityParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
    - '[org.xnio.Bits].anyAreSet(int,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PriorityParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.protocols.http2.Http2PriorityParser].getWeight()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PriorityParser].getWeight()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.protocols.http2.Http2PriorityParser].getStreamDependency()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PriorityParser].getStreamDependency()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.protocols.http2.Http2PriorityParser].isExclusive()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PriorityParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2PriorityParser].isExclusive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.HPackHuffman:378,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.HPackHuffman:383,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.protocols.http2.HPackHuffman:394,1
    - Dst: '[io.undertow.protocols.http2.HPackHuffman].hpackFailed()'
      Src: io.undertow.protocols.http2.HPackHuffman:402,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.protocols.http2.HPackHuffman:411,1
    - Dst: '[io.undertow.protocols.http2.HPackHuffman].huffmanEncodedHpackValueDidNotEndWithEOS()'
      Src: io.undertow.protocols.http2.HPackHuffman:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - StringBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - HuffmanCode[]
      - int[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - data
    - length
    - target
    argTypes:
    - java.nio.ByteBuffer
    - int
    - StringBuilder
    constantsTouched: []
    func_position:
      end: 423
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 423
    functionName: '[io.undertow.protocols.http2.HPackHuffman].decode(java.nio.ByteBuffer,int,StringBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 2
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.HPackHuffman].hpackFailed()'
    - '[io.undertow.protocols.http2.HPackHuffman].huffmanEncodedHpackValueDidNotEndWithEOS()'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.HPackHuffman].decode(java.nio.ByteBuffer,int,StringBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.HPackHuffman:436,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.HPackHuffman:436,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.HPackHuffman:439,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.HPackHuffman:444,1
    - Dst: '[String].charAt(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:445,1
    - Dst: '[io.undertow.protocols.http2.Hpack].toLower(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:447,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.HPackHuffman:455,1
    - Dst: '[io.undertow.protocols.http2.Hpack].encodeInteger(java.nio.ByteBuffer,io.undertow.protocols.http2.HPackHuffman,int)'
      Src: io.undertow.protocols.http2.HPackHuffman:456,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.HPackHuffman:461,1
    - Dst: '[String].charAt(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:462,1
    - Dst: '[io.undertow.protocols.http2.Hpack].toLower(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:464,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.HPackHuffman:477,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:478,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:488,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.HPackHuffman:498,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:499,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:502,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.HPackHuffman:506,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.HPackHuffman:506,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:509,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.protocols.http2.HPackHuffman:515,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HPackHuffman)'
      Src: io.undertow.protocols.http2.HPackHuffman:516,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.HPackHuffman:519,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - HuffmanCode[]
      - int[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - toEncode
    - forceLowercase
    argTypes:
    - java.nio.ByteBuffer
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 522
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 522
    functionName: '[io.undertow.protocols.http2.HPackHuffman].encode(java.nio.ByteBuffer,String,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 3
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Hpack].encodeInteger(java.nio.ByteBuffer,io.undertow.protocols.http2.HPackHuffman,int)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[java.nio.ByteBuffer].put(io.undertow.protocols.http2.HPackHuffman)'
    - '[String].length()'
    - '[java.nio.ByteBuffer].position()'
    - '[String].charAt(io.undertow.protocols.http2.HPackHuffman)'
    - '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.HPackHuffman)'
    - '[io.undertow.protocols.http2.Hpack].toLower(io.undertow.protocols.http2.HPackHuffman)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.HPackHuffman].encode(java.nio.ByteBuffer,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - HuffmanCode[]
      - int[]
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HPackHuffman
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.HPackHuffman].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HPackHuffman
    signature: '[io.undertow.protocols.http2.HPackHuffman].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HPackHuffman.HuffmanCode
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].<init>(int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.HPackHuffman.HuffmanCode
    signature: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].<init>(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].getValue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].getValue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].getLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].getLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].getClass()'
      Src: io.undertow.protocols.http2.HPackHuffman.HuffmanCode:552,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.protocols.http2.HPackHuffman.HuffmanCode:552,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].getClass()'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 567
    functionName: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 575
    functionName: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/HPackHuffman.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.http2.HPackHuffman.HuffmanCode].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - framedChannel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[Object].<init>(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
      Src: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.connector.PooledByteBuffer
      - long
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - framedChannel
    - data
    - frameDataRemaining
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.connector.PooledByteBuffer
    - long
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 4
    functionsReached:
    - '[Object].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.protocol.framed.FrameHeaderData
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerData
    argTypes:
    - io.undertow.server.protocol.framed.FrameHeaderData
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].handleHeaderData(io.undertow.server.protocol.framed.FrameHeaderData)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].getFramedChannel()'
      Src: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].getFramedChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 1
    functionsReached:
    - '[Object].getFramedChannel()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].getFramedChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].getFramedChannel()'
      Src: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2Channel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].getHttp2Channel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].getFramedChannel()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Channel
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].getHttp2Channel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].lastFrame()'
      Src: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].lastFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[Object].lastFrame()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].lastFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].rstStream(int)'
      Src: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].rstStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].rstStream(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].rstStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].rstStream(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].rstStream(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].markStreamBroken()'
      Src: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].markStreamBroken()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[Object].markStreamBroken()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].markStreamBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - '[Object].<init>(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].isLastFrame()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/AbstractHttp2StreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].isLastFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '[io.undertow.protocols.http2.Http2Stream].getStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Stream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2Stream].getStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2Stream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.http2.Http2Stream].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2Stream.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2Stream
    signature: '[io.undertow.protocols.http2.Http2Stream].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].<init>()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:45,1
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:48,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getInitialSendWindowSize()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2StreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 2
    argNames:
    - channel
    - streamId
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    - '[io.undertow.protocols.http2.Http2Channel].getInitialSendWindowSize()'
    - '[Object].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2StreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].createFrameHeaderImpl()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].generateSendFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].createFrameHeaderImpl()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].generateSendFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].createFrameHeaderImpl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].createFrameHeaderImpl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].clearHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].clearHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:71,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:71,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].removeStreamSink(int)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:71,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:76,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].isClient()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:76,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].isFirstDataWritten()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:79,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:79,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].isThisGoneAway()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:79,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:80,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:80,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:82,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].isThisGoneAway()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:82,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:83,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:83,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].markBroken()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].channelForciblyClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].isClient()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].sendRstStream(int,int)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].markBroken()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].isThisGoneAway()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].isFirstDataWritten()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].removeStreamSink(int)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getStreamId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].channelForciblyClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:98,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:98,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].removeStreamSink(int)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:98,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 1
    argNames:
    - channelClosed
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].handleFlushComplete(boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.IoUtils].safeClose()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].removeStreamSink(int)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getStreamId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].handleFlushComplete(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:120,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getInitialSendWindowSize()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:120,1
    - Dst: '[Object].notifyAll()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:126,1
    - Dst: Math.min(int,int)
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:129,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:130,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].grabFlowControlBytes(io.undertow.protocols.http2.Http2StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 1
    argNames:
    - toSend
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].grabFlowControlBytes(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getInitialSendWindowSize()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].grabFlowControlBytes(io.undertow.protocols.http2.Http2StreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
    - Math.min(int,int)
    - '[Object].notifyAll()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].grabFlowControlBytes(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:143,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].sendRstStream(int,int)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:143,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].markBroken()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:144,1
    - Dst: '[Object].notifyAll()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:148,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:151,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].notifyFlowControlAllowed()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:151,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].isWriteResumed()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:152,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].resumeWritesInternal(boolean)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].updateFlowControlWindow(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].resumeWritesInternal(boolean)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].notifyFlowControlAllowed()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].sendRstStream(int,int)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].markBroken()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
    - '[Object].notifyAll()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].isWriteResumed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].updateFlowControlWindow(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:164,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getBufferPool()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:164,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].allocate()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:164,1
    - Dst: ret[1].getBuffer()
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:165,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:166,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:166,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getSendMaxFrameSize()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:166,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].position()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:167,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:167,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getSendMaxFrameSize()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:167,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].limit(io.undertow.protocols.http2.Http2StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:167,1
    - Dst: System.arraycopy(PooledByteBuffer[],int,io.undertow.protocols.http2.Http2StreamSinkChannel,int,io.undertow.protocols.http2.Http2StreamSinkChannel)
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:171,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:172,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getBufferPool()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:172,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].allocate()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:172,1
    - Dst: ret[ret.length - 1].getBuffer()
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:173,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].remaining()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:174,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:174,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getSendMaxFrameSize()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:174,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].position()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:175,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:175,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getSendMaxFrameSize()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:175,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].limit(io.undertow.protocols.http2.Http2StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - PooledByteBuffer[]
      - io.undertow.connector.PooledByteBuffer
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: PooledByteBuffer[]
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 2
    argNames:
    - allHeaderBuffers
    - currentBuffer
    argTypes:
    - PooledByteBuffer[]
    - io.undertow.connector.PooledByteBuffer
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].allocateAll(PooledByteBuffer[],io.undertow.connector.PooledByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].allocate()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getSendMaxFrameSize()'
    - System.arraycopy(PooledByteBuffer[],int,io.undertow.protocols.http2.Http2StreamSinkChannel,int,io.undertow.protocols.http2.Http2StreamSinkChannel)
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getBufferPool()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].remaining()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].limit(io.undertow.protocols.http2.Http2StreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].position()'
    - ret[ret.length - 1].getBuffer()
    - ret[1].getBuffer()
    linkageType: ''
    returnType: PooledByteBuffer[]
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].allocateAll(PooledByteBuffer[],io.undertow.connector.PooledByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].isReadyForFlush()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:189,1
    - Dst: '[org.xnio.IoUtils].safeClose()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:190,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:192,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:192,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].removeStreamSink(int)'
      Src: io.undertow.protocols.http2.Http2StreamSinkChannel:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - int
      - boolean
      - int
      - int
      - io.undertow.server.protocol.framed.SendFrameHeader
      - Object
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: '[io.undertow.protocols.http2.Http2StreamSinkChannel].rstStream()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2StreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].isReadyForFlush()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].removeStreamSink(int)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].getStreamId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2StreamSinkChannel].rstStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 2
    argNames:
    - channel
    - settings
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - java.util.List<io.undertow.protocols.http2.Http2Setting>
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,java.util.List<io.undertow.protocols.http2.Http2Setting>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2SettingsStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,java.util.List<io.undertow.protocols.http2.Http2Setting>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2SettingsStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:53,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getBufferPool()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:53,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].allocate()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:53,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getBuffer()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:54,1
    - Dst: '[java.util.List<io.undertow.protocols.http2.Http2Setting>].size()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:56,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:57,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:58,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:59,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:60,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:61,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:62,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel,io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:62,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:64,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:65,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:67,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:68,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:69,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:70,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:74,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:75,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:76,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:77,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:78,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:79,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel,io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:79,1
    - Dst: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:81,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2SettingsStreamSinkChannel:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<io.undertow.protocols.http2.Http2Setting>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.Http2StreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 83
    functionName: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].createFrameHeaderImpl()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2SettingsStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getBuffer()'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].allocate()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].put(byte)'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].flip()'
    - '[java.util.List<io.undertow.protocols.http2.Http2Setting>].size()'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getStreamId()'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2SettingsStreamSinkChannel,io.undertow.protocols.http2.Http2SettingsStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].getBufferPool()'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2SettingsStreamSinkChannel].createFrameHeaderImpl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Hpack:151,1
    - Dst: '[io.undertow.protocols.http2.Hpack].integerEncodedOverTooManyOctets(int)'
      Src: io.undertow.protocols.http2.Hpack:155,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Hpack:158,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Hpack:161,1
    - Dst: '[io.undertow.protocols.http2.Hpack].integerEncodedOverTooManyOctets(int)'
      Src: io.undertow.protocols.http2.Hpack:169,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Hpack:171,1
    - Dst: '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.Hpack)'
      Src: io.undertow.protocols.http2.Hpack:174,1
    - Dst: '[io.undertow.protocols.http2.Hpack].integerEncodedOverTooManyOctets(int)'
      Src: io.undertow.protocols.http2.Hpack:179,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Hpack:181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - int
      - int
      - int[]
      - HeaderField[]
      - int
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.HpackException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - source
    - n
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 187
    functionName: '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Hpack.java
    functionUses: 5
    functionsReached:
    - '[java.nio.ByteBuffer].position(io.undertow.protocols.http2.Hpack)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Hpack].integerEncodedOverTooManyOctets(int)'
    - '[java.nio.ByteBuffer].position()'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Hpack].decodeInteger(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Hpack:202,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.protocols.http2.Hpack,byte)'
      Src: io.undertow.protocols.http2.Hpack:204,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.protocols.http2.Hpack,byte)'
      Src: io.undertow.protocols.http2.Hpack:206,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Hpack:209,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Hpack:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - int
      - int
      - int[]
      - HeaderField[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - source
    - value
    - n
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: '[io.undertow.protocols.http2.Hpack].encodeInteger(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Hpack.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].put(io.undertow.protocols.http2.Hpack,byte)'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[java.nio.ByteBuffer].position()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Hpack].encodeInteger(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - int
      - int
      - int[]
      - HeaderField[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: '[io.undertow.protocols.http2.Hpack].toLower(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Hpack.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: '[io.undertow.protocols.http2.Hpack].toLower(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - int
      - int
      - int[]
      - HeaderField[]
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Hpack
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: '[io.undertow.protocols.http2.Hpack].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Hpack.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Hpack
    signature: '[io.undertow.protocols.http2.Hpack].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.protocols.http2.Hpack.HeaderField:132,1
    - Dst: '[String].length()'
      Src: io.undertow.protocols.http2.Hpack.HeaderField:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - HttpString
      - String
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Hpack.HeaderField
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: '[io.undertow.protocols.http2.Hpack.HeaderField].<init>(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Hpack.java
    functionUses: 1
    functionsReached:
    - '[String].length()'
    - '[io.undertow.util.HttpString].length()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Hpack.HeaderField
    signature: '[io.undertow.protocols.http2.Hpack.HeaderField].<init>(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.StreamErrorException
      static: false
      superClass: java.io.IOException
    argCount: 1
    argNames:
    - errorId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.protocols.http2.StreamErrorException].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/StreamErrorException.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.StreamErrorException
    signature: '[io.undertow.protocols.http2.StreamErrorException].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: java.io.IOException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.protocols.http2.StreamErrorException].getErrorId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/StreamErrorException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.StreamErrorException].getErrorId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2HeaderBlockParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
      Src: io.undertow.protocols.http2.Http2PushPromiseParser:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.protocols.http2.HpackDecoder
      - boolean
      - int
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PushPromiseParser
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 6
    argNames:
    - frameLength
    - hpackDecoder
    - client
    - maxHeaders
    - streamId
    - maxHeaderListSize
    argTypes:
    - int
    - io.undertow.protocols.http2.HpackDecoder
    - boolean
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2HeaderBlockParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PushPromiseParser
    signature: '[io.undertow.protocols.http2.Http2PushPromiseParser].<init>(int,io.undertow.protocols.http2.HpackDecoder,boolean,int,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Bits].anyAreSet(int,int)'
      Src: io.undertow.protocols.http2.Http2PushPromiseParser:42,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2PushPromiseParser:44,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2PushPromiseParser:48,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2PushPromiseParser:50,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2PushPromiseParser:51,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2PushPromiseParser:52,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2PushPromiseParser:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 2
    argNames:
    - resource
    - headerParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseParser].handleBeforeHeader(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[org.xnio.Bits].anyAreSet(int,int)'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2PushPromiseParser].handleBeforeHeader(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseParser].getPaddingLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PushPromiseParser].getPaddingLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2HeaderBlockParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.protocols.http2.Http2PushPromiseParser].getPromisedStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushPromiseParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PushPromiseParser].getPromisedStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.Http2PushBackParser
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushBackParser.java
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PushBackParser
    signature: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].limit()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:48,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:52,1
    - Dst: Math.min(io.undertow.protocols.http2.Http2PushBackParser,io.undertow.protocols.http2.Http2PushBackParser)
      Src: io.undertow.protocols.http2.Http2PushBackParser:52,1
    - Dst: '[java.nio.ByteBuffer].wrap()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:53,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].put(byte[])'
      Src: io.undertow.protocols.http2.Http2PushBackParser:54,1
    - Dst: '[java.nio.ByteBuffer].position()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:55,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.protocols.http2.Http2PushBackParser)'
      Src: io.undertow.protocols.http2.Http2PushBackParser:55,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].put(java.nio.ByteBuffer)'
      Src: io.undertow.protocols.http2.Http2PushBackParser:56,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].flip()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:57,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].remaining()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:59,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].position()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:60,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].limit(io.undertow.protocols.http2.Http2PushBackParser)'
      Src: io.undertow.protocols.http2.Http2PushBackParser:60,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].remaining()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:62,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].handleData(io.undertow.protocols.http2.Http2PushBackParser,io.undertow.protocols.http2.Http2FrameHeaderParser)'
      Src: io.undertow.protocols.http2.Http2PushBackParser:63,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].remaining()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:64,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].isFinished()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:65,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].remaining()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:65,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].parserDidNotMakeProgress()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:67,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.protocols.http2.Http2PushBackParser)'
      Src: io.undertow.protocols.http2.Http2PushBackParser:77,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].remaining()'
      Src: io.undertow.protocols.http2.Http2PushBackParser:79,1
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].get(byte[])'
      Src: io.undertow.protocols.http2.Http2PushBackParser:82,1
    - Dst: '[java.nio.ByteBuffer].limit(io.undertow.protocols.http2.Http2PushBackParser)'
      Src: io.undertow.protocols.http2.Http2PushBackParser:86,1
    - Dst: original.addSuppressed(io.undertow.protocols.http2.Http2PushBackParser)
      Src: io.undertow.protocols.http2.Http2PushBackParser:94,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - data
    - headerParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 111
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 111
    functionName: '[io.undertow.protocols.http2.Http2PushBackParser].parse(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushBackParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].limit(io.undertow.protocols.http2.Http2PushBackParser)'
    - '[io.undertow.protocols.http2.Http2PushBackParser].position()'
    - original.addSuppressed(io.undertow.protocols.http2.Http2PushBackParser)
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Http2PushBackParser].put(byte[])'
    - '[io.undertow.protocols.http2.Http2PushBackParser].get(byte[])'
    - '[io.undertow.protocols.http2.Http2PushBackParser].handleData(io.undertow.protocols.http2.Http2PushBackParser,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    - '[io.undertow.protocols.http2.Http2PushBackParser].put(java.nio.ByteBuffer)'
    - '[io.undertow.protocols.http2.Http2PushBackParser].parserDidNotMakeProgress()'
    - '[java.nio.ByteBuffer].position()'
    - Math.min(io.undertow.protocols.http2.Http2PushBackParser,io.undertow.protocols.http2.Http2PushBackParser)
    - '[io.undertow.protocols.http2.Http2PushBackParser].remaining()'
    - '[io.undertow.protocols.http2.Http2PushBackParser].isFinished()'
    - '[io.undertow.protocols.http2.Http2PushBackParser].flip()'
    - '[java.nio.ByteBuffer].wrap()'
    - '[java.nio.ByteBuffer].limit(io.undertow.protocols.http2.Http2PushBackParser)'
    - '[java.nio.ByteBuffer].limit()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PushBackParser].parse(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: false
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - resource
    - headerParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: '[io.undertow.protocols.http2.Http2PushBackParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushBackParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PushBackParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: '[io.undertow.protocols.http2.Http2PushBackParser].isFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushBackParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2PushBackParser].isFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: '[io.undertow.protocols.http2.Http2PushBackParser].finish()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushBackParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PushBackParser].finish()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: '[io.undertow.protocols.http2.Http2PushBackParser].moreData(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushBackParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2PushBackParser].moreData(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - byte[]
      - boolean
      - int
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: '[io.undertow.protocols.http2.Http2PushBackParser].getFrameLength()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PushBackParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2PushBackParser].getFrameLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:29,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:30,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:31,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - java.nio.ByteBuffer
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(java.nio.ByteBuffer,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2ProtocolUtils.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(java.nio.ByteBuffer,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:36,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:37,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:38,1
    - Dst: '[java.nio.ByteBuffer].put(int,byte)'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - value
    - position
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2ProtocolUtils.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].put(int,byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:43,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:44,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:45,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2ProtocolUtils:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2ProtocolUtils.java
    functionUses: 4
    functionsReached:
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2ProtocolUtils].readInt(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2ProtocolUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.protocols.http2.Http2ProtocolUtils].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2ProtocolUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2ProtocolUtils
    signature: '[io.undertow.protocols.http2.Http2ProtocolUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2RstStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 3
    argNames:
    - channel
    - streamId
    - errorCode
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - int
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2RstStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2RstStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:43,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2RstStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:44,1
    - Dst: '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:45,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2RstStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:46,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2RstStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:47,1
    - Dst: '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:48,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2RstStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:49,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.protocols.http2.Http2RstStreamSinkChannel:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2RstStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2RstStreamSinkChannel,int)'
    - '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].flip()'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2RstStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].put(byte)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2RstStreamSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2DataFrameParser:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2DataFrameParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '[io.undertow.protocols.http2.Http2DataFrameParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataFrameParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2DataFrameParser
    signature: '[io.undertow.protocols.http2.Http2DataFrameParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.Bits].anyAreClear(int,int)'
      Src: io.undertow.protocols.http2.Http2DataFrameParser:39,1
    - Dst: '[io.undertow.protocols.http2.Http2DataFrameParser].finish()'
      Src: io.undertow.protocols.http2.Http2DataFrameParser:40,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int)'
      Src: io.undertow.protocols.http2.Http2DataFrameParser:46,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2DataFrameParser:48,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.protocols.http2.Http2DataFrameParser:49,1
    - Dst: '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int)'
      Src: io.undertow.protocols.http2.Http2DataFrameParser:52,1
    - Dst: '[io.undertow.protocols.http2.Http2DataFrameParser].finish()'
      Src: io.undertow.protocols.http2.Http2DataFrameParser:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions:
      - io.undertow.protocols.http2.ConnectionErrorException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - headerParser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: '[io.undertow.protocols.http2.Http2DataFrameParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataFrameParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2DataFrameParser].finish()'
    - '[io.undertow.protocols.http2.ConnectionErrorException].<init>(int)'
    - '[java.nio.ByteBuffer].remaining()'
    - '[org.xnio.Bits].anyAreClear(int,int)'
    - '[java.nio.ByteBuffer].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2DataFrameParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.protocols.http2.Http2DataFrameParser].getPadding()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2DataFrameParser.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2DataFrameParser].getPadding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,int)'
      Src: io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel:34,1
    - Dst: '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].lastFrame()'
      Src: io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.connector.PooledByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 4
    argNames:
    - framedChannel
    - data
    - errorCode
    - streamId
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.connector.PooledByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2RstStreamStreamSourceChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,int)'
    - '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].lastFrame()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel
    signature: '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.connector.PooledByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].getErrorCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2RstStreamStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].getErrorCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].getStreamId()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2RstStreamStreamSourceChannel.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.http2.Http2RstStreamStreamSourceChannel].getStreamId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:39,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].httpPingDataMustBeLength8()'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:41,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.protocols.http2.Http2PingStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - byte[]
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PingStreamSinkChannel
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 3
    argNames:
    - channel
    - data
    - ack
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - byte[]
    - boolean
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,byte[],boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PingStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>(io.undertow.protocols.http2.Http2PingStreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].httpPingDataMustBeLength8()'
    - '[io.undertow.protocols.http2.Http2NoDataStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PingStreamSinkChannel
    signature: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].<init>(io.undertow.protocols.http2.Http2Channel,byte[],boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].allocate(int)'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:49,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2PingStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:50,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].put(byte)'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:51,1
    - Dst: '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2PingStreamSinkChannel,int)'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:52,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].put()'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:54,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].flip()'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:56,1
    - Dst: '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2PingStreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:57,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
      Src: io.undertow.protocols.http2.Http2PingStreamSinkChannel:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - byte[]
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.protocol.framed.SendFrameHeader
      static: false
      superClass: io.undertow.protocols.http2.Http2NoDataStreamSinkChannel
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].createFrameHeader()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PingStreamSinkChannel.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].flip()'
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].put()'
    - '[io.undertow.protocols.http2.Http2ProtocolUtils].putInt(io.undertow.protocols.http2.Http2PingStreamSinkChannel,int)'
    - '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].put(byte)'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].<init>(io.undertow.util.ImmediatePooledByteBuffer)'
    - '[io.undertow.util.ImmediatePooledByteBuffer].<init>(io.undertow.protocols.http2.Http2PingStreamSinkChannel)'
    - '[java.nio.ByteBuffer].allocate(int)'
    linkageType: ''
    returnType: io.undertow.server.protocol.framed.SendFrameHeader
    signature: '[io.undertow.protocols.http2.Http2PingStreamSinkChannel].createFrameHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2FramePriority
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - nextId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.protocols.http2.Http2FramePriority].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FramePriority.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2FramePriority
    signature: '[io.undertow.protocols.http2.Http2FramePriority].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].getChannel()'
      Src: io.undertow.protocols.http2.Http2FramePriority:48,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].isClient()'
      Src: io.undertow.protocols.http2.Http2FramePriority:48,1
    - Dst: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].getPushedStreamId()'
      Src: io.undertow.protocols.http2.Http2FramePriority:51,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2FramePriority:58,1
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].isBroken()'
      Src: io.undertow.protocols.http2.Http2FramePriority:68,1
    - Dst: '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].isOpen()'
      Src: io.undertow.protocols.http2.Http2FramePriority:68,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].generateSendFrameHeader()'
      Src: io.undertow.protocols.http2.Http2FramePriority:72,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.protocols.http2.Http2FramePriority:74,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].clearHeader()'
      Src: io.undertow.protocols.http2.Http2FramePriority:76,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].debugf(String,io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2FramePriority:80,1
    - Dst: '[java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].add(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel)'
      Src: io.undertow.protocols.http2.Http2FramePriority:84,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
      - java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - newFrame
    - pendingFrames
    argTypes:
    - io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    - java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
    constantsTouched: []
    func_position:
      end: 89
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 89
    functionName: '[io.undertow.protocols.http2.Http2FramePriority].insertFrame(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel,java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FramePriority.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].add(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2FramePriority].debugf(String,io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].clearHeader()'
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].isOpen()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].generateSendFrameHeader()'
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].isBroken()'
    - '[io.undertow.protocols.http2.Http2FramePriority].isClient()'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
    - '[io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel].getChannel()'
    - '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].getPushedStreamId()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.http2.Http2FramePriority].insertFrame(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel,java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Deque<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].iterator()'
      Src: io.undertow.protocols.http2.Http2FramePriority:93,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].hasNext()'
      Src: io.undertow.protocols.http2.Http2FramePriority:94,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].next()'
      Src: io.undertow.protocols.http2.Http2FramePriority:95,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].getChannel()'
      Src: io.undertow.protocols.http2.Http2FramePriority:97,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].isClient()'
      Src: io.undertow.protocols.http2.Http2FramePriority:97,1
    - Dst: '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].getPushedStreamId()'
      Src: io.undertow.protocols.http2.Http2FramePriority:100,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
      Src: io.undertow.protocols.http2.Http2FramePriority:107,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].isOpen()'
      Src: io.undertow.protocols.http2.Http2FramePriority:116,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].generateSendFrameHeader()'
      Src: io.undertow.protocols.http2.Http2FramePriority:119,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].remove()'
      Src: io.undertow.protocols.http2.Http2FramePriority:121,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].isOpen()'
      Src: io.undertow.protocols.http2.Http2FramePriority:122,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2FramePriority)'
      Src: io.undertow.protocols.http2.Http2FramePriority:123,1
    - Dst: '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
      Src: io.undertow.protocols.http2.Http2FramePriority:129,1
    - Dst: '[java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].add(io.undertow.protocols.http2.Http2FramePriority)'
      Src: io.undertow.protocols.http2.Http2FramePriority:130,1
    - Dst: '[io.undertow.protocols.http2.Http2FramePriority].remove()'
      Src: io.undertow.protocols.http2.Http2FramePriority:131,1
    - Dst: '[java.util.Deque<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].iterator()'
      Src: io.undertow.protocols.http2.Http2FramePriority:132,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSinkChannel].clearHeader()'
      Src: io.undertow.protocols.http2.Http2FramePriority:138,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
      - java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
      - java.util.Deque<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - addedFrame
    - pendingFrames
    - holdFrames
    argTypes:
    - io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel
    - java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
    - java.util.Deque<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>
    constantsTouched: []
    func_position:
      end: 143
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 143
    functionName: '[io.undertow.protocols.http2.Http2FramePriority].frameAdded(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel,java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>,java.util.Deque<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2FramePriority.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2FramePriority].remove()'
    - '[org.xnio.IoUtils].safeClose(io.undertow.protocols.http2.Http2FramePriority)'
    - '[java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].add(io.undertow.protocols.http2.Http2FramePriority)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
    - '[java.util.Deque<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>].iterator()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].clearHeader()'
    - '[io.undertow.protocols.http2.Http2StreamSinkChannel].generateSendFrameHeader()'
    - '[io.undertow.protocols.http2.Http2FramePriority].isClient()'
    - '[io.undertow.protocols.http2.Http2FramePriority].getChannel()'
    - '[io.undertow.protocols.http2.Http2FramePriority].next()'
    - '[io.undertow.protocols.http2.Http2PushPromiseStreamSinkChannel].getPushedStreamId()'
    - '[io.undertow.protocols.http2.Http2FramePriority].hasNext()'
    - '[io.undertow.protocols.http2.Http2FramePriority].isOpen()'
    - '[io.undertow.server.protocol.framed.SendFrameHeader].getByteBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2FramePriority].frameAdded(io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel,java.util.List<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>,java.util.Deque<io.undertow.protocols.http2.AbstractHttp2StreamSinkChannel>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
      Src: io.undertow.protocols.http2.Http2PingParser:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.http2.Http2PingParser
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 1
    argNames:
    - frameLength
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.protocols.http2.Http2PingParser].<init>(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PingParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2PushBackParser].<init>(int)'
    linkageType: ''
    returnType: io.undertow.protocols.http2.Http2PingParser
    signature: '[io.undertow.protocols.http2.Http2PingParser].<init>(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PingParser].httpPingDataMustBeLength8()'
      Src: io.undertow.protocols.http2.Http2PingParser:44,1
    - Dst: '[java.io.IOException].<init>(io.undertow.protocols.http2.Http2PingParser)'
      Src: io.undertow.protocols.http2.Http2PingParser:44,1
    - Dst: '[io.undertow.protocols.http2.Http2PingParser].streamIdMustBeZeroForFrameType(int)'
      Src: io.undertow.protocols.http2.Http2PingParser:47,1
    - Dst: '[java.io.IOException].<init>(io.undertow.protocols.http2.Http2PingParser)'
      Src: io.undertow.protocols.http2.Http2PingParser:47,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.protocols.http2.Http2PingParser:49,1
    - Dst: '[java.nio.ByteBuffer].get(byte[])'
      Src: io.undertow.protocols.http2.Http2PingParser:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.protocols.http2.Http2FrameHeaderParser
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 2
    argNames:
    - resource
    - parser
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.protocols.http2.Http2FrameHeaderParser
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: '[io.undertow.protocols.http2.Http2PingParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PingParser.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.protocols.http2.Http2PingParser].httpPingDataMustBeLength8()'
    - '[io.undertow.protocols.http2.Http2PingParser].streamIdMustBeZeroForFrameType(int)'
    - '[java.io.IOException].<init>(io.undertow.protocols.http2.Http2PingParser)'
    - '[java.nio.ByteBuffer].get(byte[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.http2.Http2PingParser].handleData(java.nio.ByteBuffer,io.undertow.protocols.http2.Http2FrameHeaderParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: byte[]
      static: false
      superClass: io.undertow.protocols.http2.Http2PushBackParser
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.protocols.http2.Http2PingParser].getData()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/http2/Http2PingParser.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.protocols.http2.Http2PingParser].getData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getClass()'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:64,1
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getName()'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:64,1
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].equals(String)'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:64,1
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getOpenSSLAlpnMethods()'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields:
      - OpenSSLALPNMethods
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslEngine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].isEnabled(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getClass()'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getOpenSSLAlpnMethods()'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getName()'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].equals(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].isEnabled(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getOpenSSLAlpnMethods()'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:70,1
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].setApplicationProtocols()'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:70,1
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].invoke(javax.net.ssl.SSLEngine,Object)'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:70,1
    - Dst: '[RuntimeException].<init>(io.undertow.protocols.alpn.OpenSSLAlpnProvider)'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - String[]
      classConcrete: true
      classEnum: false
      classFields:
      - OpenSSLALPNMethods
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - engine
    - protocols
    argTypes:
    - javax.net.ssl.SSLEngine
    - String[]
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].setProtocols(javax.net.ssl.SSLEngine,String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.protocols.alpn.OpenSSLAlpnProvider)'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getOpenSSLAlpnMethods()'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].invoke(javax.net.ssl.SSLEngine,Object)'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].setApplicationProtocols()'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].setProtocols(javax.net.ssl.SSLEngine,String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getOpenSSLAlpnMethods()'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:80,1
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].getApplicationProtocol()'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:80,1
    - Dst: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].invoke(javax.net.ssl.SSLEngine)'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:80,1
    - Dst: '[RuntimeException].<init>(io.undertow.protocols.alpn.OpenSSLAlpnProvider)'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields:
      - OpenSSLALPNMethods
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - engine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getSelectedProtocol(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.protocols.alpn.OpenSSLAlpnProvider)'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].getApplicationProtocol()'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getOpenSSLAlpnMethods()'
    - '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].invoke(javax.net.ssl.SSLEngine)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getSelectedProtocol(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.PrivilegedAction].<init>()'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:90,1
    - Dst: '[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)'
      Src: io.undertow.protocols.alpn.OpenSSLAlpnProvider:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OpenSSLALPNMethods
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: OpenSSLALPNMethods
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getOpenSSLAlpnMethods()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 3
    functionsReached:
    - '[java.security.PrivilegedAction].<init>()'
    - '[java.security.AccessController].doPrivileged(java.security.PrivilegedAction)'
    linkageType: ''
    returnType: OpenSSLALPNMethods
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getOpenSSLAlpnMethods()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OpenSSLALPNMethods
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getPriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].getPriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OpenSSLALPNMethods
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - OpenSSLALPNMethods
      - boolean
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.alpn.OpenSSLAlpnProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.alpn.OpenSSLAlpnProvider
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Method
      - Method
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - Method
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - setApplicationProtocols
    - getApplicationProtocol
    argTypes:
    - Method
    - Method
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].<init>(Method,Method)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].<init>(Method,Method)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - Method
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Method
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].getApplicationProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Method
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].getApplicationProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Method
      - Method
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Method
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].setApplicationProtocols()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/OpenSSLAlpnProvider.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Method
    signature: '[io.undertow.protocols.alpn.OpenSSLAlpnProvider.OpenSSLALPNMethods].setApplicationProtocols()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ALPNManager.class.getClassLoader()
      Src: io.undertow.protocols.alpn.ALPNManager:38,1
    - Dst: '[io.undertow.protocols.alpn.ALPNManager].<init>(io.undertow.protocols.alpn.ALPNManager)'
      Src: io.undertow.protocols.alpn.ALPNManager:38,1
    - Dst: '[java.util.ServiceLoader].load(ClassLoader)'
      Src: io.undertow.protocols.alpn.ALPNManager:41,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.alpn.ALPNManager:42,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.alpn.ALPNManager)'
      Src: io.undertow.protocols.alpn.ALPNManager:44,1
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.protocols.alpn.ALPNManager:46,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
      Src: io.undertow.protocols.alpn.ALPNManager:46,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.protocols.alpn.ALPNManager:52,1
    - Dst: '[java.util.ServiceLoader].load(ClassLoader)'
      Src: io.undertow.protocols.alpn.ALPNManager:54,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.protocols.alpn.ALPNManager:55,1
    - Dst: '[java.util.ArrayList].add(io.undertow.protocols.alpn.ALPNManager)'
      Src: io.undertow.protocols.alpn.ALPNManager:57,1
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.protocols.alpn.ALPNManager:59,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
      Src: io.undertow.protocols.alpn.ALPNManager:59,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.protocols.alpn.ALPNManager:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - ALPNProvider[]
      - ALPNEngineManager[]
      - io.undertow.protocols.alpn.ALPNManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.alpn.ALPNManager
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - classLoader
    argTypes:
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: '[io.undertow.protocols.alpn.ALPNManager].<init>(ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
    - '[java.util.ArrayList].add(io.undertow.protocols.alpn.ALPNManager)'
    - '[java.util.Comparator].<init>()'
    - '[io.undertow.protocols.alpn.ALPNManager].<init>(io.undertow.protocols.alpn.ALPNManager)'
    - '[java.util.ArrayList].toArray()'
    - ALPNManager.class.getClassLoader()
    - '[java.util.ServiceLoader].load(ClassLoader)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.alpn.ALPNManager
    signature: '[io.undertow.protocols.alpn.ALPNManager].<init>(ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: provider.isEnabled(javax.net.ssl.SSLEngine)
      Src: io.undertow.protocols.alpn.ALPNManager:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields:
      - ALPNProvider[]
      - ALPNEngineManager[]
      - io.undertow.protocols.alpn.ALPNManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.alpn.ALPNProvider
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - engine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: '[io.undertow.protocols.alpn.ALPNManager].getProvider(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNManager.java
    functionUses: 1
    functionsReached:
    - provider.isEnabled(javax.net.ssl.SSLEngine)
    linkageType: ''
    returnType: io.undertow.protocols.alpn.ALPNProvider
    signature: '[io.undertow.protocols.alpn.ALPNManager].getProvider(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: manager.registerEngine(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)
      Src: io.undertow.protocols.alpn.ALPNManager:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      classConcrete: true
      classEnum: false
      classFields:
      - ALPNProvider[]
      - ALPNEngineManager[]
      - io.undertow.protocols.alpn.ALPNManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - original
    - selectionFunction
    argTypes:
    - javax.net.ssl.SSLEngine
    - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: '[io.undertow.protocols.alpn.ALPNManager].registerEngineCallback(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNManager.java
    functionUses: 0
    functionsReached:
    - manager.registerEngine(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.protocols.alpn.ALPNManager].registerEngineCallback(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNEngineManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: '[io.undertow.protocols.alpn.DefaultAlpnEngineManager].getPriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/DefaultAlpnEngineManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.alpn.DefaultAlpnEngineManager].getPriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>].apply(javax.net.ssl.SSLEngine)'
      Src: io.undertow.protocols.alpn.DefaultAlpnEngineManager:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNEngineManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - engine
    - selectedFunction
    argTypes:
    - javax.net.ssl.SSLEngine
    - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: '[io.undertow.protocols.alpn.DefaultAlpnEngineManager].registerEngine(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/DefaultAlpnEngineManager.java
    functionUses: 0
    functionsReached:
    - '[java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>].apply(javax.net.ssl.SSLEngine)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.alpn.DefaultAlpnEngineManager].registerEngine(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNEngineManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.alpn.DefaultAlpnEngineManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.alpn.DefaultAlpnEngineManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/DefaultAlpnEngineManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.alpn.DefaultAlpnEngineManager
    signature: '[io.undertow.protocols.alpn.DefaultAlpnEngineManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslEngine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.protocols.alpn.ALPNProvider].isEnabled(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.alpn.ALPNProvider].isEnabled(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - String[]
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - engine
    - protocols
    argTypes:
    - javax.net.ssl.SSLEngine
    - String[]
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[io.undertow.protocols.alpn.ALPNProvider].setProtocols(javax.net.ssl.SSLEngine,String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.alpn.ALPNProvider].setProtocols(javax.net.ssl.SSLEngine,String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - engine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '[io.undertow.protocols.alpn.ALPNProvider].getSelectedProtocol(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.alpn.ALPNProvider].getSelectedProtocol(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '[io.undertow.protocols.alpn.ALPNProvider].getPriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.alpn.ALPNProvider].getPriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.alpn.ALPNProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.alpn.ALPNProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.alpn.ALPNProvider
    signature: '[io.undertow.protocols.alpn.ALPNProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sslEngine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].isEnabled(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ModularJdkAlpnProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].isEnabled(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getSSLParameters()'
      Src: io.undertow.protocols.alpn.ModularJdkAlpnProvider:40,1
    - Dst: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].setApplicationProtocols(String[])'
      Src: io.undertow.protocols.alpn.ModularJdkAlpnProvider:41,1
    - Dst: '[javax.net.ssl.SSLEngine].setSSLParameters(io.undertow.protocols.alpn.ModularJdkAlpnProvider)'
      Src: io.undertow.protocols.alpn.ModularJdkAlpnProvider:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - String[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLEngine
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - engine
    - protocols
    argTypes:
    - javax.net.ssl.SSLEngine
    - String[]
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].setProtocols(javax.net.ssl.SSLEngine,String[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ModularJdkAlpnProvider.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getSSLParameters()'
    - '[javax.net.ssl.SSLEngine].setSSLParameters(io.undertow.protocols.alpn.ModularJdkAlpnProvider)'
    - '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].setApplicationProtocols(String[])'
    linkageType: ''
    returnType: javax.net.ssl.SSLEngine
    signature: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].setProtocols(javax.net.ssl.SSLEngine,String[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLEngine].getApplicationProtocol()'
      Src: io.undertow.protocols.alpn.ModularJdkAlpnProvider:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - engine
    argTypes:
    - javax.net.ssl.SSLEngine
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].getSelectedProtocol(javax.net.ssl.SSLEngine)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ModularJdkAlpnProvider.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLEngine].getApplicationProtocol()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].getSelectedProtocol(javax.net.ssl.SSLEngine)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].getPriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ModularJdkAlpnProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].getPriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ModularJdkAlpnProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.protocols.alpn.ALPNProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.alpn.ModularJdkAlpnProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ModularJdkAlpnProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.alpn.ModularJdkAlpnProvider
    signature: '[io.undertow.protocols.alpn.ModularJdkAlpnProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '[io.undertow.protocols.alpn.ALPNEngineManager].getPriority()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNEngineManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.protocols.alpn.ALPNEngineManager].getPriority()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - javax.net.ssl.SSLEngine
      - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - engine
    - selectedFunction
    argTypes:
    - javax.net.ssl.SSLEngine
    - java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.protocols.alpn.ALPNEngineManager].registerEngine(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNEngineManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.protocols.alpn.ALPNEngineManager].registerEngine(javax.net.ssl.SSLEngine,java.util.function.Function<javax.net.ssl.SSLEngine,javax.net.ssl.SSLEngine>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.alpn.ALPNEngineManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.protocols.alpn.ALPNEngineManager].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/protocols/alpn/ALPNEngineManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.protocols.alpn.ALPNEngineManager
    signature: '[io.undertow.protocols.alpn.ALPNEngineManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '[io.undertow.client.ClientProvider].handlesSchemes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.client.ClientProvider].handlesSchemes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientProvider.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientProvider.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientProvider.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientProvider.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ClientProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientProvider
    signature: '[io.undertow.client.ClientProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientRequest
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - request
    - clientCallback
    argTypes:
    - io.undertow.client.ClientRequest
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '[io.undertow.client.ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '[io.undertow.client.ClientConnection].performUpgrade()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.client.ClientConnection].performUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '[io.undertow.client.ClientConnection].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.client.ClientConnection].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '[io.undertow.client.ClientConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.ClientConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: A
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '[io.undertow.client.ClientConnection].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.ClientConnection].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: ChannelListener.Setter<?extendsClientConnection>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '[io.undertow.client.ClientConnection].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsClientConnection>
    signature: '[io.undertow.client.ClientConnection].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '[io.undertow.client.ClientConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.ClientConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: A
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '[io.undertow.client.ClientConnection].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.ClientConnection].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: '[io.undertow.client.ClientConnection].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.client.ClientConnection].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '[io.undertow.client.ClientConnection].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.client.ClientConnection].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '[io.undertow.client.ClientConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ClientConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '[io.undertow.client.ClientConnection].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ClientConnection].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '[io.undertow.client.ClientConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.ClientConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: '[io.undertow.client.ClientConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.ClientConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '[io.undertow.client.ClientConnection].isUpgraded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ClientConnection].isUpgraded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '[io.undertow.client.ClientConnection].isPushSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ClientConnection].isPushSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '[io.undertow.client.ClientConnection].isMultiplexingSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ClientConnection].isMultiplexingSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '[io.undertow.client.ClientConnection].getStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientStatistics
    signature: '[io.undertow.client.ClientConnection].getStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: '[io.undertow.client.ClientConnection].isUpgradeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ClientConnection].isUpgradeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '[io.undertow.client.ClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[io.undertow.client.ClientConnection].isPingSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ClientConnection].isPingSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].pingNotSupported()'
      Src: io.undertow.client.ClientConnection:135,1
    - Dst: '[io.undertow.client.ClientConnection.PingListener].failed(io.undertow.client.ClientConnection)'
      Src: io.undertow.client.ClientConnection:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - PingListener
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - listener
    - timeout
    - timeUnit
    argTypes:
    - PingListener
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: '[io.undertow.client.ClientConnection].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientConnection.PingListener].failed(io.undertow.client.ClientConnection)'
    - '[io.undertow.client.ClientConnection].pingNotSupported()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientConnection].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ClientConnection].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientConnection
    signature: '[io.undertow.client.ClientConnection].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: '[io.undertow.client.ClientConnection.PingListener].acknowledged()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientConnection.PingListener].acknowledged()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '[io.undertow.client.ClientConnection.PingListener].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientConnection.PingListener].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientConnection.PingListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ClientConnection.PingListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientConnection.PingListener
    signature: '[io.undertow.client.ClientConnection.PingListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseListener
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.client.ClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ContinueNotification
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - continueHandler
    argTypes:
    - io.undertow.client.ContinueNotification
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[io.undertow.client.ClientExchange].setContinueHandler(io.undertow.client.ContinueNotification)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientExchange].setContinueHandler(io.undertow.client.ContinueNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.PushCallback
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pushCallback
    argTypes:
    - io.undertow.client.PushCallback
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.client.ClientExchange].setPushHandler(io.undertow.client.PushCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientExchange].setPushHandler(io.undertow.client.PushCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.channels.StreamSinkChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '[io.undertow.client.ClientExchange].getRequestChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.StreamSinkChannel
    signature: '[io.undertow.client.ClientExchange].getRequestChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.channels.StreamSourceChannel
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '[io.undertow.client.ClientExchange].getResponseChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.StreamSourceChannel
    signature: '[io.undertow.client.ClientExchange].getResponseChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientRequest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '[io.undertow.client.ClientExchange].getRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientRequest
    signature: '[io.undertow.client.ClientExchange].getRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '[io.undertow.client.ClientExchange].getResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.ClientExchange].getResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '[io.undertow.client.ClientExchange].getContinueResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.ClientExchange].getContinueResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '[io.undertow.client.ClientExchange].getConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientConnection
    signature: '[io.undertow.client.ClientExchange].getConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientExchange
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ClientExchange].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientExchange
    signature: '[io.undertow.client.ClientExchange].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:30,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:31,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:32,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:33,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:34,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:36,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:37,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:38,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:39,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:40,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:41,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:42,1
    - Dst: '[io.undertow.util.AttachmentKey].create()'
      Src: io.undertow.client.ProxiedRequestAttachments:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<Integer>
      - io.undertow.util.AttachmentKey<Boolean>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<String>
      - io.undertow.util.AttachmentKey<byte[]>
      - io.undertow.util.AttachmentKey<Integer>
      - io.undertow.util.AttachmentKey<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ProxiedRequestAttachments
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ProxiedRequestAttachments].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ProxiedRequestAttachments.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.AttachmentKey].create()'
    linkageType: ''
    returnType: io.undertow.client.ProxiedRequestAttachments
    signature: '[io.undertow.client.ProxiedRequestAttachments].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '[io.undertow.client.ClientStatistics].getRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.ClientStatistics].getRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '[io.undertow.client.ClientStatistics].getRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientStatistics.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.ClientStatistics].getRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '[io.undertow.client.ClientStatistics].getWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientStatistics.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.ClientStatistics].getWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.client.ClientStatistics].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientStatistics.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientStatistics].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ClientStatistics].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientStatistics.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientStatistics
    signature: '[io.undertow.client.ClientStatistics].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientExchange
      - io.undertow.client.ClientExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - originalRequest
    - pushedRequest
    argTypes:
    - io.undertow.client.ClientExchange
    - io.undertow.client.ClientExchange
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '[io.undertow.client.PushCallback].handlePush(io.undertow.client.ClientExchange,io.undertow.client.ClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/PushCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.PushCallback].handlePush(io.undertow.client.ClientExchange,io.undertow.client.ClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.PushCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.PushCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/PushCallback.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.PushCallback
    signature: '[io.undertow.client.PushCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientExchange
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.client.ClientExchange
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '[io.undertow.client.ContinueNotification].handleContinue(io.undertow.client.ClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ContinueNotification.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ContinueNotification].handleContinue(io.undertow.client.ClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ContinueNotification
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ContinueNotification].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ContinueNotification.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ContinueNotification
    signature: '[io.undertow.client.ContinueNotification].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].<init>()'
      Src: io.undertow.client.UndertowClient:48,1
    - Dst: UndertowClient.class.getClassLoader()
      Src: io.undertow.client.UndertowClient:51,1
    - Dst: '[io.undertow.client.UndertowClient].<init>(io.undertow.client.UndertowClient)'
      Src: io.undertow.client.UndertowClient:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.client.UndertowClient].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.client.UndertowClient].<init>()'
    - UndertowClient.class.getClassLoader()
    - '[io.undertow.client.UndertowClient].<init>(io.undertow.client.UndertowClient)'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.UndertowClient].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].<init>()'
      Src: io.undertow.client.UndertowClient:48,1
    - Dst: java.security.AccessController.doPrivileged(java.security.PrivilegedAction<java.util.ServiceLoader<io.undertow.client.ClientProvider>>)
      Src: io.undertow.client.UndertowClient:56,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.client.UndertowClient:58,1
    - Dst: provider.handlesSchemes()
      Src: io.undertow.client.UndertowClient:60,1
    - Dst: '[java.util.HashMap].put(io.undertow.client.UndertowClient,io.undertow.client.UndertowClient)'
      Src: io.undertow.client.UndertowClient:61,1
    - Dst: '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
      Src: io.undertow.client.UndertowClient:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClient
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - classLoader
    argTypes:
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: '[io.undertow.client.UndertowClient].<init>(ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.UndertowClient].<init>()'
    - '[java.util.HashMap].<init>()'
    - provider.handlesSchemes()
    - '[java.util.Collections].unmodifiableMap(java.util.HashMap)'
    - '[java.util.HashMap].put(io.undertow.client.UndertowClient,io.undertow.client.UndertowClient)'
    - java.security.AccessController.doPrivileged(java.security.PrivilegedAction<java.util.ServiceLoader<io.undertow.client.ClientProvider>>)
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.UndertowClient].<init>(ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - org.xnio.XnioWorker
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - uri
    - worker
    - bufferPool
    - options
    argTypes:
    - java.net.URI
    - org.xnio.XnioWorker
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
    signature: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - bindAddress
    - uri
    - worker
    - bufferPool
    - options
    argTypes:
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
    signature: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
    signature: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
      Src: io.undertow.client.UndertowClient:80,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.client.UndertowClient:81,1
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.UndertowClient:82,1
    - Dst: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:82,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.client.UndertowClient:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - bindAddress
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.client.ClientCallback].<init>()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
    signature: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - uri
    - ioThread
    - bufferPool
    - options
    argTypes:
    - java.net.URI
    - org.xnio.XnioIoThread
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
    signature: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - bindAddress
    - uri
    - ioThread
    - bufferPool
    - options
    argTypes:
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
    signature: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
    signature: '[io.undertow.client.UndertowClient].connect(java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
      Src: io.undertow.client.UndertowClient:110,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.client.UndertowClient:111,1
    - Dst: '[io.undertow.client.ClientCallback].<init>()'
      Src: io.undertow.client.UndertowClient:112,1
    - Dst: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:112,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.client.UndertowClient:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - bindAddress
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    - '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.client.ClientCallback].<init>()'
    - '[org.xnio.FutureResult].<init>()'
    linkageType: ''
    returnType: org.xnio.IoFuture<io.undertow.client.ClientConnection>
    signature: '[io.undertow.client.UndertowClient].connect(java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioWorker
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - listener
    - uri
    - worker
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioWorker
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - bindAddress
    - uri
    - worker
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
      Src: io.undertow.client.UndertowClient:135,1
    - Dst: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    - '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
      Src: io.undertow.client.UndertowClient:140,1
    - Dst: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
    - '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - listener
    - uri
    - ioThread
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioIoThread
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - bindAddress
    - uri
    - ioThread
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,null,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
      Src: io.undertow.client.UndertowClient:154,1
    - Dst: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
    - '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
      Src: io.undertow.client.UndertowClient:159,1
    - Dst: '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.UndertowClient:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
    - '[io.undertow.client.ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClient].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.client.UndertowClient:164,1
    - Dst: '[java.util.Map<String,io.undertow.client.ClientProvider>].get(io.undertow.client.UndertowClient)'
      Src: io.undertow.client.UndertowClient:164,1
    - Dst: '[io.undertow.client.UndertowClient].unknownScheme(java.net.URI)'
      Src: io.undertow.client.UndertowClient:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientProvider
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - uri
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 6
    functionsReached:
    - '[java.util.Map<String,io.undertow.client.ClientProvider>].get(io.undertow.client.UndertowClient)'
    - '[io.undertow.client.UndertowClient].unknownScheme(java.net.URI)'
    - '[java.net.URI].getScheme()'
    linkageType: ''
    returnType: io.undertow.client.ClientProvider
    signature: '[io.undertow.client.UndertowClient].getClientProvider(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: '[io.undertow.client.UndertowClient].getInstance()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.UndertowClient].getInstance()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClient].<init>(ClassLoader)'
      Src: io.undertow.client.UndertowClient:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ClassLoader
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.Map<String,io.undertow.client.ClientProvider>
      - io.undertow.client.UndertowClient
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.UndertowClient
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - classLoader
    argTypes:
    - ClassLoader
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: '[io.undertow.client.UndertowClient].getInstance(ClassLoader)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClient.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClient].<init>(ClassLoader)'
    linkageType: ''
    returnType: io.undertow.client.UndertowClient
    signature: '[io.undertow.client.UndertowClient].getInstance(ClassLoader)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - T
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '[io.undertow.client.ClientCallback].completed(T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientCallback].completed(T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '[io.undertow.client.ClientCallback].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientCallback.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ClientCallback].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientCallback
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ClientCallback].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientCallback.java
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientCallback
    signature: '[io.undertow.client.ClientCallback].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ALPNClientSelector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.client.ALPNClientSelector].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ALPNClientSelector.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ALPNClientSelector
    signature: '[io.undertow.client.ALPNClientSelector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslConduit(org.xnio.ssl.SslConnection)'
      Src: io.undertow.client.ALPNClientSelector:49,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
      Src: io.undertow.client.ALPNClientSelector:51,1
    - Dst: '[io.undertow.protocols.alpn.ALPNManager].getProvider(javax.net.ssl.SSLEngine)'
      Src: io.undertow.client.ALPNClientSelector:51,1
    - Dst: '[org.xnio.ChannelListener<org.xnio.ssl.SslConnection>].handleEvent(org.xnio.ssl.SslConnection)'
      Src: io.undertow.client.ALPNClientSelector:53,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.client.ALPNClientSelector:57,1
    - Dst: details[i].getProtocol()
      Src: io.undertow.client.ALPNClientSelector:59,1
    - Dst: details[i].getProtocol()
      Src: io.undertow.client.ALPNClientSelector:60,1
    - Dst: '[java.util.HashMap].put(io.undertow.client.ALPNClientSelector)'
      Src: io.undertow.client.ALPNClientSelector:60,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
      Src: io.undertow.client.ALPNClientSelector:62,1
    - Dst: '[io.undertow.protocols.alpn.ALPNProvider].setProtocols(javax.net.ssl.SSLEngine,io.undertow.client.ALPNClientSelector)'
      Src: io.undertow.client.ALPNClientSelector:62,1
    - Dst: '[io.undertow.protocols.ssl.SslConduit].setSslEngine(javax.net.ssl.SSLEngine)'
      Src: io.undertow.client.ALPNClientSelector:63,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>(boolean)'
      Src: io.undertow.client.ALPNClientSelector:64,1
    - Dst: '[org.xnio.ssl.SslConnection].startHandshake()'
      Src: io.undertow.client.ALPNClientSelector:67,1
    - Dst: '[org.xnio.ssl.SslConnection].getHandshakeSetter()'
      Src: io.undertow.client.ALPNClientSelector:68,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.ALPNClientSelector:68,1
    - Dst: '[io.undertow.client.ALPNClientSelector].set(org.xnio.ChannelListener)'
      Src: io.undertow.client.ALPNClientSelector:68,1
    - Dst: '[org.xnio.ssl.SslConnection].getSourceChannel()'
      Src: io.undertow.client.ALPNClientSelector:77,1
    - Dst: '[io.undertow.client.ALPNClientSelector].getReadSetter()'
      Src: io.undertow.client.ALPNClientSelector:77,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.ALPNClientSelector:77,1
    - Dst: '[io.undertow.client.ALPNClientSelector].set(org.xnio.ChannelListener)'
      Src: io.undertow.client.ALPNClientSelector:77,1
    - Dst: '[org.xnio.ssl.SslConnection].getSourceChannel()'
      Src: io.undertow.client.ALPNClientSelector:130,1
    - Dst: '[io.undertow.client.ALPNClientSelector].resumeReads()'
      Src: io.undertow.client.ALPNClientSelector:130,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.ALPNClientSelector)'
      Src: io.undertow.client.ALPNClientSelector:132,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.ALPNClientSelector)'
      Src: io.undertow.client.ALPNClientSelector:134,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(java.io.IOException)'
      Src: io.undertow.client.ALPNClientSelector:134,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ssl.SslConnection
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - sslConnection
    - fallback
    - failedListener
    argTypes:
    - org.xnio.ssl.SslConnection
    - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 137
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 137
    functionName: '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,org.xnio.ChannelListener<org.xnio.ssl.SslConnection>,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ALPNClientSelector.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.protocols.alpn.ALPNProvider].setProtocols(javax.net.ssl.SSLEngine,io.undertow.client.ALPNClientSelector)'
    - '[io.undertow.protocols.ssl.SslConduit].setSslEngine(javax.net.ssl.SSLEngine)'
    - '[io.undertow.client.ALPNClientSelector].getReadSetter()'
    - details[i].getProtocol()
    - '[org.xnio.ChannelListener<org.xnio.ssl.SslConnection>].handleEvent(org.xnio.ssl.SslConnection)'
    - '[io.undertow.protocols.alpn.ALPNManager].getProvider(javax.net.ssl.SSLEngine)'
    - '[org.xnio.ssl.SslConnection].getSourceChannel()'
    - '[java.util.HashMap].put(io.undertow.client.ALPNClientSelector)'
    - '[org.xnio.ssl.SslConnection].getHandshakeSetter()'
    - '[org.xnio.ssl.SslConnection].startHandshake()'
    - '[io.undertow.protocols.ssl.SslConduit].getSSLEngine()'
    - '[io.undertow.client.ALPNClientSelector].set(org.xnio.ChannelListener)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.ALPNClientSelector)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.protocols.ssl.UndertowXnioSsl].getSslConduit(org.xnio.ssl.SslConnection)'
    - '[io.undertow.client.ALPNClientSelector].resumeReads()'
    - '[java.io.IOException].<init>(io.undertow.client.ALPNClientSelector)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(java.io.IOException)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,org.xnio.ChannelListener<org.xnio.ssl.SslConnection>,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener<SslConnection>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ALPNClientSelector.ALPNProtocol
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - selected
    - protocol
    argTypes:
    - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
    - String
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(org.xnio.ChannelListener<org.xnio.ssl.SslConnection>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ALPNClientSelector.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ALPNClientSelector.ALPNProtocol
    signature: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(org.xnio.ChannelListener<org.xnio.ssl.SslConnection>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener<SslConnection>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].getSelected()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ALPNClientSelector.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
    signature: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].getSelected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ChannelListener<SslConnection>
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ALPNClientSelector.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.client.ClientResponse:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - String
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 3
    argNames:
    - responseCode
    - status
    - protocol
    argTypes:
    - int
    - String
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: '[io.undertow.client.ClientResponse].<init>(int,String,io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientResponse.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.ClientResponse].<init>(int,String,io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HeaderMap
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - String
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 4
    argNames:
    - responseCode
    - status
    - protocol
    - headers
    argTypes:
    - int
    - String
    - io.undertow.util.HttpString
    - io.undertow.util.HeaderMap
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: '[io.undertow.client.ClientResponse].<init>(int,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientResponse.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.ClientResponse].<init>(int,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - String
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.client.ClientResponse].getResponseHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientResponse.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.client.ClientResponse].getResponseHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - String
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.client.ClientResponse].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientResponse.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.client.ClientResponse].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - String
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.client.ClientResponse].getResponseCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientResponse.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.client.ClientResponse].getResponseCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - String
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.client.ClientResponse].getStatus()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientResponse.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.ClientResponse].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - int
      - String
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: '[io.undertow.client.ClientResponse].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientResponse.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.ClientResponse].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: '[io.undertow.client.UndertowClientMessages].connectionClosed()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages].connectionClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: '[io.undertow.client.UndertowClientMessages].requestAlreadyWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.client.UndertowClientMessages].requestAlreadyWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - responseCode
    - reason
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: '[io.undertow.client.UndertowClientMessages].failedToUpgradeChannel(int,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages].failedToUpgradeChannel(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - length
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: '[io.undertow.client.UndertowClientMessages].illegalContentLength(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.client.UndertowClientMessages].illegalContentLength(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - uri
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: '[io.undertow.client.UndertowClientMessages].unknownScheme(java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.client.UndertowClientMessages].unknownScheme(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - transferEncodingString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: '[io.undertow.client.UndertowClientMessages].unknownTransferEncoding(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages].unknownTransferEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: '[io.undertow.client.UndertowClientMessages].invalidConnectionState()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages].invalidConnectionState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - packetType
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: '[io.undertow.client.UndertowClientMessages].unknownAjpMessageType(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages].unknownAjpMessageType(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: '[io.undertow.client.UndertowClientMessages].unknownMethod(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages].unknownMethod(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - remaining
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: '[io.undertow.client.UndertowClientMessages].dataStillRemainingInChunk(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages].dataStillRemainingInChunk(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: '[io.undertow.client.UndertowClientMessages].wrongMagicNumber(String,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages].wrongMagicNumber(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: '[io.undertow.client.UndertowClientMessages].receivedInvalidChunk(byte)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages].receivedInvalidChunk(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.nio.channels.ClosedChannelException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: '[io.undertow.client.UndertowClientMessages].closedConnectionState()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.nio.channels.ClosedChannelException
    signature: '[io.undertow.client.UndertowClientMessages].closedConnectionState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.UndertowClientMessages
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.UndertowClientMessages].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/UndertowClientMessages.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.UndertowClientMessages
    signature: '[io.undertow.client.UndertowClientMessages].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.client.ClientRequest].getRequestHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.client.ClientRequest].getRequestHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.client.ClientRequest].getPath()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.ClientRequest].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.client.ClientRequest].getMethod()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.client.ClientRequest].getMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.client.ClientRequest].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.client.ClientRequest].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientRequest
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.client.ClientRequest].setPath(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientRequest
    signature: '[io.undertow.client.ClientRequest].setPath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientRequest
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - method
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientRequest
    signature: '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientRequest
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: '[io.undertow.client.ClientRequest].setProtocol(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientRequest
    signature: '[io.undertow.client.ClientRequest].setProtocol(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: '[io.undertow.client.ClientRequest].toString()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.ClientRequest].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.client.ClientRequest:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.util.HeaderMap
      - String
      - io.undertow.util.HttpString
      - io.undertow.util.HttpString
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientRequest
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ClientRequest].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ClientRequest.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.client.ClientRequest
    signature: '[io.undertow.client.ClientRequest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.ResponseParser].parseVersion(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParser:55,1
    - Dst: '[io.undertow.client.http.ResponseParser].parseStatusCode(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParser:56,1
    - Dst: '[io.undertow.client.http.ResponseParser].parseReasonPhrase(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParser:57,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:58,1
    - Dst: '[io.undertow.client.http.ResponseState].isComplete()'
      Src: io.undertow.client.http.ResponseParser:58,1
    - Dst: '[io.undertow.client.http.ResponseParser].parseFieldName(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParser:59,1
    - Dst: '[io.undertow.client.http.ResponseParser].parseFieldValue(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
      Src: io.undertow.client.http.ResponseParser:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.client.http.ResponseState
      - io.undertow.client.http.HttpResponseBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.client.http.ResponseState
    - io.undertow.client.http.HttpResponseBuilder
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: '[io.undertow.client.http.ResponseParser].handle(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseParser.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.ResponseParser].parseReasonPhrase(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    - '[io.undertow.client.http.ResponseParser].parseFieldName(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    - '[io.undertow.client.http.ResponseState].isComplete()'
    - '[io.undertow.client.http.ResponseParser].parseStatusCode(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.client.http.ResponseParser].parseVersion(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    - '[io.undertow.client.http.ResponseParser].parseFieldValue(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParser].handle(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:65,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:71,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.client.http.ResponseParser:72,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:75,1
    - Dst: '[io.undertow.client.http.ResponseParser].isProtocolChar(io.undertow.client.http.ResponseParser,io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:75,1
    - Dst: sb.append(io.undertow.client.http.ResponseParser)
      Src: io.undertow.client.http.ResponseParser:77,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:78,1
    - Dst: '[io.undertow.client.http.ResponseParser].getProtocolLength()'
      Src: io.undertow.client.http.ResponseParser:78,1
    - Dst: sb.toString()
      Src: io.undertow.client.http.ResponseParser:80,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http.ResponseParser:81,1
    - Dst: '[String].equals(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:81,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParser:81,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http.ResponseParser:82,1
    - Dst: '[String].equals(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:82,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParser:82,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http.ResponseParser:83,1
    - Dst: '[String].equals(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:83,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParser:83,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http.ResponseParser:84,1
    - Dst: '[String].equals(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:84,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParser:84,1
    - Dst: '[io.undertow.client.http.ResponseParser].isTraceEnabled()'
      Src: io.undertow.client.http.ResponseParser:86,1
    - Dst: '[io.undertow.client.http.ResponseParser].tracef(String,io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:87,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.ResponseParser:89,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.client.http.ResponseParser:92,1
    - Dst: '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
      Src: io.undertow.client.http.ResponseParser:95,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.client.http.ResponseState
      - io.undertow.client.http.HttpResponseBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.client.http.ResponseState
    - io.undertow.client.http.HttpResponseBuilder
    constantsTouched: []
    func_position:
      end: 97
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 97
    functionName: '[io.undertow.client.http.ResponseParser].parseVersion(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].toString()'
    - sb.length()
    - '[String].equals(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.client.http.ResponseParser].isProtocolChar(io.undertow.client.http.ResponseParser,io.undertow.client.http.ResponseParser)'
    - '[io.undertow.client.http.ResponseParser].getProtocolLength()'
    - '[io.undertow.client.http.ResponseParser].tracef(String,io.undertow.client.http.ResponseParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - sb.toString()
    - '[StringBuilder].setLength(int)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.client.http.ResponseParser].isTraceEnabled()'
    - sb.append(io.undertow.client.http.ResponseParser)
    - '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
    - '[io.undertow.client.http.HttpResponseBuilder].setProtocol(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParser].parseVersion(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:100,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:106,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.client.http.ResponseParser:107,1
    - Dst: '[io.undertow.client.http.ResponseParser].isDigitChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:110,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:110,1
    - Dst: sb.append(io.undertow.client.http.ResponseParser)
      Src: io.undertow.client.http.ResponseParser:112,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:113,1
    - Dst: sb.toString()
      Src: io.undertow.client.http.ResponseParser:115,1
    - Dst: Integer.parseInt(io.undertow.client.http.ResponseParser)
      Src: io.undertow.client.http.ResponseParser:116,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].setStatusCode(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:116,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.client.http.ResponseParser:118,1
    - Dst: '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
      Src: io.undertow.client.http.ResponseParser:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.client.http.ResponseState
      - io.undertow.client.http.HttpResponseBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.client.http.ResponseState
    - io.undertow.client.http.HttpResponseBuilder
    constantsTouched: []
    func_position:
      end: 123
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 123
    functionName: '[io.undertow.client.http.ResponseParser].parseStatusCode(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseParser.java
    functionUses: 1
    functionsReached:
    - sb.length()
    - '[io.undertow.client.http.ResponseParser].isDigitChar(io.undertow.client.http.ResponseParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - sb.toString()
    - '[StringBuilder].setLength(int)'
    - '[java.nio.ByteBuffer].get()'
    - '[io.undertow.client.http.HttpResponseBuilder].setStatusCode(io.undertow.client.http.ResponseParser)'
    - sb.append(io.undertow.client.http.ResponseParser)
    - '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
    - Integer.parseInt(io.undertow.client.http.ResponseParser)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParser].parseStatusCode(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:126,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:132,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.client.http.ResponseParser:133,1
    - Dst: '[io.undertow.client.http.ResponseParser].isVisibleAsciiChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:136,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:136,1
    - Dst: '[io.undertow.client.http.ResponseParser].isObsoleteChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:136,1
    - Dst: sb.append(io.undertow.client.http.ResponseParser)
      Src: io.undertow.client.http.ResponseParser:138,1
    - Dst: sb.toString()
      Src: io.undertow.client.http.ResponseParser:144,1
    - Dst: '[io.undertow.client.http.ResponseParser].trim()'
      Src: io.undertow.client.http.ResponseParser:144,1
    - Dst: '[io.undertow.client.http.ResponseParser].isEmpty()'
      Src: io.undertow.client.http.ResponseParser:145,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].setReasonPhrase(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:145,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.client.http.ResponseParser:148,1
    - Dst: '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
      Src: io.undertow.client.http.ResponseParser:151,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.client.http.ResponseState
      - io.undertow.client.http.HttpResponseBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.client.http.ResponseState
    - io.undertow.client.http.HttpResponseBuilder
    constantsTouched: []
    func_position:
      end: 153
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 153
    functionName: '[io.undertow.client.http.ResponseParser].parseReasonPhrase(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http.ResponseParser].isObsoleteChar(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.client.http.HttpResponseBuilder].setReasonPhrase(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(io.undertow.client.http.ResponseParser)'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.client.http.ResponseParser].isEmpty()'
    - '[io.undertow.client.http.ResponseParser].isVisibleAsciiChar(io.undertow.client.http.ResponseParser)'
    - sb.toString()
    - '[StringBuilder].setLength(int)'
    - '[java.nio.ByteBuffer].get()'
    - sb.append(io.undertow.client.http.ResponseParser)
    - '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
    - '[io.undertow.client.http.ResponseParser].trim()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParser].parseReasonPhrase(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:156,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:162,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.client.http.ResponseParser:163,1
    - Dst: '[io.undertow.client.http.ResponseParser].isTokenChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:166,1
    - Dst: sb.append(io.undertow.client.http.ResponseParser)
      Src: io.undertow.client.http.ResponseParser:168,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:169,1
    - Dst: sb.toString()
      Src: io.undertow.client.http.ResponseParser:171,1
    - Dst: '[io.undertow.util.Headers].fromCache(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:172,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:173,1
    - Dst: '[StringBuilder].setLength(int)'
      Src: io.undertow.client.http.ResponseParser:175,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:178,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:181,1
    - Dst: '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
      Src: io.undertow.client.http.ResponseParser:186,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.client.http.ResponseState
      - io.undertow.client.http.HttpResponseBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.client.http.ResponseState
    - io.undertow.client.http.HttpResponseBuilder
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: '[io.undertow.client.http.ResponseParser].parseFieldName(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseParser.java
    functionUses: 1
    functionsReached:
    - sb.length()
    - '[java.nio.ByteBuffer].hasRemaining()'
    - sb.toString()
    - '[StringBuilder].setLength(int)'
    - '[java.nio.ByteBuffer].get()'
    - sb.append(io.undertow.client.http.ResponseParser)
    - '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
    - '[io.undertow.client.http.ResponseParser].isTokenChar(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.util.Headers].fromCache(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.util.HttpString].<init>(io.undertow.client.http.ResponseParser)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParser].parseFieldName(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:191,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.ResponseParser:197,1
    - Dst: '[java.nio.ByteBuffer].get()'
      Src: io.undertow.client.http.ResponseParser:198,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:201,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:201,1
    - Dst: '[io.undertow.client.http.ResponseParser].isVisibleAsciiChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:203,1
    - Dst: '[io.undertow.client.http.ResponseParser].isObsoleteChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:203,1
    - Dst: sb.append(io.undertow.client.http.ResponseParser)
      Src: io.undertow.client.http.ResponseParser:205,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:206,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(byte)'
      Src: io.undertow.client.http.ResponseParser:209,1
    - Dst: '[io.undertow.client.http.ResponseParser].isVisibleAsciiChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:209,1
    - Dst: '[io.undertow.client.http.ResponseParser].isObsoleteChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:209,1
    - Dst: sb.append(char)
      Src: io.undertow.client.http.ResponseParser:211,1
    - Dst: sb.append(io.undertow.client.http.ResponseParser)
      Src: io.undertow.client.http.ResponseParser:212,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(byte)'
      Src: io.undertow.client.http.ResponseParser:214,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:214,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(byte)'
      Src: io.undertow.client.http.ResponseParser:216,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:225,1
    - Dst: sb.length()
      Src: io.undertow.client.http.ResponseParser:227,1
    - Dst: sb.toString()
      Src: io.undertow.client.http.ResponseParser:228,1
    - Dst: '[io.undertow.client.http.ResponseParser].getBytes(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:228,1
    - Dst: '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar()'
      Src: io.undertow.client.http.ResponseParser:229,1
    - Dst: sb.append(char)
      Src: io.undertow.client.http.ResponseParser:229,1
    - Dst: '[io.undertow.client.http.ResponseParser].isTokenChar(io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:232,1
    - Dst: sb.toString()
      Src: io.undertow.client.http.ResponseParser:234,1
    - Dst: '[io.undertow.client.http.ResponseParser].trim()'
      Src: io.undertow.client.http.ResponseParser:234,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
      Src: io.undertow.client.http.ResponseParser:235,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:235,1
    - Dst: sb.setLength(int)
      Src: io.undertow.client.http.ResponseParser:237,1
    - Dst: sb.append(io.undertow.client.http.ResponseParser)
      Src: io.undertow.client.http.ResponseParser:238,1
    - Dst: sb.toString()
      Src: io.undertow.client.http.ResponseParser:245,1
    - Dst: '[io.undertow.client.http.ResponseParser].trim()'
      Src: io.undertow.client.http.ResponseParser:245,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
      Src: io.undertow.client.http.ResponseParser:246,1
    - Dst: '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.client.http.ResponseParser)'
      Src: io.undertow.client.http.ResponseParser:246,1
    - Dst: sb.setLength(int)
      Src: io.undertow.client.http.ResponseParser:248,1
    - Dst: '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
      Src: io.undertow.client.http.ResponseParser:253,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 88
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - io.undertow.client.http.ResponseState
      - io.undertow.client.http.HttpResponseBuilder
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - buffer
    - state
    - builder
    argTypes:
    - java.nio.ByteBuffer
    - io.undertow.client.http.ResponseState
    - io.undertow.client.http.HttpResponseBuilder
    constantsTouched: []
    func_position:
      end: 255
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 255
    functionName: '[io.undertow.client.http.ResponseParser].parseFieldValue(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar()'
    - sb.length()
    - '[io.undertow.client.http.ResponseParser].isObsoleteChar(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.util.HeaderMap].add(io.undertow.util.HttpString,io.undertow.client.http.ResponseParser)'
    - '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.client.http.ResponseParser].isSpaceOrTabChar(byte)'
    - '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
    - sb.append(char)
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.client.http.ResponseParser].getBytes(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.client.http.ResponseParser].isVisibleAsciiChar(io.undertow.client.http.ResponseParser)'
    - sb.toString()
    - '[java.nio.ByteBuffer].get()'
    - sb.setLength(int)
    - sb.append(io.undertow.client.http.ResponseParser)
    - '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
    - '[io.undertow.client.http.ResponseParser].isTokenChar(io.undertow.client.http.ResponseParser)'
    - '[io.undertow.client.http.ResponseParser].trim()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ResponseParser].parseFieldValue(java.nio.ByteBuffer,io.undertow.client.http.ResponseState,io.undertow.client.http.HttpResponseBuilder)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.ResponseParser].<init>()'
      Src: io.undertow.client.http.ResponseParser:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseParser
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.ResponseParser
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.ResponseParser].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseParser.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http.ResponseParser].<init>()'
    linkageType: ''
    returnType: io.undertow.client.http.ResponseParser
    signature: '[io.undertow.client.http.ResponseParser].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[RuntimeException].<init>(String)'
      Src: io.undertow.client.http.HttpResponseParseException:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.HttpResponseParseException
      static: false
      superClass: RuntimeException
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseParseException.java
    functionUses: 5
    functionsReached:
    - '[RuntimeException].<init>(String)'
    linkageType: ''
    returnType: io.undertow.client.http.HttpResponseParseException
    signature: '[io.undertow.client.http.HttpResponseParseException].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.ConduitListener].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:98,1
    - Dst: '[io.undertow.conduits.ConduitListener].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:106,1
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.client.http.HttpClientConnection:115,1
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:117,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:124,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:136,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:148,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.HttpClientConnection:153,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:154,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:155,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:155,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:155,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:155,1
    - Dst: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.http.HttpClientConnection:155,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.client.http.HttpClientConnection:155,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:161,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:161,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:161,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:161,1
    - Dst: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.http.HttpClientConnection:161,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:161,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:172,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:172,1
    - Dst: '[org.xnio.conduits.PushBackStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:172,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:173,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:173,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:175,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:175,1
    - Dst: '[org.xnio.StreamConnection].getCloseSetter()'
      Src: io.undertow.client.http.HttpClientConnection:177,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:177,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].set(org.xnio.ChannelListener)'
      Src: io.undertow.client.http.HttpClientConnection:177,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:205,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setReadListener(ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection:205,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:206,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].resumeReads()'
      Src: io.undertow.client.http.HttpClientConnection:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - org.xnio.OptionMap
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.HttpClientConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 3
    argNames:
    - connection
    - options
    - bufferPool
    argTypes:
    - org.xnio.StreamConnection
    - org.xnio.OptionMap
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 207
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 207
    functionName: '[io.undertow.client.http.HttpClientConnection].<init>(org.xnio.StreamConnection,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.ArrayDeque].<init>()'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
    - '[io.undertow.conduits.ConduitListener].<init>()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[org.xnio.conduits.PushBackStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http.HttpClientConnection].getConduit()'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[org.jboss.logging.Logger].getLogger()'
    - '[io.undertow.conduits.ByteActivityCallback].<init>()'
    - '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.client.http.HttpClientConnection].setReadListener(ClientReadListener)'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].<init>()'
    - '[org.xnio.StreamConnection].getCloseSetter()'
    - '[io.undertow.client.http.HttpClientConnection].set(org.xnio.ChannelListener)'
    - '[io.undertow.client.http.HttpClientConnection].resumeReads()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    linkageType: ''
    returnType: io.undertow.client.http.HttpClientConnection
    signature: '[io.undertow.client.http.HttpClientConnection].<init>(org.xnio.StreamConnection,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: '[io.undertow.client.http.HttpClientConnection].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.client.http.HttpClientConnection].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress()'
      Src: io.undertow.client.http.HttpClientConnection:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 5
    functionsReached:
    - '[org.xnio.StreamConnection].getPeerAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: '[io.undertow.client.http.HttpClientConnection].getConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.client.http.HttpClientConnection].getConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getPeerAddress(Class<A>)'
      Src: io.undertow.client.http.HttpClientConnection:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[io.undertow.client.http.HttpClientConnection].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getPeerAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.http.HttpClientConnection].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsHttpClientConnection>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: '[io.undertow.client.http.HttpClientConnection].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsHttpClientConnection>
    signature: '[io.undertow.client.http.HttpClientConnection].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getLocalAddress()'
      Src: io.undertow.client.http.HttpClientConnection:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: '[io.undertow.client.http.HttpClientConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.http.HttpClientConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getLocalAddress(Class<A>)'
      Src: io.undertow.client.http.HttpClientConnection:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: '[io.undertow.client.http.HttpClientConnection].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getLocalAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.http.HttpClientConnection].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getWorker()'
      Src: io.undertow.client.http.HttpClientConnection:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '[io.undertow.client.http.HttpClientConnection].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.client.http.HttpClientConnection].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getIoThread()'
      Src: io.undertow.client.http.HttpClientConnection:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: '[io.undertow.client.http.HttpClientConnection].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.client.http.HttpClientConnection].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].isOpen()'
      Src: io.undertow.client.http.HttpClientConnection:257,1
    - Dst: '[org.xnio.StreamConnection].isOpen()'
      Src: io.undertow.client.http.HttpClientConnection:259,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].allAreClear(int,io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: '[io.undertow.client.http.HttpClientConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientConnection].isOpen()'
    - '[io.undertow.client.http.HttpClientConnection].allAreClear(int,io.undertow.client.http.HttpClientConnection)'
    - '[org.xnio.StreamConnection].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpClientConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.client.http.HttpClientConnection:265,1
    - Dst: '[org.xnio.StreamConnection].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.client.http.HttpClientConnection:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: '[io.undertow.client.http.HttpClientConnection].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].supportsOption(org.xnio.Option<?>)'
    - '[io.undertow.client.ClientConnection].supportsOption(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpClientConnection].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].getOption(org.xnio.Option<T>)'
      Src: io.undertow.client.http.HttpClientConnection:274,1
    - Dst: '[org.xnio.StreamConnection].getOption(org.xnio.Option<T>)'
      Src: io.undertow.client.http.HttpClientConnection:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: '[io.undertow.client.http.HttpClientConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getOption(org.xnio.Option<T>)'
    - '[io.undertow.client.ClientConnection].getOption(org.xnio.Option<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.http.HttpClientConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.client.http.HttpClientConnection:282,1
    - Dst: '[org.xnio.StreamConnection].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.client.http.HttpClientConnection:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: '[io.undertow.client.http.HttpClientConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].setOption(org.xnio.Option<T>,T)'
    - '[io.undertow.client.ClientConnection].setOption(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.http.HttpClientConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].isUpgraded()'
      Src: io.undertow.client.http.HttpClientConnection:290,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: '[io.undertow.client.http.HttpClientConnection].isUpgraded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientConnection].isUpgraded()'
    - '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,io.undertow.client.http.HttpClientConnection)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpClientConnection].isUpgraded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].isPushSupported()'
      Src: io.undertow.client.http.HttpClientConnection:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: '[io.undertow.client.http.HttpClientConnection].isPushSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientConnection].isPushSupported()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpClientConnection].isPushSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].isMultiplexingSupported()'
      Src: io.undertow.client.http.HttpClientConnection:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: '[io.undertow.client.http.HttpClientConnection].isMultiplexingSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientConnection].isMultiplexingSupported()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpClientConnection].isMultiplexingSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientConnection].getStatistics()'
      Src: io.undertow.client.http.HttpClientConnection:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientStatistics
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: '[io.undertow.client.http.HttpClientConnection].getStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientConnection].getStatistics()'
    linkageType: ''
    returnType: io.undertow.client.ClientStatistics
    signature: '[io.undertow.client.http.HttpClientConnection].getStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: '[io.undertow.client.http.HttpClientConnection].isUpgradeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpClientConnection].isUpgradeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>].add(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientConnection:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: '[io.undertow.client.http.HttpClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>].add(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.StreamConnection].getOption(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:335,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:337,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:337,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:337,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.client.http.HttpClientConnection:337,1
    - Dst: '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,org.xnio.StreamConnection,io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.client.http.HttpClientConnection:337,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:337,1
    - Dst: '[org.xnio.StreamConnection].getOption(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:339,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:341,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:341,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:341,1
    - Dst: '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.client.http.HttpClientConnection:341,1
    - Dst: '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(io.undertow.client.http.HttpClientConnection,org.xnio.StreamConnection,io.undertow.server.protocol.http.HttpOpenListener)'
      Src: io.undertow.client.http.HttpClientConnection:341,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
      Src: io.undertow.client.http.HttpClientConnection:341,1
    - Dst: '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.client.http.HttpClientConnection:344,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].ioException(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:345,1
    - Dst: '[io.undertow.client.ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
      Src: io.undertow.client.http.HttpClientConnection:348,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:351,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].invalidConnectionState()'
      Src: io.undertow.client.http.HttpClientConnection:352,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:352,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:354,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].closedConnectionState()'
      Src: io.undertow.client.http.HttpClientConnection:355,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:355,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:358,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:359,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.client.http.HttpClientConnection:359,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest)'
      Src: io.undertow.client.http.HttpClientConnection:362,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.HttpClientConnection:364,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:364,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:364,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:366,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.client.http.HttpClientConnection:366,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].createSettingsFrame(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.client.http.HttpClientConnection:366,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.HttpClientConnection:366,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:367,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.HttpClientConnection:367,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:368,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
      Src: io.undertow.client.http.HttpClientConnection:368,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].initiateRequest(io.undertow.client.http.HttpClientExchange)'
      Src: io.undertow.client.http.HttpClientConnection:373,1
    - Dst: '[java.util.Deque<io.undertow.client.http.HttpClientExchange>].add(io.undertow.client.http.HttpClientExchange)'
      Src: io.undertow.client.http.HttpClientConnection:375,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientRequest
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - request
    - clientCallback
    argTypes:
    - io.undertow.client.ClientRequest
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 377
      start: 332
    functionDepth: 6
    functionLinenumber: 332
    functionLinenumberEnd: 377
    functionName: '[io.undertow.client.http.HttpClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.WriteTimeoutStreamSinkConduit)'
    - '[io.undertow.client.http.HttpClientConnection].initiateRequest(io.undertow.client.http.HttpClientExchange)'
    - '[io.undertow.conduits.ReadTimeoutStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,org.xnio.StreamConnection,io.undertow.server.protocol.http.HttpOpenListener)'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.server.protocol.http.HttpOpenListener].<init>(io.undertow.connector.ByteBufferPool)'
    - '[org.xnio.IoUtils].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.client.http.HttpClientConnection].ioException(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.nio.channels.ClosedChannelException)'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.client.http.HttpClientConnection].getConduit()'
    - '[io.undertow.client.http.HttpClientConnection].closedConnectionState()'
    - '[io.undertow.client.http.HttpClientConnection].invalidConnectionState()'
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.conduits.WriteTimeoutStreamSinkConduit].<init>(io.undertow.client.http.HttpClientConnection,org.xnio.StreamConnection,io.undertow.server.protocol.http.HttpOpenListener)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.ReadTimeoutStreamSourceConduit)'
    - '[org.xnio.StreamConnection].getOption(io.undertow.client.http.HttpClientConnection)'
    - '[java.util.Deque<io.undertow.client.http.HttpClientExchange>].add(io.undertow.client.http.HttpClientExchange)'
    - '[io.undertow.client.http.HttpClientExchange].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest)'
    - '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http2.Http2ClearClientProvider].createSettingsFrame(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.util.HeaderMap].put(io.undertow.util.HttpString,String)'
    - '[io.undertow.client.ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:382,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].getRequest()'
      Src: io.undertow.client.http.HttpClientConnection:383,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:385,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:385,1
    - Dst: '[io.undertow.util.HttpString].equalToString(String)'
      Src: io.undertow.client.http.HttpClientConnection:387,1
    - Dst: '[io.undertow.util.HttpString].equalToString(String)'
      Src: io.undertow.client.http.HttpClientConnection:389,1
    - Dst: '[io.undertow.client.ClientRequest].getProtocol()'
      Src: io.undertow.client.http.HttpClientConnection:392,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:395,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:395,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http.HttpClientConnection:398,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:398,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:404,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setReadListener(ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection:405,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].resumeReads()'
      Src: io.undertow.client.http.HttpClientConnection:406,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:408,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.connector.ByteBufferPool,io.undertow.client.ClientRequest)'
      Src: io.undertow.client.http.HttpClientConnection:410,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].setRequestConduit(io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpClientConnection:411,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:414,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:414,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:415,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:415,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.client.http.HttpClientConnection:421,1
    - Dst: '[io.undertow.client.http.ClientFixedLengthStreamSinkConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.client.http.HttpClientConnection,boolean,boolean,io.undertow.client.http.HttpClientExchange)'
      Src: io.undertow.client.http.HttpClientConnection:422,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].handleError(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:425,1
    - Dst: '[String].toLowerCase(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:429,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http.HttpClientConnection:429,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].contains(String)'
      Src: io.undertow.client.http.HttpClientConnection:429,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].unknownTransferEncoding(String)'
      Src: io.undertow.client.http.HttpClientConnection:430,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].handleError(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:430,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].getConnection()'
      Src: io.undertow.client.http.HttpClientConnection:433,1
    - Dst: '[io.undertow.client.ClientConnection].getBufferPool()'
      Src: io.undertow.client.http.HttpClientConnection:433,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].getRequest()'
      Src: io.undertow.client.http.HttpClientConnection:433,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:433,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(io.undertow.client.http.ClientFixedLengthStreamSinkConduit,io.undertow.connector.ByteBufferPool,boolean,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.client.http.HttpClientExchange)'
      Src: io.undertow.client.http.HttpClientConnection:433,1
    - Dst: '[io.undertow.client.http.ClientFixedLengthStreamSinkConduit].<init>(io.undertow.conduits.ChunkedStreamSinkConduit,int,boolean,boolean,io.undertow.client.http.HttpClientExchange)'
      Src: io.undertow.client.http.HttpClientConnection:435,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.client.http.ClientFixedLengthStreamSinkConduit)'
      Src: io.undertow.client.http.HttpClientConnection:438,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].invokeReadReadyCallback()'
      Src: io.undertow.client.http.HttpClientConnection:440,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].shutdownWrites()'
      Src: io.undertow.client.http.HttpClientConnection:445,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].flush()'
      Src: io.undertow.client.http.HttpClientConnection:446,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:447,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.client.http.HttpClientConnection:447,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setWriteListener(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:447,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].resumeWrites()'
      Src: io.undertow.client.http.HttpClientConnection:453,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].handleError(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:456,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.http.HttpClientExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - httpClientExchange
    argTypes:
    - io.undertow.client.http.HttpClientExchange
    constantsTouched: []
    func_position:
      end: 459
      start: 379
    functionDepth: 5
    functionLinenumber: 379
    functionLinenumberEnd: 459
    functionName: '[io.undertow.client.http.HttpClientConnection].initiateRequest(io.undertow.client.http.HttpClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http.HttpClientConnection].setWriteListener(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientRequest].getProtocol()'
    - '[io.undertow.client.ClientRequest].getMethod()'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
    - '[String].toLowerCase(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http.HttpClientExchange].invokeReadReadyCallback()'
    - '[io.undertow.client.http.ClientFixedLengthStreamSinkConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.client.http.HttpClientConnection,boolean,boolean,io.undertow.client.http.HttpClientExchange)'
    - '[io.undertow.client.http.ClientFixedLengthStreamSinkConduit].<init>(io.undertow.conduits.ChunkedStreamSinkConduit,int,boolean,boolean,io.undertow.client.http.HttpClientExchange)'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.client.http.HttpClientExchange].getConnection()'
    - '[io.undertow.conduits.ChunkedStreamSinkConduit].<init>(io.undertow.client.http.ClientFixedLengthStreamSinkConduit,io.undertow.connector.ByteBufferPool,boolean,boolean,io.undertow.util.HeaderMap,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>,io.undertow.client.http.HttpClientExchange)'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.client.http.HttpClientExchange].getRequest()'
    - Long.parseLong(String)
    - '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.client.http.ClientFixedLengthStreamSinkConduit)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientConnection].getBufferPool()'
    - '[io.undertow.client.http.HttpClientConnection].setReadListener(ClientReadListener)'
    - '[io.undertow.util.HttpString].equalToString(String)'
    - '[io.undertow.client.http.HttpClientConnection].handleError(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http.HttpClientConnection].resumeWrites()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.client.http.HttpClientConnection].contains(String)'
    - '[io.undertow.client.http.HttpClientExchange].setRequestConduit(io.undertow.client.http.HttpRequestConduit)'
    - '[io.undertow.client.http.HttpRequestConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.connector.ByteBufferPool,io.undertow.client.ClientRequest)'
    - '[io.undertow.client.http.HttpClientConnection].shutdownWrites()'
    - '[io.undertow.client.http.HttpClientConnection].resumeReads()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.client.http.HttpClientConnection].unknownTransferEncoding(String)'
    - '[io.undertow.client.http.HttpResponseBuilder].<init>()'
    - '[io.undertow.client.http.HttpClientConnection].flush()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].initiateRequest(io.undertow.client.http.HttpClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].handleError(java.io.IOException)'
      Src: io.undertow.client.http.HttpClientConnection:463,1
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.client.http.HttpClientConnection:465,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].handleError(java.io.IOException)'
      Src: io.undertow.client.http.HttpClientConnection:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - exception
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 467
    functionName: '[io.undertow.client.http.HttpClientConnection].handleError(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientConnection].handleError(java.io.IOException)'
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].handleError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].ioException(java.io.IOException)'
      Src: io.undertow.client.http.HttpClientConnection:469,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].setFailed(java.io.IOException)'
      Src: io.undertow.client.http.HttpClientConnection:470,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.client.http.HttpClientConnection:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - exception
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: '[io.undertow.client.http.HttpClientConnection].handleError(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http.HttpClientConnection].ioException(java.io.IOException)'
    - '[io.undertow.client.http.HttpClientConnection].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.client.http.HttpClientExchange].setFailed(java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].handleError(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
      Src: io.undertow.client.http.HttpClientConnection:477,1
    - Dst: '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress)'
      Src: io.undertow.client.http.HttpClientConnection:477,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].allAreSet(int,io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:480,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].connectionClosed()'
      Src: io.undertow.client.http.HttpClientConnection:481,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:481,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:484,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.client.http.HttpClientConnection:484,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:485,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 487
    functionName: '[io.undertow.client.http.HttpClientConnection].performUpgrade()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[java.io.IOException].<init>(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
    - '[io.undertow.client.http.HttpClientConnection].allAreSet(int,io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.client.http.HttpClientConnection].connectionClosed()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
    - '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress)'
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.client.http.HttpClientConnection].performUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
      Src: io.undertow.client.http.HttpClientConnection:490,1
    - Dst: '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress)'
      Src: io.undertow.client.http.HttpClientConnection:490,1
    - Dst: '[io.undertow.client.ClientConnection].close()'
      Src: io.undertow.client.http.HttpClientConnection:492,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,int)'
      Src: io.undertow.client.http.HttpClientConnection:494,1
    - Dst: '[io.undertow.util.ConnectionUtils].cleanClose(org.xnio.StreamConnection)'
      Src: io.undertow.client.http.HttpClientConnection:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 499
    functionName: '[io.undertow.client.http.HttpClientConnection].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.ConnectionUtils].cleanClose(org.xnio.StreamConnection)'
    - '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
    - '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,int)'
    - '[io.undertow.client.ClientConnection].close()'
    - '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
      Src: io.undertow.client.http.HttpClientConnection:505,1
    - Dst: '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress)'
      Src: io.undertow.client.http.HttpClientConnection:505,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:507,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.client.http.HttpClientConnection:507,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:508,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:508,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:509,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].suspendWrites()'
      Src: io.undertow.client.http.HttpClientConnection:509,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientConnection:510,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setWriteListener(null)'
      Src: io.undertow.client.http.HttpClientConnection:510,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,int)'
      Src: io.undertow.client.http.HttpClientConnection:512,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].safeClose(org.xnio.StreamConnection)'
      Src: io.undertow.client.http.HttpClientConnection:516,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,int)'
      Src: io.undertow.client.http.HttpClientConnection:517,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:518,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].suspendReads()'
      Src: io.undertow.client.http.HttpClientConnection:518,1
    - Dst: '[java.util.Deque<io.undertow.client.http.HttpClientExchange>].poll()'
      Src: io.undertow.client.http.HttpClientConnection:526,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:529,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setReadListener(ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection:529,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:530,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].resumeReads()'
      Src: io.undertow.client.http.HttpClientConnection:530,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].initiateRequest(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 534
    functionName: '[io.undertow.client.http.HttpClientConnection].exchangeDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.client.http.HttpClientConnection].safeClose(org.xnio.StreamConnection)'
    - '[io.undertow.client.http.HttpClientConnection].resumeReads()'
    - '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.StreamSinkConduit)'
    - '[io.undertow.client.http.HttpClientConnection].setWriteListener(null)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.client.http.HttpClientConnection].anyAreSet(int,int)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.client.http.HttpClientConnection].suspendWrites()'
    - '[io.undertow.client.http.HttpClientConnection].suspendReads()'
    - '[java.util.Deque<io.undertow.client.http.HttpClientExchange>].poll()'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(org.xnio.conduits.PushBackStreamSourceConduit)'
    - '[io.undertow.client.http.HttpClientConnection].initiateRequest(io.undertow.client.http.HttpClientConnection)'
    - '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress)'
    - '[io.undertow.client.http.HttpClientConnection].setReadListener(ClientReadListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].exchangeDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].doHttp2Upgrade()'
      Src: io.undertow.client.http.HttpClientConnection:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 6
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: '[io.undertow.client.http.HttpClientConnection].requestDataSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http.HttpClientConnection].doHttp2Upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].requestDataSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].performUpgrade()'
      Src: io.undertow.client.http.HttpClientConnection:717,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientConnection:718,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].getResponseCallback()'
      Src: io.undertow.client.http.HttpClientConnection:719,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].getRequest()'
      Src: io.undertow.client.http.HttpClientConnection:719,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].getRequest()'
      Src: io.undertow.client.http.HttpClientConnection:719,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:719,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:719,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest,String,io.undertow.client.ClientStatistics,boolean)'
      Src: io.undertow.client.http.HttpClientConnection:719,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].getCloseSetter()'
      Src: io.undertow.client.http.HttpClientConnection:720,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http.HttpClientConnection:720,1
    - Dst: '[ChannelListener.Setter<?extendsClientConnection>].set(org.xnio.ChannelListener)'
      Src: io.undertow.client.http.HttpClientConnection:720,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:727,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].wakeupReads()'
      Src: io.undertow.client.http.HttpClientConnection:727,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].ioException(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:731,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].safeClose()'
      Src: io.undertow.client.http.HttpClientConnection:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 715
    functionDepth: 5
    functionLinenumber: 715
    functionLinenumberEnd: 734
    functionName: '[io.undertow.client.http.HttpClientConnection].doHttp2Upgrade()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[ChannelListener.Setter<?extendsClientConnection>].set(org.xnio.ChannelListener)'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.client.http.HttpClientConnection].ioException(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http.HttpClientExchange].getResponseCallback()'
    - '[io.undertow.client.http.HttpClientExchange].getRequest()'
    - '[io.undertow.client.http.HttpClientConnection].performUpgrade()'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.client.http.HttpClientConnection].wakeupReads()'
    - '[io.undertow.client.http.HttpClientConnection].safeClose()'
    - '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest,String,io.undertow.client.ClientStatistics,boolean)'
    - '[io.undertow.client.http2.Http2ClientConnection].getCloseSetter()'
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].doHttp2Upgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientResponse].getResponseHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:737,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:737,1
    - Dst: '[io.undertow.util.HttpString].<init>(String)'
      Src: io.undertow.client.http.HttpClientConnection:738,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:738,1
    - Dst: '[io.undertow.client.ClientResponse].getResponseHeaders()'
      Src: io.undertow.client.http.HttpClientConnection:739,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:739,1
    - Dst: '[io.undertow.client.ClientExchange].getRequest()'
      Src: io.undertow.client.http.HttpClientConnection:740,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http.HttpClientConnection:740,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:740,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:741,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:741,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:741,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,int,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.client.http.HttpClientConnection:741,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:741,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:743,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:743,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:743,1
    - Dst: '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,org.xnio.conduits.PushBackStreamSourceConduit,io.undertow.connector.ByteBufferPool,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>,io.undertow.client.ClientExchange,org.xnio.StreamConnection)'
      Src: io.undertow.client.http.HttpClientConnection:743,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.ChunkedStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:743,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.client.http.HttpClientConnection:746,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:747,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:747,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:747,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.client.http.HttpClientConnection,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.client.http.HttpClientConnection:747,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:747,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].handleError(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientConnection:749,1
    - Dst: '[io.undertow.client.ClientResponse].getProtocol()'
      Src: io.undertow.client.http.HttpClientConnection:752,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection:752,1
    - Dst: '[io.undertow.client.ClientResponse].getResponseCode()'
      Src: io.undertow.client.http.HttpClientConnection:752,1
    - Dst: '[io.undertow.server.Connectors].isEntityBodyAllowed(int)'
      Src: io.undertow.client.http.HttpClientConnection:752,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:753,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:753,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:753,1
    - Dst: '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,int,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.client.http.HttpClientConnection:753,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.FixedLengthStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:753,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:755,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientConnection:755,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConduit()'
      Src: io.undertow.client.http.HttpClientConnection:755,1
    - Dst: '[io.undertow.conduits.FinishableStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>)'
      Src: io.undertow.client.http.HttpClientConnection:755,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.FinishableStreamSourceConduit)'
      Src: io.undertow.client.http.HttpClientConnection:755,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>
      - io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.http.HttpClientExchange>
      - io.undertow.client.http.HttpClientExchange
      - io.undertow.client.http.HttpResponseBuilder
      - org.xnio.OptionMap
      - org.xnio.StreamConnection
      - org.xnio.conduits.PushBackStreamSourceConduit
      - ClientReadListener
      - io.undertow.connector.ByteBufferPool
      - io.undertow.connector.PooledByteBuffer
      - org.xnio.conduits.StreamSinkConduit
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.http.HttpClientConnection>
      - io.undertow.client.ClientStatistics
      - int
      - int
      - boolean
      - boolean
      - io.undertow.client.ClientConnection
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - response
    - exchange
    argTypes:
    - io.undertow.client.ClientResponse
    - io.undertow.client.ClientExchange
    constantsTouched: []
    func_position:
      end: 758
      start: 736
    functionDepth: 5
    functionLinenumber: 736
    functionLinenumberEnd: 758
    functionName: '[io.undertow.client.http.HttpClientConnection].prepareResponseChannel(io.undertow.client.ClientResponse,io.undertow.client.ClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientExchange].getRequest()'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.FixedLengthStreamSourceConduit)'
    - '[io.undertow.client.ClientResponse].getResponseHeaders()'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientRequest].getMethod()'
    - '[io.undertow.conduits.FinishableStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.ChunkedStreamSourceConduit)'
    - '[io.undertow.conduits.ChunkedStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,org.xnio.conduits.PushBackStreamSourceConduit,io.undertow.connector.ByteBufferPool,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>,io.undertow.client.ClientExchange,org.xnio.StreamConnection)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,io.undertow.client.http.HttpClientConnection,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.conduits.FixedLengthStreamSourceConduit].<init>(io.undertow.client.http.HttpClientConnection,int,io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSourceConduit>)'
    - '[io.undertow.client.http.HttpClientConnection].getConduit()'
    - Long.parseLong(String)
    - '[io.undertow.util.HttpString].<init>(String)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.client.http.HttpClientConnection].handleError(io.undertow.client.http.HttpClientConnection)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.client.ClientResponse].getResponseCode()'
    - '[io.undertow.client.ClientResponse].getProtocol()'
    - '[io.undertow.client.http.HttpClientConnection].setConduit(io.undertow.conduits.FinishableStreamSourceConduit)'
    - '[io.undertow.server.Connectors].isEntityBodyAllowed(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection].prepareResponseChannel(io.undertow.client.ClientResponse,io.undertow.client.ClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bufferPool.allocate()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:547,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getBuffer()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:548,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].clear()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:555,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:557,1
    - Dst: connection.getPeerAddress()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:559,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].debugf(String,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:559,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].safeClose(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:560,1
    - Dst: connection.getPeerAddress()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:562,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].debugf(String,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:562,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].safeClose(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:563,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].isDebugEnabled()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:567,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].debugf(io.undertow.client.http.HttpClientConnection.ClientReadListener,String)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:568,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].safeClose(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:570,1
    - Dst: builder.getParseState()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:574,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].clear()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:577,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].read(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:579,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].isDebugEnabled()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:581,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].debugf(io.undertow.client.http.HttpClientConnection.ClientReadListener,String)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:582,1
    - Dst: currentRequest.setFailed(io.undertow.client.http.HttpClientConnection.ClientReadListener)
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:586,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].safeClose(org.xnio.channels.StreamSourceChannel,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:591,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:597,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:598,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].set()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:598,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].resumeReads()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:599,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:603,1
    - Dst: '[io.undertow.client.UndertowClientMessages.MESSAGES].connectionClosed()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:607,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:607,1
    - Dst: currentRequest.setFailed(java.io.IOException)
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:607,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].safeClose(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:612,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].flip()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:617,1
    - Dst: '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.HttpClientConnection.ClientReadListener,io.undertow.client.http.HttpClientConnection.ClientReadListener,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:619,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].hasRemaining()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:620,1
    - Dst: '[io.undertow.util.PooledAdaptor].<init>(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:622,1
    - Dst: pushBackStreamSourceConduit.pushBack(io.undertow.util.PooledAdaptor)
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:622,1
    - Dst: pushBackStreamSourceConduit.wakeupReads()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:623,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].isComplete()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:626,1
    - Dst: builder.build()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:628,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getResponseHeaders()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:630,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:630,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].anyAreSet(io.undertow.client.http.HttpClientConnection.ClientReadListener,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:633,1
    - Dst: '[io.undertow.util.HttpString].equalToString(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:634,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getResponseHeaders()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:634,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].contains(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:634,1
    - Dst: currentRequest.getRequest()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:635,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getMethod()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:635,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:635,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getResponseCode()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:635,1
    - Dst: '[io.undertow.util.HttpString].equalToString(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:643,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getProtocol()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:645,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:645,1
    - Dst: '[io.undertow.util.HttpString].equalToString(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:646,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getProtocol()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:650,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:650,1
    - Dst: pendingQueue.poll()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:656,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].connectionClosed()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:658,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:658,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].setFailed(java.io.IOException)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:658,1
    - Dst: pendingQueue.poll()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:659,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getResponseCode()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:662,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getResponseHeaders()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:662,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:662,1
    - Dst: '[String].equals(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:662,1
    - Dst: currentRequest.isRequestDataSent()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:666,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].doHttp2Upgrade()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:667,1
    - Dst: builder.getStatusCode()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:669,1
    - Dst: '[io.undertow.client.http.HttpResponseBuilder].<init>()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:670,1
    - Dst: currentRequest.setContinueResponse(io.undertow.client.http.HttpClientConnection.ClientReadListener)
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:671,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].prepareResponseChannel(io.undertow.client.http.HttpClientConnection.ClientReadListener,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:673,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:674,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].set(null)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:674,1
    - Dst: '[org.xnio.channels.StreamSourceChannel].suspendReads()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:675,1
    - Dst: currentRequest.setResponse(io.undertow.client.http.HttpClientConnection.ClientReadListener)
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:677,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getResponseCode()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:678,1
    - Dst: currentRequest.getRequest()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:679,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:679,1
    - Dst: '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:679,1
    - Dst: HttpClientConnection.this.connection.getSinkChannel()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:681,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].shutdownWrites()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:682,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].flush()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:683,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,null)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:684,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].setWriteListener(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:684,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].resumeWrites()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:685,1
    - Dst: currentRequest.terminateRequest()
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:689,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].exceptionProcessingRequest(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:697,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].safeClose(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:698,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:700,1
    - Dst: currentRequest.setFailed(java.io.IOException)
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:700,1
    - Dst: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].close()'
      Src: io.undertow.client.http.HttpClientConnection.ClientReadListener:704,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 138
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 712
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 712
    functionName: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].connectionClosed()'
    - '[String].equals(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - builder.build()
    - pushBackStreamSourceConduit.pushBack(io.undertow.util.PooledAdaptor)
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getRequestHeaders()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].hasRemaining()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].doHttp2Upgrade()'
    - currentRequest.setResponse(io.undertow.client.http.HttpClientConnection.ClientReadListener)
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].flip()'
    - '[io.undertow.client.http.ResponseParser].handle(io.undertow.client.http.HttpClientConnection.ClientReadListener,io.undertow.client.http.HttpClientConnection.ClientReadListener,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - currentRequest.terminateRequest()
    - '[io.undertow.util.HttpString].equalToString(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].safeClose(org.xnio.channels.StreamSourceChannel,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - '[org.xnio.channels.StreamSourceChannel].read(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - currentRequest.getRequest()
    - HttpClientConnection.this.connection.getSinkChannel()
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].setWriteListener(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - builder.getParseState()
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getProtocol()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getMethod()'
    - currentRequest.isRequestDataSent()
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].set(null)'
    - '[io.undertow.server.protocol.http.HttpContinue].requiresContinueResponse(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].contains(io.undertow.util.HttpString)'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].clear()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].anyAreSet(io.undertow.client.http.HttpClientConnection.ClientReadListener,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].isDebugEnabled()'
    - currentRequest.setFailed(java.io.IOException)
    - '[org.xnio.channels.StreamSourceChannel].getReadSetter()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].equals(io.undertow.util.HttpString)'
    - builder.getStatusCode()
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getFirst(io.undertow.util.HttpString)'
    - pushBackStreamSourceConduit.wakeupReads()
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].exceptionProcessingRequest(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].shutdownWrites()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].debugf(String,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - pendingQueue.poll()
    - currentRequest.setFailed(io.undertow.client.http.HttpClientConnection.ClientReadListener)
    - '[org.xnio.channels.StreamSourceChannel].isReadResumed()'
    - '[io.undertow.util.PooledAdaptor].<init>(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].flush()'
    - bufferPool.allocate()
    - '[org.xnio.channels.StreamSourceChannel].resumeReads()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].resumeWrites()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].close()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].set()'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,null)'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].setFailed(java.io.IOException)'
    - currentRequest.setContinueResponse(io.undertow.client.http.HttpClientConnection.ClientReadListener)
    - '[java.io.IOException].<init>(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].safeClose(io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - '[io.undertow.client.http.HttpResponseBuilder].<init>()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getResponseCode()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].isComplete()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].prepareResponseChannel(io.undertow.client.http.HttpClientConnection.ClientReadListener,io.undertow.client.http.HttpClientConnection.ClientReadListener)'
    - connection.getPeerAddress()
    - '[org.xnio.channels.StreamSourceChannel].suspendReads()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getResponseHeaders()'
    - '[io.undertow.client.UndertowClientMessages.MESSAGES].connectionClosed()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].getBuffer()'
    - '[io.undertow.client.http.HttpClientConnection.ClientReadListener].debugf(io.undertow.client.http.HttpClientConnection.ClientReadListener,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].handleEvent(org.xnio.channels.StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.HttpClientConnection.ClientReadListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http.HttpClientConnection.ClientReadListener
    signature: '[io.undertow.client.http.HttpClientConnection.ClientReadListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 765
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 765
    functionName: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].getRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].getRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].getRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].getRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].getWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].getWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl
    signature: '[io.undertow.client.http.HttpClientConnection.ClientStatisticsImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList()'
      Src: io.undertow.client.http.HttpClientProvider:69,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.client.http.HttpClientProvider].handlesSchemes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList()'
    - '[java.util.HashSet].<init>(io.undertow.client.http.HttpClientProvider)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.client.http.HttpClientProvider].handlesSchemes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.client.http.HttpClientProvider:84,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].equals(String)'
      Src: io.undertow.client.http.HttpClientProvider:84,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].sslWasNull()'
      Src: io.undertow.client.http.HttpClientProvider:86,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:86,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http.HttpClientProvider:89,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].set(org.xnio.Option<String>)'
      Src: io.undertow.client.http.HttpClientProvider:89,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addAll(org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:89,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].set(io.undertow.client.http.HttpClientProvider,boolean)'
      Src: io.undertow.client.http.HttpClientProvider:89,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].getMap()'
      Src: io.undertow.client.http.HttpClientProvider:89,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientProvider:95,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:95,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientProvider,java.net.URI)'
      Src: io.undertow.client.http.HttpClientProvider:95,1
    - Dst: '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:95,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientProvider:95,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http.HttpClientProvider:95,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientProvider:97,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:97,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientProvider,java.net.URI)'
      Src: io.undertow.client.http.HttpClientProvider:97,1
    - Dst: '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:97,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientProvider:97,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http.HttpClientProvider:97,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientProvider:101,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:101,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
      Src: io.undertow.client.http.HttpClientProvider:101,1
    - Dst: '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:101,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientProvider:101,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http.HttpClientProvider:101,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientProvider:103,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:103,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
      Src: io.undertow.client.http.HttpClientProvider:103,1
    - Dst: '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,null,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:103,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientProvider:103,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http.HttpClientProvider:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http.HttpClientProvider)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
    - '[io.undertow.client.http.HttpClientProvider].sslWasNull()'
    - '[io.undertow.client.http.HttpClientProvider].getMap()'
    - '[org.xnio.OptionMap].builder()'
    - '[java.net.URI].getHost()'
    - '[io.undertow.client.http.HttpClientProvider].set(org.xnio.Option<String>)'
    - '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http.HttpClientProvider)'
    - '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
    - '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
    - '[io.undertow.client.http.HttpClientProvider].addAll(org.xnio.OptionMap)'
    - '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http.HttpClientProvider)'
    - '[io.undertow.client.http.HttpClientProvider].equals(String)'
    - '[java.net.URI].getScheme()'
    - '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientProvider,java.net.URI)'
    - '[io.undertow.client.http.HttpClientProvider].set(io.undertow.client.http.HttpClientProvider,boolean)'
    - '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,org.xnio.OptionMap)'
    - '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,null,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getScheme()'
      Src: io.undertow.client.http.HttpClientProvider:110,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].equals(String)'
      Src: io.undertow.client.http.HttpClientProvider:110,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].sslWasNull()'
      Src: io.undertow.client.http.HttpClientProvider:112,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:112,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http.HttpClientProvider:115,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].set(org.xnio.Option<String>)'
      Src: io.undertow.client.http.HttpClientProvider:115,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addAll(org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:115,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].set(io.undertow.client.http.HttpClientProvider,boolean)'
      Src: io.undertow.client.http.HttpClientProvider:115,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].getMap()'
      Src: io.undertow.client.http.HttpClientProvider:115,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientProvider:121,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:121,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientProvider,java.net.URI)'
      Src: io.undertow.client.http.HttpClientProvider:121,1
    - Dst: '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:121,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientProvider:121,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http.HttpClientProvider:121,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientProvider:123,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:123,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientProvider,java.net.URI)'
      Src: io.undertow.client.http.HttpClientProvider:123,1
    - Dst: '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:123,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientProvider:123,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http.HttpClientProvider:123,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientProvider:127,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:127,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
      Src: io.undertow.client.http.HttpClientProvider:127,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:127,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientProvider:127,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http.HttpClientProvider:127,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http.HttpClientProvider:129,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:129,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
      Src: io.undertow.client.http.HttpClientProvider:129,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,null,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:129,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http.HttpClientProvider:129,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http.HttpClientProvider:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http.HttpClientProvider)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.http.HttpClientProvider)'
    - '[io.undertow.client.http.HttpClientProvider].sslWasNull()'
    - '[io.undertow.client.http.HttpClientProvider].getMap()'
    - '[org.xnio.OptionMap].builder()'
    - '[java.net.URI].getHost()'
    - '[io.undertow.client.http.HttpClientProvider].set(org.xnio.Option<String>)'
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,null,org.xnio.OptionMap)'
    - '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http.HttpClientProvider)'
    - '[io.undertow.client.http.HttpClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
    - '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,org.xnio.OptionMap)'
    - '[io.undertow.client.http.HttpClientProvider].addAll(org.xnio.OptionMap)'
    - '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http.HttpClientProvider)'
    - '[io.undertow.client.http.HttpClientProvider].equals(String)'
    - '[java.net.URI].getScheme()'
    - '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,io.undertow.client.http.HttpClientProvider,java.net.URI)'
    - '[io.undertow.client.http.HttpClientProvider].set(io.undertow.client.http.HttpClientProvider,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IoFuture.Notifier].<init>()'
      Src: io.undertow.client.http.HttpClientProvider:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IoFuture.Notifier<org.xnio.StreamConnection,Object>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 2
    functionsReached:
    - '[IoFuture.Notifier].<init>()'
    linkageType: ''
    returnType: IoFuture.Notifier<org.xnio.StreamConnection,Object>
    signature: '[io.undertow.client.http.HttpClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http.HttpClientProvider:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ChannelListener<org.xnio.StreamConnection>
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - listener
    - bufferPool
    - options
    - uri
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    linkageType: ''
    returnType: org.xnio.ChannelListener<org.xnio.StreamConnection>
    signature: '[io.undertow.client.http.HttpClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http.HttpClientProvider:155,1
    - Dst: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(org.xnio.ChannelListener,String)'
      Src: io.undertow.client.http.HttpClientProvider:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ALPNClientSelector.ALPNProtocol
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - listener
    - uri
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: '[io.undertow.client.http.HttpClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 1
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(org.xnio.ChannelListener,String)'
    linkageType: ''
    returnType: ALPNClientSelector.ALPNProtocol
    signature: '[io.undertow.client.http.HttpClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http.HttpClientProvider:165,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientProvider:167,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:169,1
    - Dst: '[java.util.ArrayList].add(ALPNClientSelector.ALPNProtocol)'
      Src: io.undertow.client.http.HttpClientProvider:169,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:171,1
    - Dst: '[java.util.ArrayList].add(ALPNClientSelector.ALPNProtocol)'
      Src: io.undertow.client.http.HttpClientProvider:171,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http.HttpClientProvider:172,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.client.http.HttpClientProvider:177,1
    - Dst: '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,org.xnio.ChannelListener,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:172,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.client.http.HttpClientProvider:180,1
    - Dst: '[io.undertow.client.http.HttpClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http.HttpClientProvider:181,1
    - Dst: '[java.util.ArrayList].add(ALPNClientSelector.ALPNProtocol)'
      Src: io.undertow.client.http.HttpClientProvider:181,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http.HttpClientProvider:182,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.client.http.HttpClientProvider:187,1
    - Dst: '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,org.xnio.ChannelListener,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.client.http.HttpClientProvider)'
      Src: io.undertow.client.http.HttpClientProvider:182,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].<init>(org.xnio.StreamConnection,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.client.http.HttpClientProvider:189,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].completed(io.undertow.client.http.HttpClientConnection)'
      Src: io.undertow.client.http.HttpClientProvider:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - connection
    - listener
    - bufferPool
    - options
    - uri
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 191
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 191
    functionName: '[io.undertow.client.http.HttpClientProvider].handleConnected(org.xnio.StreamConnection,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.client.http.HttpClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    - '[java.util.ArrayList].toArray()'
    - '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,org.xnio.ChannelListener,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.client.http.HttpClientProvider)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(ALPNClientSelector.ALPNProtocol)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].completed(io.undertow.client.http.HttpClientConnection)'
    - '[io.undertow.client.http.HttpClientConnection].<init>(org.xnio.StreamConnection,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
    - '[io.undertow.client.http2.Http2ClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientProvider].handleConnected(org.xnio.StreamConnection,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.HttpClientProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.HttpClientProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http.HttpClientProvider
    signature: '[io.undertow.client.http.HttpClientProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.client.http.ResponseState:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - StringBuilder
      - byte
      - io.undertow.util.HttpString
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.ResponseState
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: '[io.undertow.client.http.ResponseState].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseState.java
    functionUses: 5
    functionsReached:
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: io.undertow.client.http.ResponseState
    signature: '[io.undertow.client.http.ResponseState].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - byte
      - StringBuilder
      - byte
      - io.undertow.util.HttpString
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.client.http.ResponseState].isComplete()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ResponseState.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.ResponseState].isComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.ResponseState
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.client.http.HttpResponseBuilder].getParseState()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http.ResponseState
    signature: '[io.undertow.client.http.HttpResponseBuilder].getParseState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HeaderMap
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HeaderMap
    signature: '[io.undertow.client.http.HttpResponseBuilder].getResponseHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.client.http.HttpResponseBuilder].getStatusCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.client.http.HttpResponseBuilder].getStatusCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.client.http.HttpResponseBuilder].setStatusCode(int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpResponseBuilder].setStatusCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.client.http.HttpResponseBuilder].getReasonPhrase()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.http.HttpResponseBuilder].getReasonPhrase()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - reasonPhrase
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.client.http.HttpResponseBuilder].setReasonPhrase(String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpResponseBuilder].setReasonPhrase(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.util.HttpString
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '[io.undertow.client.http.HttpResponseBuilder].getProtocol()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.util.HttpString
    signature: '[io.undertow.client.http.HttpResponseBuilder].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.client.http.HttpResponseBuilder].setProtocol(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpResponseBuilder].setProtocol(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientResponse].<init>(int,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
      Src: io.undertow.client.http.HttpResponseBuilder:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.client.http.HttpResponseBuilder].build()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientResponse].<init>(int,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.http.HttpResponseBuilder].build()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.ResponseState].<init>()'
      Src: io.undertow.client.http.HttpResponseBuilder:32,1
    - Dst: '[io.undertow.util.HeaderMap].<init>()'
      Src: io.undertow.client.http.HttpResponseBuilder:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.ResponseState
      - int
      - io.undertow.util.HttpString
      - String
      - io.undertow.util.HeaderMap
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http.HttpResponseBuilder
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http.HttpResponseBuilder].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpResponseBuilder.java
    functionUses: 6
    functionsReached:
    - '[io.undertow.client.http.ResponseState].<init>()'
    - '[io.undertow.util.HeaderMap].<init>()'
    linkageType: ''
    returnType: io.undertow.client.http.HttpResponseBuilder
    signature: '[io.undertow.client.http.HttpResponseBuilder].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HttpClientExchange.class.getName()
      Src: io.undertow.client.http.HttpClientExchange:45,1
    - Dst: '[org.jboss.logging.Logger].getLogger(io.undertow.client.http.HttpClientExchange)'
      Src: io.undertow.client.http.HttpClientExchange:45,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientExchange:69,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientExchange:69,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpClientExchange:70,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpClientExchange:70,1
    - Dst: header.equals(String)
      Src: io.undertow.client.http.HttpClientExchange:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientRequest
      - io.undertow.client.http.HttpClientConnection
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.HttpClientExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 3
    argNames:
    - readyCallback
    - request
    - clientConnection
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    - io.undertow.client.ClientRequest
    - io.undertow.client.http.HttpClientConnection
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: '[io.undertow.client.http.HttpClientExchange].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest,io.undertow.client.http.HttpClientConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(io.undertow.client.http.HttpClientExchange)'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    - HttpClientExchange.class.getName()
    - header.equals(String)
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: io.undertow.client.http.HttpClientExchange
    signature: '[io.undertow.client.http.HttpClientExchange].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest,io.undertow.client.http.HttpClientConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.http.HttpRequestConduit
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - requestConduit
    argTypes:
    - io.undertow.client.http.HttpRequestConduit
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.client.http.HttpClientExchange].setRequestConduit(io.undertow.client.http.HttpRequestConduit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].setRequestConduit(io.undertow.client.http.HttpRequestConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientExchange].anyAreSet(int,int)'
      Src: io.undertow.client.http.HttpClientExchange:84,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
      Src: io.undertow.client.http.HttpClientExchange:87,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].getRequest()'
      Src: io.undertow.client.http.HttpClientExchange:87,1
    - Dst: '[io.undertow.client.ClientRequest].getPath()'
      Src: io.undertow.client.http.HttpClientExchange:87,1
    - Dst: '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress,String)'
      Src: io.undertow.client.http.HttpClientExchange:87,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].requestDataSent()'
      Src: io.undertow.client.http.HttpClientExchange:89,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].anyAreSet(int,int)'
      Src: io.undertow.client.http.HttpClientExchange:90,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].exchangeDone()'
      Src: io.undertow.client.http.HttpClientExchange:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 7
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: '[io.undertow.client.http.HttpClientExchange].terminateRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http.HttpClientConnection].exchangeDone()'
    - '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
    - '[io.undertow.client.http.HttpClientExchange].anyAreSet(int,int)'
    - '[io.undertow.client.ClientRequest].getPath()'
    - '[io.undertow.client.http.HttpClientExchange].getRequest()'
    - '[io.undertow.client.http.HttpClientConnection].requestDataSent()'
    - '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].terminateRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientExchange].anyAreSet(int,int)'
      Src: io.undertow.client.http.HttpClientExchange:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: '[io.undertow.client.http.HttpClientExchange].isRequestDataSent()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientExchange].anyAreSet(int,int)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpClientExchange].isRequestDataSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientExchange].anyAreSet(int,int)'
      Src: io.undertow.client.http.HttpClientExchange:100,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
      Src: io.undertow.client.http.HttpClientExchange:103,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].getRequest()'
      Src: io.undertow.client.http.HttpClientExchange:103,1
    - Dst: '[io.undertow.client.ClientRequest].getPath()'
      Src: io.undertow.client.http.HttpClientExchange:103,1
    - Dst: '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress,String)'
      Src: io.undertow.client.http.HttpClientExchange:103,1
    - Dst: '[io.undertow.client.http.HttpClientExchange].anyAreSet(int,int)'
      Src: io.undertow.client.http.HttpClientExchange:105,1
    - Dst: '[io.undertow.client.http.HttpClientConnection].exchangeDone()'
      Src: io.undertow.client.http.HttpClientExchange:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: '[io.undertow.client.http.HttpClientExchange].terminateResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientConnection].exchangeDone()'
    - '[io.undertow.client.http.HttpClientConnection].getPeerAddress()'
    - '[io.undertow.client.http.HttpClientExchange].anyAreSet(int,int)'
    - '[io.undertow.client.ClientRequest].getPath()'
    - '[io.undertow.client.http.HttpClientExchange].getRequest()'
    - '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].terminateResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: '[io.undertow.client.http.HttpClientExchange].isRequiresContinue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpClientExchange].isRequiresContinue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ContinueNotification].handleContinue()'
      Src: io.undertow.client.http.HttpClientExchange:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientResponse
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - response
    argTypes:
    - io.undertow.client.ClientResponse
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: '[io.undertow.client.http.HttpClientExchange].setContinueResponse(io.undertow.client.ClientResponse)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ContinueNotification].handleContinue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].setContinueResponse(io.undertow.client.ClientResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
      Src: io.undertow.client.http.HttpClientExchange:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientResponse
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - response
    argTypes:
    - io.undertow.client.ClientResponse
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: '[io.undertow.client.http.HttpClientExchange].setResponse(io.undertow.client.ClientResponse)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].setResponse(io.undertow.client.ClientResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
      Src: io.undertow.client.http.HttpClientExchange:134,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
      Src: io.undertow.client.http.HttpClientExchange:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: '[io.undertow.client.http.HttpClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ContinueNotification
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - continueHandler
    argTypes:
    - io.undertow.client.ContinueNotification
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: '[io.undertow.client.http.HttpClientExchange].setContinueHandler(io.undertow.client.ContinueNotification)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].setContinueHandler(io.undertow.client.ContinueNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.PushCallback
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - pushCallback
    argTypes:
    - io.undertow.client.PushCallback
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: '[io.undertow.client.http.HttpClientExchange].setPushHandler(io.undertow.client.PushCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].setPushHandler(io.undertow.client.PushCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
      Src: io.undertow.client.http.HttpClientExchange:154,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
      Src: io.undertow.client.http.HttpClientExchange:158,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].freeBuffers()'
      Src: io.undertow.client.http.HttpClientExchange:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: '[io.undertow.client.http.HttpClientExchange].setFailed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
    - '[io.undertow.client.http.HttpRequestConduit].freeBuffers()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].setFailed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConnection()'
      Src: io.undertow.client.http.HttpClientExchange:168,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http.HttpClientExchange:168,1
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].<init>(io.undertow.client.http.HttpClientExchange)'
      Src: io.undertow.client.http.HttpClientExchange:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSinkChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: '[io.undertow.client.http.HttpClientExchange].getRequestChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.client.http.HttpClientConnection].getConnection()'
    - '[io.undertow.channels.DetachableStreamSinkChannel].<init>(io.undertow.client.http.HttpClientExchange)'
    linkageType: ''
    returnType: org.xnio.channels.StreamSinkChannel
    signature: '[io.undertow.client.http.HttpClientExchange].getRequestChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientConnection].getConnection()'
      Src: io.undertow.client.http.HttpClientExchange:178,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http.HttpClientExchange:178,1
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].<init>(io.undertow.client.http.HttpClientExchange)'
      Src: io.undertow.client.http.HttpClientExchange:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSourceChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: '[io.undertow.client.http.HttpClientExchange].getResponseChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].<init>(io.undertow.client.http.HttpClientExchange)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.client.http.HttpClientConnection].getConnection()'
    linkageType: ''
    returnType: org.xnio.channels.StreamSourceChannel
    signature: '[io.undertow.client.http.HttpClientExchange].getResponseChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientRequest
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: '[io.undertow.client.http.HttpClientExchange].getRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientRequest
    signature: '[io.undertow.client.http.HttpClientExchange].getRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '[io.undertow.client.http.HttpClientExchange].getResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.http.HttpClientExchange].getResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[io.undertow.client.http.HttpClientExchange].getContinueResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.http.HttpClientExchange].getContinueResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: '[io.undertow.client.http.HttpClientExchange].getConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientConnection
    signature: '[io.undertow.client.http.HttpClientExchange].getConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '[io.undertow.client.http.HttpClientExchange].getResponseCallback()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    signature: '[io.undertow.client.http.HttpClientExchange].getResponseCallback()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
      Src: io.undertow.client.http.HttpClientExchange:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.http.HttpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.client.http.HttpRequestConduit
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: '[io.undertow.client.http.HttpClientExchange].invokeReadReadyCallback()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpClientExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpClientExchange].invokeReadReadyCallback()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,long,boolean,boolean)'
      Src: io.undertow.client.http.ClientFixedLengthStreamSinkConduit:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - long
      - boolean
      - boolean
      - io.undertow.client.http.HttpClientExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.HttpClientExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.ClientFixedLengthStreamSinkConduit
      static: false
      superClass: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
    argCount: 5
    argNames:
    - next
    - contentLength
    - configurable
    - propagateClose
    - exchange
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - long
    - boolean
    - boolean
    - io.undertow.client.http.HttpClientExchange
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.client.http.ClientFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,long,boolean,boolean,io.undertow.client.http.HttpClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ClientFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.AbstractFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,long,boolean,boolean)'
    linkageType: ''
    returnType: io.undertow.client.http.ClientFixedLengthStreamSinkConduit
    signature: '[io.undertow.client.http.ClientFixedLengthStreamSinkConduit].<init>(org.xnio.conduits.StreamSinkConduit,long,boolean,boolean,io.undertow.client.http.HttpClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpClientExchange].terminateRequest()'
      Src: io.undertow.client.http.ClientFixedLengthStreamSinkConduit:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.http.HttpClientExchange
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.conduits.AbstractFixedLengthStreamSinkConduit
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.client.http.ClientFixedLengthStreamSinkConduit].channelFinished()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/ClientFixedLengthStreamSinkConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpClientExchange].terminateRequest()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.ClientFixedLengthStreamSinkConduit].channelFinished()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].getLogger(String)'
      Src: io.undertow.client.http.HttpRequestConduit:51,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
      Src: io.undertow.client.http.HttpRequestConduit:82,1
    - Dst: '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.conduits.StreamSinkConduit
      - io.undertow.connector.ByteBufferPool
      - io.undertow.client.ClientRequest
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http.HttpRequestConduit
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - next
    - pool
    - request
    argTypes:
    - org.xnio.conduits.StreamSinkConduit
    - io.undertow.connector.ByteBufferPool
    - io.undertow.client.ClientRequest
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: '[io.undertow.client.http.HttpRequestConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,io.undertow.client.ClientRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].getLogger(String)'
    - '[Object].<init>(org.xnio.conduits.StreamSinkConduit)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater].newUpdater(String)'
    linkageType: ''
    returnType: io.undertow.client.http.HttpRequestConduit
    signature: '[io.undertow.client.http.HttpRequestConduit].<init>(org.xnio.conduits.StreamSinkConduit,io.undertow.connector.ByteBufferPool,io.undertow.client.ClientRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpRequestConduit].doProcessWrite(int,Object)'
      Src: io.undertow.client.http.HttpRequestConduit:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - state
    - userData
    argTypes:
    - int
    - Object
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.client.http.HttpRequestConduit].processWrite(int,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpRequestConduit].doProcessWrite(int,Object)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.client.http.HttpRequestConduit].processWrite(int,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.client.http.HttpRequestConduit:122,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.client.http.HttpRequestConduit:125,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:129,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:130,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:132,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:136,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:138,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:147,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http.HttpRequestConduit:148,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.client.http.HttpRequestConduit:148,1
    - Dst: '[io.undertow.client.ClientRequest].getPath()'
      Src: io.undertow.client.http.HttpRequestConduit:148,1
    - Dst: '[String].length()'
      Src: io.undertow.client.http.HttpRequestConduit:148,1
    - Dst: '[io.undertow.client.ClientRequest].getProtocol()'
      Src: io.undertow.client.http.HttpRequestConduit:148,1
    - Dst: '[io.undertow.util.HttpString].length()'
      Src: io.undertow.client.http.HttpRequestConduit:148,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.client.http.HttpRequestConduit:151,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.client.http.HttpRequestConduit:152,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http.HttpRequestConduit:153,1
    - Dst: '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
      Src: io.undertow.client.http.HttpRequestConduit:153,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:154,1
    - Dst: '[io.undertow.client.ClientRequest].getPath()'
      Src: io.undertow.client.http.HttpRequestConduit:155,1
    - Dst: '[String].length()'
      Src: io.undertow.client.http.HttpRequestConduit:156,1
    - Dst: '[String].charAt(int)'
      Src: io.undertow.client.http.HttpRequestConduit:158,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:158,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:160,1
    - Dst: '[io.undertow.client.ClientRequest].getProtocol()'
      Src: io.undertow.client.http.HttpRequestConduit:161,1
    - Dst: '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
      Src: io.undertow.client.http.HttpRequestConduit:161,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:162,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:162,1
    - Dst: '[StringBuilder].<init>(io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:164,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http.HttpRequestConduit:165,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http.HttpRequestConduit:165,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.client.http.HttpRequestConduit:165,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.client.http.HttpRequestConduit:166,1
    - Dst: '[io.undertow.client.ClientRequest].getPath()'
      Src: io.undertow.client.http.HttpRequestConduit:167,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.client.http.HttpRequestConduit:167,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.client.http.HttpRequestConduit:168,1
    - Dst: '[io.undertow.client.ClientRequest].getProtocol()'
      Src: io.undertow.client.http.HttpRequestConduit:169,1
    - Dst: '[StringBuilder].append(io.undertow.util.HttpString)'
      Src: io.undertow.client.http.HttpRequestConduit:169,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.client.http.HttpRequestConduit:170,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.client.http.HttpRequestConduit:171,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpRequestConduit:176,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.client.http.HttpRequestConduit:177,1
    - Dst: '[java.util.Collection<io.undertow.util.HttpString>].iterator()'
      Src: io.undertow.client.http.HttpRequestConduit:177,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].hasNext()'
      Src: io.undertow.client.http.HttpRequestConduit:178,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:179,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:180,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:180,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:181,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:182,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:183,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:185,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:189,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:191,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].next()'
      Src: io.undertow.client.http.HttpRequestConduit:194,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:199,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].length()'
      Src: io.undertow.client.http.HttpRequestConduit:200,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:202,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].byteAt()'
      Src: io.undertow.client.http.HttpRequestConduit:203,1
    - Dst: '[java.nio.ByteBuffer].put(io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:203,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:205,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:206,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:208,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:210,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:213,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:214,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:220,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:221,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:223,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:225,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:228,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:229,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:231,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:235,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:236,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:238,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:240,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:243,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:244,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:246,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpRequestConduit:248,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:248,1
    - Dst: '[io.undertow.util.HeaderValues].iterator()'
      Src: io.undertow.client.http.HttpRequestConduit:248,1
    - Dst: '[java.util.Iterator<String>].hasNext()'
      Src: io.undertow.client.http.HttpRequestConduit:250,1
    - Dst: '[java.util.Iterator<String>].next()'
      Src: io.undertow.client.http.HttpRequestConduit:251,1
    - Dst: '[org.jboss.logging.Logger].tracef(String,io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:256,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].length()'
      Src: io.undertow.client.http.HttpRequestConduit:257,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:259,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].charAt()'
      Src: io.undertow.client.http.HttpRequestConduit:260,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:260,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:262,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:264,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:266,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:269,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:270,1
    - Dst: '[java.util.Iterator<String>].hasNext()'
      Src: io.undertow.client.http.HttpRequestConduit:274,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:275,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:276,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:278,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:280,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:283,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:284,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:286,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:287,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:288,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:290,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:292,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:295,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:296,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:298,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].hasNext()'
      Src: io.undertow.client.http.HttpRequestConduit:299,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].next()'
      Src: io.undertow.client.http.HttpRequestConduit:300,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:305,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:306,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:308,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:310,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:313,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:314,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:316,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:317,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:318,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:320,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:322,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:325,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:326,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:328,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:332,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:336,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:338,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:341,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].buildDataArray(ByteBuffer[],java.nio.ByteBuffer)'
      Src: io.undertow.client.http.HttpRequestConduit:343,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].writeBufferArray(ByteBuffer[])'
      Src: io.undertow.client.http.HttpRequestConduit:343,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].writeBufferArray()'
      Src: io.undertow.client.http.HttpRequestConduit:347,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:351,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:353,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:362,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:363,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:365,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:367,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:370,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:371,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:373,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:376,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:377,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:379,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:381,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:384,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:385,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:387,1
    - Dst: '[java.util.Iterator<String>].hasNext()'
      Src: io.undertow.client.http.HttpRequestConduit:388,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].hasNext()'
      Src: io.undertow.client.http.HttpRequestConduit:391,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].next()'
      Src: io.undertow.client.http.HttpRequestConduit:392,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:400,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:401,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:403,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:405,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:408,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:409,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:411,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:415,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:416,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:418,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:420,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:423,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:424,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:426,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:430,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:434,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:436,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:439,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].buildDataArray(ByteBuffer[],java.nio.ByteBuffer)'
      Src: io.undertow.client.http.HttpRequestConduit:443,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].writeBufferArray(ByteBuffer[])'
      Src: io.undertow.client.http.HttpRequestConduit:443,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].writeBufferArray()'
      Src: io.undertow.client.http.HttpRequestConduit:447,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:456,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].length()'
      Src: io.undertow.client.http.HttpRequestConduit:461,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:462,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:463,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:465,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:467,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:472,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:473,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].charAt(io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:475,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:475,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http.HttpRequestConduit:478,1
    - Dst: '[io.undertow.util.HeaderMap].getHeaderNames()'
      Src: io.undertow.client.http.HttpRequestConduit:479,1
    - Dst: '[java.util.Collection<io.undertow.util.HttpString>].iterator()'
      Src: io.undertow.client.http.HttpRequestConduit:479,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].hasNext()'
      Src: io.undertow.client.http.HttpRequestConduit:481,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:482,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:483,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].put(byte)'
      Src: io.undertow.client.http.HttpRequestConduit:483,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http.HttpRequestConduit:484,1
    - Dst: '[java.nio.ByteBuffer].hasRemaining()'
      Src: io.undertow.client.http.HttpRequestConduit:485,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:486,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:488,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:492,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:494,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].next()'
      Src: io.undertow.client.http.HttpRequestConduit:497,1
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.client.http.HttpRequestConduit:502,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 341
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - state
    - userData
    argTypes:
    - int
    - Object
    constantsTouched: []
    func_position:
      end: 506
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 506
    functionName: '[io.undertow.client.http.HttpRequestConduit].doProcessWrite(int,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HttpString].length()'
    - '[io.undertow.util.HeaderMap].getHeaderNames()'
    - '[io.undertow.client.ClientRequest].getPath()'
    - '[io.undertow.client.http.HttpRequestConduit].charAt(io.undertow.client.http.HttpRequestConduit)'
    - '[io.undertow.client.ClientRequest].getMethod()'
    - '[io.undertow.client.ClientRequest].getProtocol()'
    - '[io.undertow.client.http.HttpRequestConduit].byteAt()'
    - '[java.util.Iterator<String>].hasNext()'
    - '[StringBuilder].append(String)'
    - '[java.nio.ByteBuffer].clear()'
    - '[java.nio.ByteBuffer].put(io.undertow.client.http.HttpRequestConduit)'
    - '[io.undertow.util.HttpString].appendTo(java.nio.ByteBuffer)'
    - '[io.undertow.client.http.HttpRequestConduit].writeBufferArray()'
    - '[org.jboss.logging.Logger].tracef(String,io.undertow.client.http.HttpRequestConduit)'
    - '[io.undertow.util.HttpString].toString()'
    - '[StringBuilder].append(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[java.nio.ByteBuffer].put(byte)'
    - '[io.undertow.client.http.HttpRequestConduit].buildDataArray(ByteBuffer[],java.nio.ByteBuffer)'
    - '[io.undertow.client.http.HttpRequestConduit].length()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.client.http.HttpRequestConduit].charAt()'
    - '[java.nio.ByteBuffer].hasRemaining()'
    - '[io.undertow.client.http.HttpRequestConduit].hasNext()'
    - '[String].length()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[io.undertow.client.http.HttpRequestConduit].writeBufferArray(ByteBuffer[])'
    - '[io.undertow.client.http.HttpRequestConduit].next()'
    - '[java.util.Collection<io.undertow.util.HttpString>].iterator()'
    - '[io.undertow.client.http.HttpRequestConduit].put(byte)'
    - next.write(java.nio.ByteBuffer)
    - '[io.undertow.util.HeaderValues].iterator()'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[String].charAt(int)'
    - '[StringBuilder].toString()'
    - '[org.jboss.logging.Logger].trace(String)'
    - '[java.util.Iterator<String>].next()'
    - '[IllegalStateException].<init>()'
    - '[java.nio.ByteBuffer].remaining()'
    - '[io.undertow.util.HeaderMap].get(io.undertow.client.http.HttpRequestConduit)'
    - '[java.nio.ByteBuffer].flip()'
    - '[StringBuilder].<init>(io.undertow.client.http.HttpRequestConduit)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.client.http.HttpRequestConduit].doProcessWrite(int,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:509,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:513,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:516,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.client.http.HttpRequestConduit:522,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].processWrite(int,java.nio.ByteBuffer)'
      Src: io.undertow.client.http.HttpRequestConduit:523,1
    - Dst: '[java.nio.ByteBuffer].remaining()'
      Src: io.undertow.client.http.HttpRequestConduit:527,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:528,1
    - Dst: next.terminateWrites()
      Src: io.undertow.client.http.HttpRequestConduit:529,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http.HttpRequestConduit:530,1
    - Dst: next.write(java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:534,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:540,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 547
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 547
    functionName: '[io.undertow.client.http.HttpRequestConduit].write(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[java.nio.ByteBuffer].remaining()'
    - next.write(java.nio.ByteBuffer)
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
    - '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - '[org.jboss.logging.Logger].trace(String)'
    - '[io.undertow.client.http.HttpRequestConduit].processWrite(int,java.nio.ByteBuffer)'
    - next.terminateWrites()
    linkageType: ''
    returnType: int
    signature: '[io.undertow.client.http.HttpRequestConduit].write(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http.HttpRequestConduit].write(ByteBuffer[],int,io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srcs
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: '[io.undertow.client.http.HttpRequestConduit].write(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpRequestConduit].write(ByteBuffer[],int,io.undertow.client.http.HttpRequestConduit)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http.HttpRequestConduit].write(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:554,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:561,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:564,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].processWrite(int,ByteBuffer[])'
      Src: io.undertow.client.http.HttpRequestConduit:569,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:573,1
    - Dst: next.terminateWrites()
      Src: io.undertow.client.http.HttpRequestConduit:574,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http.HttpRequestConduit:575,1
    - Dst: next.write()
      Src: io.undertow.client.http.HttpRequestConduit:578,1
    - Dst: next.write(ByteBuffer[],int,int)
      Src: io.undertow.client.http.HttpRequestConduit:578,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:582,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 589
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 589
    functionName: '[io.undertow.client.http.HttpRequestConduit].write(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - next.write()
    - '[io.undertow.client.http.HttpRequestConduit].processWrite(int,ByteBuffer[])'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
    - next.write(ByteBuffer[],int,int)
    - '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - '[org.jboss.logging.Logger].trace(String)'
    - next.terminateWrites()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http.HttpRequestConduit].write(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
      Src: io.undertow.client.http.HttpRequestConduit:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - src
    argTypes:
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: '[io.undertow.client.http.HttpRequestConduit].writeFinal(java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(java.nio.ByteBuffer)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.client.http.HttpRequestConduit].writeFinal(java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
      Src: io.undertow.client.http.HttpRequestConduit:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - srcs
    - offset
    - length
    argTypes:
    - ByteBuffer[]
    - int
    - int
    constantsTouched: []
    func_position:
      end: 599
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 599
    functionName: '[io.undertow.client.http.HttpRequestConduit].writeFinal(ByteBuffer[],int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.conduits.Conduits].writeFinalBasic(ByteBuffer[],int,int)'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http.HttpRequestConduit].writeFinal(ByteBuffer[],int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:602,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:609,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:612,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].processWrite(int,null)'
      Src: io.undertow.client.http.HttpRequestConduit:616,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:620,1
    - Dst: next.terminateWrites()
      Src: io.undertow.client.http.HttpRequestConduit:621,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http.HttpRequestConduit:622,1
    - Dst: next.transferFrom(java.nio.channels.FileChannel,long,long)
      Src: io.undertow.client.http.HttpRequestConduit:625,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:629,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.channels.FileChannel
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - src
    - position
    - count
    argTypes:
    - java.nio.channels.FileChannel
    - long
    - long
    constantsTouched: []
    func_position:
      end: 636
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 636
    functionName: '[io.undertow.client.http.HttpRequestConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
    - '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - next.transferFrom(java.nio.channels.FileChannel,long,long)
    - '[org.jboss.logging.Logger].trace(String)'
    - '[io.undertow.client.http.HttpRequestConduit].processWrite(int,null)'
    - next.terminateWrites()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http.HttpRequestConduit].transferFrom(java.nio.channels.FileChannel,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:639,1
    - Dst: '[java.nio.ByteBuffer].clear()'
      Src: io.undertow.client.http.HttpRequestConduit:641,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].limit(int)'
      Src: io.undertow.client.http.HttpRequestConduit:641,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:647,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:650,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].processWrite(int,null)'
      Src: io.undertow.client.http.HttpRequestConduit:654,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:658,1
    - Dst: next.terminateWrites()
      Src: io.undertow.client.http.HttpRequestConduit:659,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http.HttpRequestConduit:660,1
    - Dst: next.transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)
      Src: io.undertow.client.http.HttpRequestConduit:663,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:667,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.StreamSourceChannel
      - long
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - source
    - count
    - throughBuffer
    argTypes:
    - org.xnio.channels.StreamSourceChannel
    - long
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 674
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 674
    functionName: '[io.undertow.client.http.HttpRequestConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http.HttpRequestConduit].limit(int)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
    - '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - next.transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)
    - '[java.nio.ByteBuffer].clear()'
    - '[org.jboss.logging.Logger].trace(String)'
    - '[io.undertow.client.http.HttpRequestConduit].processWrite(int,null)'
    - next.terminateWrites()
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http.HttpRequestConduit].transferFrom(org.xnio.channels.StreamSourceChannel,long,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:678,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:682,1
    - Dst: '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
      Src: io.undertow.client.http.HttpRequestConduit:685,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].processWrite(int,null)'
      Src: io.undertow.client.http.HttpRequestConduit:689,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:691,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:694,1
    - Dst: next.terminateWrites()
      Src: io.undertow.client.http.HttpRequestConduit:695,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:699,1
    - Dst: next.flush()
      Src: io.undertow.client.http.HttpRequestConduit:700,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:704,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 711
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 711
    functionName: '[io.undertow.client.http.HttpRequestConduit].flush()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.client.http.HttpRequestConduit].anyAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - '[java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>].compareAndSet(io.undertow.client.http.HttpRequestConduit,io.undertow.client.http.HttpRequestConduit)'
    - next.flush()
    - '[io.undertow.client.http.HttpRequestConduit].allAreSet(io.undertow.client.http.HttpRequestConduit,int)'
    - '[org.jboss.logging.Logger].trace(String)'
    - '[io.undertow.client.http.HttpRequestConduit].processWrite(int,null)'
    - next.terminateWrites()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpRequestConduit].flush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:715,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].allAreClear(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:717,1
    - Dst: next.terminateWrites()
      Src: io.undertow.client.http.HttpRequestConduit:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 722
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 722
    functionName: '[io.undertow.client.http.HttpRequestConduit].terminateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].trace(String)'
    - '[io.undertow.client.http.HttpRequestConduit].allAreClear(io.undertow.client.http.HttpRequestConduit,int)'
    - next.terminateWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpRequestConduit].terminateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:725,1
    - Dst: '[io.undertow.client.http.HttpRequestConduit].allAreClear(io.undertow.client.http.HttpRequestConduit,int)'
      Src: io.undertow.client.http.HttpRequestConduit:727,1
    - Dst: next.truncateWrites()
      Src: io.undertow.client.http.HttpRequestConduit:729,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:732,1
    - Dst: '[io.undertow.server.TruncatedResponseException].<init>()'
      Src: io.undertow.client.http.HttpRequestConduit:739,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 740
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 740
    functionName: '[io.undertow.client.http.HttpRequestConduit].truncateWrites()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.TruncatedResponseException].<init>()'
    - '[io.undertow.client.http.HttpRequestConduit].allAreClear(io.undertow.client.http.HttpRequestConduit,int)'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[org.jboss.logging.Logger].trace(String)'
    - next.truncateWrites()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpRequestConduit].truncateWrites()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next.getWorker()
      Src: io.undertow.client.http.HttpRequestConduit:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 744
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 744
    functionName: '[io.undertow.client.http.HttpRequestConduit].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 0
    functionsReached:
    - next.getWorker()
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.client.http.HttpRequestConduit].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http.HttpRequestConduit:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 752
    functionName: '[io.undertow.client.http.HttpRequestConduit].freeBuffers()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.connector.PooledByteBuffer].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http.HttpRequestConduit].freeBuffers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.arraycopy(ByteBuffer[],int,io.undertow.client.http.HttpRequestConduit,int,io.undertow.client.http.HttpRequestConduit)
      Src: io.undertow.client.http.HttpRequestConduit:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: ByteBuffer[]
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - userData
    - buffer
    argTypes:
    - ByteBuffer[]
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 760
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 760
    functionName: '[io.undertow.client.http.HttpRequestConduit].buildDataArray(ByteBuffer[],java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 1
    functionsReached:
    - System.arraycopy(ByteBuffer[],int,io.undertow.client.http.HttpRequestConduit,int,io.undertow.client.http.HttpRequestConduit)
    linkageType: ''
    returnType: ByteBuffer[]
    signature: '[io.undertow.client.http.HttpRequestConduit].buildDataArray(ByteBuffer[],java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buffer.remaining()
      Src: io.undertow.client.http.HttpRequestConduit:767,1
    - Dst: next.write(ByteBuffer[],int,io.undertow.client.http.HttpRequestConduit)
      Src: io.undertow.client.http.HttpRequestConduit:771,1
    - Dst: '[org.jboss.logging.Logger].trace(String)'
      Src: io.undertow.client.http.HttpRequestConduit:774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - ByteBuffer[]
      classConcrete: true
      classEnum: false
      classFields:
      - org.jboss.logging.Logger
      - io.undertow.connector.ByteBufferPool
      - int
      - java.util.Iterator<io.undertow.util.HttpString>
      - String
      - io.undertow.util.HttpString
      - java.util.Iterator<String>
      - int
      - io.undertow.connector.PooledByteBuffer
      - io.undertow.client.ClientRequest
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - int
      - java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.client.http.HttpRequestConduit>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - ByteBuffer[]
    constantsTouched: []
    func_position:
      end: 783
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 783
    functionName: '[io.undertow.client.http.HttpRequestConduit].writeBufferArray(ByteBuffer[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http/HttpRequestConduit.java
    functionUses: 1
    functionsReached:
    - '[org.jboss.logging.Logger].trace(String)'
    - next.write(ByteBuffer[],int,io.undertow.client.http.HttpRequestConduit)
    - buffer.remaining()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http.HttpRequestConduit].writeBufferArray(ByteBuffer[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList()'
      Src: io.undertow.client.ajp.AjpClientProvider:53,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.client.ajp.AjpClientProvider)'
      Src: io.undertow.client.ajp.AjpClientProvider:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.client.ajp.AjpClientProvider].handlesSchemes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(io.undertow.client.ajp.AjpClientProvider)'
    - '[java.util.Arrays].asList()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.client.ajp.AjpClientProvider].handlesSchemes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.ajp.AjpClientProvider:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.ajp.AjpClientProvider:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.ajp.AjpClientProvider:68,1
    - Dst: '[IoFuture.Notifier].<init>()'
      Src: io.undertow.client.ajp.AjpClientProvider:74,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.ajp.AjpClientProvider:83,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.ajp.AjpClientProvider)'
      Src: io.undertow.client.ajp.AjpClientProvider:83,1
    - Dst: '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.OptionMap)'
      Src: io.undertow.client.ajp.AjpClientProvider:83,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].addNotifier(IoFuture.Notifier,null)'
      Src: io.undertow.client.ajp.AjpClientProvider:83,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.ajp.AjpClientProvider:85,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.ajp.AjpClientProvider)'
      Src: io.undertow.client.ajp.AjpClientProvider:85,1
    - Dst: '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener,null,org.xnio.OptionMap)'
      Src: io.undertow.client.ajp.AjpClientProvider:85,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].addNotifier(IoFuture.Notifier,null)'
      Src: io.undertow.client.ajp.AjpClientProvider:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener,null,org.xnio.OptionMap)'
    - '[io.undertow.client.ajp.AjpClientProvider].addNotifier(IoFuture.Notifier,null)'
    - '[IoFuture.Notifier].<init>()'
    - '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.OptionMap)'
    - '[java.net.URI].getHost()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.ajp.AjpClientProvider)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.ajp.AjpClientProvider:91,1
    - Dst: '[IoFuture.Notifier].<init>()'
      Src: io.undertow.client.ajp.AjpClientProvider:97,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.ajp.AjpClientProvider:106,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.ajp.AjpClientProvider)'
      Src: io.undertow.client.ajp.AjpClientProvider:106,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.OptionMap)'
      Src: io.undertow.client.ajp.AjpClientProvider:106,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].addNotifier(IoFuture.Notifier,null)'
      Src: io.undertow.client.ajp.AjpClientProvider:106,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.ajp.AjpClientProvider:108,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.ajp.AjpClientProvider)'
      Src: io.undertow.client.ajp.AjpClientProvider:108,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener,null,org.xnio.OptionMap)'
      Src: io.undertow.client.ajp.AjpClientProvider:108,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].addNotifier(IoFuture.Notifier,null)'
      Src: io.undertow.client.ajp.AjpClientProvider:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener,null,org.xnio.OptionMap)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.client.ajp.AjpClientProvider].addNotifier(IoFuture.Notifier,null)'
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.OptionMap)'
    - '[IoFuture.Notifier].<init>()'
    - '[java.net.URI].getHost()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.ajp.AjpClientProvider)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.ajp.AjpClientProvider:116,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
      Src: io.undertow.client.ajp.AjpClientProvider:117,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.ajp.AjpClientProvider:118,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.ajp.AjpClientProvider:118,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].getConduit()'
      Src: io.undertow.client.ajp.AjpClientProvider:118,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.ajp.AjpClientProvider:118,1
    - Dst: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.ajp.AjpClientProvider,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.ajp.AjpClientProvider:118,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.client.ajp.AjpClientProvider:118,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.ajp.AjpClientProvider:124,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.ajp.AjpClientProvider:124,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].getConduit()'
      Src: io.undertow.client.ajp.AjpClientProvider:124,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.ajp.AjpClientProvider:124,1
    - Dst: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.ajp.AjpClientProvider,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.ajp.AjpClientProvider:124,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.client.ajp.AjpClientProvider:124,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.ajp.AjpClientProvider:134,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].<init>(io.undertow.protocols.ajp.AjpClientChannel,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,io.undertow.client.ajp.AjpClientProvider)'
      Src: io.undertow.client.ajp.AjpClientProvider:134,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].completed(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientProvider:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - connection
    - listener
    - uri
    - ssl
    - bufferPool
    - options
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: '[io.undertow.client.ajp.AjpClientProvider].handleConnected(org.xnio.StreamConnection,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientConnection].<init>(io.undertow.protocols.ajp.AjpClientChannel,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,io.undertow.client.ajp.AjpClientProvider)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.client.ajp.AjpClientProvider].getConduit()'
    - '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.ajp.AjpClientProvider,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.client.ajp.AjpClientProvider].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.protocols.ajp.AjpClientChannel].<init>(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    - '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.ajp.AjpClientProvider,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.client.ajp.AjpClientProvider].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].completed(io.undertow.client.ajp.AjpClientConnection)'
    - '[io.undertow.conduits.ByteActivityCallback].<init>()'
    - '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientProvider].handleConnected(org.xnio.StreamConnection,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ajp.AjpClientProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ajp.AjpClientProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ajp.AjpClientProvider
    signature: '[io.undertow.client.ajp.AjpClientProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].getRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].getRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].getRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].getRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].getWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].getWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientProvider.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl
    signature: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.ajp.AjpClientExchange:70,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
      Src: io.undertow.client.ajp.AjpClientExchange:70,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.ajp.AjpClientExchange:71,1
    - Dst: '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
      Src: io.undertow.client.ajp.AjpClientExchange:71,1
    - Dst: header.equals(String)
      Src: io.undertow.client.ajp.AjpClientExchange:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientRequest
      - io.undertow.client.ajp.AjpClientConnection
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ajp.AjpClientExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 3
    argNames:
    - readyCallback
    - request
    - clientConnection
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    - io.undertow.client.ClientRequest
    - io.undertow.client.ajp.AjpClientConnection
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: '[io.undertow.client.ajp.AjpClientExchange].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest,io.undertow.client.ajp.AjpClientConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].get(io.undertow.util.HttpString)'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - header.equals(String)
    - '[io.undertow.util.HeaderMap].contains(io.undertow.util.HttpString)'
    linkageType: ''
    returnType: io.undertow.client.ajp.AjpClientExchange
    signature: '[io.undertow.client.ajp.AjpClientExchange].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest,io.undertow.client.ajp.AjpClientConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].isOpen()'
      Src: io.undertow.client.ajp.AjpClientExchange:82,1
    - Dst: '[io.undertow.client.ajp.AjpClientExchange].anyAreSet(int,int)'
      Src: io.undertow.client.ajp.AjpClientExchange:85,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].requestDone()'
      Src: io.undertow.client.ajp.AjpClientExchange:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: '[io.undertow.client.ajp.AjpClientExchange].terminateRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientConnection].isOpen()'
    - '[io.undertow.client.ajp.AjpClientExchange].anyAreSet(int,int)'
    - '[io.undertow.client.ajp.AjpClientConnection].requestDone()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].terminateRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].isOpen()'
      Src: io.undertow.client.ajp.AjpClientExchange:92,1
    - Dst: '[io.undertow.client.ajp.AjpClientExchange].anyAreSet(int,int)'
      Src: io.undertow.client.ajp.AjpClientExchange:95,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].requestDone()'
      Src: io.undertow.client.ajp.AjpClientExchange:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: '[io.undertow.client.ajp.AjpClientExchange].terminateResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientConnection].isOpen()'
    - '[io.undertow.client.ajp.AjpClientExchange].anyAreSet(int,int)'
    - '[io.undertow.client.ajp.AjpClientConnection].requestDone()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].terminateResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.client.ajp.AjpClientExchange].isRequiresContinue()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ajp.AjpClientExchange].isRequiresContinue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ContinueNotification].handleContinue()'
      Src: io.undertow.client.ajp.AjpClientExchange:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientResponse
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - response
    argTypes:
    - io.undertow.client.ClientResponse
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: '[io.undertow.client.ajp.AjpClientExchange].setContinueResponse(io.undertow.client.ClientResponse)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ContinueNotification].handleContinue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].setContinueResponse(io.undertow.client.ClientResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
      Src: io.undertow.client.ajp.AjpClientExchange:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientResponse
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - response
    argTypes:
    - io.undertow.client.ClientResponse
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '[io.undertow.client.ajp.AjpClientExchange].setResponse(io.undertow.client.ClientResponse)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].setResponse(io.undertow.client.ClientResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
      Src: io.undertow.client.ajp.AjpClientExchange:124,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
      Src: io.undertow.client.ajp.AjpClientExchange:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: '[io.undertow.client.ajp.AjpClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ContinueNotification
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - continueHandler
    argTypes:
    - io.undertow.client.ContinueNotification
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: '[io.undertow.client.ajp.AjpClientExchange].setContinueHandler(io.undertow.client.ContinueNotification)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].setContinueHandler(io.undertow.client.ContinueNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.PushCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - pushCallback
    argTypes:
    - io.undertow.client.PushCallback
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: '[io.undertow.client.ajp.AjpClientExchange].setPushHandler(io.undertow.client.PushCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].setPushHandler(io.undertow.client.PushCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
      Src: io.undertow.client.ajp.AjpClientExchange:144,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
      Src: io.undertow.client.ajp.AjpClientExchange:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: '[io.undertow.client.ajp.AjpClientExchange].setFailed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].setFailed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.client.ajp.AjpClientExchange:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSinkChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: '[io.undertow.client.ajp.AjpClientExchange].getRequestChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSinkChannel].<init>(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    linkageType: ''
    returnType: org.xnio.channels.StreamSinkChannel
    signature: '[io.undertow.client.ajp.AjpClientExchange].getRequestChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.channels.DetachableStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel)'
      Src: io.undertow.client.ajp.AjpClientExchange:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSourceChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: '[io.undertow.client.ajp.AjpClientExchange].getResponseChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.channels.DetachableStreamSourceChannel].<init>(io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel)'
    linkageType: ''
    returnType: org.xnio.channels.StreamSourceChannel
    signature: '[io.undertow.client.ajp.AjpClientExchange].getResponseChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientRequest
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '[io.undertow.client.ajp.AjpClientExchange].getRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientRequest
    signature: '[io.undertow.client.ajp.AjpClientExchange].getRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '[io.undertow.client.ajp.AjpClientExchange].getResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.ajp.AjpClientExchange].getResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: '[io.undertow.client.ajp.AjpClientExchange].getContinueResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.ajp.AjpClientExchange].getContinueResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: '[io.undertow.client.ajp.AjpClientExchange].getConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientConnection
    signature: '[io.undertow.client.ajp.AjpClientExchange].getConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - responseChannel
    argTypes:
    - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: '[io.undertow.client.ajp.AjpClientExchange].setResponseChannel(io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].setResponseChannel(io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - requestChannel
    argTypes:
    - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: '[io.undertow.client.ajp.AjpClientExchange].setRequestChannel(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].setRequestChannel(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed(io.undertow.client.ClientExchange)'
      Src: io.undertow.client.ajp.AjpClientExchange:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientRequest
      - boolean
      - io.undertow.client.ajp.AjpClientConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - java.io.IOException
      - io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      - int
      - int
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - result
    argTypes:
    - io.undertow.client.ClientExchange
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: '[io.undertow.client.ajp.AjpClientExchange].invokeReadReadyCallback(io.undertow.client.ClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed(io.undertow.client.ClientExchange)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientExchange].invokeReadReadyCallback(io.undertow.client.ClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:73,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:82,1
    - Dst: '[org.jboss.logging.Logger].getLogger()'
      Src: io.undertow.client.ajp.AjpClientConnection:91,1
    - Dst: '[java.util.ArrayDeque].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:93,1
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:108,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:110,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:118,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].addCloseTask(org.xnio.ChannelListener)'
      Src: io.undertow.client.ajp.AjpClientConnection:118,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getReceiveSetter()'
      Src: io.undertow.client.ajp.AjpClientConnection:138,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:138,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].set(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
      Src: io.undertow.client.ajp.AjpClientConnection:138,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].resumeReceives()'
      Src: io.undertow.client.ajp.AjpClientConnection:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientChannel
      - org.xnio.OptionMap
      - io.undertow.connector.ByteBufferPool
      - io.undertow.client.ClientStatistics
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ajp.AjpClientConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 4
    argNames:
    - ajpClientChannel
    - options
    - bufferPool
    - clientStatistics
    argTypes:
    - io.undertow.protocols.ajp.AjpClientChannel
    - org.xnio.OptionMap
    - io.undertow.connector.ByteBufferPool
    - io.undertow.client.ClientStatistics
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: '[io.undertow.client.ajp.AjpClientConnection].<init>(io.undertow.protocols.ajp.AjpClientChannel,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,io.undertow.client.ClientStatistics)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].resumeReceives()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].<init>()'
    - '[java.util.ArrayDeque].<init>()'
    - '[io.undertow.protocols.ajp.AjpClientChannel].addCloseTask(org.xnio.ChannelListener)'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[org.jboss.logging.Logger].getLogger()'
    - '[io.undertow.client.ajp.AjpClientConnection].set(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
    - '[io.undertow.protocols.ajp.AjpClientChannel].getReceiveSetter()'
    linkageType: ''
    returnType: io.undertow.client.ajp.AjpClientConnection
    signature: '[io.undertow.client.ajp.AjpClientConnection].<init>(io.undertow.protocols.ajp.AjpClientChannel,org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,io.undertow.client.ClientStatistics)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.client.ajp.AjpClientConnection].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getPeerAddress()'
      Src: io.undertow.client.ajp.AjpClientConnection:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].getPeerAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.ajp.AjpClientConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getPeerAddress(Class<A>)'
      Src: io.undertow.client.ajp.AjpClientConnection:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].getPeerAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.ajp.AjpClientConnection].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsAjpClientConnection>
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsAjpClientConnection>
    signature: '[io.undertow.client.ajp.AjpClientConnection].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getLocalAddress()'
      Src: io.undertow.client.ajp.AjpClientConnection:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.ajp.AjpClientConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getLocalAddress(Class<A>)'
      Src: io.undertow.client.ajp.AjpClientConnection:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].getLocalAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.ajp.AjpClientConnection].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getWorker()'
      Src: io.undertow.client.ajp.AjpClientConnection:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.client.ajp.AjpClientConnection].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getIoThread()'
      Src: io.undertow.client.ajp.AjpClientConnection:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.client.ajp.AjpClientConnection].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].isOpen()'
      Src: io.undertow.client.ajp.AjpClientConnection:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: '[io.undertow.client.ajp.AjpClientConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ajp.AjpClientConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].supportsOption(org.xnio.Option<?>)'
      Src: io.undertow.client.ajp.AjpClientConnection:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: '[io.undertow.client.ajp.AjpClientConnection].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].supportsOption(org.xnio.Option<?>)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ajp.AjpClientConnection].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].getOption(org.xnio.Option<T>)'
      Src: io.undertow.client.ajp.AjpClientConnection:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].getOption(org.xnio.Option<T>)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.ajp.AjpClientConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].setOption(org.xnio.Option<T>,T)'
      Src: io.undertow.client.ajp.AjpClientConnection:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[io.undertow.client.ajp.AjpClientConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].setOption(org.xnio.Option<T>,T)'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.ajp.AjpClientConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: '[io.undertow.client.ajp.AjpClientConnection].isUpgraded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,io.undertow.client.ajp.AjpClientConnection)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ajp.AjpClientConnection].isUpgraded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: '[io.undertow.client.ajp.AjpClientConnection].isPushSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ajp.AjpClientConnection].isPushSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '[io.undertow.client.ajp.AjpClientConnection].isMultiplexingSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ajp.AjpClientConnection].isMultiplexingSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientStatistics
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '[io.undertow.client.ajp.AjpClientConnection].getStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientStatistics
    signature: '[io.undertow.client.ajp.AjpClientConnection].getStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[io.undertow.client.ajp.AjpClientConnection].isUpgradeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ajp.AjpClientConnection].isUpgradeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>].add(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.ajp.AjpClientConnection:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - listener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: '[io.undertow.client.ajp.AjpClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>].add(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:236,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].invalidConnectionState()'
      Src: io.undertow.client.ajp.AjpClientConnection:237,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:237,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:239,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].closedConnectionState()'
      Src: io.undertow.client.ajp.AjpClientConnection:240,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:240,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:243,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:244,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.client.ajp.AjpClientConnection:244,1
    - Dst: '[io.undertow.client.ajp.AjpClientExchange].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest)'
      Src: io.undertow.client.ajp.AjpClientConnection:247,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].initiateRequest(io.undertow.client.ajp.AjpClientExchange)'
      Src: io.undertow.client.ajp.AjpClientConnection:249,1
    - Dst: '[java.util.Deque<io.undertow.client.ajp.AjpClientExchange>].add(io.undertow.client.ajp.AjpClientExchange)'
      Src: io.undertow.client.ajp.AjpClientConnection:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientRequest
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 2
    argNames:
    - request
    - clientCallback
    argTypes:
    - io.undertow.client.ClientRequest
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: '[io.undertow.client.ajp.AjpClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientConnection].invalidConnectionState()'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.nio.channels.ClosedChannelException)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.client.ajp.AjpClientConnection].initiateRequest(io.undertow.client.ajp.AjpClientExchange)'
    - '[io.undertow.client.ajp.AjpClientConnection].closedConnectionState()'
    - '[io.undertow.client.ajp.AjpClientExchange].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest)'
    - '[java.util.Deque<io.undertow.client.ajp.AjpClientExchange>].add(io.undertow.client.ajp.AjpClientExchange)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.ajp.AjpClientConnection)'
    - '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,io.undertow.client.ajp.AjpClientConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: '[io.undertow.client.ajp.AjpClientConnection].isPingSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.ajp.AjpClientConnection].isPingSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.client.ajp.AjpClientConnection:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - PingListener
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 3
    argNames:
    - listener
    - timeout
    - timeUnit
    argTypes:
    - PingListener
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: '[io.undertow.client.ajp.AjpClientConnection].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientExchange].getRequest()'
      Src: io.undertow.client.ajp.AjpClientConnection:268,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.ajp.AjpClientConnection:270,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:270,1
    - Dst: '[io.undertow.util.Headers.CLOSE].equalToString(String)'
      Src: io.undertow.client.ajp.AjpClientConnection:272,1
    - Dst: '[io.undertow.client.ClientRequest].getProtocol()'
      Src: io.undertow.client.ajp.AjpClientConnection:275,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.ajp.AjpClientConnection:278,1
    - Dst: '[io.undertow.util.HeaderMap].contains(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:278,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.ajp.AjpClientConnection:283,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:283,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.ajp.AjpClientConnection:284,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:284,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.client.ajp.AjpClientConnection:287,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.ajp.AjpClientConnection:292,1
    - Dst: '[io.undertow.client.ClientRequest].getPath()'
      Src: io.undertow.client.ajp.AjpClientConnection:292,1
    - Dst: '[io.undertow.client.ClientRequest].getProtocol()'
      Src: io.undertow.client.ajp.AjpClientConnection:292,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.ajp.AjpClientConnection:292,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].sendRequest(io.undertow.util.HttpString,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.client.ClientRequest,org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>)'
      Src: io.undertow.client.ajp.AjpClientConnection:292,1
    - Dst: '[io.undertow.client.ajp.AjpClientExchange].setRequestChannel(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.client.ajp.AjpClientConnection:293,1
    - Dst: '[io.undertow.client.ajp.AjpClientExchange].invokeReadReadyCallback(io.undertow.client.ajp.AjpClientExchange)'
      Src: io.undertow.client.ajp.AjpClientConnection:295,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].shutdownWrites()'
      Src: io.undertow.client.ajp.AjpClientConnection:300,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flush()'
      Src: io.undertow.client.ajp.AjpClientConnection:301,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].handleFailedFlush(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
      Src: io.undertow.client.ajp.AjpClientConnection:302,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].handleError()'
      Src: io.undertow.client.ajp.AjpClientConnection:305,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ajp.AjpClientExchange
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - AjpClientExchange
    argTypes:
    - io.undertow.client.ajp.AjpClientExchange
    constantsTouched: []
    func_position:
      end: 308
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 308
    functionName: '[io.undertow.client.ajp.AjpClientConnection].initiateRequest(io.undertow.client.ajp.AjpClientExchange)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.client.ajp.AjpClientConnection)'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.client.ajp.AjpClientExchange].invokeReadReadyCallback(io.undertow.client.ajp.AjpClientExchange)'
    - '[io.undertow.client.ajp.AjpClientExchange].setRequestChannel(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - '[io.undertow.client.ClientRequest].getPath()'
    - Long.parseLong(String)
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].flush()'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.client.ajp.AjpClientConnection)'
    - '[io.undertow.protocols.ajp.AjpClientChannel].sendRequest(io.undertow.util.HttpString,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap,io.undertow.client.ClientRequest,org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>)'
    - '[io.undertow.client.ClientRequest].getProtocol()'
    - '[io.undertow.client.ClientRequest].getMethod()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].shutdownWrites()'
    - '[io.undertow.client.ajp.AjpClientConnection].handleError()'
    - '[io.undertow.util.Headers.CLOSE].equalToString(String)'
    - '[io.undertow.util.HeaderMap].contains(io.undertow.client.ajp.AjpClientConnection)'
    - '[io.undertow.client.ajp.AjpClientConnection].handleFailedFlush(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    - '[io.undertow.client.ajp.AjpClientExchange].getRequest()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].initiateRequest(io.undertow.client.ajp.AjpClientExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getWriteSetter()'
      Src: io.undertow.client.ajp.AjpClientConnection:311,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection:311,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.client.ajp.AjpClientConnection:311,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].set(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:311,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].resumeWrites()'
      Src: io.undertow.client.ajp.AjpClientConnection:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - sinkChannel
    argTypes:
    - io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: '[io.undertow.client.ajp.AjpClientConnection].handleFailedFlush(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientConnection].set(io.undertow.client.ajp.AjpClientConnection)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].resumeWrites()'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel].getWriteSetter()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].handleFailedFlush(io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientExchange].setFailed(java.io.IOException)'
      Src: io.undertow.client.ajp.AjpClientConnection:321,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].safeClose(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.client.ajp.AjpClientConnection:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - exception
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: '[io.undertow.client.ajp.AjpClientConnection].handleError(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientExchange].setFailed(java.io.IOException)'
    - '[io.undertow.client.ajp.AjpClientConnection].safeClose(io.undertow.protocols.ajp.AjpClientChannel)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].handleError(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].upgradeNotSupported()'
      Src: io.undertow.client.ajp.AjpClientConnection:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: '[io.undertow.client.ajp.AjpClientConnection].performUpgrade()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientConnection].upgradeNotSupported()'
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.client.ajp.AjpClientConnection].performUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].getPeerAddress()'
      Src: io.undertow.client.ajp.AjpClientConnection:330,1
    - Dst: '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress)'
      Src: io.undertow.client.ajp.AjpClientConnection:330,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,int)'
      Src: io.undertow.client.ajp.AjpClientConnection:331,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].close()'
      Src: io.undertow.client.ajp.AjpClientConnection:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: '[io.undertow.client.ajp.AjpClientConnection].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.Logger].debugf(String,java.net.SocketAddress)'
    - '[io.undertow.protocols.ajp.AjpClientChannel].close()'
    - '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,int)'
    - '[io.undertow.client.ajp.AjpClientConnection].getPeerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,int)'
      Src: io.undertow.client.ajp.AjpClientConnection:344,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].safeClose(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.client.ajp.AjpClientConnection:345,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,int)'
      Src: io.undertow.client.ajp.AjpClientConnection:346,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].safeClose(io.undertow.protocols.ajp.AjpClientChannel)'
      Src: io.undertow.client.ajp.AjpClientConnection:347,1
    - Dst: '[java.util.Deque<io.undertow.client.ajp.AjpClientExchange>].poll()'
      Src: io.undertow.client.ajp.AjpClientConnection:351,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection].initiateRequest(io.undertow.client.ajp.AjpClientConnection)'
      Src: io.undertow.client.ajp.AjpClientConnection:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: '[io.undertow.client.ajp.AjpClientConnection].requestDone()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.client.ajp.AjpClientConnection].initiateRequest(io.undertow.client.ajp.AjpClientConnection)'
    - '[io.undertow.client.ajp.AjpClientConnection].safeClose(io.undertow.protocols.ajp.AjpClientChannel)'
    - '[io.undertow.client.ajp.AjpClientConnection].anyAreSet(int,int)'
    - '[java.util.Deque<io.undertow.client.ajp.AjpClientExchange>].poll()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].requestDone()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>
      - org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientResponseStreamSourceChannel>
      - org.jboss.logging.Logger
      - java.util.Deque<io.undertow.client.ajp.AjpClientExchange>
      - io.undertow.client.ajp.AjpClientExchange
      - org.xnio.OptionMap
      - io.undertow.protocols.ajp.AjpClientChannel
      - io.undertow.connector.ByteBufferPool
      - int
      - int
      - int
      - int
      - int
      - ChannelListener.SimpleSetter<io.undertow.client.ajp.AjpClientConnection>
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Closeable
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: '[io.undertow.client.ajp.AjpClientConnection].requestClose()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection].requestClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].receive()'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:367,1
    - Dst: '[io.undertow.protocols.ajp.AjpClientChannel].isOpen()'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:369,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].getIoThread()'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:372,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:372,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].execute(Runnable)'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:372,1
    - Dst: response.setFinishListener(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:386,1
    - Dst: response.getStatusCode()
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:387,1
    - Dst: response.getReasonPhrase()
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:387,1
    - Dst: currentRequest.getRequest()
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:387,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].getProtocol()'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:387,1
    - Dst: response.getHeaders()
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:387,1
    - Dst: '[io.undertow.client.ClientResponse].<init>(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener,io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener,io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener,io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:387,1
    - Dst: response.getStatusCode()
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:388,1
    - Dst: currentRequest.setContinueResponse(io.undertow.client.ClientResponse)
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:389,1
    - Dst: currentRequest.setResponseChannel(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:391,1
    - Dst: currentRequest.setResponse(io.undertow.client.ClientResponse)
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:392,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener,io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:396,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].exceptionProcessingRequest(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:400,1
    - Dst: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].safeClose(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:401,1
    - Dst: currentRequest.setFailed()
      Src: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener:403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ajp.AjpClientChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.ajp.AjpClientChannel
    constantsTouched: []
    func_position:
      end: 406
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 406
    functionName: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].handleEvent(io.undertow.protocols.ajp.AjpClientChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.ajp.AjpClientChannel].receive()'
    - response.getHeaders()
    - '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].safeClose(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
    - '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].exceptionProcessingRequest(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
    - currentRequest.setFailed()
    - currentRequest.setResponse(io.undertow.client.ClientResponse)
    - '[Runnable].<init>()'
    - currentRequest.getRequest()
    - currentRequest.setResponseChannel(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)
    - '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].execute(Runnable)'
    - response.setFinishListener(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)
    - '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].getProtocol()'
    - '[io.undertow.protocols.ajp.AjpClientChannel].isOpen()'
    - '[io.undertow.client.ClientResponse].<init>(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener,io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener,io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener,io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
    - '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].getIoThread()'
    - '[org.xnio.channels.Channels].drain(io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener,io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener)'
    - response.getStatusCode()
    - response.getReasonPhrase()
    - currentRequest.setContinueResponse(io.undertow.client.ClientResponse)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].handleEvent(io.undertow.protocols.ajp.AjpClientChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/ajp/AjpClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener
    signature: '[io.undertow.client.ajp.AjpClientConnection.ClientReceiveListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:69,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].handlesSchemes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
    - '[java.util.Arrays].asList()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].handlesSchemes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:76,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:76,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:76,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:76,1
    - Dst: '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:76,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:76,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:76,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:78,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:78,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:78,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:78,1
    - Dst: '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,null,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:78,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:78,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
    - '[java.net.URI].getHost()'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
    - '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,org.xnio.OptionMap)'
    - '[org.xnio.XnioWorker].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,null,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:85,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:85,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:85,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:85,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:85,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:85,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:85,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:87,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:87,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:87,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:87,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,null,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:87,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:87,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,null,org.xnio.OptionMap)'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
    - '[java.net.URI].getHost()'
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,org.xnio.OptionMap)'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IoFuture.Notifier].<init>()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IoFuture.Notifier<org.xnio.StreamConnection,Object>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 2
    functionsReached:
    - '[IoFuture.Notifier].<init>()'
    linkageType: ''
    returnType: IoFuture.Notifier<org.xnio.StreamConnection,Object>
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ChannelListener<org.xnio.StreamConnection>
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - listener
    - bufferPool
    - options
    - defaultHost
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    linkageType: ''
    returnType: org.xnio.ChannelListener<org.xnio.StreamConnection>
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:116,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:117,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:118,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:118,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].getConduit()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:118,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:118,1
    - Dst: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:118,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:118,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:124,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:124,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].getConduit()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:124,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:124,1
    - Dst: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:124,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:124,1
    - Dst: '[java.nio.ByteBuffer].wrap(byte[])'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:134,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].flip()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:135,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:136,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].write(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:137,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].hasRemaining()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:138,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:139,1
    - Dst: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].setWriteListener(org.xnio.ChannelListener)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:139,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:156,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.http2.Http2PriorKnowledgeClientProvider,boolean)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:156,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].completed(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:156,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:158,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
      Src: io.undertow.client.http2.Http2PriorKnowledgeClientProvider:159,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - connection
    - listener
    - bufferPool
    - options
    - defaultHost
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - String
    constantsTouched: []
    func_position:
      end: 161
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 161
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].handleConnected(org.xnio.StreamConnection,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider,io.undertow.conduits.ByteActivityCallback)'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].flip()'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].write(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
    - '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.conduits.ByteActivityCallback].<init>()'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].completed(io.undertow.client.http2.Http2ClientConnection)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[java.nio.ByteBuffer].wrap(byte[])'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].getConduit()'
    - '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider,io.undertow.conduits.ByteActivityCallback)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].hasRemaining()'
    - '[java.io.IOException].<init>(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
    - '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.http2.Http2PriorKnowledgeClientProvider,boolean)'
    - '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].setWriteListener(org.xnio.ChannelListener)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http2.Http2PriorKnowledgeClientProvider)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].handleConnected(org.xnio.StreamConnection,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2PriorKnowledgeClientProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2PriorKnowledgeClientProvider
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].getRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].getRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].getRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].getRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].getWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].getWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2PriorKnowledgeClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl
    signature: '[io.undertow.client.http2.Http2PriorKnowledgeClientProvider.ClientStatisticsImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2ClientExchange
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 3
    argNames:
    - clientConnection
    - request
    - clientRequest
    argTypes:
    - io.undertow.client.ClientConnection
    - io.undertow.protocols.http2.Http2StreamSinkChannel
    - io.undertow.client.ClientRequest
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.client.ClientConnection,io.undertow.protocols.http2.Http2StreamSinkChannel,io.undertow.client.ClientRequest)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientExchange
    signature: '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.client.ClientConnection,io.undertow.protocols.http2.Http2StreamSinkChannel,io.undertow.client.ClientRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
      Src: io.undertow.client.http2.Http2ClientExchange:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - responseListener
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: '[io.undertow.client.http2.Http2ClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ContinueNotification
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - continueHandler
    argTypes:
    - io.undertow.client.ContinueNotification
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.client.http2.Http2ClientExchange].setContinueHandler(io.undertow.client.ContinueNotification)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientExchange].setContinueHandler(io.undertow.client.ContinueNotification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ContinueNotification].handleContinue()'
      Src: io.undertow.client.http2.Http2ClientExchange:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientResponse
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - response
    argTypes:
    - io.undertow.client.ClientResponse
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: '[io.undertow.client.http2.Http2ClientExchange].setContinueResponse(io.undertow.client.ClientResponse)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ContinueNotification].handleContinue()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientExchange].setContinueResponse(io.undertow.client.ClientResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.PushCallback
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - pushCallback
    argTypes:
    - io.undertow.client.PushCallback
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: '[io.undertow.client.http2.Http2ClientExchange].setPushHandler(io.undertow.client.PushCallback)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientExchange].setPushHandler(io.undertow.client.PushCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.PushCallback
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: '[io.undertow.client.http2.Http2ClientExchange].getPushCallback()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.PushCallback
    signature: '[io.undertow.client.http2.Http2ClientExchange].getPushCallback()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSinkChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.client.http2.Http2ClientExchange].getRequestChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.StreamSinkChannel
    signature: '[io.undertow.client.http2.Http2ClientExchange].getRequestChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.StreamSourceChannel
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '[io.undertow.client.http2.Http2ClientExchange].getResponseChannel()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: org.xnio.channels.StreamSourceChannel
    signature: '[io.undertow.client.http2.Http2ClientExchange].getResponseChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientRequest
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '[io.undertow.client.http2.Http2ClientExchange].getRequest()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientRequest
    signature: '[io.undertow.client.http2.Http2ClientExchange].getRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: '[io.undertow.client.http2.Http2ClientExchange].getResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.http2.Http2ClientExchange].getResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: '[io.undertow.client.http2.Http2ClientExchange].getContinueResponse()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.http2.Http2ClientExchange].getContinueResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientConnection
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.client.http2.Http2ClientExchange].getConnection()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientConnection
    signature: '[io.undertow.client.http2.Http2ClientExchange].getConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
      Src: io.undertow.client.http2.Http2ClientExchange:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: '[io.undertow.client.http2.Http2ClientExchange].failed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.io.IOException)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientExchange].failed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].createResponse(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.client.http2.Http2ClientExchange:132,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
      Src: io.undertow.client.http2.Http2ClientExchange:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - result
    argTypes:
    - io.undertow.protocols.http2.Http2StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: '[io.undertow.client.http2.Http2ClientExchange].responseReady(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientExchange].createResponse(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientExchange].responseReady(io.undertow.protocols.http2.Http2StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHeaders()'
      Src: io.undertow.client.http2.Http2ClientExchange:140,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHeaders()'
      Src: io.undertow.client.http2.Http2ClientExchange:141,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientExchange:141,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.client.http2.Http2ClientExchange:142,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientExchange:143,1
    - Dst: '[io.undertow.client.ClientResponse].<init>(io.undertow.client.http2.Http2ClientExchange,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
      Src: io.undertow.client.http2.Http2ClientExchange:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ContinueNotification
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientResponse
      - io.undertow.client.ClientConnection
      - io.undertow.protocols.http2.Http2StreamSinkChannel
      - io.undertow.client.ClientRequest
      - java.io.IOException
      - io.undertow.client.PushCallback
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientExchange
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.ClientResponse
      static: false
      superClass: io.undertow.util.AbstractAttachable
    argCount: 1
    argNames:
    - result
    argTypes:
    - io.undertow.protocols.http2.Http2StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: '[io.undertow.client.http2.Http2ClientExchange].createResponse(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientExchange.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - Integer.parseInt(String)
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].getHeaders()'
    - '[io.undertow.client.ClientResponse].<init>(io.undertow.client.http2.Http2ClientExchange,String,io.undertow.util.HttpString,io.undertow.util.HeaderMap)'
    linkageType: ''
    returnType: io.undertow.client.ClientResponse
    signature: '[io.undertow.client.http2.Http2ClientExchange].createResponse(io.undertow.protocols.http2.Http2StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:79,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].handlesSchemes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].asList()'
    - '[java.util.HashSet].<init>(io.undertow.client.http2.Http2ClearClientProvider)'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].handlesSchemes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getUserInfo()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:86,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:86,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:86,1
    - Dst: '[java.net.URI].getPath()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:86,1
    - Dst: '[java.net.URI].getQuery()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:86,1
    - Dst: '[java.net.URI].getFragment()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:86,1
    - Dst: '[java.net.URI].<init>(String,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:86,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:88,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(java.io.IOException)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:88,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].createHeaders(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,java.net.URI)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:91,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:92,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:92,1
    - Dst: '[org.xnio.http.HttpUpgrade].performUpgrade(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.URI,java.util.Map<String,String>,io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener,null,org.xnio.OptionMap,null)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:92,1
    - Dst: '[FailedNotifier].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:92,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].addNotifier(FailedNotifier,null)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].getPort()'
    - '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClearClientProvider)'
    - '[io.undertow.client.http2.Http2ClearClientProvider].createHeaders(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,java.net.URI)'
    - '[java.net.URI].getQuery()'
    - '[java.net.URI].getPath()'
    - '[java.net.URI].<init>(String,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider)'
    - '[org.xnio.http.HttpUpgrade].performUpgrade(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.URI,java.util.Map<String,String>,io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener,null,org.xnio.OptionMap,null)'
    - '[io.undertow.client.http2.Http2ClearClientProvider].addNotifier(FailedNotifier,null)'
    - '[java.net.URI].getFragment()'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(java.io.IOException)'
    - '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,io.undertow.client.http2.Http2ClearClientProvider)'
    - '[java.net.URI].getHost()'
    - '[FailedNotifier].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    - '[java.net.URI].getUserInfo()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.net.URI].getUserInfo()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:99,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:99,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:99,1
    - Dst: '[java.net.URI].getPath()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:99,1
    - Dst: '[java.net.URI].getQuery()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:99,1
    - Dst: '[java.net.URI].getFragment()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:99,1
    - Dst: '[java.net.URI].<init>(String,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:99,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:101,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(java.io.IOException)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:101,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:106,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:106,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:106,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:106,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:112,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.ChannelListener,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:106,1
    - Dst: '[FailedNotifier].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:117,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].addNotifier(FailedNotifier,null)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:106,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:119,1
    - Dst: '[java.net.URI].getPort()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:119,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:119,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:119,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:125,1
    - Dst: '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.ChannelListener,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:119,1
    - Dst: '[FailedNotifier].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:130,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].addNotifier(FailedNotifier,null)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 133
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 133
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached:
    - '[java.net.URI].getPort()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClearClientProvider)'
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.ChannelListener,org.xnio.OptionMap)'
    - '[java.net.URI].getQuery()'
    - '[java.net.URI].getPath()'
    - '[java.net.URI].<init>(String,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider)'
    - '[io.undertow.client.http2.Http2ClearClientProvider].addNotifier(FailedNotifier,null)'
    - '[java.net.URI].getFragment()'
    - '[org.xnio.XnioIoThread].openStreamConnection(java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener,org.xnio.ChannelListener,org.xnio.OptionMap)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(java.io.IOException)'
    - '[FailedNotifier].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    - '[java.net.URI].getHost()'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClearClientProvider,io.undertow.client.http2.Http2ClearClientProvider)'
    - '[java.net.URI].getUserInfo()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:136,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].createSettingsFrame(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:137,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:137,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:138,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:139,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:140,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:140,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      - io.undertow.connector.ByteBufferPool
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - options
    - bufferPool
    - uri
    argTypes:
    - org.xnio.OptionMap
    - io.undertow.connector.ByteBufferPool
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].createHeaders(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,java.net.URI)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 1
    functionsReached:
    - '[java.util.HashMap].put(String,String)'
    - '[java.util.HashMap].<init>()'
    - '[java.net.URI].getHost()'
    - '[io.undertow.client.http2.Http2ClearClientProvider].createSettingsFrame(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
    - '[java.util.HashMap].put(String,io.undertow.client.http2.Http2ClearClientProvider)'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].createHeaders(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.connector.ByteBufferPool].allocate()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:147,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].getBuffer()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:149,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:151,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:152,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:152,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Boolean>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:154,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:155,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:158,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:159,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:159,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:162,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:163,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:163,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:166,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:167,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:167,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:170,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:171,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:171,1
    - Dst: '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:172,1
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:173,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,io.undertow.client.http2.Http2ClearClientProvider)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:173,1
    - Dst: '[java.nio.ByteBuffer].flip()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:175,1
    - Dst: '[io.undertow.util.FlexBase64].encodeStringURL(java.nio.ByteBuffer,boolean)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:176,1
    - Dst: '[io.undertow.connector.PooledByteBuffer].close()'
      Src: io.undertow.client.http2.Http2ClearClientProvider:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.OptionMap
      - io.undertow.connector.ByteBufferPool
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - options
    - bufferPool
    argTypes:
    - org.xnio.OptionMap
    - io.undertow.connector.ByteBufferPool
    constantsTouched: []
    func_position:
      end: 180
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 180
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].createSettingsFrame(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,io.undertow.client.http2.Http2ClearClientProvider)'
    - '[io.undertow.util.FlexBase64].encodeStringURL(java.nio.ByteBuffer,boolean)'
    - '[org.xnio.OptionMap].contains(org.xnio.Option<Integer>)'
    - '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int)'
    - '[io.undertow.connector.ByteBufferPool].allocate()'
    - '[io.undertow.connector.PooledByteBuffer].close()'
    - '[io.undertow.connector.PooledByteBuffer].getBuffer()'
    - '[org.xnio.OptionMap].contains(org.xnio.Option<Boolean>)'
    - '[java.nio.ByteBuffer].flip()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Integer>)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].createSettingsFrame(org.xnio.OptionMap,io.undertow.connector.ByteBufferPool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:183,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:184,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:185,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:186,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:187,1
    - Dst: '[java.nio.ByteBuffer].put(byte)'
      Src: io.undertow.client.http2.Http2ClearClientProvider:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.ByteBuffer
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - currentBuffer
    - id
    - value
    argTypes:
    - java.nio.ByteBuffer
    - int
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,int)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached:
    - '[java.nio.ByteBuffer].put(byte)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].pushOption(java.nio.ByteBuffer,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2ClearClientProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClearClientProvider
    signature: '[io.undertow.client.http2.Http2ClearClientProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - OptionMap
      - ClientCallback<ClientConnection>
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - bufferPool
    - options
    - listener
    - defaultHost
    argTypes:
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - String
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].<init>(io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:210,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:211,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:212,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:212,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].getConduit()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:212,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:212,1
    - Dst: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:212,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:212,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:218,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:218,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].getConduit()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:218,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:218,1
    - Dst: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:218,1
    - Dst: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:218,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,ByteBufferPool,null,boolean,boolean,OptionMap)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:228,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener,boolean)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:229,1
    - Dst: '[ClientCallback<ClientConnection>].completed(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      classConcrete: true
      classEnum: false
      classFields:
      - ByteBufferPool
      - OptionMap
      - ClientCallback<ClientConnection>
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - org.xnio.StreamConnection
    constantsTouched: []
    func_position:
      end: 232
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 232
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].handleEvent(org.xnio.StreamConnection)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener,boolean)'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,ByteBufferPool,null,boolean,boolean,OptionMap)'
    - '[io.undertow.conduits.ByteActivityCallback].<init>()'
    - '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].getConduit()'
    - '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[ClientCallback<ClientConnection>].completed(io.undertow.client.http2.Http2ClientConnection)'
    - '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.Http2ClearOpenListener].handleEvent(org.xnio.StreamConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - ClientCallback<ClientConnection>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier].<init>(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.IoFuture<?extendsStreamConnection>].getStatus()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier:244,1
    - Dst: '[org.xnio.IoFuture<?extendsStreamConnection>].getException()'
      Src: io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier:245,1
    - Dst: '[ClientCallback<ClientConnection>].failed(io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier)'
      Src: io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.IoFuture<?extendsStreamConnection>
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - ClientCallback<ClientConnection>
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - ioFuture
    - attachment
    argTypes:
    - org.xnio.IoFuture<?extendsStreamConnection>
    - Object
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier].notify(org.xnio.IoFuture<?extendsStreamConnection>,Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoFuture<?extendsStreamConnection>].getStatus()'
    - '[ClientCallback<ClientConnection>].failed(io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier)'
    - '[org.xnio.IoFuture<?extendsStreamConnection>].getException()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.FailedNotifier].notify(org.xnio.IoFuture<?extendsStreamConnection>,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].getRequestCount()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].getRequestCount()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - requestCount
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].setRequestCount(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].setRequestCount(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - read
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].setRead(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].setRead(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - written
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].setWritten(long)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].setWritten(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].getRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].getRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].getRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].getRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].getWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].getWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClearClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl
    signature: '[io.undertow.client.http2.Http2ClearClientProvider.ClientStatisticsImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:86,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:88,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:90,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:96,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:99,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:101,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
      Src: io.undertow.client.http2.Http2ClientConnection:121,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:121,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection:121,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
      Src: io.undertow.client.http2.Http2ClientConnection:122,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>)'
      Src: io.undertow.client.http2.Http2ClientConnection:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2ClientConnection
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - http2Channel
    - initialUpgradeRequest
    - defaultHost
    - clientStatistics
    - secure
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - boolean
    - String
    - io.undertow.client.ClientStatistics
    - boolean
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.ClientStatistics,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.client.http2.Http2ClientConnection].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>)'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientConnection
    signature: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.ClientStatistics,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ChannelListener.SimpleSetter].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:86,1
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:88,1
    - Dst: '[java.util.concurrent.atomic.AtomicLong].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:90,1
    - Dst: '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:96,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:99,1
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:101,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
      Src: io.undertow.client.http2.Http2ClientConnection:133,1
    - Dst: '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:133,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection:133,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
      Src: io.undertow.client.http2.Http2ClientConnection:134,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>)'
      Src: io.undertow.client.http2.Http2ClientConnection:135,1
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].<init>(null,io.undertow.client.ClientRequest)'
      Src: io.undertow.client.http2.Http2ClientConnection:138,1
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
      Src: io.undertow.client.http2.Http2ClientConnection:139,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].put(int,io.undertow.client.http2.Http2ClientExchange)'
      Src: io.undertow.client.http2.Http2ClientConnection:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      - io.undertow.client.ClientRequest
      - String
      - io.undertow.client.ClientStatistics
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2ClientConnection
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - http2Channel
    - upgradeReadyCallback
    - clientRequest
    - defaultHost
    - clientStatistics
    - secure
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    - io.undertow.client.ClientRequest
    - String
    - io.undertow.client.ClientStatistics
    - boolean
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest,String,io.undertow.client.ClientStatistics,boolean)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CopyOnWriteArrayList].<init>()'
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.client.http2.Http2ClientConnection].set(io.undertow.server.protocol.http2.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2Channel].resumeReceives()'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.server.protocol.http2.Http2ReceiveListener].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].getReceiveSetter()'
    - '[java.util.concurrent.atomic.AtomicLong].<init>()'
    - '[io.undertow.protocols.http2.Http2Channel].addCloseTask(org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>)'
    - '[io.undertow.client.http2.Http2ClientExchange].setResponseListener(io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].put(int,io.undertow.client.http2.Http2ClientExchange)'
    - '[io.undertow.client.http2.Http2ClientExchange].<init>(null,io.undertow.client.ClientRequest)'
    - '[ChannelListener.SimpleSetter].<init>()'
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientConnection
    signature: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>,io.undertow.client.ClientRequest,String,io.undertow.client.ClientStatistics,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.client.http2.Http2ClientConnection:145,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:146,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.client.http2.Http2ClientConnection:146,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:149,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http2.Http2ClientConnection:149,1
    - Dst: '[io.undertow.util.HttpString].toString()'
      Src: io.undertow.client.http2.Http2ClientConnection:149,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.Http2ClientConnection,String)'
      Src: io.undertow.client.http2.Http2ClientConnection:149,1
    - Dst: '[io.undertow.client.ClientRequest].getMethod()'
      Src: io.undertow.client.http2.Http2ClientConnection:150,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientConnection:150,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:152,1
    - Dst: '[io.undertow.client.ClientRequest].getPath()'
      Src: io.undertow.client.http2.Http2ClientConnection:152,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.Http2ClientConnection,String)'
      Src: io.undertow.client.http2.Http2ClientConnection:152,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:153,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:153,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:155,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientConnection:155,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:157,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.Http2ClientConnection,String)'
      Src: io.undertow.client.http2.Http2ClientConnection:157,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:159,1
    - Dst: '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.Http2ClientConnection,String)'
      Src: io.undertow.client.http2.Http2ClientConnection:159,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:161,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientConnection:161,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:166,1
    - Dst: '[io.undertow.util.HeaderMap].getFirst(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:166,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:167,1
    - Dst: '[io.undertow.util.HeaderMap].getLast(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:167,1
    - Dst: Long.parseLong(String)
      Src: io.undertow.client.http2.Http2ClientConnection:170,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:173,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].handleError(java.io.IOException)'
      Src: io.undertow.client.http2.Http2ClientConnection:173,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:180,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientConnection:180,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:181,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientConnection:181,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:182,1
    - Dst: '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientConnection:182,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection:186,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].createStream(io.undertow.util.HeaderMap)'
      Src: io.undertow.client.http2.Http2ClientConnection:186,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:188,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:189,1
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,io.undertow.client.ClientRequest)'
      Src: io.undertow.client.http2.Http2ClientConnection:192,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
      Src: io.undertow.client.http2.Http2ClientConnection:193,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].put(io.undertow.client.http2.Http2ClientConnection,io.undertow.client.http2.Http2ClientExchange)'
      Src: io.undertow.client.http2.Http2ClientConnection:193,1
    - Dst: '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:195,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setTrailersProducer(io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer)'
      Src: io.undertow.client.http2.Http2ClientConnection:195,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed(io.undertow.client.http2.Http2ClientExchange)'
      Src: io.undertow.client.http2.Http2ClientConnection:217,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].shutdownWrites()'
      Src: io.undertow.client.http2.Http2ClientConnection:223,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].flush()'
      Src: io.undertow.client.http2.Http2ClientConnection:224,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getWriteSetter()'
      Src: io.undertow.client.http2.Http2ClientConnection:225,1
    - Dst: '[org.xnio.ChannelExceptionHandler].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:225,1
    - Dst: '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
      Src: io.undertow.client.http2.Http2ClientConnection:225,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].set(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:225,1
    - Dst: '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].resumeWrites()'
      Src: io.undertow.client.http2.Http2ClientConnection:231,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].handleError(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:234,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 85
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientRequest
      - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - request
    - clientCallback
    argTypes:
    - io.undertow.client.ClientRequest
    - io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>
    constantsTouched: []
    func_position:
      end: 237
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 237
    functionName: '[io.undertow.client.http2.Http2ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.util.HttpString)'
    - '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClientConnection)'
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.client.ClientRequest].getPath()'
    - '[io.undertow.util.HeaderMap].remove(io.undertow.util.HttpString)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.Http2ClientConnection,String)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].resumeWrites()'
    - '[io.undertow.client.http2.Http2ClientConnection].set(io.undertow.client.http2.Http2ClientConnection)'
    - '[io.undertow.client.ClientRequest].getMethod()'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].completed(io.undertow.client.http2.Http2ClientExchange)'
    - '[org.xnio.ChannelExceptionHandler].<init>()'
    - '[io.undertow.util.HttpString].toString()'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(java.nio.channels.ClosedChannelException)'
    - '[io.undertow.client.http2.Http2ClientConnection].handleError(java.io.IOException)'
    - Long.parseLong(String)
    - '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.protocols.http2.Http2HeadersStreamSinkChannel,io.undertow.client.ClientRequest)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].flush()'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getStreamId()'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>].failed(io.undertow.client.http2.Http2ClientConnection)'
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].setTrailersProducer(io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer)'
    - '[org.xnio.ChannelListeners].flushingChannelListener(null,org.xnio.ChannelExceptionHandler)'
    - '[io.undertow.util.HeaderMap].put(io.undertow.client.http2.Http2ClientConnection)'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].put(io.undertow.client.http2.Http2ClientConnection,io.undertow.client.http2.Http2ClientExchange)'
    - '[io.undertow.util.HeaderMap].getFirst(io.undertow.client.http2.Http2ClientConnection)'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].shutdownWrites()'
    - '[io.undertow.protocols.http2.Http2HeadersStreamSinkChannel].getWriteSetter()'
    - '[io.undertow.client.http2.Http2ClientConnection].handleError(io.undertow.client.http2.Http2ClientConnection)'
    - '[io.undertow.util.HeaderMap].getLast(io.undertow.client.http2.Http2ClientConnection)'
    - '[io.undertow.protocols.http2.Http2Channel].createStream(io.undertow.util.HeaderMap)'
    - '[io.undertow.protocols.http2.Http2DataStreamSinkChannel.TrailersProducer].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection].sendRequest(io.undertow.client.ClientRequest,io.undertow.client.ClientCallback<io.undertow.client.ClientExchange>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.client.http2.Http2ClientConnection:240,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].ioException(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:241,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:242,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
      Src: io.undertow.client.http2.Http2ClientConnection:243,1
    - Dst: entry.getValue()
      Src: io.undertow.client.http2.Http2ClientConnection:245,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].failed(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:245,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:247,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].ioException(java.io.IOException)'
      Src: io.undertow.client.http2.Http2ClientConnection:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: '[io.undertow.client.http2.Http2ClientConnection].handleError(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClientConnection)'
    - entry.getValue()
    - '[io.undertow.client.http2.Http2ClientConnection].failed(io.undertow.client.http2.Http2ClientConnection)'
    - '[io.undertow.client.http2.Http2ClientConnection].ioException(java.io.IOException)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.Http2ClientConnection)'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
    - '[io.undertow.client.http2.Http2ClientConnection].ioException(io.undertow.client.http2.Http2ClientConnection)'
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection].handleError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].upgradeNotSupported()'
      Src: io.undertow.client.http2.Http2ClientConnection:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.StreamConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: '[io.undertow.client.http2.Http2ClientConnection].performUpgrade()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientConnection].upgradeNotSupported()'
    linkageType: ''
    returnType: org.xnio.StreamConnection
    signature: '[io.undertow.client.http2.Http2ClientConnection].performUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getBufferPool()'
      Src: io.undertow.client.http2.Http2ClientConnection:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.connector.ByteBufferPool
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getBufferPool()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getBufferPool()'
    linkageType: ''
    returnType: io.undertow.connector.ByteBufferPool
    signature: '[io.undertow.client.http2.Http2ClientConnection].getBufferPool()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
      Src: io.undertow.client.http2.Http2ClientConnection:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getPeerAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getPeerAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.http2.Http2ClientConnection].getPeerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getPeerAddress(Class<A>)'
      Src: io.undertow.client.http2.Http2ClientConnection:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getPeerAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getPeerAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.http2.Http2ClientConnection].getPeerAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ChannelListener.Setter<?extendsClientConnection>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getCloseSetter()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ChannelListener.Setter<?extendsClientConnection>
    signature: '[io.undertow.client.http2.Http2ClientConnection].getCloseSetter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getLocalAddress()'
      Src: io.undertow.client.http2.Http2ClientConnection:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.SocketAddress
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getLocalAddress()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getLocalAddress()'
    linkageType: ''
    returnType: java.net.SocketAddress
    signature: '[io.undertow.client.http2.Http2ClientConnection].getLocalAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getLocalAddress(Class<A>)'
      Src: io.undertow.client.http2.Http2ClientConnection:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<A>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: A
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - Class<A>
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getLocalAddress(Class<A>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getLocalAddress(Class<A>)'
    linkageType: ''
    returnType: A
    signature: '[io.undertow.client.http2.Http2ClientConnection].getLocalAddress(Class<A>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getWorker()'
      Src: io.undertow.client.http2.Http2ClientConnection:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioWorker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getWorker()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getWorker()'
    linkageType: ''
    returnType: org.xnio.XnioWorker
    signature: '[io.undertow.client.http2.Http2ClientConnection].getWorker()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
      Src: io.undertow.client.http2.Http2ClientConnection:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.XnioIoThread
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getIoThread()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
    linkageType: ''
    returnType: org.xnio.XnioIoThread
    signature: '[io.undertow.client.http2.Http2ClientConnection].getIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isOpen()'
      Src: io.undertow.client.http2.Http2ClientConnection:299,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isPeerGoneAway()'
      Src: io.undertow.client.http2.Http2ClientConnection:299,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].isThisGoneAway()'
      Src: io.undertow.client.http2.Http2ClientConnection:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: '[io.undertow.client.http2.Http2ClientConnection].isOpen()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].isThisGoneAway()'
    - '[io.undertow.protocols.http2.Http2Channel].isPeerGoneAway()'
    - '[io.undertow.protocols.http2.Http2Channel].isOpen()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.Http2ClientConnection].isOpen()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.client.http2.Http2ClientConnection:305,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
      Src: io.undertow.client.http2.Http2ClientConnection:307,1
    - Dst: entry.getValue()
      Src: io.undertow.client.http2.Http2ClientConnection:308,1
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection:308,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].failed(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.client.http2.Http2ClientConnection:308,1
    - Dst: '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].clear()'
      Src: io.undertow.client.http2.Http2ClientConnection:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: '[io.undertow.client.http2.Http2ClientConnection].close()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - entry.getValue()
    - '[io.undertow.client.http2.Http2ClientConnection].failed(java.nio.channels.ClosedChannelException)'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].entrySet()'
    - '[java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>].clear()'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<?>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<?>
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: '[io.undertow.client.http2.Http2ClientConnection].supportsOption(org.xnio.Option<?>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.Http2ClientConnection].supportsOption(org.xnio.Option<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - option
    argTypes:
    - org.xnio.Option<T>
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getOption(org.xnio.Option<T>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.http2.Http2ClientConnection].getOption(org.xnio.Option<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.Option<T>
      - T
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions:
      - IllegalArgumentException
      - java.io.IOException
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - org.xnio.Option<T>
    - T
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: '[io.undertow.client.http2.Http2ClientConnection].setOption(org.xnio.Option<T>,T)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.client.http2.Http2ClientConnection].setOption(org.xnio.Option<T>,T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: '[io.undertow.client.http2.Http2ClientConnection].isUpgraded()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.Http2ClientConnection].isUpgraded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: '[io.undertow.client.http2.Http2ClientConnection].isPushSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.Http2ClientConnection].isPushSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: '[io.undertow.client.http2.Http2ClientConnection].isMultiplexingSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.Http2ClientConnection].isMultiplexingSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.ClientStatistics
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: '[io.undertow.client.http2.Http2ClientConnection].getStatistics()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.ClientStatistics
    signature: '[io.undertow.client.http2.Http2ClientConnection].getStatistics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: '[io.undertow.client.http2.Http2ClientConnection].isUpgradeSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.Http2ClientConnection].isUpgradeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>].add(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2ClientConnection:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - org.xnio.ChannelListener<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: '[io.undertow.client.http2.Http2ClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>].add(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection].addCloseListener(org.xnio.ChannelListener<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: '[io.undertow.client.http2.Http2ClientConnection].isPingSupported()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.Http2ClientConnection].isPingSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
      Src: io.undertow.client.http2.Http2ClientConnection:366,1
    - Dst: '[PingKey].<init>(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:376,1
    - Dst: '[java.util.Map<PingKey,PingListener>].put(PingKey,PingListener)'
      Src: io.undertow.client.http2.Http2ClientConnection:377,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
      Src: io.undertow.client.http2.Http2ClientConnection:379,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].executeAfter(long,java.util.concurrent.TimeUnit)'
      Src: io.undertow.client.http2.Http2ClientConnection:379,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendPing(io.undertow.client.http2.Http2ClientConnection)'
      Src: io.undertow.client.http2.Http2ClientConnection:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - PingListener
      - long
      - java.util.concurrent.TimeUnit
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.protocols.http2.Http2Channel
      - ChannelListener.SimpleSetter<io.undertow.client.ClientConnection>
      - java.util.Map<Integer,io.undertow.client.http2.Http2ClientExchange>
      - java.util.concurrent.atomic.AtomicLong
      - boolean
      - String
      - io.undertow.client.ClientStatistics
      - java.util.List<org.xnio.ChannelListener<io.undertow.client.ClientConnection>>
      - boolean
      - java.util.Map<PingKey,PingListener>
      - org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientConnection
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - listener
    - timeout
    - timeUnit
    argTypes:
    - PingListener
    - long
    - java.util.concurrent.TimeUnit
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: '[io.undertow.client.http2.Http2ClientConnection].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientConnection].executeAfter(long,java.util.concurrent.TimeUnit)'
    - '[io.undertow.protocols.http2.Http2Channel].getIoThread()'
    - '[PingKey].<init>(io.undertow.client.http2.Http2ClientConnection)'
    - '[java.util.Map<PingKey,PingListener>].put(PingKey,PingListener)'
    - '[java.util.concurrent.atomic.AtomicLong].incrementAndGet()'
    - '[io.undertow.protocols.http2.Http2Channel].sendPing(io.undertow.client.http2.Http2ClientConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection].sendPing(PingListener,long,java.util.concurrent.TimeUnit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2Channel].receive()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:437,1
    - Dst: streamSourceChannel.getHeaders()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:441,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].getFirst(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:441,1
    - Dst: Integer.parseInt(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:441,1
    - Dst: streamSourceChannel.getStreamId()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:442,1
    - Dst: currentExchanges.get(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:442,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].createResponse(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:447,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].setContinueResponse(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:447,1
    - Dst: streamSourceChannel.getReadSetter()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:450,1
    - Dst: '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].<init>(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:450,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].set(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:450,1
    - Dst: streamSourceChannel.resumeReads()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:451,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:453,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleFinalResponse(io.undertow.protocols.http2.Http2Channel,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:456,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handlePing(io.undertow.protocols.http2.Http2PingStreamSourceChannel)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:458,1
    - Dst: rstStream.getStreamId()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:461,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].debugf(String,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:462,1
    - Dst: currentExchanges.remove(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:463,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].http2StreamWasReset()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:467,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].failed(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:467,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:469,1
    - Dst: stream.getAssociatedStreamId()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:472,1
    - Dst: currentExchanges.get(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:472,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:474,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].getPushCallback()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:475,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,int)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:476,1
    - Dst: '[io.undertow.client.ClientRequest].<init>()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:478,1
    - Dst: stream.getHeaders()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:479,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].getFirst(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:479,1
    - Dst: '[io.undertow.util.HttpString].<init>(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:479,1
    - Dst: '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:479,1
    - Dst: stream.getHeaders()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:480,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].getFirst(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:480,1
    - Dst: '[io.undertow.client.ClientRequest].setPath(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:480,1
    - Dst: '[io.undertow.client.ClientRequest].setProtocol(io.undertow.util.HttpString)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:481,1
    - Dst: stream.getHeaders()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:482,1
    - Dst: '[io.undertow.client.ClientRequest].getRequestHeaders()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:483,1
    - Dst: header.getHeaderName()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:483,1
    - Dst: '[io.undertow.util.HeaderMap].putAll(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:483,1
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,null,io.undertow.client.ClientRequest)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:486,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].getPushCallback()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:488,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handlePush(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientExchange)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:488,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendRstStream(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,int)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:490,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:491,1
    - Dst: stream.getPushedStreamId()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:492,1
    - Dst: http2Channel.addPushPromiseStream(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:492,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:494,1
    - Dst: stream.getPushedStreamId()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:497,1
    - Dst: currentExchanges.put(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientExchange)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:497,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:500,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].close()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:503,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:505,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleThrowable(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:509,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 511
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 511
    functionName: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleEvent(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].receive()'
    - '[org.xnio.channels.Channels].drain(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - stream.getAssociatedStreamId()
    - currentExchanges.put(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientExchange)
    - '[io.undertow.client.ClientRequest].setMethod(io.undertow.util.HttpString)'
    - http2Channel.addPushPromiseStream(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
    - '[io.undertow.util.HttpString].<init>(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].close()'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].set(io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handlePing(io.undertow.protocols.http2.Http2PingStreamSourceChannel)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleFinalResponse(io.undertow.protocols.http2.Http2Channel,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.ClientRequest].getRequestHeaders()'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].getPushCallback()'
    - '[io.undertow.client.ClientRequest].<init>()'
    - '[io.undertow.client.http2.Http2ClientExchange].<init>(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,null,io.undertow.client.ClientRequest)'
    - currentExchanges.remove(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
    - rstStream.getStreamId()
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handlePush(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientExchange)'
    - currentExchanges.get(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].debugf(String,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].http2StreamWasReset()'
    - streamSourceChannel.resumeReads()
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].createResponse(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - Integer.parseInt(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)
    - '[io.undertow.util.HeaderMap].putAll(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - streamSourceChannel.getReadSetter()
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].setContinueResponse(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - stream.getPushedStreamId()
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleThrowable(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - streamSourceChannel.getStreamId()
    - stream.getHeaders()
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.ClientRequest].setPath(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - header.getHeaderName()
    - '[io.undertow.client.http2.DoSHttp2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].<init>(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].getFirst(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.ClientRequest].setProtocol(io.undertow.util.HttpString)'
    - streamSourceChannel.getHeaders()
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].failed(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2Channel].sendRstStream(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener,int)'
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleEvent(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setTrailersHandler()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:514,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].addCloseTask()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:515,1
    - Dst: '[io.undertow.protocols.http2.Http2StreamSourceChannel].setCompletionListener()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:516,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.protocols.http2.Http2StreamSourceChannel,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:518,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].sendGoAway(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:522,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:523,1
    - Dst: '[io.undertow.client.http2.Http2ClientExchange].responseReady(io.undertow.protocols.http2.Http2StreamSourceChannel)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:526,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      - io.undertow.client.http2.Http2ClientExchange
      - io.undertow.protocols.http2.Http2StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - channel
    - request
    - response
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    - io.undertow.client.http2.Http2ClientExchange
    - io.undertow.protocols.http2.Http2StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 527
      start: 513
    functionDepth: 7
    functionLinenumber: 513
    functionLinenumberEnd: 527
    functionName: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleFinalResponse(io.undertow.protocols.http2.Http2Channel,io.undertow.client.http2.Http2ClientExchange,io.undertow.protocols.http2.Http2StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.protocols.http2.Http2Channel].sendGoAway(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientExchange].responseReady(io.undertow.protocols.http2.Http2StreamSourceChannel)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].setTrailersHandler()'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].addCloseTask()'
    - '[org.xnio.channels.Channels].drain(io.undertow.protocols.http2.Http2StreamSourceChannel,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.protocols.http2.Http2StreamSourceChannel].setCompletionListener()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleFinalResponse(io.undertow.protocols.http2.Http2Channel,io.undertow.client.http2.Http2ClientExchange,io.undertow.protocols.http2.Http2StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getData()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:530,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].isAck()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:531,1
    - Dst: '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getHttp2Channel()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:533,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].sendPing(byte[])'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:533,1
    - Dst: '[PingKey].<init>(byte[])'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:535,1
    - Dst: outstandingPings.remove(PingKey)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:535,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].acknowledged()'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2PingStreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frame
    argTypes:
    - io.undertow.protocols.http2.Http2PingStreamSourceChannel
    constantsTouched: []
    func_position:
      end: 540
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 540
    functionName: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handlePing(io.undertow.protocols.http2.Http2PingStreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].sendPing(byte[])'
    - '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getHttp2Channel()'
    - outstandingPings.remove(PingKey)
    - '[PingKey].<init>(byte[])'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].acknowledged()'
    - '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].getData()'
    - '[io.undertow.protocols.http2.Http2PingStreamSourceChannel].isAck()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handlePing(io.undertow.protocols.http2.Http2PingStreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>(Throwable)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:543,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].ioException(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:544,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:545,1
    - Dst: currentExchanges.entrySet()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:546,1
    - Dst: entry.getValue()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:548,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].failed(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:548,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:550,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].ioException(java.io.IOException)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener:550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 553
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 553
    functionName: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleThrowable(Throwable)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - currentExchanges.entrySet()
    - '[org.xnio.IoUtils].safeClose(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].ioException(java.io.IOException)'
    - entry.getValue()
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].ioException(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[java.io.IOException].<init>(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].failed(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener)'
    - '[java.io.IOException].<init>(Throwable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].handleThrowable(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener
    signature: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.Http2Channel
      classConcrete: true
      classEnum: false
      classFields:
      - Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - http2Channel
    argTypes:
    - io.undertow.protocols.http2.Http2Channel
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].<init>(io.undertow.protocols.http2.Http2Channel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener
    signature: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].<init>(io.undertow.protocols.http2.Http2Channel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel.getHeaders()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:406,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].getFirst(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:406,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:408,1
    - Dst: channel.getHeaders()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:409,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].getFirst(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:409,1
    - Dst: channel.getHeaders()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:415,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].getFirst(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:415,1
    - Dst: Integer.parseInt(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:415,1
    - Dst: channel.getStreamId()
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:416,1
    - Dst: currentExchanges.get(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:416,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].createResponse(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:421,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].setContinueResponse(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:421,1
    - Dst: '[org.xnio.channels.Channels].drain(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:423,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleFinalResponse(Http2Channel,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:427,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleThrowable(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
      Src: io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener:429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
      classConcrete: true
      classEnum: false
      classFields:
      - Http2Channel
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sourceChannel
    argTypes:
    - io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel
    constantsTouched: []
    func_position:
      end: 431
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 431
    functionName: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleEvent(io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - currentExchanges.get(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].setContinueResponse(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - channel.getHeaders()
    - Integer.parseInt(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)
    - channel.getStreamId()
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].createResponse(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleThrowable(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].getFirst(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleFinalResponse(Http2Channel,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    - '[org.xnio.channels.Channels].drain(io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener,io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientConnection.Http2ReceiveListener.ContinueReceiveListener].handleEvent(io.undertow.protocols.http2.AbstractHttp2StreamSourceChannel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - byte[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.Http2ClientConnection.PingKey
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - byte[]
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: '[io.undertow.client.http2.Http2ClientConnection.PingKey].<init>(byte[])'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientConnection.PingKey
    signature: '[io.undertow.client.http2.Http2ClientConnection.PingKey].<init>(byte[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClientConnection.PingKey].getClass()'
      Src: io.undertow.client.http2.Http2ClientConnection.PingKey:566,1
    - Dst: '[Object].getClass()'
      Src: io.undertow.client.http2.Http2ClientConnection.PingKey:566,1
    - Dst: '[java.util.Arrays].equals(byte[],io.undertow.client.http2.Http2ClientConnection.PingKey)'
      Src: io.undertow.client.http2.Http2ClientConnection.PingKey:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 571
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 571
    functionName: '[io.undertow.client.http2.Http2ClientConnection.PingKey].equals(Object)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].equals(byte[],io.undertow.client.http2.Http2ClientConnection.PingKey)'
    - '[io.undertow.client.http2.Http2ClientConnection.PingKey].getClass()'
    - '[Object].getClass()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.client.http2.Http2ClientConnection.PingKey].equals(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].hashCode(byte[])'
      Src: io.undertow.client.http2.Http2ClientConnection.PingKey:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: '[io.undertow.client.http2.Http2ClientConnection.PingKey].hashCode()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientConnection.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].hashCode(byte[])'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.client.http2.Http2ClientConnection.PingKey].hashCode()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClientProvider:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClientProvider:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - listener
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,null,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Arrays].asList()'
      Src: io.undertow.client.http2.Http2ClientProvider:80,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.client.http2.Http2ClientProvider].handlesSchemes()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashSet].<init>(io.undertow.client.http2.Http2ClientProvider)'
    - '[java.util.Arrays].asList()'
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.client.http2.Http2ClientProvider].handlesSchemes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].sslWasNull()'
      Src: io.undertow.client.http2.Http2ClientProvider:86,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:86,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http2.Http2ClientProvider:89,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].set(org.xnio.Option<String>)'
      Src: io.undertow.client.http2.Http2ClientProvider:89,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].addAll(org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClientProvider:89,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].set(io.undertow.client.http2.Http2ClientProvider,boolean)'
      Src: io.undertow.client.http2.Http2ClientProvider:89,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].getMap()'
      Src: io.undertow.client.http2.Http2ClientProvider:89,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClientProvider:95,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:95,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:95,1
    - Dst: '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:95,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2ClientProvider:95,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http2.Http2ClientProvider:95,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClientProvider:97,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:97,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:97,1
    - Dst: '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:97,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2ClientProvider:97,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http2.Http2ClientProvider:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioWorker
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - worker
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioWorker
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    - '[io.undertow.client.http2.Http2ClientProvider].set(io.undertow.client.http2.Http2ClientProvider,boolean)'
    - '[io.undertow.client.http2.Http2ClientProvider].getMap()'
    - '[io.undertow.client.http2.Http2ClientProvider].addAll(org.xnio.OptionMap)'
    - '[io.undertow.client.http2.Http2ClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http2.Http2ClientProvider)'
    - '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http2.Http2ClientProvider)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClientProvider)'
    - '[io.undertow.client.http2.Http2ClientProvider].set(org.xnio.Option<String>)'
    - '[io.undertow.client.http2.Http2ClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
    - '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioWorker,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http2.Http2ClientProvider)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http2.Http2ClientProvider)'
    - '[org.xnio.OptionMap].builder()'
    - '[java.net.URI].getHost()'
    - '[io.undertow.client.http2.Http2ClientProvider].sslWasNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioWorker,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].sslWasNull()'
      Src: io.undertow.client.http2.Http2ClientProvider:105,1
    - Dst: '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:105,1
    - Dst: '[org.xnio.OptionMap].builder()'
      Src: io.undertow.client.http2.Http2ClientProvider:108,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].set(org.xnio.Option<String>)'
      Src: io.undertow.client.http2.Http2ClientProvider:108,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].addAll(org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClientProvider:108,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].set(io.undertow.client.http2.Http2ClientProvider,boolean)'
      Src: io.undertow.client.http2.Http2ClientProvider:108,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].getMap()'
      Src: io.undertow.client.http2.Http2ClientProvider:108,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClientProvider:114,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:114,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:114,1
    - Dst: '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:114,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2ClientProvider:114,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http2.Http2ClientProvider:114,1
    - Dst: '[java.net.URI].getHost()'
      Src: io.undertow.client.http2.Http2ClientProvider:116,1
    - Dst: '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:116,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:116,1
    - Dst: '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http2.Http2ClientProvider)'
      Src: io.undertow.client.http2.Http2ClientProvider:116,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
      Src: io.undertow.client.http2.Http2ClientProvider:116,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
      Src: io.undertow.client.http2.Http2ClientProvider:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.InetSocketAddress
      - java.net.URI
      - org.xnio.XnioIoThread
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - listener
    - bindAddress
    - uri
    - ioThread
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.InetSocketAddress
    - java.net.URI
    - org.xnio.XnioIoThread
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http2.Http2ClientProvider)'
    - '[io.undertow.client.http2.Http2ClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    - '[io.undertow.client.http2.Http2ClientProvider].set(io.undertow.client.http2.Http2ClientProvider,boolean)'
    - '[io.undertow.client.http2.Http2ClientProvider].getMap()'
    - '[io.undertow.client.http2.Http2ClientProvider].addAll(org.xnio.OptionMap)'
    - '[io.undertow.client.http2.Http2ClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,io.undertow.client.http2.Http2ClientProvider)'
    - '[io.undertow.client.http2.Http2ClientProvider].addNotifier(IoFuture.Notifier<org.xnio.StreamConnection,Object>,null)'
    - '[java.net.InetSocketAddress].<init>(io.undertow.client.http2.Http2ClientProvider)'
    - '[io.undertow.client.http2.Http2ClientProvider].set(org.xnio.Option<String>)'
    - '[org.xnio.ssl.XnioSsl].openSslConnection(org.xnio.XnioIoThread,java.net.InetSocketAddress,java.net.InetSocketAddress,org.xnio.ChannelListener<org.xnio.StreamConnection>,io.undertow.client.http2.Http2ClientProvider)'
    - '[io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>].failed(io.undertow.client.http2.Http2ClientProvider)'
    - '[org.xnio.OptionMap].builder()'
    - '[java.net.URI].getHost()'
    - '[io.undertow.client.http2.Http2ClientProvider].sslWasNull()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientProvider].connect(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.InetSocketAddress,java.net.URI,org.xnio.XnioIoThread,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IoFuture.Notifier].<init>()'
      Src: io.undertow.client.http2.Http2ClientProvider:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: IoFuture.Notifier<org.xnio.StreamConnection,Object>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - listener
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: '[io.undertow.client.http2.Http2ClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 2
    functionsReached:
    - '[IoFuture.Notifier].<init>()'
    linkageType: ''
    returnType: IoFuture.Notifier<org.xnio.StreamConnection,Object>
    signature: '[io.undertow.client.http2.Http2ClientProvider].createNotifier(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClientProvider:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - org.xnio.ssl.XnioSsl
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.xnio.ChannelListener<org.xnio.StreamConnection>
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - listener
    - uri
    - ssl
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - org.xnio.ssl.XnioSsl
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: '[io.undertow.client.http2.Http2ClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    linkageType: ''
    returnType: org.xnio.ChannelListener<org.xnio.StreamConnection>
    signature: '[io.undertow.client.http2.Http2ClientProvider].createOpenListener(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,org.xnio.ssl.XnioSsl,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClientProvider:142,1
    - Dst: '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(org.xnio.ChannelListener,String)'
      Src: io.undertow.client.http2.Http2ClientProvider:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: ALPNClientSelector.ALPNProtocol
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - listener
    - uri
    - bufferPool
    - options
    argTypes:
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: '[io.undertow.client.http2.Http2ClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 2
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    - '[io.undertow.client.ALPNClientSelector.ALPNProtocol].<init>(org.xnio.ChannelListener,String)'
    linkageType: ''
    returnType: ALPNClientSelector.ALPNProtocol
    signature: '[io.undertow.client.http2.Http2ClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClientProvider:151,1
    - Dst: '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,org.xnio.ChannelListener<org.xnio.ssl.SslConnection>,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,ALPNClientSelector.ALPNProtocol)'
      Src: io.undertow.client.http2.Http2ClientProvider:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
      - java.net.URI
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - connection
    - listener
    - uri
    - bufferPool
    - options
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>
    - java.net.URI
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: '[io.undertow.client.http2.Http2ClientProvider].handleConnected(org.xnio.StreamConnection,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.ALPNClientSelector].runAlpn(org.xnio.ssl.SslConnection,org.xnio.ChannelListener<org.xnio.ssl.SslConnection>,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,ALPNClientSelector.ALPNProtocol)'
    - '[io.undertow.client.http2.Http2ClientProvider].alpnProtocol(io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientProvider].handleConnected(org.xnio.StreamConnection,io.undertow.client.ClientCallback<io.undertow.client.ClientConnection>,java.net.URI,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.client.http2.Http2ClientProvider:158,1
    - Dst: '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
      Src: io.undertow.client.http2.Http2ClientProvider:159,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http2.Http2ClientProvider:160,1
    - Dst: '[org.xnio.StreamConnection].getSinkChannel()'
      Src: io.undertow.client.http2.Http2ClientProvider:160,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].getConduit()'
      Src: io.undertow.client.http2.Http2ClientProvider:160,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.http2.Http2ClientProvider:160,1
    - Dst: '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.http2.Http2ClientProvider,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.http2.Http2ClientProvider:160,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
      Src: io.undertow.client.http2.Http2ClientProvider:160,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http2.Http2ClientProvider:166,1
    - Dst: '[org.xnio.StreamConnection].getSourceChannel()'
      Src: io.undertow.client.http2.Http2ClientProvider:166,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].getConduit()'
      Src: io.undertow.client.http2.Http2ClientProvider:166,1
    - Dst: '[io.undertow.conduits.ByteActivityCallback].<init>()'
      Src: io.undertow.client.http2.Http2ClientProvider:166,1
    - Dst: '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.http2.Http2ClientProvider,io.undertow.conduits.ByteActivityCallback)'
      Src: io.undertow.client.http2.Http2ClientProvider:166,1
    - Dst: '[io.undertow.client.http2.Http2ClientProvider].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
      Src: io.undertow.client.http2.Http2ClientProvider:166,1
    - Dst: '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
      Src: io.undertow.client.http2.Http2ClientProvider:175,1
    - Dst: '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.http2.Http2ClientProvider,boolean)'
      Src: io.undertow.client.http2.Http2ClientProvider:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.StreamConnection
      - io.undertow.connector.ByteBufferPool
      - org.xnio.OptionMap
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.http2.Http2ClientConnection
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - connection
    - bufferPool
    - options
    - defaultHost
    argTypes:
    - org.xnio.StreamConnection
    - io.undertow.connector.ByteBufferPool
    - org.xnio.OptionMap
    - String
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: '[io.undertow.client.http2.Http2ClientProvider].createHttp2Channel(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.http2.Http2ClientProvider].getConduit()'
    - '[org.xnio.StreamConnection].getSinkChannel()'
    - '[org.xnio.OptionMap].get(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.conduits.BytesSentStreamSinkConduit].<init>(io.undertow.client.http2.Http2ClientProvider,io.undertow.conduits.ByteActivityCallback)'
    - '[org.xnio.StreamConnection].getSourceChannel()'
    - '[io.undertow.client.http2.Http2ClientProvider].setConduit(io.undertow.conduits.BytesReceivedStreamSourceConduit)'
    - '[io.undertow.conduits.ByteActivityCallback].<init>()'
    - '[io.undertow.client.http2.Http2ClientConnection].<init>(io.undertow.protocols.http2.Http2Channel,boolean,String,io.undertow.client.http2.Http2ClientProvider,boolean)'
    - '[io.undertow.conduits.BytesReceivedStreamSourceConduit].<init>(io.undertow.client.http2.Http2ClientProvider,io.undertow.conduits.ByteActivityCallback)'
    - '[io.undertow.protocols.http2.Http2Channel].<init>(org.xnio.StreamConnection,null,io.undertow.connector.ByteBufferPool,null,boolean,boolean,org.xnio.OptionMap)'
    - '[io.undertow.client.http2.Http2ClientProvider].setConduit(io.undertow.conduits.BytesSentStreamSinkConduit)'
    - '[io.undertow.client.ajp.AjpClientProvider.ClientStatisticsImpl].<init>()'
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientConnection
    signature: '[io.undertow.client.http2.Http2ClientProvider].createHttp2Channel(org.xnio.StreamConnection,io.undertow.connector.ByteBufferPool,org.xnio.OptionMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.ChannelListener].<init>()'
      Src: io.undertow.client.http2.Http2ClientProvider:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - org.xnio.ChannelListener<org.xnio.ssl.SslConnection>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.client.ClientProvider
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2ClientProvider
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http2.Http2ClientProvider].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.ChannelListener].<init>()'
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientProvider
    signature: '[io.undertow.client.http2.Http2ClientProvider].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].getRequests()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].getRequests()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].getRead()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].getRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].getWritten()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].getWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].reset()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ClientStatistics
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].<init>()'
    functionSourceFile: /src/undertow/core/src/main/java/io/undertow/client/http2/Http2ClientProvider.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl
    signature: '[io.undertow.client.http2.Http2ClientProvider.ClientStatisticsImpl].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UndertowLogger_$logger.class.getName()
      Src: io.undertow.UndertowLogger_$logger:50,1
    - Dst: '[org.jboss.logging.DelegatingBasicLogger].<init>(org.jboss.logging.Logger)'
      Src: io.undertow.UndertowLogger_$logger:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.jboss.logging.Logger
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.UndertowLogger_$logger
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - log
    argTypes:
    - org.jboss.logging.Logger
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.UndertowLogger_$logger].<init>(org.jboss.logging.Logger)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - UndertowLogger_$logger.class.getName()
    - '[org.jboss.logging.DelegatingBasicLogger].<init>(org.jboss.logging.Logger)'
    linkageType: ''
    returnType: io.undertow.UndertowLogger_$logger
    signature: '[io.undertow.UndertowLogger_$logger].<init>(org.jboss.logging.Logger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Locale
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].exceptionProcessingRequest$str()'
      Src: io.undertow.UndertowLogger_$logger:60,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
      Src: io.undertow.UndertowLogger_$logger:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - cause
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.UndertowLogger_$logger].exceptionProcessingRequest(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
    - '[io.undertow.UndertowLogger_$logger].exceptionProcessingRequest$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].exceptionProcessingRequest(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[io.undertow.UndertowLogger_$logger].exceptionProcessingRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].exceptionProcessingRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].ioExceptionReadingFromChannel$str()'
      Src: io.undertow.UndertowLogger_$logger:67,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
      Src: io.undertow.UndertowLogger_$logger:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.UndertowLogger_$logger].ioExceptionReadingFromChannel(java.io.IOException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
    - '[io.undertow.UndertowLogger_$logger].ioExceptionReadingFromChannel$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].ioExceptionReadingFromChannel(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: '[io.undertow.UndertowLogger_$logger].ioExceptionReadingFromChannel$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].ioExceptionReadingFromChannel$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].cannotRemoveUploadedFile$str()'
      Src: io.undertow.UndertowLogger_$logger:74,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.nio.file.Path)
      Src: io.undertow.UndertowLogger_$logger:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - file
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.UndertowLogger_$logger].cannotRemoveUploadedFile(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].cannotRemoveUploadedFile$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.nio.file.Path)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].cannotRemoveUploadedFile(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: '[io.undertow.UndertowLogger_$logger].cannotRemoveUploadedFile$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].cannotRemoveUploadedFile$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].requestHeaderWasTooLarge$str()'
      Src: io.undertow.UndertowLogger_$logger:81,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.SocketAddress,int)
      Src: io.undertow.UndertowLogger_$logger:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.SocketAddress
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - java.net.SocketAddress
    - int
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: '[io.undertow.UndertowLogger_$logger].requestHeaderWasTooLarge(java.net.SocketAddress,int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].requestHeaderWasTooLarge$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.SocketAddress,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].requestHeaderWasTooLarge(java.net.SocketAddress,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[io.undertow.UndertowLogger_$logger].requestHeaderWasTooLarge$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].requestHeaderWasTooLarge$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].requestWasNotFullyConsumed$str()'
      Src: io.undertow.UndertowLogger_$logger:88,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.UndertowLogger_$logger].requestWasNotFullyConsumed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].requestWasNotFullyConsumed$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].requestWasNotFullyConsumed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: '[io.undertow.UndertowLogger_$logger].requestWasNotFullyConsumed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].requestWasNotFullyConsumed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].invalidTokenReceived$str()'
      Src: io.undertow.UndertowLogger_$logger:95,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
      Src: io.undertow.UndertowLogger_$logger:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - tokenName
    - tokenValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '[io.undertow.UndertowLogger_$logger].invalidTokenReceived(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
    - '[io.undertow.UndertowLogger_$logger].invalidTokenReceived$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].invalidTokenReceived(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '[io.undertow.UndertowLogger_$logger].invalidTokenReceived$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].invalidTokenReceived$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].missingAuthorizationToken$str()'
      Src: io.undertow.UndertowLogger_$logger:102,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - tokenName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.UndertowLogger_$logger].missingAuthorizationToken(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].missingAuthorizationToken$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].missingAuthorizationToken(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: '[io.undertow.UndertowLogger_$logger].missingAuthorizationToken$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].missingAuthorizationToken$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].authenticationFailed$str()'
      Src: io.undertow.UndertowLogger_$logger:109,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
      Src: io.undertow.UndertowLogger_$logger:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - userName
    - mechanism
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.UndertowLogger_$logger].authenticationFailed(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].authenticationFailed$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].authenticationFailed(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.UndertowLogger_$logger].authenticationFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].authenticationFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].ignoringAjpRequestWithPrefixCode$str()'
      Src: io.undertow.UndertowLogger_$logger:116,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,byte)
      Src: io.undertow.UndertowLogger_$logger:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '[io.undertow.UndertowLogger_$logger].ignoringAjpRequestWithPrefixCode(byte)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,byte)
    - '[io.undertow.UndertowLogger_$logger].ignoringAjpRequestWithPrefixCode$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].ignoringAjpRequestWithPrefixCode(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '[io.undertow.UndertowLogger_$logger].ignoringAjpRequestWithPrefixCode$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].ignoringAjpRequestWithPrefixCode$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].ioException$str()'
      Src: io.undertow.UndertowLogger_$logger:123,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
      Src: io.undertow.UndertowLogger_$logger:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.UndertowLogger_$logger].ioException(java.io.IOException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].ioException$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].ioException(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: '[io.undertow.UndertowLogger_$logger].ioException$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].ioException$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToParseRequest$str()'
      Src: io.undertow.UndertowLogger_$logger:130,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
      Src: io.undertow.UndertowLogger_$logger:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: '[io.undertow.UndertowLogger_$logger].failedToParseRequest(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
    - '[io.undertow.UndertowLogger_$logger].failedToParseRequest$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToParseRequest(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: '[io.undertow.UndertowLogger_$logger].failedToParseRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToParseRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].errorRotatingAccessLog$str()'
      Src: io.undertow.UndertowLogger_$logger:137,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
      Src: io.undertow.UndertowLogger_$logger:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: '[io.undertow.UndertowLogger_$logger].errorRotatingAccessLog(java.io.IOException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].errorRotatingAccessLog$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].errorRotatingAccessLog(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '[io.undertow.UndertowLogger_$logger].errorRotatingAccessLog$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].errorRotatingAccessLog$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].errorWritingAccessLog$str()'
      Src: io.undertow.UndertowLogger_$logger:144,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
      Src: io.undertow.UndertowLogger_$logger:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.UndertowLogger_$logger].errorWritingAccessLog(java.io.IOException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].errorWritingAccessLog$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].errorWritingAccessLog(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: '[io.undertow.UndertowLogger_$logger].errorWritingAccessLog$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].errorWritingAccessLog$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].unknownVariable$str()'
      Src: io.undertow.UndertowLogger_$logger:151,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[io.undertow.UndertowLogger_$logger].unknownVariable(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].unknownVariable$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].unknownVariable(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: '[io.undertow.UndertowLogger_$logger].unknownVariable$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].unknownVariable$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].exceptionInvokingCloseListener$str()'
      Src: io.undertow.UndertowLogger_$logger:158,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,io.undertow.server.ServerConnection.CloseListener)
      Src: io.undertow.UndertowLogger_$logger:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ServerConnection.CloseListener
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - l
    - e
    argTypes:
    - io.undertow.server.ServerConnection.CloseListener
    - Throwable
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: '[io.undertow.UndertowLogger_$logger].exceptionInvokingCloseListener(io.undertow.server.ServerConnection.CloseListener,Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,io.undertow.server.ServerConnection.CloseListener)
    - '[io.undertow.UndertowLogger_$logger].exceptionInvokingCloseListener$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].exceptionInvokingCloseListener(io.undertow.server.ServerConnection.CloseListener,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: '[io.undertow.UndertowLogger_$logger].exceptionInvokingCloseListener$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].exceptionInvokingCloseListener$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].errorWritingJDBCLog$str()'
      Src: io.undertow.UndertowLogger_$logger:165,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
      Src: io.undertow.UndertowLogger_$logger:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.UndertowLogger_$logger].errorWritingJDBCLog(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].errorWritingJDBCLog$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].errorWritingJDBCLog(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.UndertowLogger_$logger].errorWritingJDBCLog$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].errorWritingJDBCLog$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].exceptionGeneratingErrorPage$str()'
      Src: io.undertow.UndertowLogger_$logger:172,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,String)
      Src: io.undertow.UndertowLogger_$logger:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - e
    - location
    argTypes:
    - Exception
    - String
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: '[io.undertow.UndertowLogger_$logger].exceptionGeneratingErrorPage(Exception,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].exceptionGeneratingErrorPage$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].exceptionGeneratingErrorPage(Exception,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '[io.undertow.UndertowLogger_$logger].exceptionGeneratingErrorPage$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].exceptionGeneratingErrorPage$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].exceptionHandlingRequest$str()'
      Src: io.undertow.UndertowLogger_$logger:179,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,String)
      Src: io.undertow.UndertowLogger_$logger:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - t
    - requestURI
    argTypes:
    - Throwable
    - String
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: '[io.undertow.UndertowLogger_$logger].exceptionHandlingRequest(Throwable,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].exceptionHandlingRequest$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].exceptionHandlingRequest(Throwable,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.UndertowLogger_$logger].exceptionHandlingRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].exceptionHandlingRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].couldNotRegisterChangeListener$str()'
      Src: io.undertow.UndertowLogger_$logger:186,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
      Src: io.undertow.UndertowLogger_$logger:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: '[io.undertow.UndertowLogger_$logger].couldNotRegisterChangeListener(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].couldNotRegisterChangeListener$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].couldNotRegisterChangeListener(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '[io.undertow.UndertowLogger_$logger].couldNotRegisterChangeListener$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].couldNotRegisterChangeListener$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].timingOutRequest$str()'
      Src: io.undertow.UndertowLogger_$logger:193,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - requestURI
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '[io.undertow.UndertowLogger_$logger].timingOutRequest(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].timingOutRequest$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].timingOutRequest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: '[io.undertow.UndertowLogger_$logger].timingOutRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].timingOutRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].proxyRequestFailed$str()'
      Src: io.undertow.UndertowLogger_$logger:200,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,String)
      Src: io.undertow.UndertowLogger_$logger:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - requestURI
    - e
    argTypes:
    - String
    - Exception
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: '[io.undertow.UndertowLogger_$logger].proxyRequestFailed(String,Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,String)
    - '[io.undertow.UndertowLogger_$logger].proxyRequestFailed$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].proxyRequestFailed(String,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: '[io.undertow.UndertowLogger_$logger].proxyRequestFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].proxyRequestFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].proxyFailedToConnectToBackend$str()'
      Src: io.undertow.UndertowLogger_$logger:207,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,java.net.URI)
      Src: io.undertow.UndertowLogger_$logger:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - requestURI
    - uri
    argTypes:
    - String
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: '[io.undertow.UndertowLogger_$logger].proxyFailedToConnectToBackend(String,java.net.URI)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,java.net.URI)
    - '[io.undertow.UndertowLogger_$logger].proxyFailedToConnectToBackend$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].proxyFailedToConnectToBackend(String,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: '[io.undertow.UndertowLogger_$logger].proxyFailedToConnectToBackend$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].proxyFailedToConnectToBackend$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].listenerNotProgressing$str()'
      Src: io.undertow.UndertowLogger_$logger:214,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: '[io.undertow.UndertowLogger_$logger].listenerNotProgressing()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    - '[io.undertow.UndertowLogger_$logger].listenerNotProgressing$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].listenerNotProgressing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: '[io.undertow.UndertowLogger_$logger].listenerNotProgressing$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].listenerNotProgressing$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].remoteEndpointFailedToSendInitialSettings$str()'
      Src: io.undertow.UndertowLogger_$logger:221,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,int)
      Src: io.undertow.UndertowLogger_$logger:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '[io.undertow.UndertowLogger_$logger].remoteEndpointFailedToSendInitialSettings(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].remoteEndpointFailedToSendInitialSettings$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].remoteEndpointFailedToSendInitialSettings(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: '[io.undertow.UndertowLogger_$logger].remoteEndpointFailedToSendInitialSettings$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].remoteEndpointFailedToSendInitialSettings$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].parseRequestTimedOut$str()'
      Src: io.undertow.UndertowLogger_$logger:228,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.SocketAddress)
      Src: io.undertow.UndertowLogger_$logger:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.SocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - remoteAddress
    argTypes:
    - java.net.SocketAddress
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: '[io.undertow.UndertowLogger_$logger].parseRequestTimedOut(java.net.SocketAddress)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.SocketAddress)
    - '[io.undertow.UndertowLogger_$logger].parseRequestTimedOut$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].parseRequestTimedOut(java.net.SocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: '[io.undertow.UndertowLogger_$logger].parseRequestTimedOut$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].parseRequestTimedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].noALPNFallback$str()'
      Src: io.undertow.UndertowLogger_$logger:235,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.SocketAddress)
      Src: io.undertow.UndertowLogger_$logger:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.SocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - address
    argTypes:
    - java.net.SocketAddress
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: '[io.undertow.UndertowLogger_$logger].noALPNFallback(java.net.SocketAddress)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].noALPNFallback$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.SocketAddress)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].noALPNFallback(java.net.SocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: '[io.undertow.UndertowLogger_$logger].noALPNFallback$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].noALPNFallback$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].stickySessionCookieLengthTruncated$str()'
      Src: io.undertow.UndertowLogger_$logger:242,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
      Src: io.undertow.UndertowLogger_$logger:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - original
    - current
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: '[io.undertow.UndertowLogger_$logger].stickySessionCookieLengthTruncated(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].stickySessionCookieLengthTruncated$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].stickySessionCookieLengthTruncated(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: '[io.undertow.UndertowLogger_$logger].stickySessionCookieLengthTruncated$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].stickySessionCookieLengthTruncated$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].balancerCreated$str()'
      Src: io.undertow.UndertowLogger_$logger:249,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,int,String,boolean,String,String,boolean,boolean,int,int)
      Src: io.undertow.UndertowLogger_$logger:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - boolean
      - String
      - String
      - boolean
      - boolean
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 9
    argNames:
    - id
    - name
    - stickySession
    - stickySessionCookie
    - stickySessionPath
    - stickySessionRemove
    - stickySessionForce
    - waitWorker
    - maxattempts
    argTypes:
    - int
    - String
    - boolean
    - String
    - String
    - boolean
    - boolean
    - int
    - int
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: '[io.undertow.UndertowLogger_$logger].balancerCreated(int,String,boolean,String,String,boolean,boolean,int,int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].balancerCreated$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,int,String,boolean,String,String,boolean,boolean,int,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].balancerCreated(int,String,boolean,String,String,boolean,boolean,int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: '[io.undertow.UndertowLogger_$logger].balancerCreated$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].balancerCreated$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].proxyAdvertisementsStarted$str()'
      Src: io.undertow.UndertowLogger_$logger:256,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,int)
      Src: io.undertow.UndertowLogger_$logger:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - address
    - frequency
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '[io.undertow.UndertowLogger_$logger].proxyAdvertisementsStarted(String,int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].proxyAdvertisementsStarted$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].proxyAdvertisementsStarted(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: '[io.undertow.UndertowLogger_$logger].proxyAdvertisementsStarted$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].proxyAdvertisementsStarted$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseMessagePayload$str()'
      Src: io.undertow.UndertowLogger_$logger:263,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - payload
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseMessagePayload(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].proxyAdvertiseMessagePayload$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseMessagePayload(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseMessagePayload$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseMessagePayload$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseCannotSendMessage$str()'
      Src: io.undertow.UndertowLogger_$logger:270,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,java.net.InetSocketAddress)
      Src: io.undertow.UndertowLogger_$logger:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      - java.net.InetSocketAddress
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - e
    - address
    argTypes:
    - Exception
    - java.net.InetSocketAddress
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseCannotSendMessage(Exception,java.net.InetSocketAddress)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,java.net.InetSocketAddress)
    - '[io.undertow.UndertowLogger_$logger].proxyAdvertiseCannotSendMessage$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseCannotSendMessage(Exception,java.net.InetSocketAddress)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseCannotSendMessage$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].proxyAdvertiseCannotSendMessage$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].mcmpHandlerCreated$str()'
      Src: io.undertow.UndertowLogger_$logger:277,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '[io.undertow.UndertowLogger_$logger].mcmpHandlerCreated()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].mcmpHandlerCreated$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].mcmpHandlerCreated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: '[io.undertow.UndertowLogger_$logger].mcmpHandlerCreated$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].mcmpHandlerCreated$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].mcmpProcessingError$str()'
      Src: io.undertow.UndertowLogger_$logger:284,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
      Src: io.undertow.UndertowLogger_$logger:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - type
    - errString
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '[io.undertow.UndertowLogger_$logger].mcmpProcessingError(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
    - '[io.undertow.UndertowLogger_$logger].mcmpProcessingError$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].mcmpProcessingError(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: '[io.undertow.UndertowLogger_$logger].mcmpProcessingError$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].mcmpProcessingError$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].removingNode$str()'
      Src: io.undertow.UndertowLogger_$logger:291,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: '[io.undertow.UndertowLogger_$logger].removingNode(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].removingNode$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].removingNode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '[io.undertow.UndertowLogger_$logger].removingNode$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].removingNode$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].registeringContext2$str()'
      Src: io.undertow.UndertowLogger_$logger:298,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
      Src: io.undertow.UndertowLogger_$logger:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - contextPath
    - jvmRoute
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: '[io.undertow.UndertowLogger_$logger].registeringContext(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
    - '[io.undertow.UndertowLogger_$logger].registeringContext2$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].registeringContext(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: '[io.undertow.UndertowLogger_$logger].registeringContext2$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].registeringContext2$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].registeringContext3$str()'
      Src: io.undertow.UndertowLogger_$logger:305,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String,java.util.List<String>)
      Src: io.undertow.UndertowLogger_$logger:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - java.util.List<String>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 3
    argNames:
    - contextPath
    - jvmRoute
    - aliases
    argTypes:
    - String
    - String
    - java.util.List<String>
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: '[io.undertow.UndertowLogger_$logger].registeringContext(String,String,java.util.List<String>)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].registeringContext3$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String,java.util.List<String>)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].registeringContext(String,String,java.util.List<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: '[io.undertow.UndertowLogger_$logger].registeringContext3$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].registeringContext3$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].unregisteringContext$str()'
      Src: io.undertow.UndertowLogger_$logger:312,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
      Src: io.undertow.UndertowLogger_$logger:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - contextPath
    - jvmRoute
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: '[io.undertow.UndertowLogger_$logger].unregisteringContext(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].unregisteringContext$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].unregisteringContext(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: '[io.undertow.UndertowLogger_$logger].unregisteringContext$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].unregisteringContext$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].nodeIsInError$str()'
      Src: io.undertow.UndertowLogger_$logger:319,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - jvmRoute
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: '[io.undertow.UndertowLogger_$logger].nodeIsInError(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].nodeIsInError$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].nodeIsInError(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: '[io.undertow.UndertowLogger_$logger].nodeIsInError$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].nodeIsInError$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].nodeConfigCreated$str()'
      Src: io.undertow.UndertowLogger_$logger:326,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.URI,String,String,String,boolean,int,int,long,int,int,int,int,boolean)
      Src: io.undertow.UndertowLogger_$logger:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      - String
      - String
      - String
      - boolean
      - int
      - int
      - long
      - int
      - int
      - int
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 13
    argNames:
    - connectionURI
    - balancer
    - domain
    - jvmRoute
    - flushPackets
    - flushwait
    - ping
    - ttl
    - timeout
    - maxConnections
    - cacheConnections
    - requestQueueSize
    - queueNewRequests
    argTypes:
    - java.net.URI
    - String
    - String
    - String
    - boolean
    - int
    - int
    - long
    - int
    - int
    - int
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: '[io.undertow.UndertowLogger_$logger].nodeConfigCreated(java.net.URI,String,String,String,boolean,int,int,long,int,int,int,int,boolean)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].nodeConfigCreated$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.URI,String,String,String,boolean,int,int,long,int,int,int,int,boolean)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].nodeConfigCreated(java.net.URI,String,String,String,boolean,int,int,long,int,int,int,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: '[io.undertow.UndertowLogger_$logger].nodeConfigCreated$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].nodeConfigCreated$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToProcessManagementReq$str()'
      Src: io.undertow.UndertowLogger_$logger:333,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
      Src: io.undertow.UndertowLogger_$logger:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: '[io.undertow.UndertowLogger_$logger].failedToProcessManagementReq(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToProcessManagementReq$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToProcessManagementReq(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: '[io.undertow.UndertowLogger_$logger].failedToProcessManagementReq$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToProcessManagementReq$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponse$str()'
      Src: io.undertow.UndertowLogger_$logger:340,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
      Src: io.undertow.UndertowLogger_$logger:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponse(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToSendPingResponse$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponse(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponse$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponse$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponseDBG$str()'
      Src: io.undertow.UndertowLogger_$logger:347,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,String,String)
      Src: io.undertow.UndertowLogger_$logger:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 3
    argNames:
    - e
    - node
    - jvmRoute
    argTypes:
    - Exception
    - String
    - String
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponseDBG(Exception,String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToSendPingResponseDBG$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponseDBG(Exception,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponseDBG$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToSendPingResponseDBG$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].registeringNode$str()'
      Src: io.undertow.UndertowLogger_$logger:354,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,java.net.URI)
      Src: io.undertow.UndertowLogger_$logger:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - jvmRoute
    - connectionURI
    argTypes:
    - String
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: '[io.undertow.UndertowLogger_$logger].registeringNode(String,java.net.URI)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,java.net.URI)
    - '[io.undertow.UndertowLogger_$logger].registeringNode$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].registeringNode(String,java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: '[io.undertow.UndertowLogger_$logger].registeringNode$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].registeringNode$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].mcmpKeyValue$str()'
      Src: io.undertow.UndertowLogger_$logger:361,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.util.HttpString,String)
      Src: io.undertow.UndertowLogger_$logger:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - io.undertow.util.HttpString
    - String
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: '[io.undertow.UndertowLogger_$logger].mcmpKeyValue(io.undertow.util.HttpString,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.util.HttpString,String)
    - '[io.undertow.UndertowLogger_$logger].mcmpKeyValue$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].mcmpKeyValue(io.undertow.util.HttpString,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: '[io.undertow.UndertowLogger_$logger].mcmpKeyValue$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].mcmpKeyValue$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].httpClientPingTask$str()'
      Src: io.undertow.UndertowLogger_$logger:368,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.URI)
      Src: io.undertow.UndertowLogger_$logger:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - connection
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: '[io.undertow.UndertowLogger_$logger].httpClientPingTask(java.net.URI)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].httpClientPingTask$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.URI)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].httpClientPingTask(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: '[io.undertow.UndertowLogger_$logger].httpClientPingTask$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].httpClientPingTask$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].receivedNodeLoad$str()'
      Src: io.undertow.UndertowLogger_$logger:375,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
      Src: io.undertow.UndertowLogger_$logger:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - jvmRoute
    - loadValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: '[io.undertow.UndertowLogger_$logger].receivedNodeLoad(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].receivedNodeLoad$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].receivedNodeLoad(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: '[io.undertow.UndertowLogger_$logger].receivedNodeLoad$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].receivedNodeLoad$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].mcmpSendingResponse$str()'
      Src: io.undertow.UndertowLogger_$logger:382,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.InetSocketAddress,int,io.undertow.util.HeaderMap,String)
      Src: io.undertow.UndertowLogger_$logger:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetSocketAddress
      - int
      - io.undertow.util.HeaderMap
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 4
    argNames:
    - destination
    - status
    - headers
    - response
    argTypes:
    - java.net.InetSocketAddress
    - int
    - io.undertow.util.HeaderMap
    - String
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: '[io.undertow.UndertowLogger_$logger].mcmpSendingResponse(java.net.InetSocketAddress,int,io.undertow.util.HeaderMap,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].mcmpSendingResponse$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.InetSocketAddress,int,io.undertow.util.HeaderMap,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].mcmpSendingResponse(java.net.InetSocketAddress,int,io.undertow.util.HeaderMap,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: '[io.undertow.UndertowLogger_$logger].mcmpSendingResponse$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].mcmpSendingResponse$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].potentialCrossTalking$str()'
      Src: io.undertow.UndertowLogger_$logger:389,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.InetAddress,String,String)
      Src: io.undertow.UndertowLogger_$logger:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.InetAddress
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 3
    argNames:
    - group
    - s
    - localizedMessage
    argTypes:
    - java.net.InetAddress
    - String
    - String
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: '[io.undertow.UndertowLogger_$logger].potentialCrossTalking(java.net.InetAddress,String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.net.InetAddress,String,String)
    - '[io.undertow.UndertowLogger_$logger].potentialCrossTalking$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].potentialCrossTalking(java.net.InetAddress,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: '[io.undertow.UndertowLogger_$logger].potentialCrossTalking$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].potentialCrossTalking$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].oldStylePredicateSyntax$str()'
      Src: io.undertow.UndertowLogger_$logger:396,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: '[io.undertow.UndertowLogger_$logger].oldStylePredicateSyntax(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].oldStylePredicateSyntax$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].oldStylePredicateSyntax(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: '[io.undertow.UndertowLogger_$logger].oldStylePredicateSyntax$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].oldStylePredicateSyntax$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: '[io.undertow.UndertowLogger_$logger].maxRestartsExceeded$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].maxRestartsExceeded$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
      Src: io.undertow.UndertowLogger_$logger:406,1
    - Dst: '[io.undertow.UndertowLogger_$logger].maxRestartsExceeded$str()'
      Src: io.undertow.UndertowLogger_$logger:406,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowLogger_$logger:406,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowLogger_$logger)'
      Src: io.undertow.UndertowLogger_$logger:406,1
    - Dst: '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowLogger_$logger:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - maxRestarts
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: '[io.undertow.UndertowLogger_$logger].maxRestartsExceeded(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowLogger_$logger].maxRestartsExceeded$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowLogger_$logger)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowLogger_$logger].maxRestartsExceeded(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getStackTrace()'
      Src: io.undertow.UndertowLogger_$logger:411,1
    - Dst: '[java.util.Arrays].copyOfRange(io.undertow.UndertowLogger_$logger,int,io.undertow.UndertowLogger_$logger)'
      Src: io.undertow.UndertowLogger_$logger:412,1
    - Dst: '[Throwable].setStackTrace(io.undertow.UndertowLogger_$logger)'
      Src: io.undertow.UndertowLogger_$logger:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[Throwable].setStackTrace(io.undertow.UndertowLogger_$logger)'
    - '[Throwable].getStackTrace()'
    - '[java.util.Arrays].copyOfRange(io.undertow.UndertowLogger_$logger,int,io.undertow.UndertowLogger_$logger)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].extendedAccessLogPatternParseError$str()'
      Src: io.undertow.UndertowLogger_$logger:416,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
      Src: io.undertow.UndertowLogger_$logger:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogPatternParseError(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
    - '[io.undertow.UndertowLogger_$logger].extendedAccessLogPatternParseError$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogPatternParseError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogPatternParseError$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogPatternParseError$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].extendedAccessLogUnknownToken$str()'
      Src: io.undertow.UndertowLogger_$logger:423,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - token
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogUnknownToken(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].extendedAccessLogUnknownToken$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogUnknownToken(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogUnknownToken$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogUnknownToken$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].extendedAccessLogMissingClosing$str()'
      Src: io.undertow.UndertowLogger_$logger:430,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogMissingClosing()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].extendedAccessLogMissingClosing$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogMissingClosing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogMissingClosing$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogMissingClosing$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecode$str()'
      Src: io.undertow.UndertowLogger_$logger:437,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - chars
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecode(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecode$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecode(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecode$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecode$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecodeXParamValue$str()'
      Src: io.undertow.UndertowLogger_$logger:444,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecodeXParamValue(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecodeXParamValue$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecodeXParamValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecodeXParamValue$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogCannotDecodeXParamValue$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].extendedAccessLogBadXParam$str()'
      Src: io.undertow.UndertowLogger_$logger:451,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogBadXParam()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].extendedAccessLogBadXParam$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogBadXParam()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogBadXParam$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogBadXParam$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].extendedAccessLogEmptyPattern$str()'
      Src: io.undertow.UndertowLogger_$logger:458,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogEmptyPattern()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].extendedAccessLogEmptyPattern$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogEmptyPattern()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: '[io.undertow.UndertowLogger_$logger].extendedAccessLogEmptyPattern$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].extendedAccessLogEmptyPattern$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToWriteJdbcAccessLog$str()'
      Src: io.undertow.UndertowLogger_$logger:465,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
      Src: io.undertow.UndertowLogger_$logger:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: '[io.undertow.UndertowLogger_$logger].failedToWriteJdbcAccessLog(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToWriteJdbcAccessLog$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToWriteJdbcAccessLog(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: '[io.undertow.UndertowLogger_$logger].failedToWriteJdbcAccessLog$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToWriteJdbcAccessLog$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToWritePreCachedFile$str()'
      Src: io.undertow.UndertowLogger_$logger:472,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: '[io.undertow.UndertowLogger_$logger].failedToWritePreCachedFile()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToWritePreCachedFile$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToWritePreCachedFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: '[io.undertow.UndertowLogger_$logger].failedToWritePreCachedFile$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToWritePreCachedFile$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].undertowRequestFailed$str()'
      Src: io.undertow.UndertowLogger_$logger:479,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,io.undertow.server.HttpServerExchange)
      Src: io.undertow.UndertowLogger_$logger:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - t
    - exchange
    argTypes:
    - Throwable
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: '[io.undertow.UndertowLogger_$logger].undertowRequestFailed(Throwable,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].undertowRequestFailed$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].undertowRequestFailed(Throwable,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: '[io.undertow.UndertowLogger_$logger].undertowRequestFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].undertowRequestFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].stuckThreadDetected$str()'
      Src: io.undertow.UndertowLogger_$logger:486,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,String,long,long,java.util.Date,String,int,int)
      Src: io.undertow.UndertowLogger_$logger:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      - long
      - java.util.Date
      - String
      - int
      - int
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 8
    argNames:
    - threadName
    - threadId
    - active
    - start
    - requestUri
    - threshold
    - stuckCount
    - stackTrace
    argTypes:
    - String
    - long
    - long
    - java.util.Date
    - String
    - int
    - int
    - Throwable
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: '[io.undertow.UndertowLogger_$logger].stuckThreadDetected(String,long,long,java.util.Date,String,int,int,Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,String,long,long,java.util.Date,String,int,int)
    - '[io.undertow.UndertowLogger_$logger].stuckThreadDetected$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].stuckThreadDetected(String,long,long,java.util.Date,String,int,int,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: '[io.undertow.UndertowLogger_$logger].stuckThreadDetected$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].stuckThreadDetected$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].stuckThreadCompleted$str()'
      Src: io.undertow.UndertowLogger_$logger:493,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,long,long,int)
      Src: io.undertow.UndertowLogger_$logger:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      - long
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 4
    argNames:
    - threadName
    - threadId
    - active
    - stuckCount
    argTypes:
    - String
    - long
    - long
    - int
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: '[io.undertow.UndertowLogger_$logger].stuckThreadCompleted(String,long,long,int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].stuckThreadCompleted$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String,long,long,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].stuckThreadCompleted(String,long,long,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: '[io.undertow.UndertowLogger_$logger].stuckThreadCompleted$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].stuckThreadCompleted$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToInvokeFailedCallback$str()'
      Src: io.undertow.UndertowLogger_$logger:500,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback)
      Src: io.undertow.UndertowLogger_$logger:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - callback
    - e
    argTypes:
    - io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback
    - Exception
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: '[io.undertow.UndertowLogger_$logger].failedToInvokeFailedCallback(io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback,Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToInvokeFailedCallback$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToInvokeFailedCallback(io.undertow.server.handlers.sse.ServerSentEventConnection.EventCallback,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: '[io.undertow.UndertowLogger_$logger].failedToInvokeFailedCallback$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToInvokeFailedCallback$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: '[io.undertow.UndertowLogger_$logger].unableToResolveModClusterManagementHost$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].unableToResolveModClusterManagementHost$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
      Src: io.undertow.UndertowLogger_$logger:510,1
    - Dst: '[io.undertow.UndertowLogger_$logger].unableToResolveModClusterManagementHost$str()'
      Src: io.undertow.UndertowLogger_$logger:510,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowLogger_$logger:510,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowLogger_$logger)'
      Src: io.undertow.UndertowLogger_$logger:510,1
    - Dst: '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowLogger_$logger:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - providedHost
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: '[io.undertow.UndertowLogger_$logger].unableToResolveModClusterManagementHost(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowLogger_$logger].unableToResolveModClusterManagementHost$str()'
    - '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowLogger_$logger)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowLogger_$logger].unableToResolveModClusterManagementHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].sslReadLoopDetected$str()'
      Src: io.undertow.UndertowLogger_$logger:516,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.protocols.ssl.SslConduit)
      Src: io.undertow.UndertowLogger_$logger:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SslConduit
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - sslConduit
    argTypes:
    - io.undertow.protocols.ssl.SslConduit
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: '[io.undertow.UndertowLogger_$logger].sslReadLoopDetected(io.undertow.protocols.ssl.SslConduit)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].sslReadLoopDetected$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.protocols.ssl.SslConduit)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].sslReadLoopDetected(io.undertow.protocols.ssl.SslConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: '[io.undertow.UndertowLogger_$logger].sslReadLoopDetected$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].sslReadLoopDetected$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].sslBufferOverflow$str()'
      Src: io.undertow.UndertowLogger_$logger:523,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.protocols.ssl.SslConduit)
      Src: io.undertow.UndertowLogger_$logger:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.protocols.ssl.SslConduit
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - sslConduit
    argTypes:
    - io.undertow.protocols.ssl.SslConduit
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: '[io.undertow.UndertowLogger_$logger].sslBufferOverflow(io.undertow.protocols.ssl.SslConduit)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].sslBufferOverflow$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.protocols.ssl.SslConduit)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].sslBufferOverflow(io.undertow.protocols.ssl.SslConduit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionName: '[io.undertow.UndertowLogger_$logger].sslBufferOverflow$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].sslBufferOverflow$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].alpnConnectionFailed$str()'
      Src: io.undertow.UndertowLogger_$logger:530,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,org.xnio.ssl.SslConnection)
      Src: io.undertow.UndertowLogger_$logger:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.ssl.SslConnection
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - connection
    argTypes:
    - org.xnio.ssl.SslConnection
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: '[io.undertow.UndertowLogger_$logger].alpnConnectionFailed(org.xnio.ssl.SslConnection)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,org.xnio.ssl.SslConnection)
    - '[io.undertow.UndertowLogger_$logger].alpnConnectionFailed$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].alpnConnectionFailed(org.xnio.ssl.SslConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: '[io.undertow.UndertowLogger_$logger].alpnConnectionFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].alpnConnectionFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].resumedAndDispatched$str()'
      Src: io.undertow.UndertowLogger_$logger:537,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: '[io.undertow.UndertowLogger_$logger].resumedAndDispatched()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    - '[io.undertow.UndertowLogger_$logger].resumedAndDispatched$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].resumedAndDispatched()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: '[io.undertow.UndertowLogger_$logger].resumedAndDispatched$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].resumedAndDispatched$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].cannotProxyStartedRequest$str()'
      Src: io.undertow.UndertowLogger_$logger:544,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.server.HttpServerExchange)
      Src: io.undertow.UndertowLogger_$logger:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: '[io.undertow.UndertowLogger_$logger].cannotProxyStartedRequest(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.server.HttpServerExchange)
    - '[io.undertow.UndertowLogger_$logger].cannotProxyStartedRequest$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].cannotProxyStartedRequest(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 548
    functionName: '[io.undertow.UndertowLogger_$logger].cannotProxyStartedRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].cannotProxyStartedRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: '[io.undertow.UndertowLogger_$logger].cannotUseWildcardAddressAsModClusterManagementHost$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].cannotUseWildcardAddressAsModClusterManagementHost$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
      Src: io.undertow.UndertowLogger_$logger:554,1
    - Dst: '[io.undertow.UndertowLogger_$logger].cannotUseWildcardAddressAsModClusterManagementHost$str()'
      Src: io.undertow.UndertowLogger_$logger:554,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowLogger_$logger:554,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowLogger_$logger)'
      Src: io.undertow.UndertowLogger_$logger:554,1
    - Dst: '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowLogger_$logger:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - providedAddress
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: '[io.undertow.UndertowLogger_$logger].cannotUseWildcardAddressAsModClusterManagementHost(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowLogger_$logger)'
    - '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
    - '[io.undertow.UndertowLogger_$logger].cannotUseWildcardAddressAsModClusterManagementHost$str()'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowLogger_$logger].cannotUseWildcardAddressAsModClusterManagementHost(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: '[io.undertow.UndertowLogger_$logger].unexpectedEndOfCompressedInput$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].unexpectedEndOfCompressedInput$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
      Src: io.undertow.UndertowLogger_$logger:563,1
    - Dst: '[io.undertow.UndertowLogger_$logger].unexpectedEndOfCompressedInput$str()'
      Src: io.undertow.UndertowLogger_$logger:563,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowLogger_$logger:563,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowLogger_$logger)'
      Src: io.undertow.UndertowLogger_$logger:563,1
    - Dst: '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowLogger_$logger:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: '[io.undertow.UndertowLogger_$logger].unexpectedEndOfCompressedInput()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(java.io.IOException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowLogger_$logger].unexpectedEndOfCompressedInput$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowLogger_$logger)'
    - '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowLogger_$logger].unexpectedEndOfCompressedInput()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: '[io.undertow.UndertowLogger_$logger].dataLargerThanContentLength$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].dataLargerThanContentLength$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
      Src: io.undertow.UndertowLogger_$logger:572,1
    - Dst: '[io.undertow.UndertowLogger_$logger].dataLargerThanContentLength$str()'
      Src: io.undertow.UndertowLogger_$logger:572,1
    - Dst: String.format(java.util.Locale,String,long,long)
      Src: io.undertow.UndertowLogger_$logger:572,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowLogger_$logger)'
      Src: io.undertow.UndertowLogger_$logger:572,1
    - Dst: '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowLogger_$logger:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - totalToWrite
    - responseContentLength
    argTypes:
    - long
    - long
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 575
    functionName: '[io.undertow.UndertowLogger_$logger].dataLargerThanContentLength(long,long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowLogger_$logger)'
    - '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
    - '[io.undertow.UndertowLogger_$logger].dataLargerThanContentLength$str()'
    - String.format(java.util.Locale,String,long,long)
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowLogger_$logger].dataLargerThanContentLength(long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].responseWasNotTerminated$str()'
      Src: io.undertow.UndertowLogger_$logger:578,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.server.ServerConnection,io.undertow.server.HttpServerExchange)
      Src: io.undertow.UndertowLogger_$logger:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.ServerConnection
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - connection
    - exchange
    argTypes:
    - io.undertow.server.ServerConnection
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: '[io.undertow.UndertowLogger_$logger].responseWasNotTerminated(io.undertow.server.ServerConnection,io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,io.undertow.server.ServerConnection,io.undertow.server.HttpServerExchange)
    - '[io.undertow.UndertowLogger_$logger].responseWasNotTerminated$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].responseWasNotTerminated(io.undertow.server.ServerConnection,io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 582
    functionName: '[io.undertow.UndertowLogger_$logger].responseWasNotTerminated$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].responseWasNotTerminated$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToAcceptSSLRequest$str()'
      Src: io.undertow.UndertowLogger_$logger:585,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
      Src: io.undertow.UndertowLogger_$logger:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: '[io.undertow.UndertowLogger_$logger].failedToAcceptSSLRequest(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToAcceptSSLRequest$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToAcceptSSLRequest(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: '[io.undertow.UndertowLogger_$logger].failedToAcceptSSLRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToAcceptSSLRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].closeAsyncFailed$str()'
      Src: io.undertow.UndertowLogger_$logger:592,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
      Src: io.undertow.UndertowLogger_$logger:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: '[io.undertow.UndertowLogger_$logger].closeAsyncFailed(java.io.IOException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,java.io.IOException,String)
    - '[io.undertow.UndertowLogger_$logger].closeAsyncFailed$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].closeAsyncFailed(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: '[io.undertow.UndertowLogger_$logger].closeAsyncFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].closeAsyncFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: '[io.undertow.UndertowLogger_$logger].nullParameter$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].nullParameter$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
      Src: io.undertow.UndertowLogger_$logger:602,1
    - Dst: '[io.undertow.UndertowLogger_$logger].nullParameter$str()'
      Src: io.undertow.UndertowLogger_$logger:602,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowLogger_$logger:602,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowLogger_$logger)'
      Src: io.undertow.UndertowLogger_$logger:602,1
    - Dst: '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowLogger_$logger:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: '[io.undertow.UndertowLogger_$logger].nullParameter(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowLogger_$logger]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowLogger_$logger)'
    - '[io.undertow.UndertowLogger_$logger].getLoggingLocale()'
    - '[io.undertow.UndertowLogger_$logger].nullParameter$str()'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowLogger_$logger].nullParameter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].handleUnexpectedFailure$str()'
      Src: io.undertow.UndertowLogger_$logger:608,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
      Src: io.undertow.UndertowLogger_$logger:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: '[io.undertow.UndertowLogger_$logger].handleUnexpectedFailure(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
    - '[io.undertow.UndertowLogger_$logger].handleUnexpectedFailure$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].handleUnexpectedFailure(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: '[io.undertow.UndertowLogger_$logger].handleUnexpectedFailure$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].handleUnexpectedFailure$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].directBufferDeallocatorInitializationFailed$str()'
      Src: io.undertow.UndertowLogger_$logger:615,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
      Src: io.undertow.UndertowLogger_$logger:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: '[io.undertow.UndertowLogger_$logger].directBufferDeallocatorInitializationFailed(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
    - '[io.undertow.UndertowLogger_$logger].directBufferDeallocatorInitializationFailed$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].directBufferDeallocatorInitializationFailed(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 619
    functionName: '[io.undertow.UndertowLogger_$logger].directBufferDeallocatorInitializationFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].directBufferDeallocatorInitializationFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].directBufferDeallocationFailed$str()'
      Src: io.undertow.UndertowLogger_$logger:622,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
      Src: io.undertow.UndertowLogger_$logger:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: '[io.undertow.UndertowLogger_$logger].directBufferDeallocationFailed(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].directBufferDeallocationFailed$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].directBufferDeallocationFailed(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 626
    functionName: '[io.undertow.UndertowLogger_$logger].directBufferDeallocationFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].directBufferDeallocationFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].blockingReadTimedOut$str()'
      Src: io.undertow.UndertowLogger_$logger:629,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,org.xnio.channels.ReadTimeoutException,String)
      Src: io.undertow.UndertowLogger_$logger:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.ReadTimeoutException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - rte
    argTypes:
    - org.xnio.channels.ReadTimeoutException
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: '[io.undertow.UndertowLogger_$logger].blockingReadTimedOut(org.xnio.channels.ReadTimeoutException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,org.xnio.channels.ReadTimeoutException,String)
    - '[io.undertow.UndertowLogger_$logger].blockingReadTimedOut$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].blockingReadTimedOut(org.xnio.channels.ReadTimeoutException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 633
    functionName: '[io.undertow.UndertowLogger_$logger].blockingReadTimedOut$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].blockingReadTimedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].blockingWriteTimedOut$str()'
      Src: io.undertow.UndertowLogger_$logger:636,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,org.xnio.channels.WriteTimeoutException,String)
      Src: io.undertow.UndertowLogger_$logger:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - org.xnio.channels.WriteTimeoutException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - rte
    argTypes:
    - org.xnio.channels.WriteTimeoutException
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: '[io.undertow.UndertowLogger_$logger].blockingWriteTimedOut(org.xnio.channels.WriteTimeoutException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].blockingWriteTimedOut$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,org.xnio.channels.WriteTimeoutException,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].blockingWriteTimedOut(org.xnio.channels.WriteTimeoutException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 640
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 640
    functionName: '[io.undertow.UndertowLogger_$logger].blockingWriteTimedOut$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].blockingWriteTimedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].sslEngineDelegatedTaskRejected$str()'
      Src: io.undertow.UndertowLogger_$logger:643,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,java.util.concurrent.RejectedExecutionException,String)
      Src: io.undertow.UndertowLogger_$logger:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.concurrent.RejectedExecutionException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - ree
    argTypes:
    - java.util.concurrent.RejectedExecutionException
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: '[io.undertow.UndertowLogger_$logger].sslEngineDelegatedTaskRejected(java.util.concurrent.RejectedExecutionException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,java.util.concurrent.RejectedExecutionException,String)
    - '[io.undertow.UndertowLogger_$logger].sslEngineDelegatedTaskRejected$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].sslEngineDelegatedTaskRejected(java.util.concurrent.RejectedExecutionException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: '[io.undertow.UndertowLogger_$logger].sslEngineDelegatedTaskRejected$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].sslEngineDelegatedTaskRejected$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].authenticationFailedFor$str()'
      Src: io.undertow.UndertowLogger_$logger:650,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,String,io.undertow.server.HttpServerExchange)
      Src: io.undertow.UndertowLogger_$logger:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.HttpServerExchange
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 3
    argNames:
    - header
    - exchange
    - e
    argTypes:
    - String
    - io.undertow.server.HttpServerExchange
    - Exception
    constantsTouched: []
    func_position:
      end: 651
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 651
    functionName: '[io.undertow.UndertowLogger_$logger].authenticationFailedFor(String,io.undertow.server.HttpServerExchange,Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,String,io.undertow.server.HttpServerExchange)
    - '[io.undertow.UndertowLogger_$logger].authenticationFailedFor$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].authenticationFailedFor(String,io.undertow.server.HttpServerExchange,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 654
    functionName: '[io.undertow.UndertowLogger_$logger].authenticationFailedFor$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].authenticationFailedFor$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToObtainSubject$str()'
      Src: io.undertow.UndertowLogger_$logger:657,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,java.security.GeneralSecurityException,String,io.undertow.server.HttpServerExchange)
      Src: io.undertow.UndertowLogger_$logger:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.security.GeneralSecurityException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - exchange
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.security.GeneralSecurityException
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: '[io.undertow.UndertowLogger_$logger].failedToObtainSubject(io.undertow.server.HttpServerExchange,java.security.GeneralSecurityException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToObtainSubject$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,java.security.GeneralSecurityException,String,io.undertow.server.HttpServerExchange)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToObtainSubject(io.undertow.server.HttpServerExchange,java.security.GeneralSecurityException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 661
    functionName: '[io.undertow.UndertowLogger_$logger].failedToObtainSubject$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToObtainSubject$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToNegotiateAtGSSAPI$str()'
      Src: io.undertow.UndertowLogger_$logger:664,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,io.undertow.server.HttpServerExchange)
      Src: io.undertow.UndertowLogger_$logger:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - exchange
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    - Throwable
    constantsTouched: []
    func_position:
      end: 665
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 665
    functionName: '[io.undertow.UndertowLogger_$logger].failedToNegotiateAtGSSAPI(io.undertow.server.HttpServerExchange,Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Throwable,String,io.undertow.server.HttpServerExchange)
    - '[io.undertow.UndertowLogger_$logger].failedToNegotiateAtGSSAPI$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToNegotiateAtGSSAPI(io.undertow.server.HttpServerExchange,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 668
    functionName: '[io.undertow.UndertowLogger_$logger].failedToNegotiateAtGSSAPI$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToNegotiateAtGSSAPI$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToCreateSSOForSession$str()'
      Src: io.undertow.UndertowLogger_$logger:671,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: '[io.undertow.UndertowLogger_$logger].failedToCreateSSOForSession(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToCreateSSOForSession$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToCreateSSOForSession(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 675
    functionName: '[io.undertow.UndertowLogger_$logger].failedToCreateSSOForSession$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToCreateSSOForSession$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToListPathsForFile$str()'
      Src: io.undertow.UndertowLogger_$logger:678,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.nio.file.Path)
      Src: io.undertow.UndertowLogger_$logger:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - f
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 679
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 679
    functionName: '[io.undertow.UndertowLogger_$logger].failedToListPathsForFile(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToListPathsForFile$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,java.nio.file.Path)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToListPathsForFile(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 682
    functionName: '[io.undertow.UndertowLogger_$logger].failedToListPathsForFile$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToListPathsForFile$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].noSourceToListResourcesFrom$str()'
      Src: io.undertow.UndertowLogger_$logger:685,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: '[io.undertow.UndertowLogger_$logger].noSourceToListResourcesFrom()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    - '[io.undertow.UndertowLogger_$logger].noSourceToListResourcesFrom$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].noSourceToListResourcesFrom()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: '[io.undertow.UndertowLogger_$logger].noSourceToListResourcesFrom$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].noSourceToListResourcesFrom$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].noFrameflushInTimeout$str()'
      Src: io.undertow.UndertowLogger_$logger:692,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,long)
      Src: io.undertow.UndertowLogger_$logger:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - timeoutMiliseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: '[io.undertow.UndertowLogger_$logger].noFrameflushInTimeout(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].noFrameflushInTimeout$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,long)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].noFrameflushInTimeout(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: '[io.undertow.UndertowLogger_$logger].noFrameflushInTimeout$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].noFrameflushInTimeout$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].wrongCacheTTLValue$str()'
      Src: io.undertow.UndertowLogger_$logger:699,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,int,int)
      Src: io.undertow.UndertowLogger_$logger:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - ttl
    - defaultTtl
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: '[io.undertow.UndertowLogger_$logger].wrongCacheTTLValue(int,int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].wrongCacheTTLValue$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,int,int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].wrongCacheTTLValue(int,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 703
    functionName: '[io.undertow.UndertowLogger_$logger].wrongCacheTTLValue$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].wrongCacheTTLValue$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToRegisterChangeListener$str()'
      Src: io.undertow.UndertowLogger_$logger:706,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,int,int)
      Src: io.undertow.UndertowLogger_$logger:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - int
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 3
    argNames:
    - ttl
    - defaultTtl
    - e
    argTypes:
    - int
    - int
    - Exception
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: '[io.undertow.UndertowLogger_$logger].failedToRegisterChangeListener(int,int,Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String,int,int)
    - '[io.undertow.UndertowLogger_$logger].failedToRegisterChangeListener$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToRegisterChangeListener(int,int,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 710
    functionName: '[io.undertow.UndertowLogger_$logger].failedToRegisterChangeListener$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToRegisterChangeListener$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].cacheEntryMismatchContent$str()'
      Src: io.undertow.UndertowLogger_$logger:713,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,Object,int,long)
      Src: io.undertow.UndertowLogger_$logger:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - int
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 3
    argNames:
    - key
    - cacheIndicatedSize
    - written
    argTypes:
    - Object
    - int
    - long
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: '[io.undertow.UndertowLogger_$logger].cacheEntryMismatchContent(Object,int,long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,Object,int,long)
    - '[io.undertow.UndertowLogger_$logger].cacheEntryMismatchContent$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].cacheEntryMismatchContent(Object,int,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 717
    functionName: '[io.undertow.UndertowLogger_$logger].cacheEntryMismatchContent$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].cacheEntryMismatchContent$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].contentEntryMismatch$str()'
      Src: io.undertow.UndertowLogger_$logger:720,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,Object,long,long)
      Src: io.undertow.UndertowLogger_$logger:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - long
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 3
    argNames:
    - key
    - indicatedSize
    - written
    argTypes:
    - Object
    - long
    - long
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: '[io.undertow.UndertowLogger_$logger].contentEntryMismatch(Object,long,long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].contentEntryMismatch$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,Object,long,long)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].contentEntryMismatch(Object,long,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 724
    functionName: '[io.undertow.UndertowLogger_$logger].contentEntryMismatch$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].contentEntryMismatch$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].failedToSetWSTimeout$str()'
      Src: io.undertow.UndertowLogger_$logger:727,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
      Src: io.undertow.UndertowLogger_$logger:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: '[io.undertow.UndertowLogger_$logger].failedToSetWSTimeout(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].failedToSetWSTimeout$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,Exception,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].failedToSetWSTimeout(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 731
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 731
    functionName: '[io.undertow.UndertowLogger_$logger].failedToSetWSTimeout$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].failedToSetWSTimeout$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].configurationNotSupported$str()'
      Src: io.undertow.UndertowLogger_$logger:734,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
      Src: io.undertow.UndertowLogger_$logger:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - string
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: '[io.undertow.UndertowLogger_$logger].configurationNotSupported(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].configurationNotSupported$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].configurationNotSupported(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: '[io.undertow.UndertowLogger_$logger].configurationNotSupported$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].configurationNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnTransition$str()'
      Src: io.undertow.UndertowLogger_$logger:741,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnTransition()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    - '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnTransition$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnTransition()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 745
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 745
    functionName: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnTransition$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnTransition$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnReschedule$str()'
      Src: io.undertow.UndertowLogger_$logger:748,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnReschedule()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    - '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnReschedule$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnReschedule()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 752
    functionName: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnReschedule$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].accessLogWorkerFailureOnReschedule$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].accessLogWorkerNoTermination$str()'
      Src: io.undertow.UndertowLogger_$logger:755,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
      Src: io.undertow.UndertowLogger_$logger:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: '[io.undertow.UndertowLogger_$logger].accessLogWorkerNoTermination()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,null,String)
    - '[io.undertow.UndertowLogger_$logger].accessLogWorkerNoTermination$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].accessLogWorkerNoTermination()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 759
    functionName: '[io.undertow.UndertowLogger_$logger].accessLogWorkerNoTermination$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].accessLogWorkerNoTermination$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowLogger_$logger].closeInterrupted$str()'
      Src: io.undertow.UndertowLogger_$logger:762,1
    - Dst: super.log.logf(String,io.undertow.UndertowLogger_$logger,InterruptedException,String)
      Src: io.undertow.UndertowLogger_$logger:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - InterruptedException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - ie
    argTypes:
    - InterruptedException
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: '[io.undertow.UndertowLogger_$logger].closeInterrupted(InterruptedException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowLogger_$logger].closeInterrupted$str()'
    - super.log.logf(String,io.undertow.UndertowLogger_$logger,InterruptedException,String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowLogger_$logger].closeInterrupted(InterruptedException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.UndertowLogger
      - org.jboss.logging.BasicLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: '[io.undertow.UndertowLogger_$logger].closeInterrupted$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowLogger_$logger].closeInterrupted$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].<init>()'
      Src: io.undertow.UndertowMessages_$bundle:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.UndertowMessages_$bundle
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '[io.undertow.UndertowMessages_$bundle].<init>()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].<init>()'
    linkageType: ''
    returnType: io.undertow.UndertowMessages_$bundle
    signature: '[io.undertow.UndertowMessages_$bundle].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.UndertowMessages_$bundle].readResolve()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.UndertowMessages_$bundle].readResolve()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Locale
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 181
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.UndertowMessages_$bundle].maximumConcurrentRequestsMustBeLargerThanZero$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].maximumConcurrentRequestsMustBeLargerThanZero$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:56,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].maximumConcurrentRequestsMustBeLargerThanZero$str()'
      Src: io.undertow.UndertowMessages_$bundle:56,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:56,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:56,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: '[io.undertow.UndertowMessages_$bundle].maximumConcurrentRequestsMustBeLargerThanZero()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].maximumConcurrentRequestsMustBeLargerThanZero$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].maximumConcurrentRequestsMustBeLargerThanZero()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getStackTrace()'
      Src: io.undertow.UndertowMessages_$bundle:61,1
    - Dst: '[java.util.Arrays].copyOfRange(io.undertow.UndertowMessages_$bundle,int,io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:62,1
    - Dst: '[Throwable].setStackTrace(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[Throwable].setStackTrace(io.undertow.UndertowMessages_$bundle)'
    - '[java.util.Arrays].copyOfRange(io.undertow.UndertowMessages_$bundle,int,io.undertow.UndertowMessages_$bundle)'
    - '[Throwable].getStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.UndertowMessages_$bundle].responseAlreadyStarted$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].responseAlreadyStarted$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:69,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].responseAlreadyStarted$str()'
      Src: io.undertow.UndertowMessages_$bundle:69,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:69,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:69,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: '[io.undertow.UndertowMessages_$bundle].responseAlreadyStarted()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].responseAlreadyStarted$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].responseAlreadyStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '[io.undertow.UndertowMessages_$bundle].responseChannelAlreadyProvided$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].responseChannelAlreadyProvided$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:78,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].responseChannelAlreadyProvided$str()'
      Src: io.undertow.UndertowMessages_$bundle:78,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:78,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:78,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: '[io.undertow.UndertowMessages_$bundle].responseChannelAlreadyProvided()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].responseChannelAlreadyProvided$str()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].responseChannelAlreadyProvided()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: '[io.undertow.UndertowMessages_$bundle].requestChannelAlreadyProvided$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].requestChannelAlreadyProvided$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:87,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].requestChannelAlreadyProvided$str()'
      Src: io.undertow.UndertowMessages_$bundle:87,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:87,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:87,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: '[io.undertow.UndertowMessages_$bundle].requestChannelAlreadyProvided()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].requestChannelAlreadyProvided$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].requestChannelAlreadyProvided()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: '[io.undertow.UndertowMessages_$bundle].handlerCannotBeNull$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].handlerCannotBeNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:96,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].handlerCannotBeNull$str()'
      Src: io.undertow.UndertowMessages_$bundle:96,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:96,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:96,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: '[io.undertow.UndertowMessages_$bundle].handlerCannotBeNull()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].handlerCannotBeNull$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].handlerCannotBeNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.UndertowMessages_$bundle].pathMustBeSpecified$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].pathMustBeSpecified$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:105,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].pathMustBeSpecified$str()'
      Src: io.undertow.UndertowMessages_$bundle:105,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:105,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:105,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: '[io.undertow.UndertowMessages_$bundle].pathMustBeSpecified()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].pathMustBeSpecified$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].pathMustBeSpecified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionIsInvalid$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].sessionIsInvalid$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:114,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].sessionIsInvalid$str()'
      Src: io.undertow.UndertowMessages_$bundle:114,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:114,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:114,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionId
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionIsInvalid(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].sessionIsInvalid$str()'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].sessionIsInvalid(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionManagerMustNotBeNull$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].sessionManagerMustNotBeNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:123,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].sessionManagerMustNotBeNull$str()'
      Src: io.undertow.UndertowMessages_$bundle:123,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:123,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:123,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionManagerMustNotBeNull()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].sessionManagerMustNotBeNull$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].sessionManagerMustNotBeNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionManagerNotFound$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].sessionManagerNotFound$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:132,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].sessionManagerNotFound$str()'
      Src: io.undertow.UndertowMessages_$bundle:132,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:132,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:132,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionManagerNotFound()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].sessionManagerNotFound$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].sessionManagerNotFound()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: '[io.undertow.UndertowMessages_$bundle].argumentCannotBeNull$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].argumentCannotBeNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:141,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].argumentCannotBeNull$str()'
      Src: io.undertow.UndertowMessages_$bundle:141,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:141,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:141,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - argument
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: '[io.undertow.UndertowMessages_$bundle].argumentCannotBeNull(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].argumentCannotBeNull$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].argumentCannotBeNull(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: '[io.undertow.UndertowMessages_$bundle].formValueIsAFile$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].formValueIsAFile$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:150,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].formValueIsAFile$str()'
      Src: io.undertow.UndertowMessages_$bundle:150,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:150,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:150,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: '[io.undertow.UndertowMessages_$bundle].formValueIsAFile()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].formValueIsAFile$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].formValueIsAFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: '[io.undertow.UndertowMessages_$bundle].formValueIsAString$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].formValueIsAString$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:159,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].formValueIsAString$str()'
      Src: io.undertow.UndertowMessages_$bundle:159,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:159,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:159,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: '[io.undertow.UndertowMessages_$bundle].formValueIsAString()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].formValueIsAString$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].formValueIsAString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: '[io.undertow.UndertowMessages_$bundle].requestEntityWasTooLarge$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].requestEntityWasTooLarge$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:168,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].requestEntityWasTooLarge$str()'
      Src: io.undertow.UndertowMessages_$bundle:168,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.UndertowMessages_$bundle:168,1
    - Dst: '[io.undertow.server.RequestTooBigException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:168,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.server.RequestTooBigException)'
      Src: io.undertow.UndertowMessages_$bundle:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.RequestTooBigException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: '[io.undertow.UndertowMessages_$bundle].requestEntityWasTooLarge(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.server.RequestTooBigException)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.server.RequestTooBigException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].requestEntityWasTooLarge$str()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: io.undertow.server.RequestTooBigException
    signature: '[io.undertow.UndertowMessages_$bundle].requestEntityWasTooLarge(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionAlreadyInvalidated$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].sessionAlreadyInvalidated$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:177,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].sessionAlreadyInvalidated$str()'
      Src: io.undertow.UndertowMessages_$bundle:177,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:177,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:177,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionAlreadyInvalidated()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].sessionAlreadyInvalidated$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].sessionAlreadyInvalidated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: '[io.undertow.UndertowMessages_$bundle].hashAlgorithmNotFound$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].hashAlgorithmNotFound$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:186,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].hashAlgorithmNotFound$str()'
      Src: io.undertow.UndertowMessages_$bundle:186,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:186,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:186,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - algorithmName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: '[io.undertow.UndertowMessages_$bundle].hashAlgorithmNotFound(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].hashAlgorithmNotFound$str()'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].hashAlgorithmNotFound(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidBase64Token$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidBase64Token$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:195,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidBase64Token$str()'
      Src: io.undertow.UndertowMessages_$bundle:195,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:195,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle,java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:195,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidBase64Token(java.io.IOException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].invalidBase64Token$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle,java.io.IOException)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidBase64Token(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidNonceReceived$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidNonceReceived$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:204,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidNonceReceived$str()'
      Src: io.undertow.UndertowMessages_$bundle:204,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:204,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:204,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidNonceReceived()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].invalidNonceReceived$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidNonceReceived()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: '[io.undertow.UndertowMessages_$bundle].unexpectedTokenInHeader$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].unexpectedTokenInHeader$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:213,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].unexpectedTokenInHeader$str()'
      Src: io.undertow.UndertowMessages_$bundle:213,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:213,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:213,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: '[io.undertow.UndertowMessages_$bundle].unexpectedTokenInHeader(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].unexpectedTokenInHeader$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].unexpectedTokenInHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHeader$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHeader$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:222,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidHeader$str()'
      Src: io.undertow.UndertowMessages_$bundle:222,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:222,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:222,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHeader()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].invalidHeader$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotFindSessionCookieConfig$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotFindSessionCookieConfig$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:231,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].couldNotFindSessionCookieConfig$str()'
      Src: io.undertow.UndertowMessages_$bundle:231,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:231,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:231,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotFindSessionCookieConfig()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].couldNotFindSessionCookieConfig$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotFindSessionCookieConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: '[io.undertow.UndertowMessages_$bundle].chunkedChannelClosedMidChunk$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].chunkedChannelClosedMidChunk$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:240,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].chunkedChannelClosedMidChunk$str()'
      Src: io.undertow.UndertowMessages_$bundle:240,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:240,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:240,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: '[io.undertow.UndertowMessages_$bundle].chunkedChannelClosedMidChunk()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].chunkedChannelClosedMidChunk$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].chunkedChannelClosedMidChunk()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: '[io.undertow.UndertowMessages_$bundle].userAuthenticated$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].userAuthenticated$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:249,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].userAuthenticated$str()'
      Src: io.undertow.UndertowMessages_$bundle:249,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: '[io.undertow.UndertowMessages_$bundle].userAuthenticated(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].userAuthenticated$str()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].userAuthenticated(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: '[io.undertow.UndertowMessages_$bundle].userLoggedOut$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].userLoggedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:256,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].userLoggedOut$str()'
      Src: io.undertow.UndertowMessages_$bundle:256,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '[io.undertow.UndertowMessages_$bundle].userLoggedOut(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].userLoggedOut$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].userLoggedOut(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: '[io.undertow.UndertowMessages_$bundle].streamIsClosed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].streamIsClosed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:263,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].streamIsClosed$str()'
      Src: io.undertow.UndertowMessages_$bundle:263,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:263,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:263,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: '[io.undertow.UndertowMessages_$bundle].streamIsClosed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.UndertowMessages_$bundle].streamIsClosed$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].streamIsClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: '[io.undertow.UndertowMessages_$bundle].startBlockingHasNotBeenCalled$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].startBlockingHasNotBeenCalled$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:272,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].startBlockingHasNotBeenCalled$str()'
      Src: io.undertow.UndertowMessages_$bundle:272,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:272,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:272,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: '[io.undertow.UndertowMessages_$bundle].startBlockingHasNotBeenCalled()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].startBlockingHasNotBeenCalled$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].startBlockingHasNotBeenCalled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: '[io.undertow.UndertowMessages_$bundle].connectionTerminatedReadingMultiPartData$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].connectionTerminatedReadingMultiPartData$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:281,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].connectionTerminatedReadingMultiPartData$str()'
      Src: io.undertow.UndertowMessages_$bundle:281,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:281,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:281,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: '[io.undertow.UndertowMessages_$bundle].connectionTerminatedReadingMultiPartData()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].connectionTerminatedReadingMultiPartData$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].connectionTerminatedReadingMultiPartData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToParsePath$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToParsePath$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:290,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToParsePath$str()'
      Src: io.undertow.UndertowMessages_$bundle:290,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:290,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:290,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToParsePath()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - String.format(java.util.Locale,String)
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].failedToParsePath$str()'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToParsePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: '[io.undertow.UndertowMessages_$bundle].authenticationFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].authenticationFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:299,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].authenticationFailed$str()'
      Src: io.undertow.UndertowMessages_$bundle:299,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - userName
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: '[io.undertow.UndertowMessages_$bundle].authenticationFailed(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].authenticationFailed$str()'
    - String.format(java.util.Locale,String,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].authenticationFailed(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyQueryParameters$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyQueryParameters$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:306,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].tooManyQueryParameters$str()'
      Src: io.undertow.UndertowMessages_$bundle:306,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:306,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:306,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.BadRequestException)'
      Src: io.undertow.UndertowMessages_$bundle:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - noParams
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyQueryParameters(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.BadRequestException)'
    - '[io.undertow.util.BadRequestException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].tooManyQueryParameters$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyQueryParameters(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyHeaders$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyHeaders$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:315,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].tooManyHeaders$str()'
      Src: io.undertow.UndertowMessages_$bundle:315,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - noParams
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyHeaders(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].tooManyHeaders$str()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyHeaders(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: '[io.undertow.UndertowMessages_$bundle].channelIsClosed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].channelIsClosed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.UndertowMessages_$bundle:322,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.UndertowMessages_$bundle:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.ClosedChannelException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: '[io.undertow.UndertowMessages_$bundle].channelIsClosed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.nio.channels.ClosedChannelException)'
    linkageType: ''
    returnType: java.nio.channels.ClosedChannelException
    signature: '[io.undertow.UndertowMessages_$bundle].channelIsClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotDecodeTrailers$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotDecodeTrailers$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:331,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].couldNotDecodeTrailers$str()'
      Src: io.undertow.UndertowMessages_$bundle:331,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:331,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:331,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotDecodeTrailers()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].couldNotDecodeTrailers$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotDecodeTrailers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: '[io.undertow.UndertowMessages_$bundle].dataAlreadyQueued$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].dataAlreadyQueued$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:340,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].dataAlreadyQueued$str()'
      Src: io.undertow.UndertowMessages_$bundle:340,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:340,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:340,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: '[io.undertow.UndertowMessages_$bundle].dataAlreadyQueued()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].dataAlreadyQueued$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].dataAlreadyQueued()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: '[io.undertow.UndertowMessages_$bundle].moreThanOnePredicateWithName$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].moreThanOnePredicateWithName$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:349,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].moreThanOnePredicateWithName$str()'
      Src: io.undertow.UndertowMessages_$bundle:349,1
    - Dst: String.format(java.util.Locale,String,String,Class<?extendsio.undertow.predicate.PredicateBuilder>,Class<?extendsio.undertow.predicate.PredicateBuilder>)
      Src: io.undertow.UndertowMessages_$bundle:349,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:349,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Class<?extendsio.undertow.predicate.PredicateBuilder>
      - Class<?extendsio.undertow.predicate.PredicateBuilder>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - aClass
    - existing
    argTypes:
    - String
    - Class<?extendsio.undertow.predicate.PredicateBuilder>
    - Class<?extendsio.undertow.predicate.PredicateBuilder>
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: '[io.undertow.UndertowMessages_$bundle].moreThanOnePredicateWithName(String,Class<?extendsio.undertow.predicate.PredicateBuilder>,Class<?extendsio.undertow.predicate.PredicateBuilder>)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].moreThanOnePredicateWithName$str()'
    - String.format(java.util.Locale,String,String,Class<?extendsio.undertow.predicate.PredicateBuilder>,Class<?extendsio.undertow.predicate.PredicateBuilder>)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].moreThanOnePredicateWithName(String,Class<?extendsio.undertow.predicate.PredicateBuilder>,Class<?extendsio.undertow.predicate.PredicateBuilder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: '[io.undertow.UndertowMessages_$bundle].errorParsingPredicateString$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].errorParsingPredicateString$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:358,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].errorParsingPredicateString$str()'
      Src: io.undertow.UndertowMessages_$bundle:358,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.UndertowMessages_$bundle:358,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:358,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - reason
    - s
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: '[io.undertow.UndertowMessages_$bundle].errorParsingPredicateString(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String,String)
    - '[io.undertow.UndertowMessages_$bundle].errorParsingPredicateString$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].errorParsingPredicateString(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyCookies$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyCookies$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:367,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].tooManyCookies$str()'
      Src: io.undertow.UndertowMessages_$bundle:367,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:367,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:367,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxCookies
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyCookies(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].tooManyCookies$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyCookies(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyParameters$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyParameters$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:376,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].tooManyParameters$str()'
      Src: io.undertow.UndertowMessages_$bundle:376,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:376,1
    - Dst: '[io.undertow.util.ParameterLimitException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:376,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.ParameterLimitException)'
      Src: io.undertow.UndertowMessages_$bundle:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ParameterLimitException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxValues
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyParameters(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.ParameterLimitException)'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].tooManyParameters$str()'
    - '[io.undertow.util.ParameterLimitException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: io.undertow.util.ParameterLimitException
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyParameters(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: '[io.undertow.UndertowMessages_$bundle].noRequestActive$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].noRequestActive$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:385,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].noRequestActive$str()'
      Src: io.undertow.UndertowMessages_$bundle:385,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:385,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:385,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: '[io.undertow.UndertowMessages_$bundle].noRequestActive()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].noRequestActive$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].noRequestActive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: '[io.undertow.UndertowMessages_$bundle].authMechanismOutcomeNull$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].authMechanismOutcomeNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:394,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].authMechanismOutcomeNull$str()'
      Src: io.undertow.UndertowMessages_$bundle:394,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:394,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:394,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: '[io.undertow.UndertowMessages_$bundle].authMechanismOutcomeNull()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].authMechanismOutcomeNull$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].authMechanismOutcomeNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: '[io.undertow.UndertowMessages_$bundle].notAValidIpPattern$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].notAValidIpPattern$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:403,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].notAValidIpPattern$str()'
      Src: io.undertow.UndertowMessages_$bundle:403,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:403,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:403,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - peer
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: '[io.undertow.UndertowMessages_$bundle].notAValidIpPattern(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].notAValidIpPattern$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].notAValidIpPattern(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: '[io.undertow.UndertowMessages_$bundle].noSessionData$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].noSessionData$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:412,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].noSessionData$str()'
      Src: io.undertow.UndertowMessages_$bundle:412,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:412,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:412,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: '[io.undertow.UndertowMessages_$bundle].noSessionData()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].noSessionData$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].noSessionData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: '[io.undertow.UndertowMessages_$bundle].listenerAlreadyRegistered$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].listenerAlreadyRegistered$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:421,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].listenerAlreadyRegistered$str()'
      Src: io.undertow.UndertowMessages_$bundle:421,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:421,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:421,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: '[io.undertow.UndertowMessages_$bundle].listenerAlreadyRegistered(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].listenerAlreadyRegistered$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].listenerAlreadyRegistered(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: '[io.undertow.UndertowMessages_$bundle].maxFileSizeExceeded$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].maxFileSizeExceeded$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:430,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].maxFileSizeExceeded$str()'
      Src: io.undertow.UndertowMessages_$bundle:430,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.UndertowMessages_$bundle:430,1
    - Dst: '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:430,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException)'
      Src: io.undertow.UndertowMessages_$bundle:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxIndividualFileSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: '[io.undertow.UndertowMessages_$bundle].maxFileSizeExceeded(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].maxFileSizeExceeded$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException)'
    - '[io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: io.undertow.server.handlers.form.MultiPartParserDefinition.FileTooLargeException
    signature: '[io.undertow.UndertowMessages_$bundle].maxFileSizeExceeded(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotSetAttribute$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotSetAttribute$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:439,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].couldNotSetAttribute$str()'
      Src: io.undertow.UndertowMessages_$bundle:439,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.UndertowMessages_$bundle:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - attributeName
    - newValue
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotSetAttribute(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].couldNotSetAttribute$str()'
    - String.format(java.util.Locale,String,String,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotSetAttribute(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotParseUriTemplate$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotParseUriTemplate$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:446,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].couldNotParseUriTemplate$str()'
      Src: io.undertow.UndertowMessages_$bundle:446,1
    - Dst: String.format(java.util.Locale,String,String,int)
      Src: io.undertow.UndertowMessages_$bundle:446,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:446,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - i
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotParseUriTemplate(String,int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].couldNotParseUriTemplate$str()'
    - String.format(java.util.Locale,String,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotParseUriTemplate(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: '[io.undertow.UndertowMessages_$bundle].mismatchedBraces$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].mismatchedBraces$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:455,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].mismatchedBraces$str()'
      Src: io.undertow.UndertowMessages_$bundle:455,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:455,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:455,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - valueString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: '[io.undertow.UndertowMessages_$bundle].mismatchedBraces(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].mismatchedBraces$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].mismatchedBraces(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: '[io.undertow.UndertowMessages_$bundle].moreThanOneHandlerWithName$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].moreThanOneHandlerWithName$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:464,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].moreThanOneHandlerWithName$str()'
      Src: io.undertow.UndertowMessages_$bundle:464,1
    - Dst: String.format(java.util.Locale,String,String,Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>,Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>)
      Src: io.undertow.UndertowMessages_$bundle:464,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:464,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>
      - Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - name
    - aClass
    - existing
    argTypes:
    - String
    - Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>
    - Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: '[io.undertow.UndertowMessages_$bundle].moreThanOneHandlerWithName(String,Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>,Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].moreThanOneHandlerWithName$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - String.format(java.util.Locale,String,String,Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>,Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>)
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].moreThanOneHandlerWithName(String,Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>,Class<?extendsio.undertow.server.handlers.builder.HandlerBuilder>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseOnlyAllowedFor100Continue$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseOnlyAllowedFor100Continue$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:473,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseOnlyAllowedFor100Continue$str()'
      Src: io.undertow.UndertowMessages_$bundle:473,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:473,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:473,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseOnlyAllowedFor100Continue()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].outOfBandResponseOnlyAllowedFor100Continue$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseOnlyAllowedFor100Continue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: '[io.undertow.UndertowMessages_$bundle].sslWasNull$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].sslWasNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:482,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].sslWasNull$str()'
      Src: io.undertow.UndertowMessages_$bundle:482,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:482,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:482,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: '[io.undertow.UndertowMessages_$bundle].sslWasNull()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.UndertowMessages_$bundle].sslWasNull$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].sslWasNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: '[io.undertow.UndertowMessages_$bundle].wrongMagicNumber$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].wrongMagicNumber$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:491,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].wrongMagicNumber$str()'
      Src: io.undertow.UndertowMessages_$bundle:491,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:491,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:491,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: '[io.undertow.UndertowMessages_$bundle].wrongMagicNumber(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].wrongMagicNumber$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].wrongMagicNumber(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: '[io.undertow.UndertowMessages_$bundle].peerUnverified$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].peerUnverified$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:500,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].peerUnverified$str()'
      Src: io.undertow.UndertowMessages_$bundle:500,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:500,1
    - Dst: '[javax.net.ssl.SSLPeerUnverifiedException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:500,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLPeerUnverifiedException)'
      Src: io.undertow.UndertowMessages_$bundle:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLPeerUnverifiedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: '[io.undertow.UndertowMessages_$bundle].peerUnverified()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].peerUnverified$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[javax.net.ssl.SSLPeerUnverifiedException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLPeerUnverifiedException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLPeerUnverifiedException
    signature: '[io.undertow.UndertowMessages_$bundle].peerUnverified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: '[io.undertow.UndertowMessages_$bundle].servletPathMatchFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].servletPathMatchFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:509,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].servletPathMatchFailed$str()'
      Src: io.undertow.UndertowMessages_$bundle:509,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:509,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:509,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: '[io.undertow.UndertowMessages_$bundle].servletPathMatchFailed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].servletPathMatchFailed$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].servletPathMatchFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotParseCookie$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotParseCookie$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:518,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].couldNotParseCookie$str()'
      Src: io.undertow.UndertowMessages_$bundle:518,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:518,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:518,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - headerValue
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotParseCookie(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].couldNotParseCookie$str()'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotParseCookie(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: '[io.undertow.UndertowMessages_$bundle].canOnlyBeCalledByIoThread$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].canOnlyBeCalledByIoThread$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:527,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].canOnlyBeCalledByIoThread$str()'
      Src: io.undertow.UndertowMessages_$bundle:527,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:527,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:527,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: '[io.undertow.UndertowMessages_$bundle].canOnlyBeCalledByIoThread()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].canOnlyBeCalledByIoThread$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].canOnlyBeCalledByIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: '[io.undertow.UndertowMessages_$bundle].matcherAlreadyContainsTemplate$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].matcherAlreadyContainsTemplate$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:536,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].matcherAlreadyContainsTemplate$str()'
      Src: io.undertow.UndertowMessages_$bundle:536,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.UndertowMessages_$bundle:536,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:536,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - templateString
    - templateString1
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: '[io.undertow.UndertowMessages_$bundle].matcherAlreadyContainsTemplate(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].matcherAlreadyContainsTemplate$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].matcherAlreadyContainsTemplate(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToDecodeURL$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToDecodeURL$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:545,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToDecodeURL$str()'
      Src: io.undertow.UndertowMessages_$bundle:545,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.UndertowMessages_$bundle:545,1
    - Dst: '[io.undertow.util.UrlDecodeException].<init>(io.undertow.UndertowMessages_$bundle,Exception)'
      Src: io.undertow.UndertowMessages_$bundle:545,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.UrlDecodeException)'
      Src: io.undertow.UndertowMessages_$bundle:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.UrlDecodeException
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - s
    - enc
    - e
    argTypes:
    - String
    - String
    - Exception
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToDecodeURL(String,String,Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.UrlDecodeException].<init>(io.undertow.UndertowMessages_$bundle,Exception)'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.UrlDecodeException)'
    - String.format(java.util.Locale,String,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].failedToDecodeURL$str()'
    linkageType: ''
    returnType: io.undertow.util.UrlDecodeException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToDecodeURL(String,String,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: '[io.undertow.UndertowMessages_$bundle].resourceChangeListenerNotSupported$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].resourceChangeListenerNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:554,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].resourceChangeListenerNotSupported$str()'
      Src: io.undertow.UndertowMessages_$bundle:554,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:554,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:554,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: '[io.undertow.UndertowMessages_$bundle].resourceChangeListenerNotSupported()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].resourceChangeListenerNotSupported$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].resourceChangeListenerNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: '[io.undertow.UndertowMessages_$bundle].objectWasFreed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].objectWasFreed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:563,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].objectWasFreed$str()'
      Src: io.undertow.UndertowMessages_$bundle:563,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:563,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:563,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: '[io.undertow.UndertowMessages_$bundle].objectWasFreed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].objectWasFreed$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].objectWasFreed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: '[io.undertow.UndertowMessages_$bundle].handlerNotShutdown$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].handlerNotShutdown$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:572,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].handlerNotShutdown$str()'
      Src: io.undertow.UndertowMessages_$bundle:572,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:572,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:572,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 575
    functionName: '[io.undertow.UndertowMessages_$bundle].handlerNotShutdown()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].handlerNotShutdown$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].handlerNotShutdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 578
    functionName: '[io.undertow.UndertowMessages_$bundle].upgradeNotSupported$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].upgradeNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:581,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].upgradeNotSupported$str()'
      Src: io.undertow.UndertowMessages_$bundle:581,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:581,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:581,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: '[io.undertow.UndertowMessages_$bundle].upgradeNotSupported()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].upgradeNotSupported$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].upgradeNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: '[io.undertow.UndertowMessages_$bundle].renegotiationNotSupported$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].renegotiationNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:590,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].renegotiationNotSupported$str()'
      Src: io.undertow.UndertowMessages_$bundle:590,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:590,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:590,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: '[io.undertow.UndertowMessages_$bundle].renegotiationNotSupported()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].renegotiationNotSupported$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].renegotiationNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: '[io.undertow.UndertowMessages_$bundle].notAValidRegularExpressionPattern$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].notAValidRegularExpressionPattern$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:599,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].notAValidRegularExpressionPattern$str()'
      Src: io.undertow.UndertowMessages_$bundle:599,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:599,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:599,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pattern
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: '[io.undertow.UndertowMessages_$bundle].notAValidRegularExpressionPattern(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].notAValidRegularExpressionPattern$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].notAValidRegularExpressionPattern(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 605
    functionName: '[io.undertow.UndertowMessages_$bundle].badRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].badRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:608,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].badRequest$str()'
      Src: io.undertow.UndertowMessages_$bundle:608,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:608,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:608,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.BadRequestException)'
      Src: io.undertow.UndertowMessages_$bundle:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 611
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 611
    functionName: '[io.undertow.UndertowMessages_$bundle].badRequest()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.BadRequestException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.util.BadRequestException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].badRequest$str()'
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.UndertowMessages_$bundle].badRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: '[io.undertow.UndertowMessages_$bundle].hostAlreadyRegistered$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].hostAlreadyRegistered$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:617,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].hostAlreadyRegistered$str()'
      Src: io.undertow.UndertowMessages_$bundle:617,1
    - Dst: String.format(java.util.Locale,String,Object)
      Src: io.undertow.UndertowMessages_$bundle:617,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:617,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 620
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 620
    functionName: '[io.undertow.UndertowMessages_$bundle].hostAlreadyRegistered(Object)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].hostAlreadyRegistered$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,Object)
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].hostAlreadyRegistered(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: '[io.undertow.UndertowMessages_$bundle].hostHasNotBeenRegistered$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].hostHasNotBeenRegistered$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:626,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].hostHasNotBeenRegistered$str()'
      Src: io.undertow.UndertowMessages_$bundle:626,1
    - Dst: String.format(java.util.Locale,String,Object)
      Src: io.undertow.UndertowMessages_$bundle:626,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:626,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - host
    argTypes:
    - Object
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: '[io.undertow.UndertowMessages_$bundle].hostHasNotBeenRegistered(Object)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].hostHasNotBeenRegistered$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,Object)
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].hostHasNotBeenRegistered(Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 632
    functionName: '[io.undertow.UndertowMessages_$bundle].extraDataWrittenAfterChunkEnd$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].extraDataWrittenAfterChunkEnd$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:635,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].extraDataWrittenAfterChunkEnd$str()'
      Src: io.undertow.UndertowMessages_$bundle:635,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:635,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:635,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: '[io.undertow.UndertowMessages_$bundle].extraDataWrittenAfterChunkEnd()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].extraDataWrittenAfterChunkEnd$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].extraDataWrittenAfterChunkEnd()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 641
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotGenerateUniqueSessionId$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotGenerateUniqueSessionId$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:644,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].couldNotGenerateUniqueSessionId$str()'
      Src: io.undertow.UndertowMessages_$bundle:644,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:644,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:644,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotGenerateUniqueSessionId()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - String.format(java.util.Locale,String)
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].couldNotGenerateUniqueSessionId$str()'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotGenerateUniqueSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: '[io.undertow.UndertowMessages_$bundle].controlFrameCannotHaveBodyContent$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].controlFrameCannotHaveBodyContent$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:653,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].controlFrameCannotHaveBodyContent$str()'
      Src: io.undertow.UndertowMessages_$bundle:653,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:653,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:653,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: '[io.undertow.UndertowMessages_$bundle].controlFrameCannotHaveBodyContent()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].controlFrameCannotHaveBodyContent$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].controlFrameCannotHaveBodyContent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionName: '[io.undertow.UndertowMessages_$bundle].bufferAlreadyFreed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].bufferAlreadyFreed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:662,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].bufferAlreadyFreed$str()'
      Src: io.undertow.UndertowMessages_$bundle:662,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:662,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:662,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: '[io.undertow.UndertowMessages_$bundle].bufferAlreadyFreed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].bufferAlreadyFreed$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].bufferAlreadyFreed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 668
    functionName: '[io.undertow.UndertowMessages_$bundle].awaitCalledFromIoThread$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].awaitCalledFromIoThread$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:671,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].awaitCalledFromIoThread$str()'
      Src: io.undertow.UndertowMessages_$bundle:671,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:671,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:671,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 674
    functionName: '[io.undertow.UndertowMessages_$bundle].awaitCalledFromIoThread()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].awaitCalledFromIoThread$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].awaitCalledFromIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 677
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 677
    functionName: '[io.undertow.UndertowMessages_$bundle].recursiveCallToFlushingSenders$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].recursiveCallToFlushingSenders$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:680,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].recursiveCallToFlushingSenders$str()'
      Src: io.undertow.UndertowMessages_$bundle:680,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:680,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:680,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: '[io.undertow.UndertowMessages_$bundle].recursiveCallToFlushingSenders()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - String.format(java.util.Locale,String)
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].recursiveCallToFlushingSenders$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].recursiveCallToFlushingSenders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: '[io.undertow.UndertowMessages_$bundle].fixedLengthOverflow$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].fixedLengthOverflow$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:689,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].fixedLengthOverflow$str()'
      Src: io.undertow.UndertowMessages_$bundle:689,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:689,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:689,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 692
    functionName: '[io.undertow.UndertowMessages_$bundle].fixedLengthOverflow()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].fixedLengthOverflow$str()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].fixedLengthOverflow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 695
    functionName: '[io.undertow.UndertowMessages_$bundle].ajpRequestAlreadyInProgress$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].ajpRequestAlreadyInProgress$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:698,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].ajpRequestAlreadyInProgress$str()'
      Src: io.undertow.UndertowMessages_$bundle:698,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:698,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:698,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 701
    functionName: '[io.undertow.UndertowMessages_$bundle].ajpRequestAlreadyInProgress()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].ajpRequestAlreadyInProgress$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].ajpRequestAlreadyInProgress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 704
    functionName: '[io.undertow.UndertowMessages_$bundle].httpPingDataMustBeLength8$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].httpPingDataMustBeLength8$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:707,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].httpPingDataMustBeLength8$str()'
      Src: io.undertow.UndertowMessages_$bundle:707,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: '[io.undertow.UndertowMessages_$bundle].httpPingDataMustBeLength8()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].httpPingDataMustBeLength8$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].httpPingDataMustBeLength8()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 711
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 711
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidPingSize$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidPingSize$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:714,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidPingSize$str()'
      Src: io.undertow.UndertowMessages_$bundle:714,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidPingSize()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].invalidPingSize$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidPingSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 718
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 718
    functionName: '[io.undertow.UndertowMessages_$bundle].streamIdMustBeZeroForFrameType$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].streamIdMustBeZeroForFrameType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:721,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].streamIdMustBeZeroForFrameType$str()'
      Src: io.undertow.UndertowMessages_$bundle:721,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frameType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: '[io.undertow.UndertowMessages_$bundle].streamIdMustBeZeroForFrameType(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].streamIdMustBeZeroForFrameType$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].streamIdMustBeZeroForFrameType(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: '[io.undertow.UndertowMessages_$bundle].streamIdMustNotBeZeroForFrameType$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].streamIdMustNotBeZeroForFrameType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:728,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].streamIdMustNotBeZeroForFrameType$str()'
      Src: io.undertow.UndertowMessages_$bundle:728,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - frameType
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: '[io.undertow.UndertowMessages_$bundle].streamIdMustNotBeZeroForFrameType(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].streamIdMustNotBeZeroForFrameType$str()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].streamIdMustNotBeZeroForFrameType(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 732
    functionName: '[io.undertow.UndertowMessages_$bundle].http2StreamWasReset$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].http2StreamWasReset$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:735,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].http2StreamWasReset$str()'
      Src: io.undertow.UndertowMessages_$bundle:735,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:735,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:735,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: '[io.undertow.UndertowMessages_$bundle].http2StreamWasReset()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].http2StreamWasReset$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].http2StreamWasReset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 741
    functionName: '[io.undertow.UndertowMessages_$bundle].incorrectHttp2Preface$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].incorrectHttp2Preface$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:744,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].incorrectHttp2Preface$str()'
      Src: io.undertow.UndertowMessages_$bundle:744,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:744,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:744,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 747
    functionName: '[io.undertow.UndertowMessages_$bundle].incorrectHttp2Preface()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].incorrectHttp2Preface$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].incorrectHttp2Preface()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: '[io.undertow.UndertowMessages_$bundle].http2FrameTooLarge$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].http2FrameTooLarge$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:753,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].http2FrameTooLarge$str()'
      Src: io.undertow.UndertowMessages_$bundle:753,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:753,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:753,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: '[io.undertow.UndertowMessages_$bundle].http2FrameTooLarge()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.UndertowMessages_$bundle].http2FrameTooLarge$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].http2FrameTooLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 759
    functionName: '[io.undertow.UndertowMessages_$bundle].http2ContinuationFrameNotExpected$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].http2ContinuationFrameNotExpected$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:762,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].http2ContinuationFrameNotExpected$str()'
      Src: io.undertow.UndertowMessages_$bundle:762,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:762,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:762,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 765
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 765
    functionName: '[io.undertow.UndertowMessages_$bundle].http2ContinuationFrameNotExpected()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].http2ContinuationFrameNotExpected$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].http2ContinuationFrameNotExpected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: '[io.undertow.UndertowMessages_$bundle].huffmanEncodedHpackValueDidNotEndWithEOS$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].huffmanEncodedHpackValueDidNotEndWithEOS$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.UndertowMessages_$bundle:771,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
      Src: io.undertow.UndertowMessages_$bundle:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: '[io.undertow.UndertowMessages_$bundle].huffmanEncodedHpackValueDidNotEndWithEOS()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages_$bundle].huffmanEncodedHpackValueDidNotEndWithEOS()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 777
    functionName: '[io.undertow.UndertowMessages_$bundle].integerEncodedOverTooManyOctets$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].integerEncodedOverTooManyOctets$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.UndertowMessages_$bundle:780,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
      Src: io.undertow.UndertowMessages_$bundle:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxIntegerOctets
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: '[io.undertow.UndertowMessages_$bundle].integerEncodedOverTooManyOctets(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages_$bundle].integerEncodedOverTooManyOctets(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 786
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 786
    functionName: '[io.undertow.UndertowMessages_$bundle].zeroNotValidHeaderTableIndex$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].zeroNotValidHeaderTableIndex$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.UndertowMessages_$bundle:789,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
      Src: io.undertow.UndertowMessages_$bundle:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 792
    functionName: '[io.undertow.UndertowMessages_$bundle].zeroNotValidHeaderTableIndex()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages_$bundle].zeroNotValidHeaderTableIndex()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: '[io.undertow.UndertowMessages_$bundle].cannotSendContinueResponse$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].cannotSendContinueResponse$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:798,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].cannotSendContinueResponse$str()'
      Src: io.undertow.UndertowMessages_$bundle:798,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:798,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:798,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 801
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 801
    functionName: '[io.undertow.UndertowMessages_$bundle].cannotSendContinueResponse()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].cannotSendContinueResponse$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].cannotSendContinueResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 804
    functionName: '[io.undertow.UndertowMessages_$bundle].parserDidNotMakeProgress$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].parserDidNotMakeProgress$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:807,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].parserDidNotMakeProgress$str()'
      Src: io.undertow.UndertowMessages_$bundle:807,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:807,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:807,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 810
    functionName: '[io.undertow.UndertowMessages_$bundle].parserDidNotMakeProgress()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].parserDidNotMakeProgress$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].parserDidNotMakeProgress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: '[io.undertow.UndertowMessages_$bundle].headersStreamCanOnlyBeCreatedByClient$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].headersStreamCanOnlyBeCreatedByClient$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:816,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].headersStreamCanOnlyBeCreatedByClient$str()'
      Src: io.undertow.UndertowMessages_$bundle:816,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:816,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:816,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 819
    functionName: '[io.undertow.UndertowMessages_$bundle].headersStreamCanOnlyBeCreatedByClient()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.UndertowMessages_$bundle].headersStreamCanOnlyBeCreatedByClient$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].headersStreamCanOnlyBeCreatedByClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 822
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 822
    functionName: '[io.undertow.UndertowMessages_$bundle].pushPromiseCanOnlyBeCreatedByServer$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].pushPromiseCanOnlyBeCreatedByServer$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:825,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].pushPromiseCanOnlyBeCreatedByServer$str()'
      Src: io.undertow.UndertowMessages_$bundle:825,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:825,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:825,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 828
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 828
    functionName: '[io.undertow.UndertowMessages_$bundle].pushPromiseCanOnlyBeCreatedByServer()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].pushPromiseCanOnlyBeCreatedByServer$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].pushPromiseCanOnlyBeCreatedByServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidAclRule$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidAclRule$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:834,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidAclRule$str()'
      Src: io.undertow.UndertowMessages_$bundle:834,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:834,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:834,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rule
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 837
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 837
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidAclRule(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].invalidAclRule$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidAclRule(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 840
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 840
    functionName: '[io.undertow.UndertowMessages_$bundle].serverReceivedPushPromise$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].serverReceivedPushPromise$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:843,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].serverReceivedPushPromise$str()'
      Src: io.undertow.UndertowMessages_$bundle:843,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:843,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:843,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 846
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 846
    functionName: '[io.undertow.UndertowMessages_$bundle].serverReceivedPushPromise()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.UndertowMessages_$bundle].serverReceivedPushPromise$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].serverReceivedPushPromise()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 849
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 849
    functionName: '[io.undertow.UndertowMessages_$bundle].connectNotSupported$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].connectNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:852,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].connectNotSupported$str()'
      Src: io.undertow.UndertowMessages_$bundle:852,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:852,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:852,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: '[io.undertow.UndertowMessages_$bundle].connectNotSupported()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].connectNotSupported$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].connectNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 858
    functionName: '[io.undertow.UndertowMessages_$bundle].notAConnectRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].notAConnectRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:861,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].notAConnectRequest$str()'
      Src: io.undertow.UndertowMessages_$bundle:861,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:861,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:861,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 864
    functionName: '[io.undertow.UndertowMessages_$bundle].notAConnectRequest()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].notAConnectRequest$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].notAConnectRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 867
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 867
    functionName: '[io.undertow.UndertowMessages_$bundle].cannotResetBuffer$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].cannotResetBuffer$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:870,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].cannotResetBuffer$str()'
      Src: io.undertow.UndertowMessages_$bundle:870,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:870,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:870,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 873
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 873
    functionName: '[io.undertow.UndertowMessages_$bundle].cannotResetBuffer()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].cannotResetBuffer$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].cannotResetBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 876
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 876
    functionName: '[io.undertow.UndertowMessages_$bundle].http2PriRequestFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].http2PriRequestFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:879,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].http2PriRequestFailed$str()'
      Src: io.undertow.UndertowMessages_$bundle:879,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:879,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:879,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 882
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 882
    functionName: '[io.undertow.UndertowMessages_$bundle].http2PriRequestFailed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].http2PriRequestFailed$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].http2PriRequestFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 885
    functionName: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseNotSupported$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:888,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseNotSupported$str()'
      Src: io.undertow.UndertowMessages_$bundle:888,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:888,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:888,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseNotSupported()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].outOfBandResponseNotSupported$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].outOfBandResponseNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManySessions$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].tooManySessions$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:897,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].tooManySessions$str()'
      Src: io.undertow.UndertowMessages_$bundle:897,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:897,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:897,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxSessions
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManySessions(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].tooManySessions$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].tooManySessions(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 903
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 903
    functionName: '[io.undertow.UndertowMessages_$bundle].proxyConnectionFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].proxyConnectionFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:906,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].proxyConnectionFailed$str()'
      Src: io.undertow.UndertowMessages_$bundle:906,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:906,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:906,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - responseCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 909
    functionName: '[io.undertow.UndertowMessages_$bundle].proxyConnectionFailed(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].proxyConnectionFailed$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].proxyConnectionFailed(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 912
    functionName: '[io.undertow.UndertowMessages_$bundle].mcmpMessageRejectedDueToSuspiciousCharacters$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].mcmpMessageRejectedDueToSuspiciousCharacters$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:915,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].mcmpMessageRejectedDueToSuspiciousCharacters$str()'
      Src: io.undertow.UndertowMessages_$bundle:915,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:915,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:915,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 918
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 918
    functionName: '[io.undertow.UndertowMessages_$bundle].mcmpMessageRejectedDueToSuspiciousCharacters(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].mcmpMessageRejectedDueToSuspiciousCharacters$str()'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].mcmpMessageRejectedDueToSuspiciousCharacters(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 921
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 921
    functionName: '[io.undertow.UndertowMessages_$bundle].rengotiationTimedOut$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].rengotiationTimedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:924,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].rengotiationTimedOut$str()'
      Src: io.undertow.UndertowMessages_$bundle:924,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:924,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:924,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 927
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 927
    functionName: '[io.undertow.UndertowMessages_$bundle].rengotiationTimedOut()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].rengotiationTimedOut$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].rengotiationTimedOut()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 930
    functionName: '[io.undertow.UndertowMessages_$bundle].requestBodyAlreadyRead$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].requestBodyAlreadyRead$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:933,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].requestBodyAlreadyRead$str()'
      Src: io.undertow.UndertowMessages_$bundle:933,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:933,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:933,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 936
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 936
    functionName: '[io.undertow.UndertowMessages_$bundle].requestBodyAlreadyRead()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].requestBodyAlreadyRead$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].requestBodyAlreadyRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 939
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 939
    functionName: '[io.undertow.UndertowMessages_$bundle].blockingIoFromIOThread$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].blockingIoFromIOThread$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:942,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].blockingIoFromIOThread$str()'
      Src: io.undertow.UndertowMessages_$bundle:942,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:942,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:942,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 945
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 945
    functionName: '[io.undertow.UndertowMessages_$bundle].blockingIoFromIOThread()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].blockingIoFromIOThread$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].blockingIoFromIOThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 948
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 948
    functionName: '[io.undertow.UndertowMessages_$bundle].responseComplete$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].responseComplete$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:951,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].responseComplete$str()'
      Src: io.undertow.UndertowMessages_$bundle:951,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:951,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:951,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 954
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 954
    functionName: '[io.undertow.UndertowMessages_$bundle].responseComplete()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].responseComplete$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].responseComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotReadContentLengthData$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotReadContentLengthData$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:960,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].couldNotReadContentLengthData$str()'
      Src: io.undertow.UndertowMessages_$bundle:960,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:960,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:960,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 963
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 963
    functionName: '[io.undertow.UndertowMessages_$bundle].couldNotReadContentLengthData()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].couldNotReadContentLengthData$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].couldNotReadContentLengthData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 966
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 966
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToSendAfterBeingSafe$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToSendAfterBeingSafe$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:969,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToSendAfterBeingSafe$str()'
      Src: io.undertow.UndertowMessages_$bundle:969,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:969,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:969,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 972
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 972
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToSendAfterBeingSafe()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].failedToSendAfterBeingSafe$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToSendAfterBeingSafe()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 975
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 975
    functionName: '[io.undertow.UndertowMessages_$bundle].reasonPhraseToLargeForBuffer$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].reasonPhraseToLargeForBuffer$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:978,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].reasonPhraseToLargeForBuffer$str()'
      Src: io.undertow.UndertowMessages_$bundle:978,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:978,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:978,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - phrase
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 981
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 981
    functionName: '[io.undertow.UndertowMessages_$bundle].reasonPhraseToLargeForBuffer(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].reasonPhraseToLargeForBuffer$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].reasonPhraseToLargeForBuffer(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 984
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 984
    functionName: '[io.undertow.UndertowMessages_$bundle].poolIsClosed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].poolIsClosed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:987,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].poolIsClosed$str()'
      Src: io.undertow.UndertowMessages_$bundle:987,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:987,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:987,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: '[io.undertow.UndertowMessages_$bundle].poolIsClosed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].poolIsClosed$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].poolIsClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    functionName: '[io.undertow.UndertowMessages_$bundle].hpackFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].hpackFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.UndertowMessages_$bundle:996,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
      Src: io.undertow.UndertowMessages_$bundle:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 999
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 999
    functionName: '[io.undertow.UndertowMessages_$bundle].hpackFailed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages_$bundle].hpackFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1002
    functionName: '[io.undertow.UndertowMessages_$bundle].notAnUpgradeRequest$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].notAnUpgradeRequest$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1005,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].notAnUpgradeRequest$str()'
      Src: io.undertow.UndertowMessages_$bundle:1005,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1005,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1005,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    functionName: '[io.undertow.UndertowMessages_$bundle].notAnUpgradeRequest()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].notAnUpgradeRequest$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].notAnUpgradeRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1011
    functionName: '[io.undertow.UndertowMessages_$bundle].authenticationPropertyNotSet$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].authenticationPropertyNotSet$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1014,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].authenticationPropertyNotSet$str()'
      Src: io.undertow.UndertowMessages_$bundle:1014,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1014,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1014,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - header
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1017
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1017
    functionName: '[io.undertow.UndertowMessages_$bundle].authenticationPropertyNotSet(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].authenticationPropertyNotSet$str()'
    - String.format(java.util.Locale,String,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].authenticationPropertyNotSet(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1020
    functionName: '[io.undertow.UndertowMessages_$bundle].rengotiationFailed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].rengotiationFailed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1023,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].rengotiationFailed$str()'
      Src: io.undertow.UndertowMessages_$bundle:1023,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1023,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1023,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: '[io.undertow.UndertowMessages_$bundle].rengotiationFailed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].rengotiationFailed$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].rengotiationFailed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1029
    functionName: '[io.undertow.UndertowMessages_$bundle].userAgentCharsetMustHaveEvenNumberOfItems$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].userAgentCharsetMustHaveEvenNumberOfItems$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1032,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].userAgentCharsetMustHaveEvenNumberOfItems$str()'
      Src: io.undertow.UndertowMessages_$bundle:1032,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1032,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1032,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - supplied
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1035
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1035
    functionName: '[io.undertow.UndertowMessages_$bundle].userAgentCharsetMustHaveEvenNumberOfItems(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].userAgentCharsetMustHaveEvenNumberOfItems$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].userAgentCharsetMustHaveEvenNumberOfItems(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1038
    functionName: '[io.undertow.UndertowMessages_$bundle].datasourceNotFound$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].datasourceNotFound$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1041,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].datasourceNotFound$str()'
      Src: io.undertow.UndertowMessages_$bundle:1041,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1041,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1041,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ds
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1044
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1044
    functionName: '[io.undertow.UndertowMessages_$bundle].datasourceNotFound(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].datasourceNotFound$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].datasourceNotFound(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1047
    functionName: '[io.undertow.UndertowMessages_$bundle].serverNotStarted$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].serverNotStarted$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1050,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].serverNotStarted$str()'
      Src: io.undertow.UndertowMessages_$bundle:1050,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1050,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1050,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: '[io.undertow.UndertowMessages_$bundle].serverNotStarted()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].serverNotStarted$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].serverNotStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1056
    functionName: '[io.undertow.UndertowMessages_$bundle].exchangeAlreadyComplete$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].exchangeAlreadyComplete$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1059,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].exchangeAlreadyComplete$str()'
      Src: io.undertow.UndertowMessages_$bundle:1059,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1059,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1059,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1062
    functionName: '[io.undertow.UndertowMessages_$bundle].exchangeAlreadyComplete()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].exchangeAlreadyComplete$str()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].exchangeAlreadyComplete()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1065
    functionName: '[io.undertow.UndertowMessages_$bundle].notHandshakeRecord$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].notHandshakeRecord$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1068,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].notHandshakeRecord$str()'
      Src: io.undertow.UndertowMessages_$bundle:1068,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1068,1
    - Dst: '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1068,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
      Src: io.undertow.UndertowMessages_$bundle:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1071
    functionName: '[io.undertow.UndertowMessages_$bundle].notHandshakeRecord()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
    - '[io.undertow.UndertowMessages_$bundle].notHandshakeRecord$str()'
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages_$bundle].notHandshakeRecord()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1074
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHandshakeRecord$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHandshakeRecord$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1077,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidHandshakeRecord$str()'
      Src: io.undertow.UndertowMessages_$bundle:1077,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1077,1
    - Dst: '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1077,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
      Src: io.undertow.UndertowMessages_$bundle:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1080
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHandshakeRecord()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
    - '[io.undertow.UndertowMessages_$bundle].invalidHandshakeRecord$str()'
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHandshakeRecord()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    functionName: '[io.undertow.UndertowMessages_$bundle].multiRecordSSLHandshake$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].multiRecordSSLHandshake$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1086,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].multiRecordSSLHandshake$str()'
      Src: io.undertow.UndertowMessages_$bundle:1086,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1086,1
    - Dst: '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1086,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
      Src: io.undertow.UndertowMessages_$bundle:1087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: '[io.undertow.UndertowMessages_$bundle].multiRecordSSLHandshake()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].multiRecordSSLHandshake$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages_$bundle].multiRecordSSLHandshake()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1092
    functionName: '[io.undertow.UndertowMessages_$bundle].expectedClientHello$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].expectedClientHello$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1095,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].expectedClientHello$str()'
      Src: io.undertow.UndertowMessages_$bundle:1095,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1095,1
    - Dst: '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1095,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
      Src: io.undertow.UndertowMessages_$bundle:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1098
    functionName: '[io.undertow.UndertowMessages_$bundle].expectedClientHello()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].expectedClientHello$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages_$bundle].expectedClientHello()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: '[io.undertow.UndertowMessages_$bundle].expectedServerHello$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].expectedServerHello$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1104,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].expectedServerHello$str()'
      Src: io.undertow.UndertowMessages_$bundle:1104,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1104,1
    - Dst: '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1104,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
      Src: io.undertow.UndertowMessages_$bundle:1105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLHandshakeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1107
    functionName: '[io.undertow.UndertowMessages_$bundle].expectedServerHello()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[javax.net.ssl.SSLHandshakeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].expectedServerHello$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLHandshakeException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLHandshakeException
    signature: '[io.undertow.UndertowMessages_$bundle].expectedServerHello()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1110
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyRedirects$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyRedirects$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1113,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].tooManyRedirects$str()'
      Src: io.undertow.UndertowMessages_$bundle:1113,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1113,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle,java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1113,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exception
    argTypes:
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 1116
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1116
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyRedirects(java.io.IOException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].tooManyRedirects$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle,java.io.IOException)'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyRedirects(java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1119
    functionName: '[io.undertow.UndertowMessages_$bundle].resumedAndDispatched$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].resumedAndDispatched$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1122,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].resumedAndDispatched$str()'
      Src: io.undertow.UndertowMessages_$bundle:1122,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1122,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1122,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1125
    functionName: '[io.undertow.UndertowMessages_$bundle].resumedAndDispatched()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].resumedAndDispatched$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].resumedAndDispatched()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1128
    functionName: '[io.undertow.UndertowMessages_$bundle].noHostInHttp11Request$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].noHostInHttp11Request$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1131,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].noHostInHttp11Request$str()'
      Src: io.undertow.UndertowMessages_$bundle:1131,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1131,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1131,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    functionName: '[io.undertow.UndertowMessages_$bundle].noHostInHttp11Request()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].noHostInHttp11Request$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].noHostInHttp11Request()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1137
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHpackEncoding$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHpackEncoding$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.UndertowMessages_$bundle:1140,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
      Src: io.undertow.UndertowMessages_$bundle:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - b
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 1143
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1143
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHpackEncoding(byte)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHpackEncoding(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: '[io.undertow.UndertowMessages_$bundle].newlineNotSupportedInHttpString$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].newlineNotSupportedInHttpString$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1149,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].newlineNotSupportedInHttpString$str()'
      Src: io.undertow.UndertowMessages_$bundle:1149,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1149,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1149,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1152
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1152
    functionName: '[io.undertow.UndertowMessages_$bundle].newlineNotSupportedInHttpString(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].newlineNotSupportedInHttpString$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].newlineNotSupportedInHttpString(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1155
    functionName: '[io.undertow.UndertowMessages_$bundle].pseudoHeaderInWrongOrder$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].pseudoHeaderInWrongOrder$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1158,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].pseudoHeaderInWrongOrder$str()'
      Src: io.undertow.UndertowMessages_$bundle:1158,1
    - Dst: String.format(java.util.Locale,String,io.undertow.util.HttpString)
      Src: io.undertow.UndertowMessages_$bundle:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - header
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 1159
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1159
    functionName: '[io.undertow.UndertowMessages_$bundle].pseudoHeaderInWrongOrder(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].pseudoHeaderInWrongOrder$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,io.undertow.util.HttpString)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].pseudoHeaderInWrongOrder(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1162
    functionName: '[io.undertow.UndertowMessages_$bundle].expectedContinuationFrame$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].expectedContinuationFrame$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1165,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].expectedContinuationFrame$str()'
      Src: io.undertow.UndertowMessages_$bundle:1165,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: '[io.undertow.UndertowMessages_$bundle].expectedContinuationFrame()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].expectedContinuationFrame$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].expectedContinuationFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1169
    functionName: '[io.undertow.UndertowMessages_$bundle].incorrectFrameSize$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].incorrectFrameSize$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1172,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].incorrectFrameSize$str()'
      Src: io.undertow.UndertowMessages_$bundle:1172,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1173
    functionName: '[io.undertow.UndertowMessages_$bundle].incorrectFrameSize()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].incorrectFrameSize$str()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].incorrectFrameSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: '[io.undertow.UndertowMessages_$bundle].streamNotRegistered$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].streamNotRegistered$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1179,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].streamNotRegistered$str()'
      Src: io.undertow.UndertowMessages_$bundle:1179,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1179,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1179,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1182
    functionName: '[io.undertow.UndertowMessages_$bundle].streamNotRegistered()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].streamNotRegistered$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].streamNotRegistered()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1185
    functionName: '[io.undertow.UndertowMessages_$bundle].sendChallengeReturnedNull$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].sendChallengeReturnedNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1188,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].sendChallengeReturnedNull$str()'
      Src: io.undertow.UndertowMessages_$bundle:1188,1
    - Dst: String.format(java.util.Locale,String,io.undertow.security.api.AuthenticationMechanism)
      Src: io.undertow.UndertowMessages_$bundle:1188,1
    - Dst: '[NullPointerException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1188,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(NullPointerException)'
      Src: io.undertow.UndertowMessages_$bundle:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.api.AuthenticationMechanism
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: NullPointerException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mechanism
    argTypes:
    - io.undertow.security.api.AuthenticationMechanism
    constantsTouched: []
    func_position:
      end: 1191
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1191
    functionName: '[io.undertow.UndertowMessages_$bundle].sendChallengeReturnedNull(io.undertow.security.api.AuthenticationMechanism)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,io.undertow.security.api.AuthenticationMechanism)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(NullPointerException)'
    - '[NullPointerException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].sendChallengeReturnedNull$str()'
    linkageType: ''
    returnType: NullPointerException
    signature: '[io.undertow.UndertowMessages_$bundle].sendChallengeReturnedNull(io.undertow.security.api.AuthenticationMechanism)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1194
    functionName: '[io.undertow.UndertowMessages_$bundle].bodyIsSetAndNotReadyForFlush$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].bodyIsSetAndNotReadyForFlush$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1197,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].bodyIsSetAndNotReadyForFlush$str()'
      Src: io.undertow.UndertowMessages_$bundle:1197,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1197,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1197,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1200
    functionName: '[io.undertow.UndertowMessages_$bundle].bodyIsSetAndNotReadyForFlush()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].bodyIsSetAndNotReadyForFlush$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].bodyIsSetAndNotReadyForFlush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1203
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidGzipHeader$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidGzipHeader$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1206,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidGzipHeader$str()'
      Src: io.undertow.UndertowMessages_$bundle:1206,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1206,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1206,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1209
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidGzipHeader()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].invalidGzipHeader$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidGzipHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1212
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidGZIPFooter$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidGZIPFooter$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1215,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidGZIPFooter$str()'
      Src: io.undertow.UndertowMessages_$bundle:1215,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1215,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1215,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1218
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidGZIPFooter()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].invalidGZIPFooter$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidGZIPFooter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1221
    functionName: '[io.undertow.UndertowMessages_$bundle].responseTooLargeToBuffer$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].responseTooLargeToBuffer$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1224,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].responseTooLargeToBuffer$str()'
      Src: io.undertow.UndertowMessages_$bundle:1224,1
    - Dst: String.format(java.util.Locale,String,Long)
      Src: io.undertow.UndertowMessages_$bundle:1224,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1224,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - length
    argTypes:
    - Long
    constantsTouched: []
    func_position:
      end: 1227
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1227
    functionName: '[io.undertow.UndertowMessages_$bundle].responseTooLargeToBuffer(Long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String,Long)
    - '[io.undertow.UndertowMessages_$bundle].responseTooLargeToBuffer$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].responseTooLargeToBuffer(Long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1230
    functionName: '[io.undertow.UndertowMessages_$bundle].headerBlockTooLarge$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].headerBlockTooLarge$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1233,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].headerBlockTooLarge$str()'
      Src: io.undertow.UndertowMessages_$bundle:1233,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxHeaderSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1234
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1234
    functionName: '[io.undertow.UndertowMessages_$bundle].headerBlockTooLarge(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].headerBlockTooLarge$str()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].headerBlockTooLarge(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1237
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidSameSiteMode$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidSameSiteMode$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1240,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidSameSiteMode$str()'
      Src: io.undertow.UndertowMessages_$bundle:1240,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1240,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1240,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - mode
    - validAttributes
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1243
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1243
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidSameSiteMode(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].invalidSameSiteMode$str()'
    - String.format(java.util.Locale,String,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidSameSiteMode(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1246
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidToken$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidToken$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1249,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidToken$str()'
      Src: io.undertow.UndertowMessages_$bundle:1249,1
    - Dst: String.format(java.util.Locale,String,byte)
      Src: io.undertow.UndertowMessages_$bundle:1249,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1249,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - c
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 1252
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1252
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidToken(byte)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].invalidToken$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,byte)
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidToken(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1255
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHeaders$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHeaders$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1258,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidHeaders$str()'
      Src: io.undertow.UndertowMessages_$bundle:1258,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1258,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1258,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1261
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHeaders()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].invalidHeaders$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1264
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidCharacterInRequestTarget$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidCharacterInRequestTarget$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1267,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidCharacterInRequestTarget$str()'
      Src: io.undertow.UndertowMessages_$bundle:1267,1
    - Dst: String.format(java.util.Locale,String,char)
      Src: io.undertow.UndertowMessages_$bundle:1267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - char
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - next
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidCharacterInRequestTarget(char)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].invalidCharacterInRequestTarget$str()'
    - String.format(java.util.Locale,String,char)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidCharacterInRequestTarget(char)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1271
    functionName: '[io.undertow.UndertowMessages_$bundle].objectIsClosed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].objectIsClosed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1274,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].objectIsClosed$str()'
      Src: io.undertow.UndertowMessages_$bundle:1274,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1274,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1274,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1277
    functionName: '[io.undertow.UndertowMessages_$bundle].objectIsClosed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].objectIsClosed$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].objectIsClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1280
    functionName: '[io.undertow.UndertowMessages_$bundle].moreThanOneHostHeader$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].moreThanOneHostHeader$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1283,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].moreThanOneHostHeader$str()'
      Src: io.undertow.UndertowMessages_$bundle:1283,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1283,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1283,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1286
    functionName: '[io.undertow.UndertowMessages_$bundle].moreThanOneHostHeader()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].moreThanOneHostHeader$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].moreThanOneHostHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidCookieValue$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidCookieValue$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1292,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidCookieValue$str()'
      Src: io.undertow.UndertowMessages_$bundle:1292,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1292,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1292,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1295
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1295
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidCookieValue(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].invalidCookieValue$str()'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidCookieValue(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1298
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidCookieDomain$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidCookieDomain$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1301,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidCookieDomain$str()'
      Src: io.undertow.UndertowMessages_$bundle:1301,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1301,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1301,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1304
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1304
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidCookieDomain(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].invalidCookieDomain$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidCookieDomain(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1307
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidCookiePath$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidCookiePath$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1310,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidCookiePath$str()'
      Src: io.undertow.UndertowMessages_$bundle:1310,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1310,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1310,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1313
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1313
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidCookiePath(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].invalidCookiePath$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidCookiePath(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1316
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidControlCharacter$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidControlCharacter$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1319,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidControlCharacter$str()'
      Src: io.undertow.UndertowMessages_$bundle:1319,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1319,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1319,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1322
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1322
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidControlCharacter(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].invalidControlCharacter$str()'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidControlCharacter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1325
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidEscapeCharacter$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidEscapeCharacter$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1328,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidEscapeCharacter$str()'
      Src: io.undertow.UndertowMessages_$bundle:1328,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1328,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1328,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1331
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidEscapeCharacter()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].invalidEscapeCharacter$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidEscapeCharacter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1334
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHpackIndex$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHpackIndex$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.protocols.http2.HpackException].<init>()'
      Src: io.undertow.UndertowMessages_$bundle:1337,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
      Src: io.undertow.UndertowMessages_$bundle:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.protocols.http2.HpackException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidHpackIndex(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.protocols.http2.HpackException)'
    - '[io.undertow.protocols.http2.HpackException].<init>()'
    linkageType: ''
    returnType: io.undertow.protocols.http2.HpackException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidHpackIndex(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1343
    functionName: '[io.undertow.UndertowMessages_$bundle].bufferPoolTooSmall$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].bufferPoolTooSmall$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1346,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].bufferPoolTooSmall$str()'
      Src: io.undertow.UndertowMessages_$bundle:1346,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:1346,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1346,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - minSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1349
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1349
    functionName: '[io.undertow.UndertowMessages_$bundle].bufferPoolTooSmall(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].bufferPoolTooSmall$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].bufferPoolTooSmall(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1352
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidProxyHeader$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidProxyHeader$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1355,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidProxyHeader$str()'
      Src: io.undertow.UndertowMessages_$bundle:1355,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1355,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1355,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1358
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidProxyHeader()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].invalidProxyHeader$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidProxyHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1361
    functionName: '[io.undertow.UndertowMessages_$bundle].headerSizeToLarge$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].headerSizeToLarge$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1364,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].headerSizeToLarge$str()'
      Src: io.undertow.UndertowMessages_$bundle:1364,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1364,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1364,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1367
    functionName: '[io.undertow.UndertowMessages_$bundle].headerSizeToLarge()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].headerSizeToLarge$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].headerSizeToLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1370
    functionName: '[io.undertow.UndertowMessages_$bundle].http2TrailerToLargeForSingleBuffer$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].http2TrailerToLargeForSingleBuffer$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1373,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].http2TrailerToLargeForSingleBuffer$str()'
      Src: io.undertow.UndertowMessages_$bundle:1373,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1373,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1373,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:1374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1376
    functionName: '[io.undertow.UndertowMessages_$bundle].http2TrailerToLargeForSingleBuffer()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].http2TrailerToLargeForSingleBuffer$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].http2TrailerToLargeForSingleBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1379
    functionName: '[io.undertow.UndertowMessages_$bundle].pingNotSupported$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].pingNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1382,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].pingNotSupported$str()'
      Src: io.undertow.UndertowMessages_$bundle:1382,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1382,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1382,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1385
    functionName: '[io.undertow.UndertowMessages_$bundle].pingNotSupported()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].pingNotSupported$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].pingNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1388
    functionName: '[io.undertow.UndertowMessages_$bundle].pingTimeout$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].pingTimeout$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1391,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].pingTimeout$str()'
      Src: io.undertow.UndertowMessages_$bundle:1391,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1391,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1391,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1394
    functionName: '[io.undertow.UndertowMessages_$bundle].pingTimeout()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].pingTimeout$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].pingTimeout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1397
    functionName: '[io.undertow.UndertowMessages_$bundle].streamLimitExceeded$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].streamLimitExceeded$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1400,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].streamLimitExceeded$str()'
      Src: io.undertow.UndertowMessages_$bundle:1400,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1400,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1400,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: '[io.undertow.UndertowMessages_$bundle].streamLimitExceeded()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].streamLimitExceeded$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].streamLimitExceeded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1406
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidIpAddress$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidIpAddress$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1409,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidIpAddress$str()'
      Src: io.undertow.UndertowMessages_$bundle:1409,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1409,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1409,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - addressString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1412
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1412
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidIpAddress(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].invalidIpAddress$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidIpAddress(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1415
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidTlsExt$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidTlsExt$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1418,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidTlsExt$str()'
      Src: io.undertow.UndertowMessages_$bundle:1418,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1418,1
    - Dst: '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1418,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
      Src: io.undertow.UndertowMessages_$bundle:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1421
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidTlsExt()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].invalidTlsExt$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidTlsExt()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    functionName: '[io.undertow.UndertowMessages_$bundle].notEnoughData$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].notEnoughData$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1427,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].notEnoughData$str()'
      Src: io.undertow.UndertowMessages_$bundle:1427,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1427,1
    - Dst: '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1427,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
      Src: io.undertow.UndertowMessages_$bundle:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1430
    functionName: '[io.undertow.UndertowMessages_$bundle].notEnoughData()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].notEnoughData$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages_$bundle].notEnoughData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1433
    functionName: '[io.undertow.UndertowMessages_$bundle].emptyHostNameSni$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].emptyHostNameSni$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1436,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].emptyHostNameSni$str()'
      Src: io.undertow.UndertowMessages_$bundle:1436,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1436,1
    - Dst: '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1436,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
      Src: io.undertow.UndertowMessages_$bundle:1437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1439
    functionName: '[io.undertow.UndertowMessages_$bundle].emptyHostNameSni()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].emptyHostNameSni$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages_$bundle].emptyHostNameSni()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1442
    functionName: '[io.undertow.UndertowMessages_$bundle].duplicatedSniServerName$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].duplicatedSniServerName$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1445,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].duplicatedSniServerName$str()'
      Src: io.undertow.UndertowMessages_$bundle:1445,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:1445,1
    - Dst: '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1445,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
      Src: io.undertow.UndertowMessages_$bundle:1446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1448
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1448
    functionName: '[io.undertow.UndertowMessages_$bundle].duplicatedSniServerName(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].duplicatedSniServerName$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages_$bundle].duplicatedSniServerName(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1451
    functionName: '[io.undertow.UndertowMessages_$bundle].noContextForSslConnection$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].noContextForSslConnection$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1454,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].noContextForSslConnection$str()'
      Src: io.undertow.UndertowMessages_$bundle:1454,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1454,1
    - Dst: '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1454,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
      Src: io.undertow.UndertowMessages_$bundle:1455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1457
    functionName: '[io.undertow.UndertowMessages_$bundle].noContextForSslConnection()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].noContextForSslConnection$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages_$bundle].noContextForSslConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1460
    functionName: '[io.undertow.UndertowMessages_$bundle].defaultContextCannotBeNull$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].defaultContextCannotBeNull$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1463,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].defaultContextCannotBeNull$str()'
      Src: io.undertow.UndertowMessages_$bundle:1463,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1463,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1463,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1466
    functionName: '[io.undertow.UndertowMessages_$bundle].defaultContextCannotBeNull()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].defaultContextCannotBeNull$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].defaultContextCannotBeNull()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1469
    functionName: '[io.undertow.UndertowMessages_$bundle].formValueIsInMemoryFile$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].formValueIsInMemoryFile$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1472,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].formValueIsInMemoryFile$str()'
      Src: io.undertow.UndertowMessages_$bundle:1472,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1472,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1472,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1475
    functionName: '[io.undertow.UndertowMessages_$bundle].formValueIsInMemoryFile()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].formValueIsInMemoryFile$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].formValueIsInMemoryFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1478
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterValue$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterValue$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1481,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterValue$str()'
      Src: io.undertow.UndertowMessages_$bundle:1481,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - parameter
    - value
    - e
    argTypes:
    - String
    - String
    - Exception
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterValue(String,String,Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterValue$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,String,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterValue(String,String,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1485
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterName$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterName$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1488,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterName$str()'
      Src: io.undertow.UndertowMessages_$bundle:1488,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - parameter
    - e
    argTypes:
    - String
    - Exception
    constantsTouched: []
    func_position:
      end: 1489
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1489
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterName(String,Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterName$str()'
    - String.format(java.util.Locale,String,String)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToDecodeParameterName(String,Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1492
    functionName: '[io.undertow.UndertowMessages_$bundle].chunkSizeTooLarge$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].chunkSizeTooLarge$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1495,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].chunkSizeTooLarge$str()'
      Src: io.undertow.UndertowMessages_$bundle:1495,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1495,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1495,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1498
    functionName: '[io.undertow.UndertowMessages_$bundle].chunkSizeTooLarge()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].chunkSizeTooLarge$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].chunkSizeTooLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1501
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionWithIdAlreadyExists$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].sessionWithIdAlreadyExists$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1504,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].sessionWithIdAlreadyExists$str()'
      Src: io.undertow.UndertowMessages_$bundle:1504,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1504,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1504,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sessionID
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1507
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1507
    functionName: '[io.undertow.UndertowMessages_$bundle].sessionWithIdAlreadyExists(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].sessionWithIdAlreadyExists$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].sessionWithIdAlreadyExists(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1510
    functionName: '[io.undertow.UndertowMessages_$bundle].blockingReadTimedOut$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].blockingReadTimedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1513,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].blockingReadTimedOut$str()'
      Src: io.undertow.UndertowMessages_$bundle:1513,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.UndertowMessages_$bundle:1513,1
    - Dst: '[org.xnio.channels.ReadTimeoutException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1513,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(org.xnio.channels.ReadTimeoutException)'
      Src: io.undertow.UndertowMessages_$bundle:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.ReadTimeoutException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutNanoseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 1516
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1516
    functionName: '[io.undertow.UndertowMessages_$bundle].blockingReadTimedOut(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].blockingReadTimedOut$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(org.xnio.channels.ReadTimeoutException)'
    - '[org.xnio.channels.ReadTimeoutException].<init>(io.undertow.UndertowMessages_$bundle)'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: org.xnio.channels.ReadTimeoutException
    signature: '[io.undertow.UndertowMessages_$bundle].blockingReadTimedOut(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1519
    functionName: '[io.undertow.UndertowMessages_$bundle].blockingWriteTimedOut$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].blockingWriteTimedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1522,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].blockingWriteTimedOut$str()'
      Src: io.undertow.UndertowMessages_$bundle:1522,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.UndertowMessages_$bundle:1522,1
    - Dst: '[org.xnio.channels.WriteTimeoutException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1522,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(org.xnio.channels.WriteTimeoutException)'
      Src: io.undertow.UndertowMessages_$bundle:1523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.WriteTimeoutException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutNanoseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 1525
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1525
    functionName: '[io.undertow.UndertowMessages_$bundle].blockingWriteTimedOut(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.channels.WriteTimeoutException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].blockingWriteTimedOut$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(org.xnio.channels.WriteTimeoutException)'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: org.xnio.channels.WriteTimeoutException
    signature: '[io.undertow.UndertowMessages_$bundle].blockingWriteTimedOut(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1528
    functionName: '[io.undertow.UndertowMessages_$bundle].readTimedOut$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].readTimedOut$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1531,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].readTimedOut$str()'
      Src: io.undertow.UndertowMessages_$bundle:1531,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.UndertowMessages_$bundle:1531,1
    - Dst: '[org.xnio.channels.ReadTimeoutException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1531,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(org.xnio.channels.ReadTimeoutException)'
      Src: io.undertow.UndertowMessages_$bundle:1532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: org.xnio.channels.ReadTimeoutException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - timeoutMilliseconds
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 1534
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1534
    functionName: '[io.undertow.UndertowMessages_$bundle].readTimedOut(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(org.xnio.channels.ReadTimeoutException)'
    - '[org.xnio.channels.ReadTimeoutException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].readTimedOut$str()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: org.xnio.channels.ReadTimeoutException
    signature: '[io.undertow.UndertowMessages_$bundle].readTimedOut(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1537
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStream$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStream$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1540,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStream$str()'
      Src: io.undertow.UndertowMessages_$bundle:1540,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1540,1
    - Dst: '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle,Exception)'
      Src: io.undertow.UndertowMessages_$bundle:1540,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
      Src: io.undertow.UndertowMessages_$bundle:1541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: javax.net.ssl.SSLException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 1543
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1543
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStream(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[javax.net.ssl.SSLException].<init>(io.undertow.UndertowMessages_$bundle,Exception)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStream$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(javax.net.ssl.SSLException)'
    linkageType: ''
    returnType: javax.net.ssl.SSLException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStream(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1546
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStreamOnWrite$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStreamOnWrite$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1549,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStreamOnWrite$str()'
      Src: io.undertow.UndertowMessages_$bundle:1549,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1549,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle,Exception)'
      Src: io.undertow.UndertowMessages_$bundle:1549,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 1552
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1552
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStreamOnWrite(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - String.format(java.util.Locale,String)
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle,Exception)'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStreamOnWrite$str()'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToReplaceHashOutputStreamOnWrite(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1555
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToInitializePathManager$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToInitializePathManager$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1558,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToInitializePathManager$str()'
      Src: io.undertow.UndertowMessages_$bundle:1558,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1558,1
    - Dst: '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle,java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1558,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
      Src: io.undertow.UndertowMessages_$bundle:1559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.io.IOException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: RuntimeException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - ioe
    argTypes:
    - String
    - java.io.IOException
    constantsTouched: []
    func_position:
      end: 1561
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1561
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToInitializePathManager(String,java.io.IOException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(RuntimeException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].failedToInitializePathManager$str()'
    - '[RuntimeException].<init>(io.undertow.UndertowMessages_$bundle,java.io.IOException)'
    linkageType: ''
    returnType: RuntimeException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToInitializePathManager(String,java.io.IOException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1564
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidACLAddress$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidACLAddress$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1567,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidACLAddress$str()'
      Src: io.undertow.UndertowMessages_$bundle:1567,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1567,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle,Exception)'
      Src: io.undertow.UndertowMessages_$bundle:1567,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Exception
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Exception
    constantsTouched: []
    func_position:
      end: 1570
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1570
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidACLAddress(Exception)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].invalidACLAddress$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle,Exception)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidACLAddress(Exception)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1573
    functionName: '[io.undertow.UndertowMessages_$bundle].pathNotADirectory$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].pathNotADirectory$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1576,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].pathNotADirectory$str()'
      Src: io.undertow.UndertowMessages_$bundle:1576,1
    - Dst: String.format(java.util.Locale,String,java.nio.file.Path)
      Src: io.undertow.UndertowMessages_$bundle:1576,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1576,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 1579
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1579
    functionName: '[io.undertow.UndertowMessages_$bundle].pathNotADirectory(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.UndertowMessages_$bundle].pathNotADirectory$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    - String.format(java.util.Locale,String,java.nio.file.Path)
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].pathNotADirectory(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1582
    functionName: '[io.undertow.UndertowMessages_$bundle].pathElementIsRegularFile$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].pathElementIsRegularFile$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1585,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].pathElementIsRegularFile$str()'
      Src: io.undertow.UndertowMessages_$bundle:1585,1
    - Dst: String.format(java.util.Locale,String,java.nio.file.Path)
      Src: io.undertow.UndertowMessages_$bundle:1585,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1585,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.nio.file.Path
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - java.nio.file.Path
    constantsTouched: []
    func_position:
      end: 1588
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1588
    functionName: '[io.undertow.UndertowMessages_$bundle].pathElementIsRegularFile(java.nio.file.Path)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].pathElementIsRegularFile$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    - String.format(java.util.Locale,String,java.nio.file.Path)
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].pathElementIsRegularFile(java.nio.file.Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1591
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidSniHostname$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].invalidSniHostname$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1594,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].invalidSniHostname$str()'
      Src: io.undertow.UndertowMessages_$bundle:1594,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1594,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle,Throwable)'
      Src: io.undertow.UndertowMessages_$bundle:1594,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - hostNameValue
    - t
    argTypes:
    - String
    - Throwable
    constantsTouched: []
    func_position:
      end: 1597
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1597
    functionName: '[io.undertow.UndertowMessages_$bundle].invalidSniHostname(String,Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle,Throwable)'
    - '[io.undertow.UndertowMessages_$bundle].invalidSniHostname$str()'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].invalidSniHostname(String,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1600
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToAllocateResource$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToAllocateResource$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1603,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToAllocateResource$str()'
      Src: io.undertow.UndertowMessages_$bundle:1603,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1603,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1603,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1606
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToAllocateResource()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].failedToAllocateResource$str()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToAllocateResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1609
    functionName: '[io.undertow.UndertowMessages_$bundle].protocolTooLargeForBuffer$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].protocolTooLargeForBuffer$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1612,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].protocolTooLargeForBuffer$str()'
      Src: io.undertow.UndertowMessages_$bundle:1612,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1612,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1612,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - protocolString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1615
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1615
    functionName: '[io.undertow.UndertowMessages_$bundle].protocolTooLargeForBuffer(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].protocolTooLargeForBuffer$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].protocolTooLargeForBuffer(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1618
    functionName: '[io.undertow.UndertowMessages_$bundle].bufferUnderflow$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].bufferUnderflow$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1621,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].bufferUnderflow$str()'
      Src: io.undertow.UndertowMessages_$bundle:1621,1
    - Dst: String.format(java.util.Locale,String,io.undertow.server.HttpServerExchange,java.nio.ByteBuffer)
      Src: io.undertow.UndertowMessages_$bundle:1621,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1621,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - java.nio.ByteBuffer
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - exchange
    - buf
    argTypes:
    - io.undertow.server.HttpServerExchange
    - java.nio.ByteBuffer
    constantsTouched: []
    func_position:
      end: 1624
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1624
    functionName: '[io.undertow.UndertowMessages_$bundle].bufferUnderflow(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle].bufferUnderflow$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - String.format(java.util.Locale,String,io.undertow.server.HttpServerExchange,java.nio.ByteBuffer)
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].bufferUnderflow(io.undertow.server.HttpServerExchange,java.nio.ByteBuffer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1627
    functionName: '[io.undertow.UndertowMessages_$bundle].exchangeBlockingOrBlocking$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].exchangeBlockingOrBlocking$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1630,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].exchangeBlockingOrBlocking$str()'
      Src: io.undertow.UndertowMessages_$bundle:1630,1
    - Dst: String.format(java.util.Locale,String,io.undertow.server.HttpServerExchange)
      Src: io.undertow.UndertowMessages_$bundle:1630,1
    - Dst: '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1630,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.UndertowMessages_$bundle:1631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 1633
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1633
    functionName: '[io.undertow.UndertowMessages_$bundle].exchangeBlockingOrBlocking(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,io.undertow.server.HttpServerExchange)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.UndertowMessages_$bundle].exchangeBlockingOrBlocking$str()'
    - '[java.io.IOException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.UndertowMessages_$bundle].exchangeBlockingOrBlocking(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1636
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToEncodeQueryString$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToEncodeQueryString$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1639,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToEncodeQueryString$str()'
      Src: io.undertow.UndertowMessages_$bundle:1639,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1639,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1639,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - q
    - e
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 1642
      start: 1637
    functionDepth: 1
    functionLinenumber: 1637
    functionLinenumberEnd: 1642
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToEncodeQueryString(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].failedToEncodeQueryString$str()'
    - String.format(java.util.Locale,String,String,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToEncodeQueryString(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1645
    functionName: '[io.undertow.UndertowMessages_$bundle].wildCardsOnlyAtEndOfTemplate$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].wildCardsOnlyAtEndOfTemplate$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1648,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].wildCardsOnlyAtEndOfTemplate$str()'
      Src: io.undertow.UndertowMessages_$bundle:1648,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1648,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1648,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1646
    functionDepth: 1
    functionLinenumber: 1646
    functionLinenumberEnd: 1651
    functionName: '[io.undertow.UndertowMessages_$bundle].wildCardsOnlyAtEndOfTemplate()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.UndertowMessages_$bundle].wildCardsOnlyAtEndOfTemplate$str()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].wildCardsOnlyAtEndOfTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1654
    functionName: '[io.undertow.UndertowMessages_$bundle].illegalCharacterInPathSegment$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].illegalCharacterInPathSegment$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1657,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].illegalCharacterInPathSegment$str()'
      Src: io.undertow.UndertowMessages_$bundle:1657,1
    - Dst: String.format(java.util.Locale,String,char,String,int)
      Src: io.undertow.UndertowMessages_$bundle:1657,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1657,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - char
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - character
    - segment
    - position
    argTypes:
    - char
    - String
    - int
    constantsTouched: []
    func_position:
      end: 1660
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1660
    functionName: '[io.undertow.UndertowMessages_$bundle].illegalCharacterInPathSegment(char,String,int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,char,String,int)
    - '[io.undertow.UndertowMessages_$bundle].illegalCharacterInPathSegment$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].illegalCharacterInPathSegment(char,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1663
    functionName: '[io.undertow.UndertowMessages_$bundle].defaultTargetUpdatedAfterTemplatesAdded$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].defaultTargetUpdatedAfterTemplatesAdded$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1666,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].defaultTargetUpdatedAfterTemplatesAdded$str()'
      Src: io.undertow.UndertowMessages_$bundle:1666,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1666,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1666,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1669
    functionName: '[io.undertow.UndertowMessages_$bundle].defaultTargetUpdatedAfterTemplatesAdded()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].defaultTargetUpdatedAfterTemplatesAdded$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].defaultTargetUpdatedAfterTemplatesAdded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1672
    functionName: '[io.undertow.UndertowMessages_$bundle].duplicateUrlPathTemplate$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].duplicateUrlPathTemplate$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1675,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].duplicateUrlPathTemplate$str()'
      Src: io.undertow.UndertowMessages_$bundle:1675,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.UndertowMessages_$bundle:1675,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1675,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - template
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: '[io.undertow.UndertowMessages_$bundle].duplicateUrlPathTemplate(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.UndertowMessages_$bundle].duplicateUrlPathTemplate$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].duplicateUrlPathTemplate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1681
    functionName: '[io.undertow.UndertowMessages_$bundle].defaultTargetFactoryMustBeSetBeforeBuild$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].defaultTargetFactoryMustBeSetBeforeBuild$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1684,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].defaultTargetFactoryMustBeSetBeforeBuild$str()'
      Src: io.undertow.UndertowMessages_$bundle:1684,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1684,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1684,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1687
    functionName: '[io.undertow.UndertowMessages_$bundle].defaultTargetFactoryMustBeSetBeforeBuild()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    - '[io.undertow.UndertowMessages_$bundle].defaultTargetFactoryMustBeSetBeforeBuild$str()'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].defaultTargetFactoryMustBeSetBeforeBuild()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1690
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToLogAccessOnClose$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].failedToLogAccessOnClose$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1693,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].failedToLogAccessOnClose$str()'
      Src: io.undertow.UndertowMessages_$bundle:1693,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1693,1
    - Dst: '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1693,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.UndertowMessages_$bundle:1694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1696
    functionName: '[io.undertow.UndertowMessages_$bundle].failedToLogAccessOnClose()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].failedToLogAccessOnClose$str()'
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[IllegalStateException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.UndertowMessages_$bundle].failedToLogAccessOnClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1699
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyPathParameters$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyPathParameters$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1702,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].tooManyPathParameters$str()'
      Src: io.undertow.UndertowMessages_$bundle:1702,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.UndertowMessages_$bundle:1702,1
    - Dst: '[io.undertow.util.BadRequestException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1702,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.BadRequestException)'
      Src: io.undertow.UndertowMessages_$bundle:1703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.BadRequestException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - noParams
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1705
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1705
    functionName: '[io.undertow.UndertowMessages_$bundle].tooManyPathParameters(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(io.undertow.util.BadRequestException)'
    - '[io.undertow.util.BadRequestException].<init>(io.undertow.UndertowMessages_$bundle)'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].tooManyPathParameters$str()'
    linkageType: ''
    returnType: io.undertow.util.BadRequestException
    signature: '[io.undertow.UndertowMessages_$bundle].tooManyPathParameters(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1708
    functionName: '[io.undertow.UndertowMessages_$bundle].securedAjpListenerWithoutSecret$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.UndertowMessages_$bundle].securedAjpListenerWithoutSecret$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.UndertowMessages_$bundle:1711,1
    - Dst: '[io.undertow.UndertowMessages_$bundle].securedAjpListenerWithoutSecret$str()'
      Src: io.undertow.UndertowMessages_$bundle:1711,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.UndertowMessages_$bundle:1711,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
      Src: io.undertow.UndertowMessages_$bundle:1711,1
    - Dst: '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.UndertowMessages_$bundle:1712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.UndertowMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.UndertowMessages
      - java.io.Serializable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1714
    functionName: '[io.undertow.UndertowMessages_$bundle].securedAjpListenerWithoutSecret()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/UndertowMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.UndertowMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.UndertowMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.UndertowMessages_$bundle].securedAjpListenerWithoutSecret$str()'
    - '[IllegalArgumentException].<init>(io.undertow.UndertowMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.UndertowMessages_$bundle].securedAjpListenerWithoutSecret()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].<init>()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.websockets.core.WebSocketMessages_$bundle
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].<init>()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].<init>()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketMessages_$bundle
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].readResolve()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].readResolve()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Locale
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].channelClosed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].channelClosed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:40,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].channelClosed$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:40,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:40,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:40,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].channelClosed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].channelClosed$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].channelClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getStackTrace()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:45,1
    - Dst: '[java.util.Arrays].copyOfRange(io.undertow.websockets.core.WebSocketMessages_$bundle,int,io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:46,1
    - Dst: '[Throwable].setStackTrace(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[Throwable].setStackTrace(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[java.util.Arrays].copyOfRange(io.undertow.websockets.core.WebSocketMessages_$bundle,int,io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[Throwable].getStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidTextFrameEncoding$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidTextFrameEncoding$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:53,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidTextFrameEncoding$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:53,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:53,1
    - Dst: '[java.io.UnsupportedEncodingException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:53,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.UnsupportedEncodingException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.UnsupportedEncodingException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidTextFrameEncoding()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidTextFrameEncoding$str()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.UnsupportedEncodingException)'
    - '[java.io.UnsupportedEncodingException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: java.io.UnsupportedEncodingException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidTextFrameEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].fragmentedControlFrame$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].fragmentedControlFrame$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:62,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].fragmentedControlFrame$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:62,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:62,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:62,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].fragmentedControlFrame()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].fragmentedControlFrame$str()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].fragmentedControlFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].toBigControlFrame$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].toBigControlFrame$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:71,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].toBigControlFrame$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:71,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:71,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:71,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].toBigControlFrame()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].toBigControlFrame$str()'
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].toBigControlFrame()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInControlFrame$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInControlFrame$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:80,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInControlFrame$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:80,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:80,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:80,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInControlFrame(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInControlFrame$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInControlFrame(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].controlFrameWithPayloadLen1$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].controlFrameWithPayloadLen1$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:89,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].controlFrameWithPayloadLen1$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:89,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:89,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:89,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].controlFrameWithPayloadLen1()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].controlFrameWithPayloadLen1$str()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].controlFrameWithPayloadLen1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInDataFrame$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInDataFrame$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:98,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInDataFrame$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:98,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:98,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:98,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInDataFrame(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInDataFrame$str()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].reservedOpCodeInDataFrame(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].continuationFrameOutsideFragmented$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].continuationFrameOutsideFragmented$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:107,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].continuationFrameOutsideFragmented$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:107,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:107,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:107,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].continuationFrameOutsideFragmented()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].continuationFrameOutsideFragmented$str()'
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].continuationFrameOutsideFragmented()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].nonContinuationFrameInsideFragmented$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].nonContinuationFrameInsideFragmented$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:116,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].nonContinuationFrameInsideFragmented$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:116,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:116,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:116,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].nonContinuationFrameInsideFragmented()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].nonContinuationFrameInsideFragmented$str()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].nonContinuationFrameInsideFragmented()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedOpCode$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedOpCode$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:125,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedOpCode$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:125,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:125,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:125,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedOpCode(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedOpCode$str()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[IllegalStateException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedOpCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedFrameType$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedFrameType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:134,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedFrameType$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:134,1
    - Dst: String.format(java.util.Locale,String,io.undertow.websockets.core.WebSocketFrameType)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:134,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:134,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.core.WebSocketFrameType
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - io.undertow.websockets.core.WebSocketFrameType
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedFrameType(io.undertow.websockets.core.WebSocketFrameType)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - String.format(java.util.Locale,String,io.undertow.websockets.core.WebSocketFrameType)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedFrameType$str()'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedFrameType(io.undertow.websockets.core.WebSocketFrameType)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotAllowed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotAllowed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:143,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotAllowed$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:143,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:143,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:143,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - rsv
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotAllowed(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,int)
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotAllowed$str()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotAllowed(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedProtocol$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedProtocol$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:152,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedProtocol$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:152,1
    - Dst: String.format(java.util.Locale,String,String,java.util.Collection<String>)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:152,1
    - Dst: '[io.undertow.websockets.core.WebSocketHandshakeException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:152,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketHandshakeException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.util.Collection<String>
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketHandshakeException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - requestedSubprotocols
    - subprotocols
    argTypes:
    - String
    - java.util.Collection<String>
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedProtocol(String,java.util.Collection<String>)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,String,java.util.Collection<String>)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketHandshakeException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketHandshakeException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedProtocol$str()'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketHandshakeException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unsupportedProtocol(String,java.util.Collection<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidPayloadLengthForPing$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidPayloadLengthForPing$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:161,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidPayloadLengthForPing$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:161,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:161,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:161,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - payloadLength
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidPayloadLengthForPing(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[IllegalArgumentException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidPayloadLengthForPing$str()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidPayloadLengthForPing(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotSupported$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotSupported$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:170,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotSupported$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:170,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:170,1
    - Dst: '[UnsupportedOperationException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:170,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(UnsupportedOperationException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: UnsupportedOperationException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotSupported()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotSupported$str()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(UnsupportedOperationException)'
    - '[UnsupportedOperationException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: UnsupportedOperationException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].extensionsNotSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidCloseFrameStatusCode$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidCloseFrameStatusCode$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:179,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidCloseFrameStatusCode$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:179,1
    - Dst: String.format(java.util.Locale,String,int)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:179,1
    - Dst: '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:179,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketInvalidCloseCodeException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidCloseFrameStatusCode(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketInvalidCloseCodeException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidCloseFrameStatusCode$str()'
    - '[io.undertow.websockets.core.WebSocketInvalidCloseCodeException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - String.format(java.util.Locale,String,int)
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketInvalidCloseCodeException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].invalidCloseFrameStatusCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].streamIsBroken$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].streamIsBroken$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:188,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].streamIsBroken$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:188,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:188,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:188,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].streamIsBroken()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].streamIsBroken$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].streamIsBroken()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].frameNotMasked$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].frameNotMasked$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:197,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].frameNotMasked$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:197,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:197,1
    - Dst: '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:197,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketFrameCorruptedException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].frameNotMasked()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].frameNotMasked$str()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(io.undertow.websockets.core.WebSocketFrameCorruptedException)'
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketFrameCorruptedException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketFrameCorruptedException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].frameNotMasked()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketUpgradeHeader$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketUpgradeHeader$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:206,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketUpgradeHeader$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:206,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:206,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:206,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketUpgradeHeader()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketUpgradeHeader$str()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketUpgradeHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketConnectionHeader$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketConnectionHeader$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:215,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketConnectionHeader$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:215,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:215,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:215,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketConnectionHeader()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketConnectionHeader$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].noWebSocketConnectionHeader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].webSocketAcceptKeyMismatch$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].webSocketAcceptKeyMismatch$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:224,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].webSocketAcceptKeyMismatch$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:224,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:224,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:224,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - dKey
    - acceptKey
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].webSocketAcceptKeyMismatch(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].webSocketAcceptKeyMismatch$str()'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    - String.format(java.util.Locale,String,String,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].webSocketAcceptKeyMismatch(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageToBig$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageToBig$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:233,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageToBig$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:233,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxMessageSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageToBig(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageToBig$str()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageToBig(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].badCompressedPayload$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].badCompressedPayload$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:240,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].badCompressedPayload$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:240,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:240,1
    - Dst: '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle,java.util.zip.DataFormatException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:240,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.zip.DataFormatException
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cause
    argTypes:
    - java.util.zip.DataFormatException
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].badCompressedPayload(java.util.zip.DataFormatException)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].badCompressedPayload$str()'
    - '[java.io.IOException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle,java.util.zip.DataFormatException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].badCompressedPayload(java.util.zip.DataFormatException)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unableToSendOnNewChannel$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unableToSendOnNewChannel$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:249,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unableToSendOnNewChannel$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:249,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:249,1
    - Dst: '[IllegalStateException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:249,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unableToSendOnNewChannel()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].unableToSendOnNewChannel$str()'
    - '[IllegalStateException].<init>(io.undertow.websockets.core.WebSocketMessages_$bundle)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].unableToSendOnNewChannel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageCloseWebSocket$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageCloseWebSocket$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:258,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageCloseWebSocket$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:258,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageCloseWebSocket()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageCloseWebSocket$str()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].messageCloseWebSocket()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].bufferExceedsMaximumSize$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].bufferExceedsMaximumSize$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:265,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].bufferExceedsMaximumSize$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:265,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - maxMessageSize
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].bufferExceedsMaximumSize(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].bufferExceedsMaximumSize$str()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].bufferExceedsMaximumSize(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyFragments$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyFragments$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:272,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyFragments$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:272,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - fragments
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyFragments(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyFragments$str()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyFragments(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyPings$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyPings$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:279,1
    - Dst: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyPings$str()'
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:279,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.websockets.core.WebSocketMessages_$bundle:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.websockets.core.WebSocketMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.websockets.core.WebSocketMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - pings
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyPings(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyPings$str()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketMessages_$bundle].tooManyPings(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WebSocketLogger_$logger.class.getName()
      Src: io.undertow.websockets.core.WebSocketLogger_$logger:24,1
    - Dst: '[org.jboss.logging.DelegatingBasicLogger].<init>(org.jboss.logging.Logger)'
      Src: io.undertow.websockets.core.WebSocketLogger_$logger:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - org.jboss.logging.Logger
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      - io.undertow.websockets.core.WebSocketLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.websockets.core.WebSocketLogger_$logger
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - log
    argTypes:
    - org.jboss.logging.Logger
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: '[io.undertow.websockets.core.WebSocketLogger_$logger].<init>(org.jboss.logging.Logger)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[org.jboss.logging.DelegatingBasicLogger].<init>(org.jboss.logging.Logger)'
    - WebSocketLogger_$logger.class.getName()
    linkageType: ''
    returnType: io.undertow.websockets.core.WebSocketLogger_$logger
    signature: '[io.undertow.websockets.core.WebSocketLogger_$logger].<init>(org.jboss.logging.Logger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      - io.undertow.websockets.core.WebSocketLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Locale
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: '[io.undertow.websockets.core.WebSocketLogger_$logger].getLoggingLocale()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketLogger_$logger.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.websockets.core.WebSocketLogger_$logger].getLoggingLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketLogger_$logger].decodingFrameWithOpCode$str()'
      Src: io.undertow.websockets.core.WebSocketLogger_$logger:34,1
    - Dst: super.log.logf(String,io.undertow.websockets.core.WebSocketLogger_$logger,null,String,int)
      Src: io.undertow.websockets.core.WebSocketLogger_$logger:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      - io.undertow.websockets.core.WebSocketLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.websockets.core.WebSocketLogger_$logger].decodingFrameWithOpCode(int)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.core.WebSocketLogger_$logger,null,String,int)
    - '[io.undertow.websockets.core.WebSocketLogger_$logger].decodingFrameWithOpCode$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketLogger_$logger].decodingFrameWithOpCode(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      - io.undertow.websockets.core.WebSocketLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.websockets.core.WebSocketLogger_$logger].decodingFrameWithOpCode$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketLogger_$logger].decodingFrameWithOpCode$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketLogger_$logger].unhandledErrorInAnnotatedEndpoint$str()'
      Src: io.undertow.websockets.core.WebSocketLogger_$logger:41,1
    - Dst: super.log.logf(String,io.undertow.websockets.core.WebSocketLogger_$logger,Throwable,String,Object)
      Src: io.undertow.websockets.core.WebSocketLogger_$logger:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      - io.undertow.websockets.core.WebSocketLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 2
    argNames:
    - instance
    - thr
    argTypes:
    - Object
    - Throwable
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.websockets.core.WebSocketLogger_$logger].unhandledErrorInAnnotatedEndpoint(Object,Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - super.log.logf(String,io.undertow.websockets.core.WebSocketLogger_$logger,Throwable,String,Object)
    - '[io.undertow.websockets.core.WebSocketLogger_$logger].unhandledErrorInAnnotatedEndpoint$str()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketLogger_$logger].unhandledErrorInAnnotatedEndpoint(Object,Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      - io.undertow.websockets.core.WebSocketLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: '[io.undertow.websockets.core.WebSocketLogger_$logger].unhandledErrorInAnnotatedEndpoint$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketLogger_$logger].unhandledErrorInAnnotatedEndpoint$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.WebSocketLogger_$logger].incorrectExtensionParameter$str()'
      Src: io.undertow.websockets.core.WebSocketLogger_$logger:48,1
    - Dst: super.log.logf(String,io.undertow.websockets.core.WebSocketLogger_$logger,null,String,io.undertow.websockets.WebSocketExtension.Parameter)
      Src: io.undertow.websockets.core.WebSocketLogger_$logger:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.websockets.WebSocketExtension.Parameter
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      - io.undertow.websockets.core.WebSocketLogger
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 1
    argNames:
    - param
    argTypes:
    - io.undertow.websockets.WebSocketExtension.Parameter
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.websockets.core.WebSocketLogger_$logger].incorrectExtensionParameter(io.undertow.websockets.WebSocketExtension.Parameter)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketLogger_$logger.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.WebSocketLogger_$logger].incorrectExtensionParameter$str()'
    - super.log.logf(String,io.undertow.websockets.core.WebSocketLogger_$logger,null,String,io.undertow.websockets.WebSocketExtension.Parameter)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.websockets.core.WebSocketLogger_$logger].incorrectExtensionParameter(io.undertow.websockets.WebSocketExtension.Parameter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - String
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - org.jboss.logging.BasicLogger
      - io.undertow.websockets.core.WebSocketLogger
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: org.jboss.logging.DelegatingBasicLogger
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.websockets.core.WebSocketLogger_$logger].incorrectExtensionParameter$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/websockets/core/WebSocketLogger_$logger.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.websockets.core.WebSocketLogger_$logger].incorrectExtensionParameter$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].<init>()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.client.UndertowClientMessages_$bundle
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].<init>()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle].<init>()'
    linkageType: ''
    returnType: io.undertow.client.UndertowClientMessages_$bundle
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].readResolve()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].readResolve()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Locale
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].connectionClosed$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].connectionClosed$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:35,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].connectionClosed$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:35,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.client.UndertowClientMessages_$bundle:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].connectionClosed()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String)
    - '[io.undertow.client.UndertowClientMessages_$bundle].connectionClosed$str()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].connectionClosed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].requestAlreadyWritten$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].requestAlreadyWritten$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:42,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].requestAlreadyWritten$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:42,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.client.UndertowClientMessages_$bundle:42,1
    - Dst: '[IllegalStateException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:42,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalStateException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].requestAlreadyWritten()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.client.UndertowClientMessages_$bundle].requestAlreadyWritten$str()'
    - '[IllegalStateException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(IllegalStateException)'
    linkageType: ''
    returnType: IllegalStateException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].requestAlreadyWritten()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].getStackTrace()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:47,1
    - Dst: '[java.util.Arrays].copyOfRange(io.undertow.client.UndertowClientMessages_$bundle,int,io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:48,1
    - Dst: '[Throwable].setStackTrace(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - e
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(Throwable)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].copyOfRange(io.undertow.client.UndertowClientMessages_$bundle,int,io.undertow.client.UndertowClientMessages_$bundle)'
    - '[Throwable].getStackTrace()'
    - '[Throwable].setStackTrace(io.undertow.client.UndertowClientMessages_$bundle)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].failedToUpgradeChannel$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].failedToUpgradeChannel$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:55,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].failedToUpgradeChannel$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:55,1
    - Dst: String.format(java.util.Locale,String,int,String)
      Src: io.undertow.client.UndertowClientMessages_$bundle:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - responseCode
    - reason
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].failedToUpgradeChannel(int,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,int,String)
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.client.UndertowClientMessages_$bundle].failedToUpgradeChannel$str()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].failedToUpgradeChannel(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].illegalContentLength$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].illegalContentLength$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:62,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].illegalContentLength$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:62,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.client.UndertowClientMessages_$bundle:62,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:62,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - length
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].illegalContentLength(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.client.UndertowClientMessages_$bundle].illegalContentLength$str()'
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - '[IllegalArgumentException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].illegalContentLength(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].unknownScheme$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].unknownScheme$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:71,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].unknownScheme$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:71,1
    - Dst: String.format(java.util.Locale,String,java.net.URI)
      Src: io.undertow.client.UndertowClientMessages_$bundle:71,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:71,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.net.URI
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: IllegalArgumentException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - uri
    argTypes:
    - java.net.URI
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].unknownScheme(java.net.URI)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(IllegalArgumentException)'
    - '[io.undertow.client.UndertowClientMessages_$bundle].unknownScheme$str()'
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,java.net.URI)
    - '[IllegalArgumentException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    linkageType: ''
    returnType: IllegalArgumentException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].unknownScheme(java.net.URI)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].unknownTransferEncoding$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].unknownTransferEncoding$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:80,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].unknownTransferEncoding$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:80,1
    - Dst: String.format(java.util.Locale,String,String)
      Src: io.undertow.client.UndertowClientMessages_$bundle:80,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:80,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - transferEncodingString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].unknownTransferEncoding(String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String,String)
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - '[io.undertow.client.UndertowClientMessages_$bundle].unknownTransferEncoding$str()'
    - '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].unknownTransferEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].invalidConnectionState$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].invalidConnectionState$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:89,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].invalidConnectionState$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:89,1
    - Dst: String.format(java.util.Locale,String)
      Src: io.undertow.client.UndertowClientMessages_$bundle:89,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:89,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].invalidConnectionState()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - String.format(java.util.Locale,String)
    - '[io.undertow.client.UndertowClientMessages_$bundle].invalidConnectionState$str()'
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].invalidConnectionState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].unknownAjpMessageType$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].unknownAjpMessageType$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:98,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].unknownAjpMessageType$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:98,1
    - Dst: String.format(java.util.Locale,String,byte)
      Src: io.undertow.client.UndertowClientMessages_$bundle:98,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:98,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - packetType
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].unknownAjpMessageType(byte)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - String.format(java.util.Locale,String,byte)
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.client.UndertowClientMessages_$bundle].unknownAjpMessageType$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].unknownAjpMessageType(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].unknownMethod$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].unknownMethod$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:107,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].unknownMethod$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:107,1
    - Dst: String.format(java.util.Locale,String,io.undertow.util.HttpString)
      Src: io.undertow.client.UndertowClientMessages_$bundle:107,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:107,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.HttpString
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - method
    argTypes:
    - io.undertow.util.HttpString
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].unknownMethod(io.undertow.util.HttpString)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle].unknownMethod$str()'
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,io.undertow.util.HttpString)
    - '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].unknownMethod(io.undertow.util.HttpString)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].dataStillRemainingInChunk$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].dataStillRemainingInChunk$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:116,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].dataStillRemainingInChunk$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:116,1
    - Dst: String.format(java.util.Locale,String,long)
      Src: io.undertow.client.UndertowClientMessages_$bundle:116,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:116,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - remaining
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].dataStillRemainingInChunk(long)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.client.UndertowClientMessages_$bundle].dataStillRemainingInChunk$str()'
    - String.format(java.util.Locale,String,long)
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].dataStillRemainingInChunk(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].wrongMagicNumber$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].wrongMagicNumber$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:125,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].wrongMagicNumber$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:125,1
    - Dst: String.format(java.util.Locale,String,String,String)
      Src: io.undertow.client.UndertowClientMessages_$bundle:125,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:125,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].wrongMagicNumber(String,String)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - String.format(java.util.Locale,String,String,String)
    - '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    - '[io.undertow.client.UndertowClientMessages_$bundle].wrongMagicNumber$str()'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].wrongMagicNumber(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].receivedInvalidChunk$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].receivedInvalidChunk$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:134,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle].receivedInvalidChunk$str()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:134,1
    - Dst: String.format(java.util.Locale,String,byte)
      Src: io.undertow.client.UndertowClientMessages_$bundle:134,1
    - Dst: '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:134,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - byte
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.IOException
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - byte
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].receivedInvalidChunk(byte)'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.client.UndertowClientMessages_$bundle].receivedInvalidChunk$str()'
    - '[io.undertow.client.UndertowClientMessages_$bundle].getLoggingLocale()'
    - '[java.io.IOException].<init>(io.undertow.client.UndertowClientMessages_$bundle)'
    - String.format(java.util.Locale,String,byte)
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.io.IOException)'
    linkageType: ''
    returnType: java.io.IOException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].receivedInvalidChunk(byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].closedConnectionState$str()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].closedConnectionState$str()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.channels.ClosedChannelException].<init>()'
      Src: io.undertow.client.UndertowClientMessages_$bundle:143,1
    - Dst: '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.nio.channels.ClosedChannelException)'
      Src: io.undertow.client.UndertowClientMessages_$bundle:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - io.undertow.client.UndertowClientMessages_$bundle
      - java.util.Locale
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - java.io.Serializable
      - io.undertow.client.UndertowClientMessages
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.channels.ClosedChannelException
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: '[io.undertow.client.UndertowClientMessages_$bundle].closedConnectionState()'
    functionSourceFile: /src/undertow/core/target/generated-sources/annotations/io/undertow/client/UndertowClientMessages_$bundle.java
    functionUses: 0
    functionsReached:
    - '[java.nio.channels.ClosedChannelException].<init>()'
    - '[io.undertow.client.UndertowClientMessages_$bundle]._copyStackTraceMinusOne(java.nio.channels.ClosedChannelException)'
    linkageType: ''
    returnType: java.nio.channels.ClosedChannelException
    signature: '[io.undertow.client.UndertowClientMessages_$bundle].closedConnectionState()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:64,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].newInstance()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:70,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:77,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].deploy()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:78,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].start()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:79,1
    - Dst: '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.servlet.test.ProxyForwardedTestCase,boolean)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:81,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.ForwardedHandler)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: '[io.undertow.servlet.test.ProxyForwardedTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/ProxyForwardedTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.ForwardedHandler)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.ForwardedHandler].<init>(io.undertow.servlet.test.ProxyForwardedTestCase,boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.ProxyForwardedTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.ProxyForwardedTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:93,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:95,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:97,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].getEntity()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:98,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:99,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].convertWithStream(io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:100,1
    - Dst: '[java.net.Socket].<init>()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:102,1
    - Dst: '[java.net.InetSocketAddress].<init>(String,int)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:102,1
    - Dst: '[java.net.Socket].connect(java.net.InetSocketAddress)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:102,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:104,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:104,1
    - Dst: '[java.net.Socket].getLocalAddress()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:105,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].getHostAddress()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:105,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.ProxyForwardedTestCase,io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:105,1
    - Dst: '[java.net.Socket].getLocalAddress()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:106,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].getHostName()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:106,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.ProxyForwardedTestCase,io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:106,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:107,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.ProxyForwardedTestCase)
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:107,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:108,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:109,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:110,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:111,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:114,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].shutdown()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 116
    functionName: '[io.undertow.servlet.test.ProxyForwardedTestCase].testForwardedHandler()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/ProxyForwardedTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[java.net.Socket].<init>()'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].getEntity()'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].convertWithStream(io.undertow.servlet.test.ProxyForwardedTestCase)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].getHostName()'
    - '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.ProxyForwardedTestCase)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].getHostAddress()'
    - '[java.net.Socket].getLocalAddress()'
    - '[java.util.Map<String,String>].get(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyForwardedTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - Integer.parseInt(io.undertow.servlet.test.ProxyForwardedTestCase)
    - '[java.net.InetSocketAddress].<init>(String,int)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.ProxyForwardedTestCase,io.undertow.servlet.test.ProxyForwardedTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.ProxyForwardedTestCase)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].shutdown()'
    - '[java.net.Socket].connect(java.net.InetSocketAddress)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.ProxyForwardedTestCase].testForwardedHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:119,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:121,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:121,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].split(String)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:122,1
    - Dst: '[java.util.Arrays].stream(io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:122,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].map()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:122,1
    - Dst: '[java.util.stream.Collectors].toMap()'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:124,1
    - Dst: '[io.undertow.servlet.test.ProxyForwardedTestCase].collect(io.undertow.servlet.test.ProxyForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyForwardedTestCase:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mapAsString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: '[io.undertow.servlet.test.ProxyForwardedTestCase].convertWithStream(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/ProxyForwardedTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.Arrays].stream(io.undertow.servlet.test.ProxyForwardedTestCase)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].split(String)'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].collect(io.undertow.servlet.test.ProxyForwardedTestCase)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.servlet.test.ProxyForwardedTestCase].map()'
    - '[String].length()'
    - '[java.util.stream.Collectors].toMap()'
    - '[String].substring(int,int)'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.servlet.test.ProxyForwardedTestCase].convertWithStream(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.ProxyForwardedTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.ProxyForwardedTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/ProxyForwardedTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.ProxyForwardedTestCase
    signature: '[io.undertow.servlet.test.ProxyForwardedTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: out.println()
      Src: io.undertow.servlet.test.HandlerListingTestCase:44,1
    - Dst: out.println()
      Src: io.undertow.servlet.test.HandlerListingTestCase:45,1
    - Dst: out.println()
      Src: io.undertow.servlet.test.HandlerListingTestCase:46,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:47,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:48,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].getClass()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:49,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].getClassLoader()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:49,1
    - Dst: '[java.util.ServiceLoader].load(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:49,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:50,1
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:52,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:52,1
    - Dst: handler.name()
      Src: io.undertow.servlet.test.HandlerListingTestCase:59,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:59,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:60,1
    - Dst: handler.parameters()
      Src: io.undertow.servlet.test.HandlerListingTestCase:62,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].keySet()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:62,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:62,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:63,1
    - Dst: '[java.util.ArrayList].iterator()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:64,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].hasNext()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:65,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].next()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:66,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:67,1
    - Dst: handler.parameters()
      Src: io.undertow.servlet.test.HandlerListingTestCase:68,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].get(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:68,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:70,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:71,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:72,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:73,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:74,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:75,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:76,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:77,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:78,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:79,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:80,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:81,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:82,1
    - Dst: out.print(io.undertow.servlet.test.HandlerListingTestCase)
      Src: io.undertow.servlet.test.HandlerListingTestCase:84,1
    - Dst: handler.requiredParameters()
      Src: io.undertow.servlet.test.HandlerListingTestCase:86,1
    - Dst: handler.requiredParameters()
      Src: io.undertow.servlet.test.HandlerListingTestCase:86,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].contains(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:86,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:87,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].hasNext()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:89,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:90,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:93,1
    - Dst: handler.defaultParameter()
      Src: io.undertow.servlet.test.HandlerListingTestCase:94,1
    - Dst: handler.defaultParameter()
      Src: io.undertow.servlet.test.HandlerListingTestCase:95,1
    - Dst: out.print(io.undertow.servlet.test.HandlerListingTestCase)
      Src: io.undertow.servlet.test.HandlerListingTestCase:95,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:97,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 99
    functionName: '[io.undertow.servlet.test.HandlerListingTestCase].listHandlers()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/HandlerListingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].iterator()'
    - '[java.util.Collections].sort(java.util.ArrayList)'
    - '[io.undertow.servlet.test.HandlerListingTestCase].next()'
    - out.print(io.undertow.servlet.test.HandlerListingTestCase)
    - handler.requiredParameters()
    - '[io.undertow.servlet.test.HandlerListingTestCase].get(io.undertow.servlet.test.HandlerListingTestCase)'
    - '[io.undertow.servlet.test.HandlerListingTestCase].keySet()'
    - '[io.undertow.servlet.test.HandlerListingTestCase].contains(io.undertow.servlet.test.HandlerListingTestCase)'
    - handler.name()
    - '[java.util.Comparator].<init>()'
    - '[io.undertow.servlet.test.HandlerListingTestCase].getClassLoader()'
    - '[java.util.ArrayList].add(io.undertow.servlet.test.HandlerListingTestCase)'
    - out.print(String)
    - '[io.undertow.servlet.test.HandlerListingTestCase].getClass()'
    - '[java.util.ArrayList].<init>(io.undertow.servlet.test.HandlerListingTestCase)'
    - '[java.util.ArrayList].<init>()'
    - handler.parameters()
    - '[java.util.ServiceLoader].load(io.undertow.servlet.test.HandlerListingTestCase)'
    - '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
    - '[io.undertow.servlet.test.HandlerListingTestCase].hasNext()'
    - out.println(String)
    - handler.defaultParameter()
    - '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
    - out.println()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.HandlerListingTestCase].listHandlers()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: out.println()
      Src: io.undertow.servlet.test.HandlerListingTestCase:103,1
    - Dst: out.println()
      Src: io.undertow.servlet.test.HandlerListingTestCase:104,1
    - Dst: out.println()
      Src: io.undertow.servlet.test.HandlerListingTestCase:105,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:106,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:107,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].getClass()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:108,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].getClassLoader()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:108,1
    - Dst: '[java.util.ServiceLoader].load(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:108,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:109,1
    - Dst: '[java.util.Comparator].<init>()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:111,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:111,1
    - Dst: handler.name()
      Src: io.undertow.servlet.test.HandlerListingTestCase:118,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:118,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:119,1
    - Dst: handler.parameters()
      Src: io.undertow.servlet.test.HandlerListingTestCase:121,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].keySet()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:121,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:121,1
    - Dst: '[java.util.Collections].sort(java.util.ArrayList)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:122,1
    - Dst: '[java.util.ArrayList].iterator()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:123,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].hasNext()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:124,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].next()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:125,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:126,1
    - Dst: handler.parameters()
      Src: io.undertow.servlet.test.HandlerListingTestCase:127,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].get(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:127,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:129,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:130,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:131,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:132,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:133,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:134,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:135,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:136,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:137,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:138,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:139,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:140,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:141,1
    - Dst: out.print(io.undertow.servlet.test.HandlerListingTestCase)
      Src: io.undertow.servlet.test.HandlerListingTestCase:143,1
    - Dst: handler.requiredParameters()
      Src: io.undertow.servlet.test.HandlerListingTestCase:145,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].contains(io.undertow.servlet.test.HandlerListingTestCase)'
      Src: io.undertow.servlet.test.HandlerListingTestCase:145,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:146,1
    - Dst: '[io.undertow.servlet.test.HandlerListingTestCase].hasNext()'
      Src: io.undertow.servlet.test.HandlerListingTestCase:148,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:149,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:152,1
    - Dst: handler.defaultParameter()
      Src: io.undertow.servlet.test.HandlerListingTestCase:153,1
    - Dst: handler.defaultParameter()
      Src: io.undertow.servlet.test.HandlerListingTestCase:154,1
    - Dst: out.print(io.undertow.servlet.test.HandlerListingTestCase)
      Src: io.undertow.servlet.test.HandlerListingTestCase:154,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.HandlerListingTestCase:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 158
    functionName: '[io.undertow.servlet.test.HandlerListingTestCase].listPredicates()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/HandlerListingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.ArrayList].iterator()'
    - '[java.util.Collections].sort(java.util.ArrayList)'
    - '[io.undertow.servlet.test.HandlerListingTestCase].next()'
    - out.print(io.undertow.servlet.test.HandlerListingTestCase)
    - handler.requiredParameters()
    - '[io.undertow.servlet.test.HandlerListingTestCase].get(io.undertow.servlet.test.HandlerListingTestCase)'
    - '[io.undertow.servlet.test.HandlerListingTestCase].keySet()'
    - '[io.undertow.servlet.test.HandlerListingTestCase].contains(io.undertow.servlet.test.HandlerListingTestCase)'
    - handler.name()
    - '[java.util.Comparator].<init>()'
    - '[io.undertow.servlet.test.HandlerListingTestCase].getClassLoader()'
    - '[java.util.ArrayList].add(io.undertow.servlet.test.HandlerListingTestCase)'
    - out.print(String)
    - '[io.undertow.servlet.test.HandlerListingTestCase].getClass()'
    - '[java.util.ArrayList].<init>(io.undertow.servlet.test.HandlerListingTestCase)'
    - '[java.util.ArrayList].<init>()'
    - handler.parameters()
    - '[java.util.ServiceLoader].load(io.undertow.servlet.test.HandlerListingTestCase)'
    - '[java.util.Collections].sort(java.util.ArrayList,java.util.Comparator)'
    - '[io.undertow.servlet.test.HandlerListingTestCase].hasNext()'
    - out.println(String)
    - handler.defaultParameter()
    - '[io.undertow.servlet.test.HandlerListingTestCase].equals()'
    - out.println()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.HandlerListingTestCase].listPredicates()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.HandlerListingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.HandlerListingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/HandlerListingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.HandlerListingTestCase
    signature: '[io.undertow.servlet.test.HandlerListingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:64,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].newInstance()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:70,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:70,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:77,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].deploy()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:78,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].start()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:79,1
    - Dst: '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.servlet.test.ProxyXForwardedTestCase,boolean)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:81,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.ProxyPeerAddressHandler)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: '[io.undertow.servlet.test.ProxyXForwardedTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/ProxyXForwardedTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.server.handlers.ProxyPeerAddressHandler].<init>(io.undertow.servlet.test.ProxyXForwardedTestCase,boolean)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.ProxyXForwardedTestCase)'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.handlers.ProxyPeerAddressHandler)'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.ProxyXForwardedTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:90,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:90,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:91,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:93,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:95,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].getEntity()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:96,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:97,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].convertWithStream(io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:98,1
    - Dst: '[java.net.Socket].<init>()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:99,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:100,1
    - Dst: '[java.net.InetSocketAddress].<init>(String,int)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:100,1
    - Dst: '[java.net.Socket].connect(java.net.InetSocketAddress)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:100,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:102,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:102,1
    - Dst: '[java.net.Socket].getLocalAddress()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:103,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].getHostAddress()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:103,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.ProxyXForwardedTestCase,io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:103,1
    - Dst: '[java.net.Socket].getLocalAddress()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:104,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].getHostName()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:104,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.ProxyXForwardedTestCase,io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:104,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:105,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.ProxyXForwardedTestCase)
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:105,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:106,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:107,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:108,1
    - Dst: '[java.util.Map<String,String>].get(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:112,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].shutdown()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: '[io.undertow.servlet.test.ProxyXForwardedTestCase].testProxyPeerHandler()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/ProxyXForwardedTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].getHostAddress()'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.ProxyXForwardedTestCase)'
    - '[java.net.Socket].<init>()'
    - Integer.parseInt(io.undertow.servlet.test.ProxyXForwardedTestCase)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.ProxyXForwardedTestCase,io.undertow.servlet.test.ProxyXForwardedTestCase)'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].shutdown()'
    - '[java.net.Socket].getLocalAddress()'
    - '[java.util.Map<String,String>].get(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.ProxyXForwardedTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.ProxyXForwardedTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[java.net.InetSocketAddress].<init>(String,int)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].convertWithStream(io.undertow.servlet.test.ProxyXForwardedTestCase)'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].getHostName()'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].getEntity()'
    - '[java.net.Socket].connect(java.net.InetSocketAddress)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.ProxyXForwardedTestCase].testProxyPeerHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:117,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:119,1
    - Dst: '[String].substring(int,int)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:119,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].split(String)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:120,1
    - Dst: '[java.util.Arrays].stream(io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:120,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].map()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:120,1
    - Dst: '[java.util.stream.Collectors].toMap()'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:122,1
    - Dst: '[io.undertow.servlet.test.ProxyXForwardedTestCase].collect(io.undertow.servlet.test.ProxyXForwardedTestCase)'
      Src: io.undertow.servlet.test.ProxyXForwardedTestCase:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: java.util.Map<String,String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mapAsString
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: '[io.undertow.servlet.test.ProxyXForwardedTestCase].convertWithStream(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/ProxyXForwardedTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].split(String)'
    - '[String].length()'
    - '[java.util.stream.Collectors].toMap()'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].map()'
    - '[String].substring(int,int)'
    - '[java.util.Arrays].stream(io.undertow.servlet.test.ProxyXForwardedTestCase)'
    - '[io.undertow.servlet.test.ProxyXForwardedTestCase].collect(io.undertow.servlet.test.ProxyXForwardedTestCase)'
    linkageType: ''
    returnType: java.util.Map<String,String>
    signature: '[io.undertow.servlet.test.ProxyXForwardedTestCase].convertWithStream(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.ProxyXForwardedTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.ProxyXForwardedTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/ProxyXForwardedTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.ProxyXForwardedTestCase
    signature: '[io.undertow.servlet.test.ProxyXForwardedTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:59,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].newInstance()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:66,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.SimpleServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:66,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:73,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].deploy()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:75,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].start()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:75,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: '[io.undertow.servlet.test.SimpleServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/SimpleServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.SimpleServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.SimpleServletTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.SimpleServletTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.SimpleServletTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.SimpleServletTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.SimpleServletTestCase].newInstance()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.SimpleServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:84,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:85,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:86,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:86,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:90,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: '[io.undertow.servlet.test.SimpleServletTestCase].testSimpleHttpServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/SimpleServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.SimpleServletTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.SimpleServletTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.SimpleServletTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.SimpleServletTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.SimpleServletTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.SimpleServletTestCase].testSimpleHttpServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpHead].<init>(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:99,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:100,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:100,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:101,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:102,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:102,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:103,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:104,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:104,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].getValue()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:104,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.SimpleServletTestCase)
      Src: io.undertow.servlet.test.SimpleServletTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.SimpleServletTestCase,io.undertow.servlet.test.SimpleServletTestCase)'
      Src: io.undertow.servlet.test.SimpleServletTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:106,1
    - Dst: '[io.undertow.servlet.test.SimpleServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.SimpleServletTestCase:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: '[io.undertow.servlet.test.SimpleServletTestCase].testSimpleHttpServletHead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/SimpleServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.SimpleServletTestCase,io.undertow.servlet.test.SimpleServletTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.SimpleServletTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.SimpleServletTestCase)'
    - Integer.parseInt(io.undertow.servlet.test.SimpleServletTestCase)
    - '[org.junit.Assert].assertNotNull(io.undertow.servlet.test.SimpleServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.SimpleServletTestCase].getValue()'
    - '[String].length()'
    - '[io.undertow.servlet.test.SimpleServletTestCase].getFirstHeader(String)'
    - '[io.undertow.servlet.test.SimpleServletTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpHead].<init>(String)'
    - '[io.undertow.servlet.test.SimpleServletTestCase].getHeaders(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.SimpleServletTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.SimpleServletTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.SimpleServletTestCase].testSimpleHttpServletHead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.SimpleServletTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.SimpleServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/SimpleServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.SimpleServletTestCase
    signature: '[io.undertow.servlet.test.SimpleServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].checkNotNullParam(String,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].<init>(jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].checkNotNullParam(String,jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].<init>(jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getResponse()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletResponse
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].checkNotNullParam(String,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setResponse(jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].checkNotNullParam(String,jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setResponse(jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].setCharacterEncoding(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - charset
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setCharacterEncoding(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].setCharacterEncoding(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setCharacterEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].getCharacterEncoding()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getCharacterEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].getCharacterEncoding()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getCharacterEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletOutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getOutputStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].getOutputStream()'
    linkageType: ''
    returnType: jakarta.servlet.ServletOutputStream
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].getWriter()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.PrintWriter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getWriter()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].getWriter()'
    linkageType: ''
    returnType: java.io.PrintWriter
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getWriter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].setContentLength(int)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setContentLength(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].setContentLength(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setContentLength(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].setContentLengthLong(long)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - len
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setContentLengthLong(long)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].setContentLengthLong(long)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setContentLengthLong(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].setContentType(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setContentType(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].setContentType(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setContentType(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].getContentType()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getContentType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].getContentType()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getContentType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].setBufferSize(int)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setBufferSize(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].setBufferSize(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].getBufferSize()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getBufferSize()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].getBufferSize()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].flushBuffer()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].flushBuffer()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].flushBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].flushBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].isCommitted()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].isCommitted()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].isCommitted()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].isCommitted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].reset()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].reset()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].reset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].resetBuffer()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].resetBuffer()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].resetBuffer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].resetBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].setLocale(java.util.Locale)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Locale
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - loc
    argTypes:
    - java.util.Locale
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setLocale(java.util.Locale)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].setLocale(java.util.Locale)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setLocale(java.util.Locale)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].getLocale()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Locale
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getLocale()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponse].getLocale()'
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponseWrapper].isWrapperFor(jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wrapped
    argTypes:
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].isWrapperFor(jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletResponseWrapper].isWrapperFor(jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].isWrapperFor(jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ServletResponse.class.isAssignableFrom(Class<?>)
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:252,1
    - Dst: ServletResponse.class.getName()
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:255,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.servlet.test.wrapper.NonStandardResponseWrapper)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:253,1
    - Dst: '[jakarta.servlet.ServletResponse].getClass()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:257,1
    - Dst: '[Class<?>].isAssignableFrom(io.undertow.servlet.test.wrapper.NonStandardResponseWrapper)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:257,1
    - Dst: '[jakarta.servlet.ServletResponseWrapper].isWrapperFor(Class<?>)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wrappedType
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 264
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].isWrapperFor(Class<?>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - ServletResponse.class.isAssignableFrom(Class<?>)
    - '[IllegalArgumentException].<init>(io.undertow.servlet.test.wrapper.NonStandardResponseWrapper)'
    - ServletResponse.class.getName()
    - '[jakarta.servlet.ServletResponseWrapper].isWrapperFor(Class<?>)'
    - '[jakarta.servlet.ServletResponse].getClass()'
    - '[Class<?>].isAssignableFrom(io.undertow.servlet.test.wrapper.NonStandardResponseWrapper)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].isWrapperFor(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.servlet.http.HttpServletResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.http.HttpServletResponse
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:277,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - jakarta.servlet.http.Cookie
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].addCookie(jakarta.servlet.http.Cookie)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].addCookie(jakarta.servlet.http.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:286,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].containsHeader(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].containsHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].containsHeader(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].containsHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:295,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeURL(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].encodeURL(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].encodeURL(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].encodeURL(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:304,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].encodeRedirectURL(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].encodeRedirectURL(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:313,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - sc
    - msg
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendError(int,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendError(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:322,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(int)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendError(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    - '[jakarta.servlet.http.HttpServletResponse].sendError(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendError(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:331,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - location
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendRedirect(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendRedirect(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:336,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String,boolean)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - location
    - clearBuffer
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendRedirect(String,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String,boolean)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendRedirect(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:341,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String,int)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - location
    - sc
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendRedirect(String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendRedirect(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:346,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String,int,boolean)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - location
    - sc
    - clearBuffer
    argTypes:
    - String
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendRedirect(String,int,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(String,int,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].sendRedirect(String,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:355,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setDateHeader(String,long)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - date
    argTypes:
    - String
    - long
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setDateHeader(String,long)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setDateHeader(String,long)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setDateHeader(String,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:364,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addDateHeader(String,long)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - date
    argTypes:
    - String
    - long
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].addDateHeader(String,long)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].addDateHeader(String,long)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].addDateHeader(String,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:373,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setHeader(String,String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setHeader(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setHeader(String,String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:382,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addHeader(String,String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].addHeader(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].addHeader(String,String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].addHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:391,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setIntHeader(String,int)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setIntHeader(String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setIntHeader(String,int)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setIntHeader(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:400,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addIntHeader(String,int)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].addIntHeader(String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].addIntHeader(String,int)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].addIntHeader(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:409,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setStatus(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].setStatus(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:421,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getStatus()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getStatus()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getStatus()'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:437,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getHeader(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getHeader(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:455,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getHeaders(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getHeaders(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getHeaders(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getHeaders(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:472,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getHeaderNames()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapper:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletResponse
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getHeaderNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getHeaderNames()'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper]._getHttpServletResponse()'
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].getHeaderNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:44,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:46,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:46,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:47,1
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:48,1
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:48,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:48,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:49,1
    - Dst: NonStandardResponseWrapper.class.getName()
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:50,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase,String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:50,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:52,1
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].shutdown()'
      Src: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].testNonStandardWrapper()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapperTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase)'
    - NonStandardResponseWrapper.class.getName()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].testNonStandardWrapper()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].isNonStandardAllowed()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapperTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].isNonStandardAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase
      static: false
      superClass: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardResponseWrapperTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase
    signature: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapperTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:62,1
    - Dst: '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:63,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:63,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].build()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:65,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].newInstance()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:68,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:73,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:78,1
    - Dst: AbstractResponseWrapperTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:78,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].isNonStandardAllowed()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setAllowNonStandardWrappers(boolean)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:78,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:84,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].deploy()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:86,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].start()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:86,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/AbstractResponseWrapperTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setAllowNonStandardWrappers(boolean)'
    - AbstractResponseWrapperTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].isNonStandardAllowed()'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].deploy()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].build()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].isNonStandardAllowed()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/AbstractResponseWrapperTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].isNonStandardAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:99,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:100,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:100,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:100,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:101,1
    - Dst: HttpServletResponseImpl.class.getName()
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase,String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:105,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].shutdown()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].testNoWrapper()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/AbstractResponseWrapperTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].getStatusCode()'
    - HttpServletResponseImpl.class.getName()
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].testNoWrapper()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:115,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:116,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:117,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:117,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:118,1
    - Dst: StandardResponseWrapper.class.getName()
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:119,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase,String)'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:122,1
    - Dst: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].shutdown()'
      Src: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].testStandardWrapper()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/AbstractResponseWrapperTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - StandardResponseWrapper.class.getName()
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].testStandardWrapper()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/AbstractResponseWrapperTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase
    signature: '[io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardRequestWrappingFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.StandardRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter:43,1
    - Dst: '[io.undertow.servlet.test.wrapper.StandardResponseWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter:43,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(io.undertow.servlet.test.wrapper.StandardRequestWrapper,io.undertow.servlet.test.wrapper.StandardResponseWrapper)'
      Src: io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardRequestWrappingFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterChain].doFilter(io.undertow.servlet.test.wrapper.StandardRequestWrapper,io.undertow.servlet.test.wrapper.StandardResponseWrapper)'
    - '[io.undertow.servlet.test.wrapper.StandardRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
    - '[io.undertow.servlet.test.wrapper.StandardResponseWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardRequestWrappingFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardRequestWrappingFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter
    signature: '[io.undertow.servlet.test.wrapper.StandardRequestWrappingFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:43,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:45,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:45,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:46,1
    - Dst: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:47,1
    - Dst: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:47,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:47,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase)'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:48,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:50,1
    - Dst: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].shutdown()'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].testNonStandardWrapper()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardResponseWrapperTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].testNonStandardWrapper()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].isNonStandardAllowed()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardResponseWrapperTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].isNonStandardAllowed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase
      static: false
      superClass: io.undertow.servlet.test.wrapper.AbstractResponseWrapperTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardResponseWrapperTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase
    signature: '[io.undertow.servlet.test.wrapper.StandardResponseWrapperTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].checkNotNullParam(String,jakarta.servlet.ServletRequest)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - jakarta.servlet.ServletRequest
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].<init>(jakarta.servlet.ServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].checkNotNullParam(String,jakarta.servlet.ServletRequest)'
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].<init>(jakarta.servlet.ServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletRequest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletRequest
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].checkNotNullParam(String,jakarta.servlet.ServletRequest)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - jakarta.servlet.ServletRequest
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].setRequest(jakarta.servlet.ServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].checkNotNullParam(String,jakarta.servlet.ServletRequest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].setRequest(jakarta.servlet.ServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getAttribute(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getAttribute(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getAttributeNames()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getAttributeNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getAttributeNames()'
    linkageType: ''
    returnType: java.util.Enumeration<String>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getAttributeNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getCharacterEncoding()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getCharacterEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getCharacterEncoding()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getCharacterEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].setCharacterEncoding(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - enc
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].setCharacterEncoding(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].setCharacterEncoding(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].setCharacterEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getContentLength()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getContentLength()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getContentLength()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getContentLengthLong()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getContentLengthLong()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getContentLengthLong()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getContentLengthLong()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getContentType()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getContentType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getContentType()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getContentType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletInputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getInputStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getInputStream()'
    linkageType: ''
    returnType: jakarta.servlet.ServletInputStream
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParameter(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getParameter(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParameter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getParameterMap()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String[]>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParameterMap()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getParameterMap()'
    linkageType: ''
    returnType: java.util.Map<String,String[]>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParameterMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getParameterNames()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParameterNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getParameterNames()'
    linkageType: ''
    returnType: java.util.Enumeration<String>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParameterNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getParameterValues(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParameterValues(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getParameterValues(String)'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParameterValues(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getProtocol()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getProtocol()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getProtocol()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getScheme()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getScheme()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getScheme()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getScheme()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getServerName()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServerName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getServerName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServerName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getServerPort()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServerPort()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getServerPort()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServerPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getReader()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.BufferedReader
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getReader()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getReader()'
    linkageType: ''
    returnType: java.io.BufferedReader
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getReader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getRemoteAddr()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRemoteAddr()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getRemoteAddr()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRemoteAddr()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getRemoteHost()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRemoteHost()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getRemoteHost()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRemoteHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].setAttribute(String,Object)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - o
    argTypes:
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].setAttribute(String,Object)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].setAttribute(String,Object)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].setAttribute(String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].removeAttribute(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].removeAttribute(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].removeAttribute(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].removeAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getLocale()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Locale
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocale()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getLocale()'
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getLocales()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<java.util.Locale>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocales()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getLocales()'
    linkageType: ''
    returnType: java.util.Enumeration<java.util.Locale>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocales()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].isSecure()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isSecure()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].isSecure()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getRequestDispatcher(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.RequestDispatcher
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestDispatcher(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getRequestDispatcher(String)'
    linkageType: ''
    returnType: jakarta.servlet.RequestDispatcher
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestDispatcher(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getRemotePort()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRemotePort()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getRemotePort()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRemotePort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getLocalName()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocalName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getLocalName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocalName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getLocalAddr()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocalAddr()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getLocalAddr()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocalAddr()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getLocalPort()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocalPort()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getLocalPort()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getLocalPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServletContext()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getServletContext()'
    linkageType: ''
    returnType: jakarta.servlet.ServletContext
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServletContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].startAsync()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.AsyncContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].startAsync()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].startAsync()'
    linkageType: ''
    returnType: jakarta.servlet.AsyncContext
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].startAsync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].startAsync(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.AsyncContext
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - servletRequest
    - servletResponse
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].startAsync(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].startAsync(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: jakarta.servlet.AsyncContext
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].startAsync(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].isAsyncStarted()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isAsyncStarted()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].isAsyncStarted()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isAsyncStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].isAsyncSupported()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isAsyncSupported()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].isAsyncSupported()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isAsyncSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getAsyncContext()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.AsyncContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getAsyncContext()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getAsyncContext()'
    linkageType: ''
    returnType: jakarta.servlet.AsyncContext
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getAsyncContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequestWrapper].isWrapperFor(jakarta.servlet.ServletRequest)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wrapped
    argTypes:
    - jakarta.servlet.ServletRequest
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isWrapperFor(jakarta.servlet.ServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequestWrapper].isWrapperFor(jakarta.servlet.ServletRequest)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isWrapperFor(jakarta.servlet.ServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ServletRequest.class.isAssignableFrom(Class<?>)
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:513,1
    - Dst: ServletRequest.class.getName()
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:516,1
    - Dst: '[IllegalArgumentException].<init>(io.undertow.servlet.test.wrapper.NonStandardRequestWrapper)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:514,1
    - Dst: '[jakarta.servlet.ServletRequest].getClass()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:518,1
    - Dst: '[Class<?>].isAssignableFrom(io.undertow.servlet.test.wrapper.NonStandardRequestWrapper)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:518,1
    - Dst: '[jakarta.servlet.ServletRequestWrapper].isWrapperFor(Class<?>)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wrappedType
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 525
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 525
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isWrapperFor(Class<?>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[Class<?>].isAssignableFrom(io.undertow.servlet.test.wrapper.NonStandardRequestWrapper)'
    - '[IllegalArgumentException].<init>(io.undertow.servlet.test.wrapper.NonStandardRequestWrapper)'
    - '[jakarta.servlet.ServletRequestWrapper].isWrapperFor(Class<?>)'
    - '[jakarta.servlet.ServletRequest].getClass()'
    - ServletRequest.class.isAssignableFrom(Class<?>)
    - ServletRequest.class.getName()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isWrapperFor(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].getDispatcherType()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.DispatcherType
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getDispatcherType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletRequest].getDispatcherType()'
    linkageType: ''
    returnType: jakarta.servlet.DispatcherType
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getDispatcherType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: jakarta.servlet.http.HttpServletRequest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 34
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequest()'
    linkageType: ''
    returnType: jakarta.servlet.http.HttpServletRequest
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:552,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAuthType()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getAuthType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getAuthType()'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getAuthType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:561,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getCookies()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Cookie[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getCookies()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getCookies()'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: Cookie[]
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:570,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getDateHeader(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getDateHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getDateHeader(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: long
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getDateHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:579,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:588,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeaders(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getHeaders(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getHeaders(String)'
    linkageType: ''
    returnType: java.util.Enumeration<String>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getHeaders(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:597,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeaderNames()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getHeaderNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeaderNames()'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: java.util.Enumeration<String>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getHeaderNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:606,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getIntHeader(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getIntHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getIntHeader(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getIntHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:615,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getMethod()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getMethod()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getMethod()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:624,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getPathInfo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getPathInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:633,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathTranslated()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 634
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getPathTranslated()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathTranslated()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getPathTranslated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:642,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getContextPath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getContextPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:651,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getQueryString()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:660,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRemoteUser()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRemoteUser()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getRemoteUser()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRemoteUser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:669,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].isUserInRole(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - role
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isUserInRole(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].isUserInRole(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isUserInRole(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:678,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 679
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getUserPrincipal()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getUserPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:687,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestedSessionId()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestedSessionId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestedSessionId()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestedSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:696,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestURI()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:705,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURL()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: StringBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestURL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURL()'
    linkageType: ''
    returnType: StringBuffer
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:714,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServletPath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServletPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:723,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getSession(boolean)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.http.HttpSession
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - create
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getSession(boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getSession(boolean)'
    linkageType: ''
    returnType: jakarta.servlet.http.HttpSession
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getSession(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:732,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getSession()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.http.HttpSession
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getSession()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getSession()'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: jakarta.servlet.http.HttpSession
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:741,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].changeSessionId()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].changeSessionId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].changeSessionId()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].changeSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:750,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].isRequestedSessionIdValid()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isRequestedSessionIdValid()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].isRequestedSessionIdValid()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isRequestedSessionIdValid()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:759,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].isRequestedSessionIdFromCookie()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isRequestedSessionIdFromCookie()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].isRequestedSessionIdFromCookie()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isRequestedSessionIdFromCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:768,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].isRequestedSessionIdFromURL()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 769
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isRequestedSessionIdFromURL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].isRequestedSessionIdFromURL()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].isRequestedSessionIdFromURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:780,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].authenticate(jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].authenticate(jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].authenticate(jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].authenticate(jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:792,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].login(String,String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].login(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].login(String,String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].login(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:803,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].logout()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 804
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].logout()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].logout()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].logout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:817,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParts()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<jakarta.servlet.http.Part>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParts()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getParts()'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: java.util.Collection<jakarta.servlet.http.Part>
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getParts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:828,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPart(String)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.http.Part
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 830
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 830
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getPart(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getPart(String)'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: jakarta.servlet.http.Part
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getPart(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:840,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].upgrade(Class<T>)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handlerClass
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].upgrade(Class<T>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].upgrade(Class<T>)'
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    linkageType: ''
    returnType: T
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].upgrade(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:845,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestId()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestId()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getRequestId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:850,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getProtocolRequestId()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getProtocolRequestId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getProtocolRequestId()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getProtocolRequestId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:855,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletConnection()'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrapper:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletRequest
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServletConnection()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper]._getHttpServletRequest()'
    - '[jakarta.servlet.http.HttpServletRequest].getServletConnection()'
    linkageType: ''
    returnType: jakarta.servlet.ServletConnection
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].getServletConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponseWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.wrapper.StandardResponseWrapper:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.StandardResponseWrapper
      static: false
      superClass: jakarta.servlet.http.HttpServletResponseWrapper
    argCount: 1
    argNames:
    - response
    argTypes:
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.wrapper.StandardResponseWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardResponseWrapper.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponseWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.StandardResponseWrapper
    signature: '[io.undertow.servlet.test.wrapper.StandardResponseWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getClass()'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:35,1
    - Dst: '[io.undertow.servlet.test.wrapper.WrapperServlet].getName()'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:35,1
    - Dst: '[io.undertow.servlet.test.wrapper.WrapperServlet].write(io.undertow.servlet.test.wrapper.WrapperServlet)'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:36,1
    - Dst: '[io.undertow.servlet.test.wrapper.WrapperServlet].write(String)'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getClass()'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:37,1
    - Dst: '[io.undertow.servlet.test.wrapper.WrapperServlet].getName()'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:37,1
    - Dst: '[io.undertow.servlet.test.wrapper.WrapperServlet].write(io.undertow.servlet.test.wrapper.WrapperServlet)'
      Src: io.undertow.servlet.test.wrapper.WrapperServlet:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: '[io.undertow.servlet.test.wrapper.WrapperServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/WrapperServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.wrapper.WrapperServlet].getName()'
    - '[jakarta.servlet.http.HttpServletRequest].getClass()'
    - '[io.undertow.servlet.test.wrapper.WrapperServlet].write(io.undertow.servlet.test.wrapper.WrapperServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getClass()'
    - '[io.undertow.servlet.test.wrapper.WrapperServlet].write(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.WrapperServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.WrapperServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.wrapper.WrapperServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/WrapperServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.WrapperServlet
    signature: '[io.undertow.servlet.test.wrapper.WrapperServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.servlet.test.wrapper.StandardRequestWrapper:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.StandardRequestWrapper
      static: false
      superClass: jakarta.servlet.http.HttpServletRequestWrapper
    argCount: 1
    argNames:
    - request
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.wrapper.StandardRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/StandardRequestWrapper.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.StandardRequestWrapper
    signature: '[io.undertow.servlet.test.wrapper.StandardRequestWrapper].<init>(jakarta.servlet.http.HttpServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrappingFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].<init>(jakarta.servlet.ServletRequest)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter:41,1
    - Dst: '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].<init>(jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter:41,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(io.undertow.servlet.test.wrapper.NonStandardRequestWrapper,io.undertow.servlet.test.wrapper.NonStandardResponseWrapper)'
      Src: io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrappingFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.wrapper.NonStandardRequestWrapper].<init>(jakarta.servlet.ServletRequest)'
    - '[jakarta.servlet.FilterChain].doFilter(io.undertow.servlet.test.wrapper.NonStandardRequestWrapper,io.undertow.servlet.test.wrapper.NonStandardResponseWrapper)'
    - '[io.undertow.servlet.test.wrapper.NonStandardResponseWrapper].<init>(jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrappingFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/wrapper/NonStandardRequestWrappingFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter
    signature: '[io.undertow.servlet.test.wrapper.NonStandardRequestWrappingFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:78,1
    - Dst: '[io.undertow.servlet.test.mock.MockRequestTestCase].newInstance()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:83,1
    - Dst: MockRequestTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.mock.MockRequestTestCase)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:83,1
    - Dst: '[io.undertow.servlet.test.mock.MockRequestTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:90,1
    - Dst: '[io.undertow.servlet.test.mock.MockRequestTestCase].deploy()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:91,1
    - Dst: '[io.undertow.servlet.test.mock.MockRequestTestCase].getDeployment()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:93,1
    - Dst: '[io.undertow.servlet.test.mock.MockRequestTestCase].start()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:93,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.mock.MockRequestTestCase)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.servlet.api.Deployment
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.mock.MockRequestTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.mock.MockRequestTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.mock.MockRequestTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.mock.MockRequestTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.mock.MockRequestTestCase].getDeployment()'
    - '[io.undertow.servlet.test.mock.MockRequestTestCase].start()'
    - '[io.undertow.servlet.test.mock.MockRequestTestCase].deploy()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - MockRequestTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[MockHttpResponse].<init>()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:100,1
    - Dst: '[MockHttpRequest].<init>()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:101,1
    - Dst: '[io.undertow.servlet.api.Deployment].getServletDispatcher()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:103,1
    - Dst: '[io.undertow.servlet.api.ServletDispatcher].dispatchMockRequest(MockHttpRequest,MockHttpResponse)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:103,1
    - Dst: response.out.toByteArray()
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:104,1
    - Dst: '[String].<init>(io.undertow.servlet.test.mock.MockRequestTestCase)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.servlet.api.Deployment
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase].testMockHttpRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached:
    - response.out.toByteArray()
    - '[io.undertow.servlet.api.Deployment].getServletDispatcher()'
    - '[String].<init>(io.undertow.servlet.test.mock.MockRequestTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.api.ServletDispatcher].dispatchMockRequest(MockHttpRequest,MockHttpResponse)'
    - '[MockHttpResponse].<init>()'
    - '[MockHttpRequest].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase].testMockHttpRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[MockHttpResponse].<init>()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:109,1
    - Dst: '[MockHttpRequest].<init>()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:110,1
    - Dst: '[io.undertow.servlet.api.Deployment].getServletContext()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:112,1
    - Dst: '[io.undertow.servlet.spec.ServletContextImpl].getRequestDispatcher(String)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:112,1
    - Dst: '[org.junit.Assert].assertNotNull(jakarta.servlet.RequestDispatcher)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:113,1
    - Dst: '[org.junit.Assert].assertTrue()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:114,1
    - Dst: rdi.mock(MockHttpRequest,MockHttpResponse)
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:116,1
    - Dst: response.out.toByteArray()
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:117,1
    - Dst: '[String].<init>(io.undertow.servlet.test.mock.MockRequestTestCase)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.servlet.api.Deployment
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase].testMockDispatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached:
    - response.out.toByteArray()
    - '[String].<init>(io.undertow.servlet.test.mock.MockRequestTestCase)'
    - '[org.junit.Assert].assertTrue()'
    - '[io.undertow.servlet.api.Deployment].getServletContext()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[MockHttpResponse].<init>()'
    - '[io.undertow.servlet.spec.ServletContextImpl].getRequestDispatcher(String)'
    - '[org.junit.Assert].assertNotNull(jakarta.servlet.RequestDispatcher)'
    - rdi.mock(MockHttpRequest,MockHttpResponse)
    - '[MockHttpRequest].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase].testMockDispatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.servlet.api.Deployment
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.mock.MockRequestTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.mock.MockRequestTestCase
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet:123,1
    - Dst: HELLO_WORLD.getBytes()
      Src: io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet:123,1
    - Dst: '[io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet].write(io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet)'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached:
    - HELLO_WORLD.getBytes()
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet].write(io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.HelloServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getAuthType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getAuthType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Cookie[]
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getCookies()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cookie[]
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getDateHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getDateHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getHeaders(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Enumeration<String>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getHeaders(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getHeaderNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Enumeration<String>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getHeaderNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getIntHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getIntHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getMethod()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getPathInfo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getPathInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getPathTranslated()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getPathTranslated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getContextPath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getContextPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getQueryString()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRemoteUser()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRemoteUser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - role
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isUserInRole(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isUserInRole(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getUserPrincipal()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getUserPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestedSessionId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestedSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestURI()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestURI()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: StringBuffer
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestURL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringBuffer
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServletPath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServletPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.http.HttpSession
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - create
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getSession(boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.http.HttpSession
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getSession(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.http.HttpSession
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getSession()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.http.HttpSession
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getSession()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].changeSessionId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].changeSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isRequestedSessionIdValid()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isRequestedSessionIdValid()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isRequestedSessionIdFromCookie()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isRequestedSessionIdFromCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isRequestedSessionIdFromURL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isRequestedSessionIdFromURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - response
    argTypes:
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].authenticate(jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].authenticate(jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].login(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].login(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].logout()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].logout()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<jakarta.servlet.http.Part>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParts()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Collection<jakarta.servlet.http.Part>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParts()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.http.Part
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getPart(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.http.Part
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getPart(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: T
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - handlerClass
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].upgrade(Class<T>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].upgrade(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Object
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getAttribute(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getAttributeNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Enumeration<String>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getAttributeNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getCharacterEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getCharacterEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.UnsupportedEncodingException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - env
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].setCharacterEncoding(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].setCharacterEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getContentLength()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getContentLengthLong()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getContentLengthLong()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getContentType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getContentType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletInputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getInputStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletInputStream
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParameter(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParameter(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParameterNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Enumeration<String>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParameterNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParameterValues(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParameterValues(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Map<String,String[]>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParameterMap()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Map<String,String[]>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getParameterMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getProtocol()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getProtocol()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getScheme()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getScheme()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServerName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServerName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServerPort()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServerPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.BufferedReader
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getReader()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.BufferedReader
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getReader()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRemoteAddr()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRemoteAddr()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRemoteHost()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRemoteHost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Object
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - o
    argTypes:
    - String
    - Object
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].setAttribute(String,Object)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].setAttribute(String,Object)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].removeAttribute(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].removeAttribute(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Locale
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocale()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Enumeration<java.util.Locale>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocales()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Enumeration<java.util.Locale>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocales()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isSecure()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isSecure()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.RequestDispatcher
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestDispatcher(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.RequestDispatcher
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestDispatcher(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRemotePort()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRemotePort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocalName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocalName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocalAddr()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocalAddr()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocalPort()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getLocalPort()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServletContext()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletContext
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServletContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.AsyncContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].startAsync()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.AsyncContext
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].startAsync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - IllegalStateException
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.AsyncContext
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - servletRequest
    - servletResponse
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].startAsync(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.AsyncContext
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].startAsync(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isAsyncStarted()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isAsyncStarted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isAsyncSupported()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].isAsyncSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.AsyncContext
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getAsyncContext()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.AsyncContext
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getAsyncContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.DispatcherType
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getDispatcherType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.DispatcherType
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getDispatcherType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getRequestId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getProtocolRequestId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getProtocolRequestId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConnection
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServletConnection()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConnection
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].getServletConnection()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletRequest
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpRequest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.Cookie
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - jakarta.servlet.http.Cookie
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].addCookie(jakarta.servlet.http.Cookie)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].addCookie(jakarta.servlet.http.Cookie)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].containsHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].containsHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].encodeURL(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].encodeURL(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].encodeRedirectURL(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].encodeRedirectURL(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - sc
    - msg
    argTypes:
    - int
    - String
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].sendError(int,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].sendError(int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].sendError(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].sendError(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - location
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].sendRedirect(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].sendRedirect(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - date
    argTypes:
    - String
    - long
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setDateHeader(String,long)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setDateHeader(String,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - date
    argTypes:
    - String
    - long
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].addDateHeader(String,long)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].addDateHeader(String,long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - location
    - sc
    - clearBuffer
    argTypes:
    - String
    - int
    - boolean
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].sendRedirect(String,int,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].sendRedirect(String,int,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setHeader(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].addHeader(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].addHeader(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 548
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 548
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setIntHeader(String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setIntHeader(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 552
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 552
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].addIntHeader(String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].addIntHeader(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sc
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setStatus(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setStatus(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getStatus()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getStatus()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getHeader(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getHeader(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getHeaders(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getHeaders(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Collection<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getHeaderNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Collection<String>
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getHeaderNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getCharacterEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getCharacterEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getContentType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getContentType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletOutputStream
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getOutputStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletOutputStream
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.PrintWriter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getWriter()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.io.PrintWriter
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getWriter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - charset
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setCharacterEncoding(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setCharacterEncoding(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setContentLength(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setContentLength(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - long
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - len
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setContentLengthLong(long)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setContentLengthLong(long)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - type
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setContentType(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setContentType(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 616
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 616
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setBufferSize(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setBufferSize(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getBufferSize()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getBufferSize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].flushBuffer()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].flushBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 629
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].resetBuffer()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].resetBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 634
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].isCommitted()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].isCommitted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].reset()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Locale
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - loc
    argTypes:
    - java.util.Locale
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setLocale(java.util.Locale)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].setLocale(java.util.Locale)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Locale
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getLocale()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Locale
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].getLocale()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse:477,1
    - Dst: '[jakarta.servlet.ServletOutputStream].<init>()'
      Src: io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ByteArrayOutputStream
      - ServletOutputStream
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - HttpServletResponse
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/mock/MockRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletOutputStream].<init>()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse
    signature: '[io.undertow.servlet.test.mock.MockRequestTestCase.MockHttpResponse].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:55,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].servlet(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:61,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:61,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].servlet(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:63,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:63,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.test.charset.DefaultCharsetTestCase,io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.ServletExtension].<init>()'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.test.charset.DefaultCharsetTestCase,io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].addMapping(String)'
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].servlet(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].toByteArray(int[])'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].toByteArray(int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:79,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:81,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:82,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:83,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:83,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:84,1
    - Dst: '[org.junit.Assert].assertArrayEquals(byte[],byte[])'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:89,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:90,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:90,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:91,1
    - Dst: '[org.junit.Assert].assertArrayEquals(byte[],byte[])'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:94,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].testCharacterEncodingWriter()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].shutdown()'
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertArrayEquals(byte[],byte[])'
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].testCharacterEncodingWriter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:103,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:103,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:104,1
    - Dst: '[java.util.Collections].singletonList(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:104,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(io.undertow.servlet.test.charset.DefaultCharsetTestCase,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:104,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:105,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:106,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:106,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:107,1
    - Dst: '[org.junit.Assert].assertArrayEquals(byte[],byte[])'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:110,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].testCharacterEncodingFormParser()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].shutdown()'
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.charset.DefaultCharsetTestCase)'
    - '[java.util.Collections].singletonList(org.apache.http.message.BasicNameValuePair)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertArrayEquals(byte[],byte[])'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(io.undertow.servlet.test.charset.DefaultCharsetTestCase,String)'
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].testCharacterEncodingFormParser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].toByteArray()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.DefaultCharsetTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].toByteArray()'
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.DefaultCharsetTestCase
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:47,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:47,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/CharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - int[]
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: byte[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - source
    argTypes:
    - int[]
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].toByteArray(int[])'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/CharacterEncodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte[]
    signature: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].toByteArray(int[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:64,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:66,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:66,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:67,1
    - Dst: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:68,1
    - Dst: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.CharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:68,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.charset.CharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:69,1
    - Dst: '[org.junit.Assert].assertArrayEquals(byte[],byte[])'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:72,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:73,1
    - Dst: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.CharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.charset.CharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:75,1
    - Dst: '[org.junit.Assert].assertArrayEquals(byte[],byte[])'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:76,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:78,1
    - Dst: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].testCharacterEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/CharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertArrayEquals(byte[],byte[])'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.charset.CharacterEncodingTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.CharacterEncodingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].testCharacterEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].toByteArray()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:59,1
    - Dst: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].toByteArray()'
      Src: io.undertow.servlet.test.charset.CharacterEncodingTestCase:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - byte[]
      - byte[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.CharacterEncodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/CharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].toByteArray()'
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.CharacterEncodingTestCase
    signature: '[io.undertow.servlet.test.charset.CharacterEncodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.charset.CharsetServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setCharacterEncoding(io.undertow.servlet.test.charset.CharsetServlet)'
      Src: io.undertow.servlet.test.charset.CharsetServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.charset.CharsetServlet:38,1
    - Dst: '[io.undertow.servlet.test.charset.CharsetServlet].write(String)'
      Src: io.undertow.servlet.test.charset.CharsetServlet:39,1
    - Dst: '[io.undertow.servlet.test.charset.CharsetServlet].close()'
      Src: io.undertow.servlet.test.charset.CharsetServlet:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.charset.CharsetServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/CharsetServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.charset.CharsetServlet].write(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[jakarta.servlet.http.HttpServletResponse].setCharacterEncoding(io.undertow.servlet.test.charset.CharsetServlet)'
    - '[io.undertow.servlet.test.charset.CharsetServlet].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.CharsetServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.CharsetServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.CharsetServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/CharsetServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.CharsetServlet
    signature: '[io.undertow.servlet.test.charset.CharsetServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet:34,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet:35,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet].getBytes(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet:35,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet].write(io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetFormParserServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet].write(io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet)'
    - '[io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet].getBytes(String)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetFormParserServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetFormParserServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.charset.EchoServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].setCharacterEncoding(io.undertow.servlet.test.charset.EchoServlet)'
      Src: io.undertow.servlet.test.charset.EchoServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setCharacterEncoding(io.undertow.servlet.test.charset.EchoServlet)'
      Src: io.undertow.servlet.test.charset.EchoServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.charset.EchoServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.charset.EchoServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.charset.EchoServlet:44,1
    - Dst: '[io.undertow.servlet.test.charset.EchoServlet].substring(int)'
      Src: io.undertow.servlet.test.charset.EchoServlet:44,1
    - Dst: System.out.println(String)
      Src: io.undertow.servlet.test.charset.EchoServlet:46,1
    - Dst: '[io.undertow.servlet.test.charset.EchoServlet].write(io.undertow.servlet.test.charset.EchoServlet)'
      Src: io.undertow.servlet.test.charset.EchoServlet:47,1
    - Dst: '[io.undertow.servlet.test.charset.EchoServlet].close()'
      Src: io.undertow.servlet.test.charset.EchoServlet:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.charset.EchoServlet].service(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/EchoServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].setCharacterEncoding(io.undertow.servlet.test.charset.EchoServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
    - '[io.undertow.servlet.test.charset.EchoServlet].substring(int)'
    - '[io.undertow.servlet.test.charset.EchoServlet].close()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[io.undertow.servlet.test.charset.EchoServlet].write(io.undertow.servlet.test.charset.EchoServlet)'
    - System.out.println(String)
    - '[jakarta.servlet.http.HttpServletResponse].setCharacterEncoding(io.undertow.servlet.test.charset.EchoServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.EchoServlet].service(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.EchoServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.EchoServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/EchoServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.EchoServlet
    signature: '[io.undertow.servlet.test.charset.EchoServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getCharacterEncoding()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getCharacterEncoding()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:39,1
    - Dst: String.format(String,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:40,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].write(io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:40,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].close()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getCharacterEncoding()'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].close()'
    - '[jakarta.servlet.http.HttpServletResponse].getCharacterEncoding()'
    - String.format(String,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].write(io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getReader()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:47,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:49,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].read(io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:51,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet,int,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:52,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getCharacterEncoding()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:54,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getCharacterEncoding()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:55,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:57,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:59,1
    - Dst: String.format(String,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:58,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].write(io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:58,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].close()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getCharacterEncoding()'
    - '[jakarta.servlet.http.HttpServletRequest].getReader()'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].close()'
    - '[jakarta.servlet.http.HttpServletResponse].getCharacterEncoding()'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].read(io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet,int,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)'
    - '[StringBuilder].toString()'
    - String.format(String,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet,io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].write(io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:52,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:60,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - defaultEncoding
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].setup(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.ServletExtension].<init>()'
    - '[io.undertow.servlet.Servlets].servlet(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].setup(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].setup(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:67,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:70,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:70,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:71,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:72,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:72,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:72,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:73,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:76,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:79,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - defaultCharacterEncoding
    - expectedRequestCharacterEncoding
    - expectedResponseCharacterEncoding
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncoding(String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].setup(String)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].shutdown()'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncoding(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:86,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:93,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:93,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:96,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:96,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:102,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:103,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:103,1
    - Dst: '[java.nio.charset.Charset].forName(io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:104,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:104,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:106,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:108,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:111,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:114,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - requestCharacterEncoding
    - responseCharacterEncoding
    - defaultContainerLevelEncoding
    - body
    argTypes:
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 117
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 117
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(String,String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.ServletExtension].<init>()'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.Servlets].servlet(String)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
    - '[java.nio.charset.Charset].forName(io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String,String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:120,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].matcher(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:121,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].find()'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:122,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].group(int)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - response
    - parameter
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].group(int)'
    - '[java.util.regex.Pattern].compile(String)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].matcher(String)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].find()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].readParameter(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncoding(null,String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncodingNotSet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncoding(null,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncodingNotSet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncoding(String,String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncodingSetEqualDefault()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncoding(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncodingSetEqualDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncoding(String,String,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncodingSetNotEqualDefault()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncoding(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testDefaultEncodingSetNotEqualDefault()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StandardCharsets.ISO_8859_1.name()
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:152,1
    - Dst: StandardCharsets.UTF_8.name()
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:153,1
    - Dst: StandardCharsets.UTF_16BE.name()
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:153,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(null,null,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,null)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:155,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(String,null,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,null)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:156,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(null,String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,null)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:157,1
    - Dst: StandardCharsets.UTF_16BE.name()
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:158,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,null)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:158,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(String,String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,String)'
      Src: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - StandardCharsets.UTF_8.name()
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(String,null,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,null)'
    - StandardCharsets.UTF_16BE.name()
    - StandardCharsets.ISO_8859_1.name()
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(String,String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,String)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(null,null,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,null)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(null,String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,null)'
    - '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharacterEncoding(io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,String,io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase,null)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].testServletContextCharEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase
    signature: '[io.undertow.servlet.test.charset.DefaultCharacterEncodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:57,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].multipartConfig(null,int,int,int)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setMultipartConfig(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:57,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/ParameterCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].setMultipartConfig(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[io.undertow.servlet.Servlets].servlet(String)'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].multipartConfig(null,int,int,int)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:64,1
    - Dst: '[java.net.URLEncoder].encode(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:68,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:68,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:69,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:70,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:70,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:74,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].testUrlCharacterEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/ParameterCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.net.URLEncoder].encode(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].testUrlCharacterEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:80,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:85,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:86,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:86,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:90,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].testUrlPathEncodings()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/ParameterCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].testUrlPathEncodings()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:101,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:101,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:103,1
    - Dst: '[java.nio.charset.Charset].forName(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:104,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:104,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:104,1
    - Dst: '[java.nio.charset.Charset].forName(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:105,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:105,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:105,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:106,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:107,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:108,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:108,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:108,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:110,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:112,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].testMultipartCharacterEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/ParameterCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.entity.mime.content.StringBody].<init>(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.nio.charset.Charset].forName(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].testMultipartCharacterEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:118,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:123,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:124,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:125,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:125,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:126,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:126,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:127,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:129,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:130,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:130,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:132,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:134,1
    - Dst: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 136
    functionName: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].testFormDataCharacterEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/ParameterCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase,String)'
    - '[java.util.ArrayList].<init>()'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].testFormDataCharacterEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/ParameterCharacterEncodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase
    signature: '[io.undertow.servlet.test.charset.ParameterCharacterEncodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:45,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:45,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/UnmappableCharacterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.Servlets].servlet(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:52,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.charset.UnmappableCharacterTestCase)'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:55,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:56,1
    - Dst: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:57,1
    - Dst: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:57,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.UnmappableCharacterTestCase)'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:57,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.UnmappableCharacterTestCase)'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:58,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:59,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:61,1
    - Dst: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].shutdown()'
      Src: io.undertow.servlet.test.charset.UnmappableCharacterTestCase:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].testUnmappableCharacters()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/UnmappableCharacterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].shutdown()'
    - '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.charset.UnmappableCharacterTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.charset.UnmappableCharacterTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.charset.UnmappableCharacterTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].testUnmappableCharacters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.UnmappableCharacterTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/UnmappableCharacterTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.UnmappableCharacterTestCase
    signature: '[io.undertow.servlet.test.charset.UnmappableCharacterTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetServlet:36,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetServlet:37,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetServlet].write(io.undertow.servlet.test.charset.DefaultCharsetServlet,int,int)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetServlet:37,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetServlet].write(String,int,int)'
      Src: io.undertow.servlet.test.charset.DefaultCharsetServlet:39,1
    - Dst: '[io.undertow.servlet.test.charset.DefaultCharsetServlet].close()'
      Src: io.undertow.servlet.test.charset.DefaultCharsetServlet:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.charset.DefaultCharsetServlet].close()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[io.undertow.servlet.test.charset.DefaultCharsetServlet].write(String,int,int)'
    - '[String].toCharArray()'
    - '[io.undertow.servlet.test.charset.DefaultCharsetServlet].write(io.undertow.servlet.test.charset.DefaultCharsetServlet,int,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.charset.DefaultCharsetServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.charset.DefaultCharsetServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/charset/DefaultCharsetServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.charset.DefaultCharsetServlet
    signature: '[io.undertow.servlet.test.charset.DefaultCharsetServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.defaultservlet.GetDateFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/GetDateFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.GetDateFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getDateHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.GetDateFilter:42,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.defaultservlet.GetDateFilter:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: '[io.undertow.servlet.test.defaultservlet.GetDateFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/GetDateFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getDateHeader(String)'
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.GetDateFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.defaultservlet.GetDateFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/GetDateFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.GetDateFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.GetDateFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.GetDateFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/GetDateFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.GetDateFilter
    signature: '[io.undertow.servlet.test.defaultservlet.GetDateFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:64,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].newInstance()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:67,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:67,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:74,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:74,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:77,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:83,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:87,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:89,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:91,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:91,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:91,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].start()'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].newInstance()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:98,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:100,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:101,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:102,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:102,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:103,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:104,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:107,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testSimpleResource()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    - '[String].contains(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testSimpleResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:116,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:116,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:117,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:118,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:119,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:119,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:119,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:125,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:126,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:126,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:127,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:128,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:129,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:131,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:132,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:133,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:134,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:134,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:134,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:135,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:135,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:136,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:137,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:137,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:137,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:139,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:140,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:141,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:142,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:142,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:142,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:143,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:143,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:144,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:145,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:145,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:145,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:147,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:148,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:149,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:150,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:150,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:151,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:152,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:153,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:153,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:155,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:156,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:157,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:158,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:158,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:158,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:159,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:159,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:160,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:161,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:161,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:161,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:163,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:164,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:165,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:166,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:166,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:167,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:167,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:168,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:169,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:169,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:169,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:171,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:172,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:173,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:174,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:174,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:174,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:175,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:175,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:176,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:177,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:177,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:177,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:179,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:180,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:181,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:182,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:182,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:182,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:183,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:183,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:184,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:185,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:185,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:185,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:187,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:188,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:189,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:190,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:190,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:190,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:191,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:191,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:192,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:193,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:193,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:193,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:195,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:196,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:197,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:198,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:198,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:198,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:199,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:199,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:200,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:201,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:201,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:201,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:203,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:204,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:205,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:206,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:206,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:206,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:207,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:207,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:208,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:209,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:209,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:209,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:213,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:214,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:215,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:215,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:215,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:215,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:216,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:217,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:217,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:217,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:218,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:218,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:219,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:220,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:220,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:220,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:222,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:223,1
    - Dst: '[java.util.Date].<init>(int)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:224,1
    - Dst: '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:224,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:224,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:225,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:226,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:226,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:226,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:227,1
    - Dst: '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:227,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:228,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:229,1
    - Dst: '[org.junit.Assert].assertNull(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:229,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:232,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 217
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 234
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testRangeRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Date].<init>(int)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getFirstHeader(String)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
    - '[io.undertow.util.DateUtils].toDateString(java.util.Date)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getEntity()'
    - '[org.junit.Assert].assertNull(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - System.currentTimeMillis()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[org.apache.http.util.EntityUtils].toString(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testRangeRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:238,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:240,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:240,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:241,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:242,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:242,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:242,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:243,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:244,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:247,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testResourceWithFilter()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testResourceWithFilter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:253,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:255,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:255,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:256,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:257,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:257,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:257,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:258,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:260,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testDisallowedResource()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testDisallowedResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:266,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:268,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:268,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:269,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:270,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:270,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:270,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:272,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testNoAccessToMetaInfResource()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testNoAccessToMetaInfResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:278,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:280,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:280,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:281,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:282,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:282,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:282,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:284,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testAccessToMetaInfSubDirResource()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testAccessToMetaInfSubDirResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:290,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:292,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:292,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:293,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:294,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:294,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:294,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:296,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testAccessToWebInfSubDirResource()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testAccessToWebInfSubDirResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:302,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:304,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:304,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:304,1
    - Dst: result.getStatusLine()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:305,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:305,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:305,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:306,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:306,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:307,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:307,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:307,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:307,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:308,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:308,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:308,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:310,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:310,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:310,1
    - Dst: result.getStatusLine()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:311,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:311,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:311,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:312,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:312,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:313,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:313,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:313,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:313,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:314,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:314,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:314,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:316,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:316,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:316,1
    - Dst: result.getStatusLine()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:317,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:317,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:317,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:318,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:318,1
    - Dst: result.getFirstHeader(String)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:319,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:319,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:319,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:319,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:320,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:320,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:320,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:323,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testDirectoryListing()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - result.getStatusLine()
    - '[org.junit.Assert].assertNotNull(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[org.hamcrest.MatcherAssert].assertThat(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - result.getFirstHeader(String)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getValue()'
    - '[org.hamcrest.CoreMatchers].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testDirectoryListing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:329,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:331,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:331,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:333,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:334,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:335,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:335,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:335,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:336,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:337,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:337,1
    - Dst: result.getHeaders("Last-Modified")[0].getValue()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:339,1
    - Dst: System.out.println(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:340,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].endsWith(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:341,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:341,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:343,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:343,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:344,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:345,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:346,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:346,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:346,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:347,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:348,1
    - Dst: '[org.junit.Assert].assertFalse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:348,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:351,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 353
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testIfMoodifiedSince()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].endsWith(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertFalse(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[String].contains(String)'
    - result.getHeaders("Last-Modified")[0].getValue()
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].getStatusCode()'
    - System.out.println(io.undertow.servlet.test.defaultservlet.DefaultServletTestCase)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].testIfMoodifiedSince()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.DefaultServletTestCase
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].getAllKeys()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:72,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].before()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].getAllKeys()'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].createTempDirectory(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:80,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:82,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].newInstance()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:85,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePage(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:85,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:91,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,int,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.PathResourceManager,int)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:85,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:93,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:93,1
    - Dst: '[io.undertow.servlet.Servlets].filter(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:95,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:93,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:98,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:100,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:100,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 103
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,int,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.PathResourceManager,int)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].start()'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,int,boolean,boolean,boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.Servlets].filter(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[java.nio.file.Files].createTempDirectory(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePage(String)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].after()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:112,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:113,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:113,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:116,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:117,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:117,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:118,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:120,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:121,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:123,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:124,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:124,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:125,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:129,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:130,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:130,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:132,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:133,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:135,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testFileExistanceCheckCached()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - Thread.sleep(int)
    - '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
    - '[String].getBytes()'
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testFileExistanceCheckCached()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:141,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:143,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:144,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:147,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:148,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:149,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:149,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:150,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:151,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:153,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:153,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:155,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:156,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:157,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:157,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:157,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:158,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:159,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:161,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:163,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:164,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:165,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:165,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:165,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:166,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:167,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:170,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testFileContentsCached()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - Thread.sleep(int)
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testFileContentsCached()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:176,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:178,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:179,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:179,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:182,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:183,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:184,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:184,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:184,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:185,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:186,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:188,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:188,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:190,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:191,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:192,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:192,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:192,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:193,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:194,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:196,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:198,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:199,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:200,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:200,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:200,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:201,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:202,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:205,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testFileContentsCachedWithFilter()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - Thread.sleep(int)
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testFileContentsCachedWithFilter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:212,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:215,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:216,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:216,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:217,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:217,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:218,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:219,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:220,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:220,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:220,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:221,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:222,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:225,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testRangeRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testRangeRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:236,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:239,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:240,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:240,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:241,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:241,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:242,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:243,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:244,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:244,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:244,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:245,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:246,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:248,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 250
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testRangeRequestFileNotInCache()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testRangeRequestFileNotInCache()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:254,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:259,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:259,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:260,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:261,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:261,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:261,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:262,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:263,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:264,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:265,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:265,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:265,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:266,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:268,1
    - Dst: content.getBytes()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:269,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:269,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:271,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:271,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:272,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:273,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:273,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:273,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:274,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:275,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:276,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:277,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:277,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:277,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:278,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:280,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:282,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:282,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:283,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:284,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:284,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:284,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:285,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:285,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:286,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:287,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:288,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:288,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:288,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:289,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:289,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:291,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:293,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:293,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:294,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:295,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:295,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:295,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:296,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:296,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:297,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:298,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:299,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:299,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:299,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:300,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:300,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:302,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:304,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:304,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:305,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:306,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:306,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:306,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:307,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:308,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:309,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:310,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:310,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:310,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:311,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:313,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 116
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 315
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testWelcomePages()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - Thread.sleep(int)
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - content.getBytes()
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].testWelcomePages()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,int)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase,int)'
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:55,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].newInstance()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:58,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:58,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String,String,String)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:66,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:69,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:71,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:71,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/ServletAndResourceWelcomeFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].deploy()'
    - '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String,String,String)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].newInstance()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:79,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:81,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:82,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:83,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:83,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:88,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].testWelcomeFileRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/ServletAndResourceWelcomeFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].testWelcomeFileRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/ServletAndResourceWelcomeFileTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase
    signature: '[io.undertow.servlet.test.defaultservlet.ServletAndResourceWelcomeFileTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:56,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].newInstance()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String,String,String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:59,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:76,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:78,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:78,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:81,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:81,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:88,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:81,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:91,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:93,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:93,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String,String)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String,String,String,String)'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:103,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:104,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:104,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:105,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:106,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:109,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:110,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:110,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:111,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:112,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:114,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].testWelcomeFileRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].contains(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].testWelcomeFileRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:124,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:125,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:125,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:130,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].testWelcomeFileExtensionBasedMapping()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].testWelcomeFileExtensionBasedMapping()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:138,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:138,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:139,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:140,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:140,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:142,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:145,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].testWelcomeServletRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].testWelcomeServletRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:151,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:153,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:154,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:155,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:155,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:155,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:156,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:157,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:160,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].testWelcomeFileStarMappedPathRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].testWelcomeFileStarMappedPathRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:68,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].newInstance()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:69,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:71,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:83,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:83,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:85,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPatterns(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:85,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:74,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:88,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:90,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:90,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/SecurityRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].newInstance()'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPatterns(String,String)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String)'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:98,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].disableRedirectHandling()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:98,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].build()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:98,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:100,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:100,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:101,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:102,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:102,1
    - Dst: '[io.undertow.util.Headers.LOCATION].toString()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:103,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:103,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:104,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:105,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:105,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:105,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:108,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:109,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:110,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:110,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:112,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:112,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:113,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:114,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:114,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:115,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:117,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:117,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:118,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:118,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:118,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:118,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:119,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:120,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:121,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:121,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:122,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:122,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:124,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 55
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 126
    functionName: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].testSecurityWithWelcomeFileRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/SecurityRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].disableRedirectHandling()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getConnectionManager()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].build()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,boolean)'
    - '[String].contains(String)'
    - '[io.undertow.util.Headers.LOCATION].toString()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].testSecurityWithWelcomeFileRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:132,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].disableRedirectHandling()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:132,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].build()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:132,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:134,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:134,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:135,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:136,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:136,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:137,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:139,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:139,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:140,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:141,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:141,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:143,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:143,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:144,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:145,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:145,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:146,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:148,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:148,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:149,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:149,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:149,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:150,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:151,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:151,1
    - Dst: '[io.undertow.util.Headers.LOCATION].toString()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:152,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:152,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:153,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:154,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:154,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:154,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:155,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:157,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:157,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:158,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:158,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:158,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:158,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:159,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:160,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:161,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:161,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:161,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:162,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:162,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:164,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 166
    functionName: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].testSecurityWithoutWelcomeFileRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/SecurityRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].disableRedirectHandling()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getConnectionManager()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].build()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusLine()'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[String].equals(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase,boolean)'
    - '[io.undertow.util.Headers.LOCATION].toString()'
    - '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].testSecurityWithoutWelcomeFileRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/SecurityRedirectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase
    signature: '[io.undertow.servlet.test.defaultservlet.SecurityRedirectTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.defaultservlet.HelloFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/HelloFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.HelloFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].getWriter()'
      Src: io.undertow.servlet.test.defaultservlet.HelloFilter:41,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.HelloFilter].write(String)'
      Src: io.undertow.servlet.test.defaultservlet.HelloFilter:41,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.defaultservlet.HelloFilter:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.defaultservlet.HelloFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/HelloFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - '[io.undertow.servlet.test.defaultservlet.HelloFilter].write(String)'
    - '[jakarta.servlet.ServletResponse].getWriter()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.HelloFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.defaultservlet.HelloFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/HelloFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.HelloFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.HelloFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.HelloFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/HelloFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.HelloFilter
    signature: '[io.undertow.servlet.test.defaultservlet.HelloFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.defaultservlet.NoOpFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/NoOpFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.NoOpFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.defaultservlet.NoOpFilter:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.defaultservlet.NoOpFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/NoOpFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.NoOpFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.defaultservlet.NoOpFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/NoOpFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.NoOpFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.NoOpFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.NoOpFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/NoOpFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.NoOpFilter
    signature: '[io.undertow.servlet.test.defaultservlet.NoOpFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:51,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].newInstance()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:54,1
    - Dst: DefaultServletNoDirectoryListingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:54,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:54,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:61,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:64,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:66,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:66,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletNoDirectoryListingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase)'
    - DefaultServletNoDirectoryListingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].newInstance()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:75,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:75,1
    - Dst: result.getStatusLine()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:76,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:76,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:78,1
    - Dst: result.getStatusLine()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:79,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:79,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:81,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:81,1
    - Dst: result.getStatusLine()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:82,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:85,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].testDirectoryListing()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletNoDirectoryListingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].getStatusCode()'
    - result.getStatusLine()
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].testDirectoryListing()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletNoDirectoryListingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletNoDirectoryListingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].getAllKeys()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:79,1
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].before()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].remove(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.server.handlers.cache.DirectBufferCache].getAllKeys()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.nio.file.Files].createTempDirectory(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:87,1
    - Dst: '[java.nio.file.FileSystems].getDefault()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:91,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getFileSystem()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:91,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].equals(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:91,1
    - Dst: '[org.junit.Assume].assumeTrue(String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:90,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:94,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].newInstance()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:97,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePage(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:97,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:104,1
    - Dst: '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,int,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.PathResourceManager)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.server.handlers.resource.CachingResourceManager)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:97,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:106,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:106,1
    - Dst: '[io.undertow.servlet.Servlets].filter(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:108,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:108,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:106,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:111,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:112,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:113,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:113,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 116
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.junit.Assume].assumeTrue(String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.server.handlers.resource.CachingResourceManager)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,boolean,boolean,boolean)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getFileSystem()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].equals(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.server.handlers.resource.CachingResourceManager].<init>(int,int,io.undertow.server.handlers.cache.DirectBufferCache,io.undertow.server.handlers.resource.PathResourceManager)'
    - '[io.undertow.servlet.Servlets].filter(String)'
    - '[java.nio.file.FileSystems].getDefault()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[java.nio.file.Files].createTempDirectory(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].newInstance()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePage(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].after()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.util.FileUtils].deleteRecursive(java.nio.file.Path)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int,null)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 3
    argNames:
    - client
    - uri
    - expectedStatus
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - String
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int,null)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.currentTimeMillis()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:131,1
    - Dst: System.currentTimeMillis()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:132,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:133,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:134,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:135,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:136,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:136,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:137,1
    - Dst: TimeUnit.MILLISECONDS.sleep(int)
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - String
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - client
    - uri
    - expectedStatus
    - expectedResponse
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - String
    - int
    - String
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
    - '[String].equals(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
    - System.currentTimeMillis()
    - TimeUnit.MILLISECONDS.sleep(int)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:148,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:149,1
    - Dst: '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:151,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:152,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:153,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:153,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:153,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:154,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:156,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:157,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:157,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:160,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:159,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:162,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:164,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testFileExistanceCheckCached()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.server.session.SecureRandomSessionIdGenerator].createSessionId()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertTrue(String,boolean)'
    - '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testFileExistanceCheckCached()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:170,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:172,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:173,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:173,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:176,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:177,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:178,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:178,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:178,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:179,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:180,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:182,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:182,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:185,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:184,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:187,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:189,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testFileContentsCached()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.junit.Assert].assertTrue(String,boolean)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testFileContentsCached()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:195,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:197,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:198,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:198,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:201,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:202,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:203,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:203,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:203,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:204,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:205,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:207,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:207,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:210,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:209,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:212,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:214,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testFileContentsCachedWithFilter()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.junit.Assert].assertTrue(String,boolean)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testFileContentsCachedWithFilter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:220,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:223,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:224,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:224,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:225,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:225,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:226,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:227,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:228,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:228,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:228,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:229,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:230,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:233,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testRangeRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testRangeRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:239,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:242,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:243,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:243,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:244,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:244,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:245,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:246,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:247,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:247,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:247,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:248,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:249,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:251,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testRangeRequestFileNotInCache()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testRangeRequestFileNotInCache()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:257,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:262,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:262,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:263,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:264,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:264,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:264,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:265,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:266,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:267,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:268,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:268,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:268,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:269,1
    - Dst: '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:271,1
    - Dst: content.getBytes()
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:272,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:272,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:275,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:274,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:277,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:276,1
    - Dst: '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:279,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:282,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:281,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:284,1
    - Dst: '[org.junit.Assert].assertTrue(String,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:283,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:286,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 288
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testWelcomePages()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.nio.file.Files].delete(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[java.nio.file.Path].resolve(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,String,int)'
    - content.getBytes()
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].shutdown()'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertTrue(String,boolean)'
    - '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].waitUntilRefreshed(io.undertow.testutils.TestHttpClient,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase,int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].testWelcomePages()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      - int
      - int
      - String
      - java.nio.file.Path
      - io.undertow.server.handlers.cache.DirectBufferCache
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/DefaultServletCachingListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.cache.DirectBufferCache].<init>(int,int,int,io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase)'
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase
    signature: '[io.undertow.servlet.test.defaultservlet.DefaultServletCachingListenerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:67,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].newInstance()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:68,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:71,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String,String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:85,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:87,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:87,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:85,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:90,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:90,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:92,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:92,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:75,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:96,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].deploy()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:98,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].start()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:98,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:98,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 101
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileSecurityTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePages(String,String,String)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].deploy()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:109,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:110,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:110,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:112,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:112,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:113,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:114,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:114,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:115,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:117,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:117,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:118,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:118,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:118,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:119,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:120,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:121,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:121,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:123,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:126,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].testWelcomeFileRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileSecurityTestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase,boolean)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[String].contains(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].testWelcomeFileRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:132,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:134,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:135,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:136,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:136,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:138,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:138,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:139,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:140,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:140,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:141,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:143,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:143,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:144,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:144,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase,boolean)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:144,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:145,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:146,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:147,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:148,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:151,1
    - Dst: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].shutdown()'
      Src: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].testWelcomeServletRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileSecurityTestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getHeaders(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].assertEquals(String,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase,boolean)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase,io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].testWelcomeServletRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/defaultservlet/WelcomeFileSecurityTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase
    signature: '[io.undertow.servlet.test.defaultservlet.WelcomeFileSecurityTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.security.SendAuthTypeServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAuthType()'
      Src: io.undertow.servlet.test.security.SendAuthTypeServlet:38,1
    - Dst: '[io.undertow.servlet.test.security.SendAuthTypeServlet].getBytes()'
      Src: io.undertow.servlet.test.security.SendAuthTypeServlet:39,1
    - Dst: '[io.undertow.servlet.test.security.SendAuthTypeServlet].write(io.undertow.servlet.test.security.SendAuthTypeServlet)'
      Src: io.undertow.servlet.test.security.SendAuthTypeServlet:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: '[io.undertow.servlet.test.security.SendAuthTypeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/SendAuthTypeServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.SendAuthTypeServlet].getBytes()'
    - '[jakarta.servlet.http.HttpServletRequest].getAuthType()'
    - '[io.undertow.servlet.test.security.SendAuthTypeServlet].write(io.undertow.servlet.test.security.SendAuthTypeServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.SendAuthTypeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.SendAuthTypeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.SendAuthTypeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/SendAuthTypeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.SendAuthTypeServlet
    signature: '[io.undertow.servlet.test.security.SendAuthTypeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.security.SendSchemeServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getScheme()'
      Src: io.undertow.servlet.test.security.SendSchemeServlet:44,1
    - Dst: '[io.undertow.servlet.test.security.SendSchemeServlet].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.SendSchemeServlet:44,1
    - Dst: '[io.undertow.servlet.test.security.SendSchemeServlet].write(io.undertow.servlet.test.security.SendSchemeServlet)'
      Src: io.undertow.servlet.test.security.SendSchemeServlet:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: '[io.undertow.servlet.test.security.SendSchemeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/SendSchemeServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.SendSchemeServlet].getBytes(java.nio.charset.Charset)'
    - '[jakarta.servlet.http.HttpServletRequest].getScheme()'
    - '[io.undertow.servlet.test.security.SendSchemeServlet].write(io.undertow.servlet.test.security.SendSchemeServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.SendSchemeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.SendSchemeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.SendSchemeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/SendSchemeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.SendSchemeServlet
    signature: '[io.undertow.servlet.test.security.SendSchemeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.security.SendUsernameServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
      Src: io.undertow.servlet.test.security.SendUsernameServlet:37,1
    - Dst: '[io.undertow.servlet.test.security.SendUsernameServlet].getName()'
      Src: io.undertow.servlet.test.security.SendUsernameServlet:38,1
    - Dst: '[io.undertow.servlet.test.security.SendUsernameServlet].getBytes()'
      Src: io.undertow.servlet.test.security.SendUsernameServlet:39,1
    - Dst: '[io.undertow.servlet.test.security.SendUsernameServlet].write(io.undertow.servlet.test.security.SendUsernameServlet)'
      Src: io.undertow.servlet.test.security.SendUsernameServlet:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: '[io.undertow.servlet.test.security.SendUsernameServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/SendUsernameServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.SendUsernameServlet].getBytes()'
    - '[io.undertow.servlet.test.security.SendUsernameServlet].getName()'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
    - '[io.undertow.servlet.test.security.SendUsernameServlet].write(io.undertow.servlet.test.security.SendUsernameServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.SendUsernameServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.SendUsernameServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.SendUsernameServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/SendUsernameServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.SendUsernameServlet
    signature: '[io.undertow.servlet.test.security.SendUsernameServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParts()'
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:37,1
    - Dst: '[io.undertow.servlet.test.security.MultipartAcceptingServlet].size()'
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:39,1
    - Dst: part.getInputStream()
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:42,1
    - Dst: '[java.io.InputStreamReader].<init>(io.undertow.servlet.test.security.MultipartAcceptingServlet)'
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:42,1
    - Dst: '[java.io.BufferedReader].<init>(java.io.InputStreamReader)'
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:42,1
    - Dst: '[java.io.BufferedReader].readLine()'
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:43,1
    - Dst: '[io.undertow.servlet.test.security.MultipartAcceptingServlet].startsWith(String)'
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.security.MultipartAcceptingServlet:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.security.MultipartAcceptingServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/MultipartAcceptingServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
    - '[io.undertow.servlet.test.security.MultipartAcceptingServlet].startsWith(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getParts()'
    - part.getInputStream()
    - '[java.io.BufferedReader].readLine()'
    - '[java.io.BufferedReader].<init>(java.io.InputStreamReader)'
    - '[java.io.InputStreamReader].<init>(io.undertow.servlet.test.security.MultipartAcceptingServlet)'
    - '[io.undertow.servlet.test.security.MultipartAcceptingServlet].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.MultipartAcceptingServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.MultipartAcceptingServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.MultipartAcceptingServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/MultipartAcceptingServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.MultipartAcceptingServlet
    signature: '[io.undertow.servlet.test.security.MultipartAcceptingServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:38,1
    - Dst: '[io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:42,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getcharset(io.undertow.server.handlers.form.FormParserFactory)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.form.FormParserFactory
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Factory
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism
      static: false
      superClass: io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism
    argCount: 4
    argNames:
    - formParserFactory
    - name
    - loginPage
    - errorPage
    argTypes:
    - io.undertow.server.handlers.form.FormParserFactory
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomEncodingAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String)'
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getcharset(io.undertow.server.handlers.form.FormParserFactory)'
    linkageType: ''
    returnType: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism
    signature: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getPrivateField(io.undertow.server.handlers.form.FormParserFactory,String)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:48,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getPrivateField(io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism,String)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.form.FormParserFactory
      classConcrete: true
      classEnum: false
      classFields:
      - Factory
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism
    argCount: 1
    argNames:
    - formParserFactory
    argTypes:
    - io.undertow.server.handlers.form.FormParserFactory
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getcharset(io.undertow.server.handlers.form.FormParserFactory)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomEncodingAuthenticationMechanism.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getPrivateField(io.undertow.server.handlers.form.FormParserFactory,String)'
    - '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getPrivateField(io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism,String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getcharset(io.undertow.server.handlers.form.FormParserFactory)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Object].getClass()'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:61,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getDeclaredField(String)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:61,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getModifiers()'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:62,1
    - Dst: Modifier.isPrivate(io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism)
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:62,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].setAccessible(boolean)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:63,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].get(Object)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - Object
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - Factory
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: Object
      static: false
      superClass: io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism
    argCount: 2
    argNames:
    - object
    - fieldName
    argTypes:
    - Object
    - String
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getPrivateField(Object,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomEncodingAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].get(Object)'
    - Modifier.isPrivate(io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism)
    - '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].setAccessible(boolean)'
    - '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getModifiers()'
    - '[Object].getClass()'
    - '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getDeclaredField(String)'
    linkageType: ''
    returnType: Object
    signature: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].getPrivateField(Object,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory:75,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory:75,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory,io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory)'
      Src: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomEncodingAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism].<init>(io.undertow.server.handlers.form.FormParserFactory,String,io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory,io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory)'
    - '[java.util.Map<String,String>].get(io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomEncodingAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory
    signature: '[io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism.Factory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:54,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:61,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:67,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addAuthenticationMechanism(String,Factory)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:70,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:80,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].deploy()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:83,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].getCustomeAuth(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:85,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:86,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].undeploy()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDefaultRequestEncoding(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addAuthenticationMechanism(String,Factory)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:91,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:102,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].deploy()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:104,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].getCustomeAuth(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:106,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:107,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].undeploy()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:112,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:117,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDefaultEncoding(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addAuthenticationMechanism(String,Factory)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:111,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:122,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].deploy()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:124,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].getCustomeAuth(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:126,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:127,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].undeploy()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 70
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 131
    functionName: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].testAuthFormEncoding()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/ServletCustomAuthFormEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].getCustomeAuth(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDefaultRequestEncoding(String)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].undeploy()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDefaultEncoding(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addAuthenticationMechanism(String,Factory)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].testAuthFormEncoding()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].getDeployment()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:134,1
    - Dst: '[io.undertow.servlet.api.Deployment].getAuthenticationMechanisms()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.api.DeploymentManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - manager
    argTypes:
    - io.undertow.servlet.api.DeploymentManager
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].getCustomeAuth(io.undertow.servlet.api.DeploymentManager)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/ServletCustomAuthFormEncodingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].getDeployment()'
    - '[io.undertow.servlet.api.Deployment].getAuthenticationMechanisms()'
    linkageType: ''
    returnType: io.undertow.servlet.test.security.custom.CustomEncodingAuthenticationMechanism
    signature: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].getCustomeAuth(io.undertow.servlet.api.DeploymentManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/ServletCustomAuthFormEncodingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase
    signature: '[io.undertow.servlet.test.security.custom.ServletCustomAuthFormEncodingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:47,1
    - Dst: '[io.undertow.server.handlers.form.FormParserFactory].builder()'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:50,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:50,1
    - Dst: '[io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism].<init>(io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism,String,String,String)'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Factory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism
      static: false
      superClass: io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism
    argCount: 3
    argNames:
    - name
    - loginPage
    - errorPage
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism].<init>(String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.security.impl.BasicAuthenticationMechanism.Factory].<init>()'
    - '[io.undertow.server.handlers.form.FormParserFactory].builder()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].build()'
    - '[io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism].<init>(io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism,String,String,String)'
    linkageType: ''
    returnType: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism
    signature: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism].<init>(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestURI()'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:55,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:55,1
    - Dst: '[io.undertow.server.HttpServerExchange].getRequestMethod()'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:55,1
    - Dst: '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:55,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism].runFormAuth(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      - io.undertow.security.api.SecurityContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - Factory
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: AuthenticationMechanismOutcome
      static: false
      superClass: io.undertow.servlet.handlers.security.ServletFormAuthenticationMechanism
    argCount: 2
    argNames:
    - exchange
    - securityContext
    argTypes:
    - io.undertow.server.HttpServerExchange
    - io.undertow.security.api.SecurityContext
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism].runFormAuth(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
    - '[io.undertow.server.HttpServerExchange].getRequestURI()'
    - '[String].endsWith(String)'
    - '[io.undertow.util.HttpString].equals(io.undertow.util.HttpString)'
    - '[io.undertow.server.HttpServerExchange].getRequestMethod()'
    linkageType: ''
    returnType: AuthenticationMechanismOutcome
    signature: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism].authenticate(io.undertow.server.HttpServerExchange,io.undertow.security.api.SecurityContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,String>].get(io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory)'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory:66,1
    - Dst: '[java.util.Map<String,String>].get(io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory)'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory:66,1
    - Dst: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism].<init>(String,io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory,io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory)'
      Src: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.IdentityManager
      - io.undertow.server.handlers.form.FormParserFactory
      - java.util.Map<String,String>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.api.AuthenticationMechanism
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - mechanismName
    - identityManager
    - formParserFactory
    - properties
    argTypes:
    - String
    - io.undertow.security.idm.IdentityManager
    - io.undertow.server.handlers.form.FormParserFactory
    - java.util.Map<String,String>
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomAuthenticationMechanism.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism].<init>(String,io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory,io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory)'
    - '[java.util.Map<String,String>].get(io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory)'
    linkageType: ''
    returnType: io.undertow.security.api.AuthenticationMechanism
    signature: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory].create(String,io.undertow.security.idm.IdentityManager,io.undertow.server.handlers.form.FormParserFactory,java.util.Map<String,String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - AuthenticationMechanismFactory
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/CustomAuthenticationMechanism.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory
    signature: '[io.undertow.servlet.test.security.custom.CustomAuthenticationMechanism.Factory].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:74,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:76,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:83,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:83,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:83,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:89,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:98,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addAuthenticationMechanism(String,Factory)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:102,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].deploy()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:104,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].start()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:104,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:104,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 107
    functionName: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/ServletCustomAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].start()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].deploy()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addAuthenticationMechanism(String,Factory)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:111,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:124,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:125,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:125,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:125,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:126,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:127,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:127,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:129,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:129,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:130,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:131,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:131,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:132,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:134,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:136,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:137,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:137,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:137,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:140,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:142,1
    - Dst: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 144
    functionName: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].testServletCustomFormAuth()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/ServletCustomAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].shutdown()'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[String].startsWith(String)'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].testServletCustomFormAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/custom/ServletCustomAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase
    signature: '[io.undertow.servlet.test.security.custom.ServletCustomAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:75,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:82,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:82,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:85,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:88,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:94,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:97,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:98,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:98,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:97,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:97,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:97,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:103,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].deploy()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:105,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].start()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:105,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 108
    functionName: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/digest/DigestAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testCall(String,String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testUserName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/digest/DigestAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testCall(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testCall(String,String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testAuthType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/digest/DigestAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testCall(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testAuthType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:125,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:126,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:126,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:126,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:127,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].getHeaders(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:127,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:128,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:129,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:130,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].startsWith(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:130,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertTrue(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:130,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].substring(int)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:131,1
    - Dst: '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:131,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].get(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:132,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(String,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:132,1
    - Dst: DigestAlgorithm.MD5.getToken()
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:133,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].get(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:133,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(io.undertow.servlet.test.security.digest.DigestAuthTestCase,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:133,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].containsKey(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:134,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertTrue(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:134,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].get(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:136,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].createResponse(String,String,String,String,io.undertow.servlet.test.security.digest.DigestAuthTestCase,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:138,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:140,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:141,1
    - Dst: '[io.undertow.util.Headers.DIGEST].toString()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:142,1
    - Dst: '[StringBuilder].<init>(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:142,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:143,1
    - Dst: DigestAuthorizationToken.USERNAME.getName()
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:144,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:144,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:144,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:144,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:144,1
    - Dst: DigestAuthorizationToken.REALM.getName()
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:145,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:145,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:145,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:145,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:145,1
    - Dst: DigestAuthorizationToken.NONCE.getName()
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:146,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:146,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:146,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:146,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:146,1
    - Dst: DigestAuthorizationToken.DIGEST_URI.getName()
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:147,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:147,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:147,1
    - Dst: DigestAuthorizationToken.RESPONSE.getName()
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:148,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:148,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:148,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:148,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:148,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:150,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:150,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.digest.DigestAuthTestCase,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:150,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:151,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:152,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:152,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:152,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:154,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 69
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - expectedResponse
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 156
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 156
    functionName: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testCall(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/digest/DigestAuthTestCase.java
    functionUses: 2
    functionsReached:
    - values[0].getValue()
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].get(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[StringBuilder].append(String)'
    - DigestAuthorizationToken.NONCE.getName()
    - DigestAuthorizationToken.RESPONSE.getName()
    - '[io.undertow.security.impl.DigestWWWAuthenticateToken].parseHeader(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - DigestAuthorizationToken.USERNAME.getName()
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.digest.DigestAuthTestCase,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(String,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(String)'
    - '[StringBuilder].append(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].getHeaders(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[StringBuilder].<init>(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].startsWith(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - DigestAlgorithm.MD5.getToken()
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].createResponse(String,String,String,String,io.undertow.servlet.test.security.digest.DigestAuthTestCase,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.util.Headers.DIGEST].toString()'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].substring(int)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertTrue(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].assertEquals(io.undertow.servlet.test.security.digest.DigestAuthTestCase,io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].containsKey(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - DigestAuthorizationToken.REALM.getName()
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].append(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - DigestAuthorizationToken.DIGEST_URI.getName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].testCall(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.MessageDigest].getInstance(String)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:165,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:166,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:166,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:167,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:168,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:168,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:169,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:170,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:170,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].digest()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:172,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:172,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:174,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:174,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:175,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:176,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:176,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].digest()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:178,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:178,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte[])'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:180,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:181,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:182,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:182,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:183,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte[])'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:184,1
    - Dst: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].digest()'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:186,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexString(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.digest.DigestAuthTestCase:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - userName
    - realm
    - password
    - method
    - uri
    - nonce
    argTypes:
    - String
    - String
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].createResponse(String,String,String,String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/digest/DigestAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[io.undertow.util.HexConverter].convertToHexString(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(byte[])'
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].update(io.undertow.servlet.test.security.digest.DigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].digest()'
    - '[java.security.MessageDigest].getInstance(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].createResponse(String,String,String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.digest.DigestAuthTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/digest/DigestAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.digest.DigestAuthTestCase
    signature: '[io.undertow.servlet.test.security.digest.DigestAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:76,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:79,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:82,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:82,1
    - Dst: '[jakarta.servlet.MultipartConfigElement].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setMultipartConfig(jakarta.servlet.MultipartConfigElement)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:82,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:86,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:87,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.AuthMethodConfig].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:91,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:91,1
    - Dst: '[io.undertow.servlet.api.AuthMethodConfig].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:93,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:94,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:93,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:102,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:103,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:103,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:102,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:102,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:102,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:102,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:108,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].deploy()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:110,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].start()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:110,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:110,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 113
    functionName: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].startSSL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletCertAndDigestAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.ServletInfo].setMultipartConfig(jakarta.servlet.MultipartConfigElement)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].start()'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[jakarta.servlet.MultipartConfigElement].<init>(String)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].newInstance()'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
    - '[org.xnio.OptionMap].create(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.testutils.DefaultServer].startSSLServer(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.AuthMethodConfig].<init>(String)'
    - '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].startSSL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].stopSSL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletCertAndDigestAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].stopSSL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:123,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:128,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntityBuilder].create()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:130,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:131,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].getBytes()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:131,1
    - Dst: '[org.apache.http.entity.mime.content.ByteArrayBody].<init>(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase,String)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:131,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].addPart(String,org.apache.http.entity.mime.content.ByteArrayBody)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:131,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:132,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:132,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].build()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:133,1
    - Dst: client.setSSLContext(javax.net.ssl.SSLContext)
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:135,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:136,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:137,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:138,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:139,1
    - Dst: ("user1" + ":" + "password1").getBytes(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:139,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase,boolean)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:139,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:139,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:142,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:142,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionName: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].testMultipartRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletCertAndDigestAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].addPart(String,org.apache.http.entity.mime.content.ByteArrayBody)'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[StringBuilder].append(String)'
    - '[org.apache.http.client.methods.HttpPost].addHeader(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[org.apache.http.entity.mime.content.ByteArrayBody].<init>(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase,String)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[StringBuilder].<init>()'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].build()'
    - client.setSSLContext(javax.net.ssl.SSLContext)
    - '[StringBuilder].toString()'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].getStatusCode()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase,boolean)'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].getBytes()'
    - ("user1" + ":" + "password1").getBytes(io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase)
    - '[org.apache.http.entity.mime.MultipartEntityBuilder].create()'
    - '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].testMultipartRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletCertAndDigestAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase
    signature: '[io.undertow.servlet.test.security.basic.ServletCertAndDigestAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:71,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:73,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:78,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:81,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:82,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:83,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:85,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:86,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:87,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:88,1
    - Dst: '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:89,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:90,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:90,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:99,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:100,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:100,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:99,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:99,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:99,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:105,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].deploy()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:107,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].start()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:107,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 110
    functionName: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].newInstance()'
    - '[java.util.HashMap].put(String,String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].deploy()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:115,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:117,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:118,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:119,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:119,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:119,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:120,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getHeaders(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:120,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:121,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:122,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].startsWith(String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:123,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertTrue(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testChallengeSent()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].startsWith(String)'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getStatusLine()'
    - values[0].getValue()
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getHeaders(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertTrue(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testChallengeSent()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testUserName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testAuthType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testAuthType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:138,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:139,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:140,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testBasicAuthNonAscii()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,String,String,String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testBasicAuthNonAscii()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:145,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:147,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:148,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:150,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:151,1
    - Dst: (user + ":" + password).getBytes(java.nio.charset.Charset)
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:151,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,boolean)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:151,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:151,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:152,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:153,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:153,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:153,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:155,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:157,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:160,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - java.nio.charset.Charset
      - String
      - String
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 7
    argNames:
    - path
    - expectedResponse
    - charset
    - userAgent
    - user
    - password
    - expect
    argTypes:
    - String
    - String
    - java.nio.charset.Charset
    - String
    - String
    - String
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,java.nio.charset.Charset,String,String,String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletBasicAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - (user + ":" + password).getBytes(java.nio.charset.Charset)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].testCall(String,String,java.nio.charset.Charset,String,String,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletBasicAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase
    signature: '[io.undertow.servlet.test.security.basic.ServletBasicAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.security.idm.IdentityManager
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].startSSL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletClientCertAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].startSSL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.security.idm.IdentityManager
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].stopSSL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletClientCertAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].stopSSL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:125,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:126,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:129,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:131,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:133,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:133,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:136,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:136,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:139,1
    - Dst: '[io.undertow.servlet.api.AuthMethodConfig].<init>(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:140,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:140,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:141,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:142,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.security.idm.IdentityManager)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:141,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:150,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:151,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:151,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:150,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:150,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:150,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:150,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:156,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].deploy()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:157,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:158,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].start()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:158,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:158,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.security.idm.IdentityManager
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 123
    functionDepth: 6
    functionLinenumber: 123
    functionLinenumberEnd: 161
    functionName: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletClientCertAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.security.idm.IdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.AuthMethodConfig].<init>(String)'
    - '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testCall(String,String,int)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.security.idm.IdentityManager
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testUserName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletClientCertAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testCall(String,String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testUserName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testCall(String,String,int)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.security.idm.IdentityManager
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testAuthType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletClientCertAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testCall(String,String,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testAuthType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:175,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:176,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:178,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:179,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:180,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:181,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:181,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:181,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:183,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:185,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:188,1
    - Dst: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.security.idm.IdentityManager
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - path
    - expectedResponse
    - expect
    argTypes:
    - String
    - String
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testCall(String,String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletClientCertAuthTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase)'
    - '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].testCall(String,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.security.idm.IdentityManager
      - javax.net.ssl.SSLContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/basic/ServletClientCertAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase
    signature: '[io.undertow.servlet.test.security.basic.ServletClientCertAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].checkExpectedMechanism(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:37,1
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].checkExpectedUser(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:38,1
    - Dst: '[io.undertow.servlet.test.util.MessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].checkExpectedMechanism(jakarta.servlet.http.HttpServletRequest)'
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].checkExpectedUser(jakarta.servlet.http.HttpServletRequest)'
    - '[io.undertow.servlet.test.util.MessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doPut(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doPut(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doDelete(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doDelete(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doOptions(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doOptions(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doTrace(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].doTrace(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:69,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:71,1
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].equals(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:73,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAuthType()'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:74,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:75,1
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].equals(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:77,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAuthType()'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:78,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAuthType()'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:79,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:79,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 1
    argNames:
    - req
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].checkExpectedMechanism(jakarta.servlet.http.HttpServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getAuthType()'
    - '[IllegalStateException].<init>(String)'
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].equals(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].checkExpectedMechanism(jakarta.servlet.http.HttpServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:87,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:89,1
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].equals(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:91,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRemoteUser()'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:92,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:93,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:95,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:96,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRemoteUser()'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:99,1
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].equals(io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:99,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:100,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:102,1
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].getName()'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:102,1
    - Dst: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].equals(io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:102,1
    - Dst: '[IllegalStateException].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet:103,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 1
    argNames:
    - req
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].checkExpectedUser(jakarta.servlet.http.HttpServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[IllegalStateException].<init>(String)'
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].equals(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getUserPrincipal()'
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].getName()'
    - '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].equals(io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getRemoteUser()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].checkExpectedUser(jakarta.servlet.http.HttpServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet
      static: false
      superClass: io.undertow.servlet.test.util.MessageServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/AuthenticationMessageServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet
    signature: '[io.undertow.servlet.test.security.constraint.AuthenticationMessageServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount].<init>()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:49,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:51,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:52,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:52,1
    - Dst: '[java.util.Map<String,UserAccount>].put(String,io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - java.util.Map<String,UserAccount>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.IdentityManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - password
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 2
    functionsReached:
    - '[java.util.Map<String,UserAccount>].put(String,io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount)'
    - '[java.util.HashSet].<init>(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount].<init>()'
    - '[String].toCharArray()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - java.util.Map<String,UserAccount>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.IdentityManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - account
    argTypes:
    - io.undertow.security.idm.Account
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verify(io.undertow.security.idm.Account)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verify(io.undertow.security.idm.Account)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<String,UserAccount>].get(String)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:64,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verifyCredential(io.undertow.servlet.test.security.constraint.ServletIdentityManager,io.undertow.security.idm.Credential)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.security.idm.Credential
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - java.util.Map<String,UserAccount>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.IdentityManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - id
    - credential
    argTypes:
    - String
    - io.undertow.security.idm.Credential
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verify(String,io.undertow.security.idm.Credential)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verifyCredential(io.undertow.servlet.test.security.constraint.ServletIdentityManager,io.undertow.security.idm.Credential)'
    - '[java.util.Map<String,UserAccount>].get(String)'
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verify(String,io.undertow.security.idm.Credential)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Credential
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - java.util.Map<String,UserAccount>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.IdentityManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.security.idm.Account
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - credential
    argTypes:
    - io.undertow.security.idm.Credential
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verify(io.undertow.security.idm.Credential)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.security.idm.Account
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verify(io.undertow.security.idm.Credential)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.security.idm.PasswordCredential].getPassword()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:82,1
    - Dst: '[java.util.Arrays].equals(io.undertow.servlet.test.security.constraint.ServletIdentityManager,char[])'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:84,1
    - Dst: digCred.getAlgorithm()
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:89,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].getMessageDigest()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:89,1
    - Dst: '[io.undertow.security.idm.Account].getPrincipal()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:91,1
    - Dst: '[java.security.Principal].getName()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:91,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:91,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].update(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:91,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].update(byte)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:92,1
    - Dst: digCred.getRealm()
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:93,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:93,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].update(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:93,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].update(byte)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:94,1
    - Dst: '[String].<init>(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:96,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:96,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].update(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:96,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].digest()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:98,1
    - Dst: '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:98,1
    - Dst: digCred.verifyHA1(byte[])
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:98,1
    - Dst: '[IllegalStateException].<init>(String,io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:100,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].reset()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.security.idm.Account
      - io.undertow.security.idm.Credential
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - java.util.Map<String,UserAccount>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.IdentityManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - account
    - credential
    argTypes:
    - io.undertow.security.idm.Account
    - io.undertow.security.idm.Credential
    constantsTouched: []
    func_position:
      end: 107
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 107
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verifyCredential(io.undertow.security.idm.Account,io.undertow.security.idm.Credential)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 0
    functionsReached:
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].digest()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].getMessageDigest()'
    - '[io.undertow.util.HexConverter].convertToHexBytes(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[IllegalStateException].<init>(String,io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[java.util.Arrays].equals(io.undertow.servlet.test.security.constraint.ServletIdentityManager,char[])'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].getBytes(java.nio.charset.Charset)'
    - digCred.verifyHA1(byte[])
    - '[java.security.Principal].getName()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].update(byte)'
    - digCred.getRealm()
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].update(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[String].<init>(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.security.idm.Account].getPrincipal()'
    - digCred.getAlgorithm()
    - '[io.undertow.security.idm.PasswordCredential].getPassword()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].reset()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].verifyCredential(io.undertow.security.idm.Account,io.undertow.security.idm.Credential)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      - java.util.Map<String,UserAccount>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.security.idm.IdentityManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.constraint.ServletIdentityManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 20
    functionsReached:
    - '[java.util.HashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.security.constraint.ServletIdentityManager
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - char[]
      - Set<String>
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Account
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.security.Principal
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount].getPrincipal()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.security.Principal
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount].getPrincipal()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - char[]
      - Set<String>
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Account
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Set<String>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount].getRoles()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: java.util.Set<String>
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount].getRoles()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.security.Principal].<init>()'
      Src: io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - char[]
      - Set<String>
      - Principal
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Account
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/ServletIdentityManager.java
    functionUses: 1
    functionsReached:
    - '[java.security.Principal].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount
    signature: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager.UserAccount].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:67,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:80,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:81,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:82,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:83,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:86,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:86,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:92,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:86,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:95,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:96,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:96,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:95,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:95,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:100,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:101,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:101,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:100,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:100,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:100,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:104,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:105,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:105,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:104,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:104,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:108,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:109,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:109,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:108,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:108,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:108,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:112,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:113,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:113,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:112,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:112,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:112,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:116,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:117,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:117,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:116,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:116,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:116,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:120,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:121,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:121,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:120,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:120,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:120,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:124,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:125,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:125,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:124,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:124,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:124,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:127,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:128,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:128,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addHttpMethod(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:128,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:127,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:127,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:127,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:133,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].deploy()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:134,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:135,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].start()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:135,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:135,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:138,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:143,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityRole(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:147,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:148,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:148,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:147,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:147,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:147,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:152,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].deploy()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:153,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:154,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].start()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:154,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:154,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 111
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 156
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityRole(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.WebResourceCollection].addHttpMethod(String)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:160,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testExactMatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testExactMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:165,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testPatternMatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testPatternMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:170,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,null,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testStartStar()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,null,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testStartStar()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:175,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testStartStar2()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testStartStar2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:179,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:179,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:180,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:182,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:182,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:183,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:184,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:185,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:186,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:186,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:186,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:187,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:189,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testExtensionMatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testExtensionMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:195,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:195,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:196,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testAggregatedRoles()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testAggregatedRoles()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:201,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:203,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:203,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:204,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:205,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:205,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:205,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:206,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:208,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testUnknown()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testUnknown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:214,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:215,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:217,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:218,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:219,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:220,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:221,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:221,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:221,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:222,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:224,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:225,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:226,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:226,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:226,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:227,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getHeaders(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:227,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:228,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:229,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:229,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:230,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:232,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:233,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:233,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:233,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:233,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:234,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:235,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:235,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:235,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:236,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:238,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:239,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:239,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:239,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:239,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:240,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:241,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:242,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:243,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:243,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:243,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:245,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:246,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:248,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 57
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 250
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testHttpMethod()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - values[0].getValue()
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getHeaders(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,boolean)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].testHttpMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:253,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:255,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:256,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:257,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:257,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:257,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:258,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getHeaders(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:258,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:259,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:260,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:260,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:261,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:263,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:264,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:264,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:264,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:264,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:265,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:266,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:266,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:266,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:267,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:269,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:270,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:270,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:270,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:270,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:271,1
    - Dst: '[String].indexOf(char)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:272,1
    - Dst: '[String].substring(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:272,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:272,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:273,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:274,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:274,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:274,1
    - Dst: result.getHeaders("Expires")[0].getValue()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:277,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:277,1
    - Dst: result.getHeaders("Pragma")[0].getValue()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:278,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:278,1
    - Dst: result.getHeaders("Cache-Control")[0].getValue()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:279,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:279,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:281,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:282,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:284,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - url
    - badUser
    - goodUser
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 286
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 286
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - values[0].getValue()
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - result.getHeaders("Pragma")[0].getValue()
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - result.getHeaders("Expires")[0].getValue()
    - result.getHeaders("Cache-Control")[0].getValue()
    - '[String].substring(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].shutdown()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getHeaders(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,boolean)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[String].indexOf(char)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].assertEquals(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].getStatusCode()'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].runSimpleUrlTest(String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:61,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:64,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:74,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:75,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:76,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:77,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:80,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:80,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:80,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:89,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:90,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:90,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:89,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:89,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:94,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:95,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:95,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:94,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:94,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:94,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:98,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:99,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:99,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:98,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:98,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:98,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:102,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:103,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:103,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:102,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:102,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:102,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:106,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:107,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:107,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:106,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:106,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:110,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:111,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:111,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:110,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:110,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:110,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:114,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:115,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:115,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:114,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:114,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:114,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:118,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:119,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:119,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:118,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:118,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:118,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:121,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:122,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:122,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addHttpMethod(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:122,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:121,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:121,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:121,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:127,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].deploy()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:128,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:129,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].start()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:129,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:129,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:132,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityRole(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:131,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:141,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:142,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:142,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:141,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:141,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:141,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:146,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].deploy()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:147,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:148,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].start()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:148,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:148,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 111
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 150
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].start()'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityRole(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].newInstance()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.WebResourceCollection].addHttpMethod(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:155,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:157,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:157,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:158,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:159,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:159,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:159,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:160,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:162,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].testUnknown()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].testUnknown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:168,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:170,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:171,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:172,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:172,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:172,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:173,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:175,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].testPublic()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].testPublic()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:182,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].runSimpleUrlTest(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:182,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:183,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:185,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:185,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:186,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:187,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:188,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:189,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:189,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:189,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:190,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:192,1
    - Dst: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].testExtensionMatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].runSimpleUrlTest(String,String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].testExtensionMatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase
      static: false
      superClass: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase
    signature: '[io.undertow.servlet.test.security.constraint.SecurityConstraintUrlMappingWithUnspecifiedForbiddenTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:74,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:77,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:86,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:87,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:90,1
    - Dst: DenyUncoveredHttpMethodsTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:90,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:96,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDenyUncoveredHttpMethods(boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:100,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addHttpMethod(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addHttpMethod(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:102,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:107,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:107,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:107,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:107,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:107,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:111,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:111,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:111,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:111,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:111,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:111,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:115,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:115,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:115,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:115,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:115,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:115,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:115,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:119,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:119,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:119,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addHttpMethodOmission(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:119,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:119,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:119,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:119,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:123,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:123,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:123,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addHttpMethodOmission(String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:123,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:123,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:123,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:123,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:127,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].deploy()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:128,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:129,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].start()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:129,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:129,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 131
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].deploy()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDenyUncoveredHttpMethods(boolean)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.WebResourceCollection].addHttpMethodOmission(String)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - DenyUncoveredHttpMethodsTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.WebResourceCollection].addHttpMethod(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:135,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:136,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:138,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:139,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:140,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:141,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:142,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:143,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:146,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testVanillaSecurityConstraint()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testVanillaSecurityConstraint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:153,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:155,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:156,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:157,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:158,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:159,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:160,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:163,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testFullyCoveredConstraint()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testFullyCoveredConstraint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:169,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:170,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:172,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:173,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:174,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:175,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:176,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:177,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:180,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testFullyCoveredPermitNoRoleConstraint()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testFullyCoveredPermitNoRoleConstraint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:186,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:187,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:189,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:190,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:191,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:192,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:193,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:194,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:197,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testFullyCoveredDenyNoRoleConstraint()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testFullyCoveredDenyNoRoleConstraint()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:203,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:204,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:206,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:207,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:208,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:209,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:210,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:211,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:213,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testOmittedMethods()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(io.undertow.testutils.TestHttpClient,boolean)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testOmittedMethods()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:219,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:220,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:222,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:223,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:224,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:225,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:226,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:227,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:229,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testOmittedMethodsDenyEmptyRole()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].shutdown()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(io.undertow.testutils.TestHttpClient)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testOmittedMethodsDenyEmptyRole()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>].get()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:234,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:235,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:236,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:237,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:239,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:239,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:239,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:241,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:241,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:241,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:242,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getHeaders(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:242,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:243,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:244,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(String,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:244,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:246,1
    - Dst: '[java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>].get()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:248,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:249,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:249,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:249,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:249,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:250,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:251,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:252,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:253,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:253,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:253,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:254,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:255,1
    - Dst: '[java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>].get()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:257,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:258,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:258,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:258,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:258,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:259,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:260,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:261,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:263,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:263,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:263,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:264,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:265,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:267,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:267,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:267,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>
      - io.undertow.testutils.TestHttpClient
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - newRequest
    - client
    - noRolePermitted
    argTypes:
    - java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>
    - io.undertow.testutils.TestHttpClient
    - boolean
    constantsTouched: []
    func_position:
      end: 270
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 270
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>,io.undertow.testutils.TestHttpClient,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getHeaders(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
    - values[0].getValue()
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(String,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,boolean)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
    - '[java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>].get()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testAccessible(java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>,io.undertow.testutils.TestHttpClient,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>].get()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:274,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:275,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:276,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:276,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:276,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:277,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getHeaders(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:277,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:278,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:279,1
    - Dst: '[java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>].get()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:281,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:282,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:282,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:282,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:282,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:283,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:284,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:285,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:286,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:286,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:286,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:287,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getHeaders(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:287,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:288,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:289,1
    - Dst: '[java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>].get()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:291,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:292,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:292,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:292,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:292,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:293,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:294,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:295,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:296,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:296,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:296,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:297,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getHeaders(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:297,1
    - Dst: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:298,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
      Src: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>
      - io.undertow.testutils.TestHttpClient
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - newRequest
    - client
    argTypes:
    - java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>
    - io.undertow.testutils.TestHttpClient
    constantsTouched: []
    func_position:
      end: 300
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 300
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>,io.undertow.testutils.TestHttpClient)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getHeaders(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(String,String)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,boolean)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].addHeader(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].assertEquals(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase,io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].getStatusCode()'
    - '[java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>].get()'
    - '[io.undertow.testutils.TestHttpClient].execute(io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].testForbidden(java.util.function.Supplier<org.apache.http.client.methods.HttpRequestBase>,io.undertow.testutils.TestHttpClient)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/DenyUncoveredHttpMethodsTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase
    signature: '[io.undertow.servlet.test.security.constraint.DenyUncoveredHttpMethodsTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:65,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:68,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:74,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:77,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:77,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:77,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:86,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:87,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:87,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:86,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:86,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:90,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:91,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:91,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:90,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:90,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:94,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:95,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:95,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:94,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:94,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:94,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:98,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].deploy()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:100,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].start()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:100,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 103
    functionName: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/EmptyRoleSemanticTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].newInstance()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.api.SecurityConstraint].setEmptyRoleSemantic(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:108,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:110,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:111,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:113,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:114,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:114,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:114,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:117,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:119,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].testPermit()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/EmptyRoleSemanticTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].testPermit()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:125,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:129,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:131,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:132,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:132,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:132,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:134,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].testDeny()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/EmptyRoleSemanticTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].testDeny()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:140,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:141,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:143,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:144,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:145,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:145,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:145,1
    - Dst: '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:146,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getHeaders(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:146,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:147,1
    - Dst: values[0].getValue()
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:148,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(String,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:148,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:151,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:152,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:153,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:154,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:154,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase,boolean)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:154,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:154,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:155,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:156,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:156,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:156,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:158,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:159,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:161,1
    - Dst: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].testAuthenticate()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/EmptyRoleSemanticTestCase.java
    functionUses: 0
    functionsReached:
    - values[0].getValue()
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase,boolean)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].getHeaders(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[String].getBytes()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(int,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].assertEquals(String,io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.util.Headers.WWW_AUTHENTICATE].toString()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].testAuthenticate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/constraint/EmptyRoleSemanticTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase
    signature: '[io.undertow.servlet.test.security.constraint.EmptyRoleSemanticTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.security.form.RequestParamEchoServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.security.form.RequestParamEchoServlet:40,1
    - Dst: paramValue.getBytes()
      Src: io.undertow.servlet.test.security.form.RequestParamEchoServlet:41,1
    - Dst: '[io.undertow.servlet.test.security.form.RequestParamEchoServlet].write(io.undertow.servlet.test.security.form.RequestParamEchoServlet)'
      Src: io.undertow.servlet.test.security.form.RequestParamEchoServlet:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.security.form.RequestParamEchoServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/RequestParamEchoServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.form.RequestParamEchoServlet].write(io.undertow.servlet.test.security.form.RequestParamEchoServlet)'
    - paramValue.getBytes()
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.RequestParamEchoServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.RequestParamEchoServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.RequestParamEchoServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/RequestParamEchoServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.RequestParamEchoServlet
    signature: '[io.undertow.servlet.test.security.form.RequestParamEchoServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:74,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:82,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:83,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:83,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:82,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:82,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:86,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:86,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:88,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:89,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:89,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:88,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:88,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:93,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:98,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePage(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:105,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:97,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:108,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].deploy()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:110,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:112,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].start()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:112,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 115
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].start()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].deploy()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePage(String)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].createHttpClient()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:119,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:122,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:122,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:122,1
    - Dst: '[org.apache.http.HttpResponse].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:123,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:123,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertEquals(int,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:123,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:124,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:125,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:125,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:126,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:126,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:129,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:129,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:129,1
    - Dst: '[org.apache.http.HttpResponse].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:130,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:130,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertEquals(int,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:130,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:131,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:131,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:131,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:134,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:134,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:134,1
    - Dst: '[org.apache.http.HttpResponse].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:135,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:135,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertEquals(int,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:135,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:136,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:139,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:139,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:140,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].testParametersFromOriginalPostRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertEquals(int,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].createHttpClient()'
    - '[String].contains(String)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[String].startsWith(String)'
    - '[org.apache.http.HttpResponse].getStatusLine()'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].testParametersFromOriginalPostRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].createHttpClient()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:145,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:148,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:148,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:148,1
    - Dst: '[org.apache.http.HttpResponse].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:149,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:149,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertEquals(int,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:149,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:150,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:150,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:150,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:153,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:153,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:153,1
    - Dst: '[org.apache.http.HttpResponse].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:154,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:154,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertEquals(int,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:154,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:155,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:158,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:158,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:159,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].testSavedRequestWithWelcomeFile()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(org.apache.http.HttpResponse)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertTrue(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].assertEquals(int,io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].createHttpClient()'
    - '[String].contains(String)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[String].startsWith(String)'
    - '[org.apache.http.HttpResponse].getStatusLine()'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String,org.apache.http.message.BasicNameValuePair,org.apache.http.message.BasicNameValuePair)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].testSavedRequestWithWelcomeFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:163,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:165,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].createHttpClient()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].createHttpClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:179,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:179,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:181,1
    - Dst: '[java.util.ArrayList].<init>(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:181,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:181,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:181,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.HttpResponse
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - client
    - uri
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - String
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[java.util.ArrayList].<init>(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: org.apache.http.HttpResponse
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].executePostRequest(io.undertow.testutils.TestHttpClient,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].dumpRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].dumpRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].dumpRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].dumpRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:199,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:201,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:203,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:205,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:207,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].hasMoreElements()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:209,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].nextElement()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:210,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:211,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:211,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:212,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:215,1
    - Dst: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].write(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper)'
      Src: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].dumpRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 2
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].hasMoreElements()'
    - '[StringBuilder].toString()'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].write(io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper)'
    - '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].nextElement()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].dumpRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/SaveOriginalPostRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper
    signature: '[io.undertow.servlet.test.security.form.SaveOriginalPostRequestTestCase.RequestDumper].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:74,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:76,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:83,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:83,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:83,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:88,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:89,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:89,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:88,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:88,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:93,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:94,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:94,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:93,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:93,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:99,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:100,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:102,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:103,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:104,1
    - Dst: '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:105,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:107,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:110,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setAuthenticationMode(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:109,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:119,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].deploy()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:120,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:121,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].start()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:121,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 124
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthDefaultPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[java.util.HashMap].put(String,String)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].start()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].setAuthenticationMode(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:128,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:129,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:129,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:145,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:146,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:147,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:147,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:147,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:148,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:149,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:149,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:151,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:151,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:152,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:153,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:153,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:154,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:154,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:156,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:156,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:158,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:159,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:159,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:159,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:161,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:162,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:164,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 166
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].testServletFormAuth()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthDefaultPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[String].startsWith(String)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].testServletFormAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:170,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:171,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:171,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:186,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:187,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:188,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:188,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:189,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:190,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:190,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:190,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:191,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:192,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:192,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:194,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:194,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:195,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:196,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:196,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:197,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:197,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:199,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:201,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:202,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:202,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:202,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:204,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:205,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:207,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 209
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].testServletFormAuthWithSavedPostBody()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthDefaultPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[String].startsWith(String)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].testServletFormAuthWithSavedPostBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:213,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:214,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:214,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:231,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:231,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:232,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:233,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:233,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:234,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:234,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:236,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:236,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:238,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:239,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:239,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:239,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:241,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:242,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:244,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 246
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].testServletFormAuthWithoutSavedPostBody()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthDefaultPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].testServletFormAuthWithoutSavedPostBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthDefaultPageTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthDefaultPageTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.security.form.FormLoginServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
      Src: io.undertow.servlet.test.security.form.FormLoginServlet:35,1
    - Dst: '[io.undertow.servlet.test.security.form.FormLoginServlet].write(io.undertow.servlet.test.security.form.FormLoginServlet)'
      Src: io.undertow.servlet.test.security.form.FormLoginServlet:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.security.form.FormLoginServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/FormLoginServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.security.form.FormLoginServlet].write(io.undertow.servlet.test.security.form.FormLoginServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.FormLoginServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.form.FormLoginServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.security.form.FormLoginServlet:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.security.form.FormLoginServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/FormLoginServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.form.FormLoginServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.FormLoginServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.FormLoginServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.FormLoginServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/FormLoginServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.FormLoginServlet
    signature: '[io.undertow.servlet.test.security.form.FormLoginServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:58,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:66,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:71,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:73,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:75,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:76,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:77,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:78,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addWelcomePage(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.api.SecurityConstraint)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:93,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].deploy()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:97,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].start()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:97,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:97,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 100
    functionName: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/FormAuthenticationRootContextRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].start()'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.api.SecurityConstraint)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    - '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addWelcomePage(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:104,1
    - Dst: '[org.apache.http.client.protocol.HttpClientContext].create()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:106,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet,io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:109,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:111,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:111,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].assertEquals(int,io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:111,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:112,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].requestedUri(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase,io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:112,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:112,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:113,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:113,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].test2()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/FormAuthenticationRootContextRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].assertEquals(int,io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    - '[org.apache.http.client.protocol.HttpClientContext].create()'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].requestedUri(io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase,io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    - '[String].startsWith(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet,io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].test2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.client.protocol.HttpClientContext].getRedirectLocations()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:117,1
    - Dst: '[org.apache.http.client.protocol.HttpClientContext].getRedirectLocations()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:120,1
    - Dst: '[org.apache.http.client.protocol.HttpClientContext].getRedirectLocations()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:120,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].size()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:120,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].get(int)'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:120,1
    - Dst: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].toString()'
      Src: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.client.protocol.HttpClientContext
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - context
    - original
    argTypes:
    - org.apache.http.client.protocol.HttpClientContext
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].requestedUri(org.apache.http.client.protocol.HttpClientContext,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/FormAuthenticationRootContextRedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].get(int)'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].size()'
    - '[org.apache.http.client.protocol.HttpClientContext].getRedirectLocations()'
    - '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].toString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].requestedUri(org.apache.http.client.protocol.HttpClientContext,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/FormAuthenticationRootContextRedirectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase
    signature: '[io.undertow.servlet.test.security.form.FormAuthenticationRootContextRedirectTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:77,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:82,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:82,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:86,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:87,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:87,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:86,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:86,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:91,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:92,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:91,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:91,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:96,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:97,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:97,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:96,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:96,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:102,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:103,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:105,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:106,1
    - Dst: '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:107,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:109,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:112,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setAuthenticationMode(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:111,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:121,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].deploy()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:122,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:123,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].start()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:123,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:123,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 126
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String)'
    - '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setAuthenticationMode(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[java.util.HashMap].put(String,String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].newInstance()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:130,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:131,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:131,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:141,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:142,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:143,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:144,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:144,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:144,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:145,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:146,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:146,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:148,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:148,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:149,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:150,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:150,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:151,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:151,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:153,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:155,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:156,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:156,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:156,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:158,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:159,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:161,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 163
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].testServletFormAuth()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
    - '[String].startsWith(String)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].testServletFormAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:167,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:168,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:168,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:178,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:179,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:180,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:180,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:181,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:182,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:182,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:182,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:183,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:184,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:184,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:186,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:186,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:187,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:188,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:188,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:189,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:189,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:191,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:191,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:193,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:194,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:194,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:194,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:196,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:197,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:199,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 201
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].testServletFormAuthWithSavedPostBody()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
    - '[String].startsWith(String)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].testServletFormAuthWithSavedPostBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:205,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:206,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:206,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:223,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:223,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:224,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:225,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:225,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:226,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:226,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:228,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:228,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:230,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:231,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:231,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:231,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:233,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:234,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:236,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 238
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].testServletFormAuthWithoutSavedPostBody()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].testServletFormAuthWithoutSavedPostBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:242,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:243,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:243,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:253,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:254,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:255,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:255,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:256,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:257,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:257,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:257,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:258,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:259,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:259,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:261,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:261,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:262,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:263,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:263,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:264,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:264,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:266,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:266,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:268,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:269,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:269,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:269,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:271,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:272,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:274,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthTestCase:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 276
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].testServletFormAuthWithOriginalRequestParams()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(String,String)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusLine()'
    - '[String].startsWith(String)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].testServletFormAuthWithOriginalRequestParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.ServletFormAuthTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.ServletFormAuthTestCase
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.security.form.EchoServlet:37,1
    - Dst: '[io.undertow.servlet.test.security.form.EchoServlet].read(io.undertow.servlet.test.security.form.EchoServlet)'
      Src: io.undertow.servlet.test.security.form.EchoServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.security.form.EchoServlet:38,1
    - Dst: '[io.undertow.servlet.test.security.form.EchoServlet].write(io.undertow.servlet.test.security.form.EchoServlet,int,io.undertow.servlet.test.security.form.EchoServlet)'
      Src: io.undertow.servlet.test.security.form.EchoServlet:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.security.form.EchoServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/EchoServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.form.EchoServlet].read(io.undertow.servlet.test.security.form.EchoServlet)'
    - '[io.undertow.servlet.test.security.form.EchoServlet].write(io.undertow.servlet.test.security.form.EchoServlet,int,io.undertow.servlet.test.security.form.EchoServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.EchoServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.EchoServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.EchoServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/EchoServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.EchoServlet
    signature: '[io.undertow.servlet.test.security.form.EchoServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:75,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:80,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:80,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:85,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:85,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:89,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:89,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:89,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:94,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:95,1
    - Dst: '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:95,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:94,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:94,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:100,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:101,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.api.ServletSessionConfig].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:104,1
    - Dst: '[java.util.Collections].singleton(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:104,1
    - Dst: '[io.undertow.servlet.api.ServletSessionConfig].setSessionTrackingModes(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setServletSessionConfig(io.undertow.servlet.api.ServletSessionConfig)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:105,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setAuthenticationMode(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:111,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:103,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:114,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].deploy()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:115,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:116,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].start()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:116,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 119
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthURLRewriteTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setAuthenticationMode(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].setServletSecurityInfo(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[java.util.Collections].singleton(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletSessionConfig].setSessionTrackingModes(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setServletSessionConfig(io.undertow.servlet.api.ServletSessionConfig)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].start()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].<init>()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].deploy()'
    - '[io.undertow.servlet.api.ServletSecurityInfo].addRoleAllowed(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String,String,String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.ServletSessionConfig].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:123,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:134,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:135,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:136,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:137,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:137,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:137,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:138,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:139,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:139,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:141,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:141,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:142,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:143,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:143,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:144,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:146,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:146,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:148,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:149,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:149,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:149,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:151,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:154,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 156
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].testServletFormAuth()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthURLRewriteTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[String].startsWith(String)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].shutdown()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].testServletFormAuth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:160,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:161,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:161,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:171,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:172,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:173,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:173,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:174,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:175,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:175,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:175,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:176,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:177,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:177,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:179,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:179,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:180,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:181,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:181,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:182,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:184,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:184,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:186,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:187,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:187,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:187,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:189,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:190,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:192,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 194
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].testServletFormAuthWithSavedPostBody()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthURLRewriteTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[String].startsWith(String)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].shutdown()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].testServletFormAuthWithSavedPostBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:199,1
    - Dst: '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:200,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:200,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:210,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:211,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:212,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:212,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:213,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:214,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:214,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:214,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:215,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:216,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:216,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:218,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:218,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:219,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:220,1
    - Dst: '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:220,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:221,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:223,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:223,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:225,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:226,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:226,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:226,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:228,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:229,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:231,1
    - Dst: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 233
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].testServletFormAuthWithOriginalRequestParams()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthURLRewriteTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[org.apache.http.impl.client.DefaultRedirectStrategy].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].assertEquals(int,io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[String].startsWith(String)'
    - '[java.util.ArrayList].addAll(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].setRedirectStrategy(org.apache.http.impl.client.DefaultRedirectStrategy)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].shutdown()'
    - '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].getStatusLine()'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].testServletFormAuthWithOriginalRequestParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/form/ServletFormAuthURLRewriteTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase
    signature: '[io.undertow.servlet.test.security.form.ServletFormAuthURLRewriteTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].setupPathHandler()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:53,1
    - Dst: '[io.undertow.server.handlers.SSLHeaderHandler].<init>(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SSLHeaderHandler)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:57,1
    - Dst: SSLMetaDataTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:59,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].getResourceAsStream(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:59,1
    - Dst: '[java.security.KeyStore].getInstance(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:60,1
    - Dst: '[String].toCharArray()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:61,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].load(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:61,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].getCertificate(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.security.cert.X509Certificate
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.SSLHeaderHandler)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].getResourceAsStream(String)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].load(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    - '[io.undertow.server.handlers.SSLHeaderHandler].<init>(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    - SSLMetaDataTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].getCertificate(String)'
    - '[String].toCharArray()'
    - '[java.security.KeyStore].getInstance(String)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].setupPathHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Base64].getMimeEncoder()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:67,1
    - Dst: '[java.security.cert.X509Certificate].getEncoded()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:68,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].encodeToString(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:68,1
    - Dst: cert.replace(String,String)
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:69,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:75,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:76,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:77,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:78,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:79,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:81,1
    - Dst: '[java.security.cert.X509Certificate].getSubjectDN()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:82,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].toString()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:82,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:84,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:86,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:88,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.security.cert.X509Certificate
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].testWithHeaders()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.security.cert.X509Certificate].getSubjectDN()'
    - '[java.security.cert.X509Certificate].getEncoded()'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].encodeToString(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    - '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    - cert.replace(String,String)
    - '[java.util.Base64].getMimeEncoder()'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].toString()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].testWithHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:99,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:100,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:101,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:104,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:106,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:107,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:108,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.security.cert.X509Certificate
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].testNoCertWithHeaders()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataProxyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].internalTest(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    - '[org.apache.http.message.BasicHeader].<init>(String,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].testNoCertWithHeaders()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.security.cert.X509Certificate
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase
      static: false
      superClass: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataProxyTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataProxyTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:41,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].equals(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:42,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].toString()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:42,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].write(io.undertow.servlet.test.security.ssl.SSLAttributesServlet)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:43,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].equals(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:44,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].toString()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:44,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].write(io.undertow.servlet.test.security.ssl.SSLAttributesServlet)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:45,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].equals(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:46,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].toString()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:46,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].write(io.undertow.servlet.test.security.ssl.SSLAttributesServlet)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:46,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:47,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].equals(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:47,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:48,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].toString()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:48,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].write(io.undertow.servlet.test.security.ssl.SSLAttributesServlet)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:48,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:49,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].equals(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:49,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:50,1
    - Dst: attribute[0].getSerialNumber()
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:52,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].toString()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:52,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].write(io.undertow.servlet.test.security.ssl.SSLAttributesServlet)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:52,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:54,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].equals(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:54,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:55,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].write()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:56,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].close()'
      Src: io.undertow.servlet.test.security.ssl.SSLAttributesServlet:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLAttributesServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].write(io.undertow.servlet.test.security.ssl.SSLAttributesServlet)'
    - '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].equals(String)'
    - attribute[0].getSerialNumber()
    - '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
    - '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].close()'
    - '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].toString()'
    - '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].write()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.ssl.SSLAttributesServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLAttributesServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.ssl.SSLAttributesServlet
    signature: '[io.undertow.servlet.test.security.ssl.SSLAttributesServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:53,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:55,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:66,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:66,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:74,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].deploy()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:76,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].start()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:76,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.server.handlers.PathHandler
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].setupPathHandler()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].start()'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: io.undertow.server.handlers.PathHandler
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].setupPathHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].setupPathHandler()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 7
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].setupPathHandler()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].cleanUp()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].cleanUp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:93,1
    - Dst: '[org.junit.Assert].assertTrue(String,int)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:94,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:95,1
    - Dst: '[String].charAt(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:96,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testSessionId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(String,int)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
    - '[String].charAt(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
    - '[String].length()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 7
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testCipherSuite()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testCipherSuite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 7
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testKeySize()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testKeySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 7
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testCert()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testCert()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testCertDn()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].testCertDn()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:123,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeaders(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:129,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:130,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:131,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:131,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].assertEquals(int,io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:131,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:132,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:133,1
    - Dst: '[org.junit.Assert].assertTrue(int)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:133,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:136,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 5
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[org.apache.http.client.methods.HttpGet].setHeaders(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].assertEquals(int,io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertTrue(int)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].internalTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:60,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:62,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:70,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setConfidentialPortManager(io.undertow.servlet.test.util.TestConfidentialPortManager)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:70,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:79,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:79,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setTransportGuaranteeType(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:85,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:85,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].setTransportGuaranteeType(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:90,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].deploy()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:92,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].start()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:92,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 95
    functionName: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/ConfidentialityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].newInstance()'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.api.SecurityConstraint].setTransportGuaranteeType(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setConfidentialPortManager(io.undertow.servlet.test.util.TestConfidentialPortManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].deploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].cleanUp()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/ConfidentialityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].cleanUp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].internalTest(String,String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 7
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].testClear()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/ConfidentialityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].internalTest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].testClear()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].internalTest(String,String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 7
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].testIntegral()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/ConfidentialityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].internalTest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].testIntegral()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].internalTest(String,String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 7
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].testConfidential()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/ConfidentialityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].internalTest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].testConfidential()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:118,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:121,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:124,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:125,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:125,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:125,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:129,1
    - Dst: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - expectedScheme
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].internalTest(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/ConfidentialityConstraintUrlMappingTestCase.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].assertEquals(int,io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase)'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].getStatusLine()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].internalTest(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/ConfidentialityConstraintUrlMappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase
    signature: '[io.undertow.servlet.test.security.ssl.ConfidentialityConstraintUrlMappingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[javax.net.ssl.SSLContext].getDefault()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:41,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].createSSLEngine()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:42,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].setUseClientMode(boolean)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:43,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].createSSLEngine()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:44,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].setUseClientMode(boolean)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:45,1
    - Dst: '[java.nio.ByteBuffer].wrap()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:47,1
    - Dst: '[java.nio.ByteBuffer].allocate(int,int)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:50,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].unwrap(io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase)'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:52,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].clear()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:53,1
    - Dst: '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].setup()'
      Src: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 8
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataWithExpandedBufferTestCase.java
    functionUses: 0
    functionsReached:
    - '[javax.net.ssl.SSLContext].getDefault()'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase].setup()'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].clear()'
    - '[java.nio.ByteBuffer].allocate(int,int)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].unwrap(io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase,io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase)'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].createSSLEngine()'
    - '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].setUseClientMode(boolean)'
    - '[java.nio.ByteBuffer].wrap()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase
      static: false
      superClass: io.undertow.servlet.test.security.ssl.SSLMetaDataTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/ssl/SSLMetaDataWithExpandedBufferTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase
    signature: '[io.undertow.servlet.test.security.ssl.SSLMetaDataWithExpandedBufferTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:60,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].newInstance()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:63,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:66,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:67,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:68,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:71,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:82,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].deploy()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:84,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].start()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:84,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:84,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 87
    functionName: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/login/ServletLoginTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.security.login.ServletLoginTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.security.login.ServletLoginTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
    - '[io.undertow.servlet.test.security.login.ServletLoginTestCase].deploy()'
    - '[io.undertow.servlet.test.security.login.ServletLoginTestCase].newInstance()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.security.login.ServletLoginTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.security.login.ServletLoginTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:91,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:95,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:97,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:98,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:98,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].assertEquals(int,io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:98,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:99,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:101,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:104,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:105,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:105,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].assertEquals(int,io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:105,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:107,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:110,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:111,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:111,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].assertEquals(int,io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:111,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:115,1
    - Dst: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].shutdown()'
      Src: io.undertow.servlet.test.security.login.ServletLoginTestCase:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 117
    functionName: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].testHttpMethod()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/login/ServletLoginTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.servlet.test.security.login.ServletLoginTestCase].assertEquals(int,io.undertow.servlet.test.security.login.ServletLoginTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.security.login.ServletLoginTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.security.login.ServletLoginTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.security.login.ServletLoginTestCase)'
    - '[io.undertow.servlet.test.security.login.ServletLoginTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].testHttpMethod()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.login.ServletLoginTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/login/ServletLoginTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.login.ServletLoginTestCase
    signature: '[io.undertow.servlet.test.security.login.ServletLoginTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.security.login.LoginFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/login/LoginFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.login.LoginFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: req.getHeader(String)
      Src: io.undertow.servlet.test.security.login.LoginFilter:46,1
    - Dst: req.getHeader(String)
      Src: io.undertow.servlet.test.security.login.LoginFilter:47,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.security.login.LoginFilter:49,1
    - Dst: req.login(io.undertow.servlet.test.security.login.LoginFilter,io.undertow.servlet.test.security.login.LoginFilter)
      Src: io.undertow.servlet.test.security.login.LoginFilter:53,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.security.login.LoginFilter:54,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.security.login.LoginFilter:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: '[io.undertow.servlet.test.security.login.LoginFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/login/LoginFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - req.login(io.undertow.servlet.test.security.login.LoginFilter,io.undertow.servlet.test.security.login.LoginFilter)
    - req.getHeader(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.login.LoginFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.servlet.test.security.login.LoginFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/login/LoginFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.security.login.LoginFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.security.login.LoginFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.security.login.LoginFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/security/login/LoginFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.security.login.LoginFilter
    signature: '[io.undertow.servlet.test.security.login.LoginFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet:33,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet].contains(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet:33,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet:34,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet:34,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet].write(io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet:34,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentLength(int)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - request
    - response
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectWithContentLengthServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet].write(io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].setContentLength(int)'
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    - '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet].contains(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectWithContentLengthServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet
    signature: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:37,1
    - Dst: System.out.println(io.undertow.servlet.test.redirect.RelativeRedirectServlet)
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:38,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServlet].contains(String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:39,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServlet].write(io.undertow.servlet.test.redirect.RelativeRedirectServlet)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.redirect.RelativeRedirectServlet)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServlet:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.redirect.RelativeRedirectServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RelativeRedirectServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServlet].write(io.undertow.servlet.test.redirect.RelativeRedirectServlet)'
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServlet].contains(String)'
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.redirect.RelativeRedirectServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    - '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
    - System.out.println(io.undertow.servlet.test.redirect.RelativeRedirectServlet)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RelativeRedirectServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.redirect.RelativeRedirectServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.redirect.RelativeRedirectServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RelativeRedirectServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.redirect.RelativeRedirectServlet
    signature: '[io.undertow.servlet.test.redirect.RelativeRedirectServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:50,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].newInstance()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:51,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:52,1
    - Dst: RedirectWithContentLengthTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:53,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:52,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].servlet(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:58,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:52,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:60,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].deploy()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:62,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].start()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:62,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectWithContentLengthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].start()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - RedirectWithContentLengthTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].servlet(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:68,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:70,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:73,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:74,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:74,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:74,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:75,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:76,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:77,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:78,1
    - Dst: expectedBody.length()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:79,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:79,1
    - Dst: Integer.valueOf(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:79,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].intValue()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:79,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:81,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].shutdown()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].testServletRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectWithContentLengthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].intValue()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,String)'
    - expectedBody.length()
    - Integer.valueOf(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusCode()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].testServletRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:88,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:89,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].disableRedirectHandling()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:89,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].build()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:89,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:90,1
    - Dst: client.execute(org.apache.http.client.methods.HttpGet)
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:91,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:92,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:92,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:92,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:93,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:93,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:94,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:95,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:96,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:96,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:96,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:97,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:98,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:99,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].testServletRedirectNoFollow()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectWithContentLengthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].build()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - client.execute(org.apache.http.client.methods.HttpGet)
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusLine()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusCode()'
    - header[0].getValue()
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].disableRedirectHandling()'
    - Integer.parseInt(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].testServletRedirectNoFollow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:106,1
    - Dst: '[org.apache.http.client.methods.HttpHead].<init>(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:109,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:110,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:110,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:111,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:111,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:111,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:112,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:113,1
    - Dst: expectedBody.length()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:114,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:114,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:114,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:116,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].shutdown()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].testServletRedirectHead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectWithContentLengthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpHead)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusLine()'
    - expectedBody.length()
    - '[org.apache.http.client.methods.HttpHead].<init>(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusCode()'
    - header[0].getValue()
    - Integer.parseInt(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].shutdown()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].testServletRedirectHead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:122,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:123,1
    - Dst: '[org.apache.http.impl.client.HttpClientBuilder].create()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:124,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].disableRedirectHandling()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:124,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].build()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:124,1
    - Dst: '[org.apache.http.client.methods.HttpHead].<init>(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:125,1
    - Dst: client.execute(org.apache.http.client.methods.HttpHead)
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:126,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:127,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:127,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:127,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:128,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:128,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:129,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:130,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:131,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:131,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:131,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:132,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:133,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:134,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].testServletRedirectHeadNoFollow()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectWithContentLengthTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(int,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - client.execute(org.apache.http.client.methods.HttpHead)
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].build()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusLine()'
    - '[org.apache.http.impl.client.HttpClientBuilder].create()'
    - '[org.apache.http.client.methods.HttpHead].<init>(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].disableRedirectHandling()'
    - header[0].getValue()
    - Integer.parseInt(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase,io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].testServletRedirectHeadNoFollow()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectWithContentLengthTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase
    signature: '[io.undertow.servlet.test.redirect.RedirectWithContentLengthTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:52,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].newInstance()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:53,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:54,1
    - Dst: RedirectEncodedToSubPathTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:54,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].servlet(String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:60,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:54,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:62,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].deploy()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:65,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].start()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:65,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:65,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:67,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectEncodedToSubPathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - RedirectEncodedToSubPathTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].servlet(String)'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].addMapping(String)'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[RuntimeException].<init>(io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].newInstance()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].runtest(String,String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].testServletRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectEncodedToSubPathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].runtest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].testServletRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:83,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:84,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:89,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].shutdown()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - request
    - expectedBody
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].runtest(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectEncodedToSubPathTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].runtest(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectEncodedToSubPathTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase
    signature: '[io.undertow.servlet.test.redirect.RedirectEncodedToSubPathTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:53,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].newInstance()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:55,1
    - Dst: RedirectEncodedToSubPathTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:55,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].servlet(String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:61,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:55,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:63,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].deploy()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:66,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].start()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:66,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:66,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RelativeRedirectServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].addMapping(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[RuntimeException].<init>(io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].newInstance()'
    - RedirectEncodedToSubPathTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].servlet(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].runtest(String,String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].testServletRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RelativeRedirectServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].runtest(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].testServletRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:83,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:84,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:85,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:85,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:90,1
    - Dst: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - request
    - expectedBody
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].runtest(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RelativeRedirectServletTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].runtest(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RelativeRedirectServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase
    signature: '[io.undertow.servlet.test.redirect.RelativeRedirectServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:37,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].contains(String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:38,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].contains(String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:39,1
    - Dst: '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].write(io.undertow.servlet.test.redirect.RedirectEncodedServlet)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.redirect.RedirectEncodedServlet)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:41,1
    - Dst: '[java.net.URLEncoder].encode(String,String)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(io.undertow.servlet.test.redirect.RedirectEncodedServlet)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.redirect.RedirectEncodedServlet)'
      Src: io.undertow.servlet.test.redirect.RedirectEncodedServlet:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectEncodedServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.redirect.RedirectEncodedServlet)'
    - '[java.net.URLEncoder].encode(String,String)'
    - '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(io.undertow.servlet.test.redirect.RedirectEncodedServlet)'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].write(io.undertow.servlet.test.redirect.RedirectEncodedServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    - '[jakarta.servlet.http.HttpServletResponse].encodeRedirectURL(String)'
    - '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].contains(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.redirect.RedirectEncodedServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/redirect/RedirectEncodedServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.redirect.RedirectEncodedServlet
    signature: '[io.undertow.servlet.test.redirect.RedirectEncodedServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:55,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:70,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/compat/rewrite/RewriteTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.ServletExtension].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:79,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:80,1
    - Dst: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:81,1
    - Dst: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.compat.rewrite.RewriteTestCase)'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:81,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.compat.rewrite.RewriteTestCase)'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:86,1
    - Dst: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].shutdown()'
      Src: io.undertow.servlet.test.compat.rewrite.RewriteTestCase:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].testRewrite()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/compat/rewrite/RewriteTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.compat.rewrite.RewriteTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.compat.rewrite.RewriteTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].testRewrite()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.compat.rewrite.RewriteTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/compat/rewrite/RewriteTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.compat.rewrite.RewriteTestCase
    signature: '[io.undertow.servlet.test.compat.rewrite.RewriteTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:60,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].newInstance()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:63,1
    - Dst: GetResourceTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:63,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:70,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:73,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].deploy()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:75,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].start()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:75,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/servletcontext/GetResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].newInstance()'
    - GetResourceTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].start()'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:84,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:85,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:86,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:86,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:91,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].shutdown()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].testGetResource()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/servletcontext/GetResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].testGetResource()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:97,1
    - Dst: '[java.net.URLEncoder].encode(String,String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:99,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:99,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:100,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:101,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:101,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:106,1
    - Dst: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].shutdown()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].testGetResourceSpecialCharacterInFileName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/servletcontext/GetResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.net.URLEncoder].encode(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].testGetResourceSpecialCharacterInFileName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:112,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:113,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.servlet.test.servletcontext.GetResourceTestCase,int)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:113,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.servlet.test.servletcontext.GetResourceTestCase,String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:114,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:115,1
    - Dst: '[java.nio.file.Files].write(io.undertow.servlet.test.servletcontext.GetResourceTestCase,io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:115,1
    - Dst: '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:116,1
    - Dst: '[io.undertow.server.handlers.resource.Resource].getUrl()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:117,1
    - Dst: '[java.net.URL].openStream()'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:117,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.servletcontext.GetResourceTestCase:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].testSpecialCharacterInFileURL()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/servletcontext/GetResourceTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.nio.file.Paths].get(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[java.nio.file.Files].write(io.undertow.servlet.test.servletcontext.GetResourceTestCase,io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].<init>(io.undertow.servlet.test.servletcontext.GetResourceTestCase,int)'
    - '[io.undertow.server.handlers.resource.PathResourceManager].getResource(String)'
    - '[java.nio.file.Paths].get(io.undertow.servlet.test.servletcontext.GetResourceTestCase,String)'
    - '[io.undertow.server.handlers.resource.Resource].getUrl()'
    - '[java.net.URL].openStream()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[String].getBytes()'
    - System.getProperty(String)
    - '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.servletcontext.GetResourceTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].testSpecialCharacterInFileURL()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.servletcontext.GetResourceTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/servletcontext/GetResourceTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.servletcontext.GetResourceTestCase
    signature: '[io.undertow.servlet.test.servletcontext.GetResourceTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.servletcontext.ReadFileServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.servletcontext.ReadFileServlet:39,1
    - Dst: '[io.undertow.servlet.test.servletcontext.ReadFileServlet].getResource(io.undertow.servlet.test.servletcontext.ReadFileServlet)'
      Src: io.undertow.servlet.test.servletcontext.ReadFileServlet:39,1
    - Dst: '[io.undertow.servlet.test.servletcontext.ReadFileServlet].openStream()'
      Src: io.undertow.servlet.test.servletcontext.ReadFileServlet:40,1
    - Dst: '[io.undertow.servlet.test.servletcontext.ReadFileServlet].read(io.undertow.servlet.test.servletcontext.ReadFileServlet)'
      Src: io.undertow.servlet.test.servletcontext.ReadFileServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.servletcontext.ReadFileServlet:45,1
    - Dst: '[io.undertow.servlet.test.servletcontext.ReadFileServlet].write(io.undertow.servlet.test.servletcontext.ReadFileServlet,int,io.undertow.servlet.test.servletcontext.ReadFileServlet)'
      Src: io.undertow.servlet.test.servletcontext.ReadFileServlet:45,1
    - Dst: '[org.xnio.IoUtils].safeClose(io.undertow.servlet.test.servletcontext.ReadFileServlet)'
      Src: io.undertow.servlet.test.servletcontext.ReadFileServlet:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.servletcontext.ReadFileServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/servletcontext/ReadFileServlet.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.IoUtils].safeClose(io.undertow.servlet.test.servletcontext.ReadFileServlet)'
    - '[io.undertow.servlet.test.servletcontext.ReadFileServlet].write(io.undertow.servlet.test.servletcontext.ReadFileServlet,int,io.undertow.servlet.test.servletcontext.ReadFileServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    - '[io.undertow.servlet.test.servletcontext.ReadFileServlet].read(io.undertow.servlet.test.servletcontext.ReadFileServlet)'
    - '[io.undertow.servlet.test.servletcontext.ReadFileServlet].getResource(io.undertow.servlet.test.servletcontext.ReadFileServlet)'
    - '[io.undertow.servlet.test.servletcontext.ReadFileServlet].openStream()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.servletcontext.ReadFileServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.servletcontext.ReadFileServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.servletcontext.ReadFileServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/servletcontext/ReadFileServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.servletcontext.ReadFileServlet
    signature: '[io.undertow.servlet.test.servletcontext.ReadFileServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:38,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:39,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:46,1
    - Dst: '[io.undertow.servlet.test.response.cookies.AddCookiesServlet].append(String)'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:46,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:46,1
    - Dst: '[io.undertow.servlet.test.response.cookies.AddCookiesServlet].append(io.undertow.servlet.test.response.cookies.AddCookiesServlet)'
      Src: io.undertow.servlet.test.response.cookies.AddCookiesServlet:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.response.cookies.AddCookiesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/AddCookiesServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.cookies.AddCookiesServlet].append(io.undertow.servlet.test.response.cookies.AddCookiesServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.Cookie].setPath(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
    - '[io.undertow.servlet.test.response.cookies.AddCookiesServlet].append(String)'
    - '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
    - '[jakarta.servlet.http.Cookie].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.AddCookiesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.cookies.AddCookiesServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.cookies.AddCookiesServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/AddCookiesServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.cookies.AddCookiesServlet
    signature: '[io.undertow.servlet.test.response.cookies.AddCookiesServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:38,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:39,1
    - Dst: '[jakarta.servlet.http.Cookie].setMaxAge(int)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:40,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:42,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:43,1
    - Dst: '[jakarta.servlet.http.Cookie].setMaxAge(int)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:44,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:46,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:47,1
    - Dst: '[jakarta.servlet.http.Cookie].setMaxAge(int)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:48,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:50,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:51,1
    - Dst: '[jakarta.servlet.http.Cookie].setMaxAge(int)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:52,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:54,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:55,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:56,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:57,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getSession()'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:60,1
    - Dst: '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].setAttribute(String,boolean)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:60,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:62,1
    - Dst: '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].append(String)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:62,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:62,1
    - Dst: '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].append(io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet)'
      Src: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/JSessionIDCookiesServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.Cookie].setPath(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getSession()'
    - '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
    - '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].append(io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet)'
    - '[jakarta.servlet.http.Cookie].setMaxAge(int)'
    - '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].append(String)'
    - '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].setAttribute(String,boolean)'
    - '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
    - '[jakarta.servlet.http.Cookie].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/JSessionIDCookiesServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet
    signature: '[io.undertow.servlet.test.response.cookies.JSessionIDCookiesServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:40,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:41,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:43,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:44,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:46,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:47,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:48,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:50,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:51,1
    - Dst: '[jakarta.servlet.http.Cookie].setDomain(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:52,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:54,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:55,1
    - Dst: '[jakarta.servlet.http.Cookie].setDomain(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:56,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:58,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:59,1
    - Dst: '[jakarta.servlet.http.Cookie].setDomain(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:60,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:62,1
    - Dst: '[jakarta.servlet.http.Cookie].setDomain(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:63,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:65,1
    - Dst: '[jakarta.servlet.http.Cookie].setDomain(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:66,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:68,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:69,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:70,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:71,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:72,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:73,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:74,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:75,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:76,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:77,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getSession()'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:80,1
    - Dst: '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].setAttribute(String,boolean)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:80,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:82,1
    - Dst: '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].append(String)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:82,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:82,1
    - Dst: '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].append(io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet)'
      Src: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 83
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 83
    functionName: '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/OverwriteCookiesServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].append(io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet)'
    - '[jakarta.servlet.http.Cookie].setPath(String)'
    - '[jakarta.servlet.http.Cookie].setDomain(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getSession()'
    - '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
    - '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].setAttribute(String,boolean)'
    - '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].append(String)'
    - '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
    - '[jakarta.servlet.http.Cookie].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/OverwriteCookiesServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet
    signature: '[io.undertow.servlet.test.response.cookies.OverwriteCookiesServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:55,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:55,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:59,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:65,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:67,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:67,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:68,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:69,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:69,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:69,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:71,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:72,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:74,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:75,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:76,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:76,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:77,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:77,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:79,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].addCookies()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].addCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:88,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:89,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:89,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:89,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:91,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:92,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:94,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:95,1
    - Dst: '[java.util.Comparator].comparing()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:96,1
    - Dst: '[java.util.Arrays].sort(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:96,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:97,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:97,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:98,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:98,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:99,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:99,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:100,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:100,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:101,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:101,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:102,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:102,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:103,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:103,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:104,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:107,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].duplicateCookies()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusCode()'
    - '[java.util.Arrays].sort(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].shutdown()'
    - '[java.util.Comparator].comparing()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].duplicateCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:115,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:116,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:117,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:117,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:117,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:119,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:120,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:122,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:123,1
    - Dst: '[java.util.Comparator].comparing()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:124,1
    - Dst: '[java.util.Arrays].sort(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:124,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersMatchesValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:125,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:125,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:126,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:126,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:127,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:127,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:128,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:128,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:129,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:129,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:132,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].overwriteCookies()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusCode()'
    - '[java.util.Arrays].sort(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersMatchesValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].shutdown()'
    - '[java.util.Comparator].comparing()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].overwriteCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:138,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:140,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:140,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:141,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:142,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:142,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:142,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:144,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:145,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:147,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:148,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValueStartingWithPrefix(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:149,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:149,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValueStartingWithPrefix(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:150,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:150,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersMatchesValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:151,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:151,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:153,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].jsessionIdCookies()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertTrue(boolean)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(int,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValueStartingWithPrefix(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersMatchesValue(String,io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].jsessionIdCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h.getValue()
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:160,1
    - Dst: '[String].equalsIgnoreCase(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Header[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - value
    - setCookieHeaders
    argTypes:
    - String
    - Header[]
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,Header[])'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[String].equalsIgnoreCase(io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase)'
    - h.getValue()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValue(String,Header[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h.getValue()
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:168,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].startsWith(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Header[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - prefix
    - setCookieHeaders
    argTypes:
    - String
    - Header[]
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValueStartingWithPrefix(String,Header[])'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - h.getValue()
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].startsWith(String)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersContainsValueStartingWithPrefix(String,Header[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h.getValue()
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:176,1
    - Dst: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].matches(String)'
      Src: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - Header[]
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - regexp
    - setCookieHeaders
    argTypes:
    - String
    - Header[]
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersMatchesValue(String,Header[])'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].matches(String)'
    - h.getValue()
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].setCookieHeadersMatchesValue(String,Header[])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/ResponseCookiesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase
    signature: '[io.undertow.servlet.test.response.cookies.ResponseCookiesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:38,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:39,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:41,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:42,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:44,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:45,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:47,1
    - Dst: '[jakarta.servlet.http.Cookie].setPath(String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:48,1
    - Dst: '[jakarta.servlet.http.Cookie].setDomain(String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:49,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:51,1
    - Dst: '[jakarta.servlet.http.Cookie].setDomain(String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:52,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:54,1
    - Dst: '[jakarta.servlet.http.Cookie].setDomain(String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:55,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:57,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:60,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:61,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:62,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:63,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:64,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:65,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:66,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:68,1
    - Dst: '[io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet].append(String)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:68,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:68,1
    - Dst: '[io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet].append(io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet)'
      Src: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 69
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 69
    functionName: '[io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/DuplicateCookiesServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.Cookie].setPath(String)'
    - '[jakarta.servlet.http.Cookie].setDomain(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
    - '[io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet].append(String)'
    - '[io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet].append(io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
    - '[jakarta.servlet.http.Cookie].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/cookies/DuplicateCookiesServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet
    signature: '[io.undertow.servlet.test.response.cookies.DuplicateCookiesServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet:39,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].equals(io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet:40,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].contentLengthFlush(jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet:45,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].readLine(int,int)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet:46,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].close()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet:46,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.response.writer.ResponseWriterServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterOnPostServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].close()'
    - '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].equals(io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].contentLengthFlush(jakarta.servlet.http.HttpServletResponse)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].readLine(int,int)'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Throwable
      static: true
      superClass: io.undertow.servlet.test.response.writer.ResponseWriterServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].getExceptionIfAny()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterOnPostServlet.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Throwable
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].getExceptionIfAny()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Throwable
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet
      static: false
      superClass: io.undertow.servlet.test.response.writer.ResponseWriterServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterOnPostServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet:37,1
    - Dst: '[Thread].<init>()'
      Src: io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet:38,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/AsyncLargeResponseWriterServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Thread].<init>()'
    - '[Thread].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet
      static: false
      superClass: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/AsyncLargeResponseWriterServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet
    signature: '[io.undertow.servlet.test.response.writer.AsyncLargeResponseWriterServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet:37,1
    - Dst: '[Thread].<init>()'
      Src: io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet:38,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/AsyncExceptionWriterServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Thread].<init>()'
    - '[Thread].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/AsyncExceptionWriterServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet
    signature: '[io.undertow.servlet.test.response.writer.AsyncExceptionWriterServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].getMessage()'
      Src: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet:34,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentLength(io.undertow.servlet.test.response.writer.LargeResponseWriterServlet)'
      Src: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet:36,1
    - Dst: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].write(String)'
      Src: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/LargeResponseWriterServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletResponse].setContentLength(io.undertow.servlet.test.response.writer.LargeResponseWriterServlet)'
    - '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].write(String)'
    - '[String].length()'
    - '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].getMessage()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet:41,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet:43,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].getMessage()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/LargeResponseWriterServlet.java
    functionUses: 2
    functionsReached:
    - '[StringBuilder].toString()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].getMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/LargeResponseWriterServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.LargeResponseWriterServlet
    signature: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
      Src: io.undertow.servlet.test.response.writer.ExceptionWriterServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.response.writer.ExceptionWriterServlet:38,1
    - Dst: '[Exception].<init>(String)'
      Src: io.undertow.servlet.test.response.writer.ExceptionWriterServlet:39,1
    - Dst: '[Exception].printStackTrace(io.undertow.servlet.test.response.writer.ExceptionWriterServlet)'
      Src: io.undertow.servlet.test.response.writer.ExceptionWriterServlet:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.response.writer.ExceptionWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ExceptionWriterServlet.java
    functionUses: 0
    functionsReached:
    - '[Exception].printStackTrace(io.undertow.servlet.test.response.writer.ExceptionWriterServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[Exception].<init>(String)'
    - '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ExceptionWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.ExceptionWriterServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.ExceptionWriterServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ExceptionWriterServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.ExceptionWriterServlet
    signature: '[io.undertow.servlet.test.response.writer.ExceptionWriterServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:74,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].newInstance()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: ResponseWriterTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:82,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:86,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:88,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:93,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:93,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:96,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:96,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:96,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:99,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:99,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:77,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:103,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].deploy()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:105,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].start()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:105,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 107
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - ResponseWriterTestCase.class.getClassLoader()
    - '[io.undertow.servlet.Servlets].servlet(String)'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].deploy()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertContentLengthBasedFlush(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testContentLengthBasedFlush()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertContentLengthBasedFlush(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testContentLengthBasedFlush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertContentLengthBasedFlush(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testAsyncContentLengthBasedFlush()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertContentLengthBasedFlush(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testAsyncContentLengthBasedFlush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:120,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:123,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:124,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:124,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:124,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getEntity()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:125,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getContent()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:125,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:125,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:126,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:127,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:127,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:130,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertContentLengthBasedFlush(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getContent()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].shutdown()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertContentLengthBasedFlush(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertWriterLargeResponse(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testWriterLargeResponse()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertWriterLargeResponse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testWriterLargeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertWriterLargeResponse(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testAsyncWriterLargeResponse()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertWriterLargeResponse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testAsyncWriterLargeResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:145,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:147,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:148,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:149,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:149,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:149,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getEntity()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:150,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getContent()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:150,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:150,1
    - Dst: '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].getMessage()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:151,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:151,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:154,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertWriterLargeResponse(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getContent()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].shutdown()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.response.writer.LargeResponseWriterServlet].getMessage()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertWriterLargeResponse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertExceptionResponse(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testExceptionResponse()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertExceptionResponse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testExceptionResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertExceptionResponse(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testAsyncExceptionResponse()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertExceptionResponse(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testAsyncExceptionResponse()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:169,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:171,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:172,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:173,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:173,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:173,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getEntity()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:174,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getContent()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:174,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:174,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:175,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:175,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:177,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertExceptionResponse(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getContent()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].shutdown()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.hamcrest.CoreMatchers].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertExceptionResponse(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertRespondBeforeRead(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Throwable
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testRespondBeforeRead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertRespondBeforeRead(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testRespondBeforeRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertRespondBeforeRead(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Throwable
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testAsyncRespondBeforeRead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertRespondBeforeRead(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].testAsyncRespondBeforeRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:192,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase,String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:193,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicHeader)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:193,1
    - Dst: '[org.apache.http.impl.client.HttpClients].custom()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:194,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].setDefaultHeaders(java.util.ArrayList)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:194,1
    - Dst: '[org.apache.http.impl.NoConnectionReuseStrategy].<init>()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:195,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].setConnectionReuseStrategy(org.apache.http.impl.NoConnectionReuseStrategy)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:194,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].build()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:196,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:197,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getClass()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:199,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getClass()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:199,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getSimpleName()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:199,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getResource(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:199,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].toURI()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:199,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:199,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].toFile()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:200,1
    - Dst: '[java.io.FileInputStream].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:200,1
    - Dst: '[java.io.BufferedInputStream].<init>(java.io.FileInputStream)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:200,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].<init>(java.io.BufferedInputStream)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:200,1
    - Dst: '[org.apache.http.entity.InputStreamEntity].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:201,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.InputStreamEntity)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:201,1
    - Dst: client.execute(org.apache.http.client.methods.HttpPost)
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:202,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].waitTillIsFullyRead()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:204,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].getExceptionIfAny()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:206,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertTrue(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:210,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:211,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:211,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:211,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getEntity()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:212,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getContent()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:212,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:212,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:213,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:214,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Throwable
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertRespondBeforeRead(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 2
    functionsReached:
    - '[org.apache.http.message.BasicHeader].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase,String)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getSimpleName()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.InputStreamEntity)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getResource(String)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].setDefaultHeaders(java.util.ArrayList)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getEntity()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].toURI()'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].toFile()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertTrue(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[org.apache.http.entity.InputStreamEntity].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(String,String)'
    - '[org.apache.http.impl.NoConnectionReuseStrategy].<init>()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertEquals(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].build()'
    - '[java.io.FileInputStream].<init>(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].waitTillIsFullyRead()'
    - '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicHeader)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].setConnectionReuseStrategy(org.apache.http.impl.NoConnectionReuseStrategy)'
    - client.execute(org.apache.http.client.methods.HttpPost)
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusCode()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet].getExceptionIfAny()'
    - '[java.nio.file.Paths].get(io.undertow.servlet.test.response.writer.ResponseWriterTestCase)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getHeaders(String)'
    - '[java.io.BufferedInputStream].<init>(java.io.FileInputStream)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getClass()'
    - '[org.apache.http.impl.client.HttpClients].custom()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].<init>(java.io.BufferedInputStream)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].getContent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].assertRespondBeforeRead(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.ResponseWriterTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.ResponseWriterTestCase
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream
      static: false
      superClass: InputStream
    argCount: 1
    argNames:
    - innerInputStream
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].<init>(java.io.InputStream)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].<init>(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream:229,1
    - Dst: e.printStackTrace()
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream:231,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream:233,1
    - Dst: '[CountDownLatch].countDown()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].read()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 0
    functionsReached:
    - e.printStackTrace()
    - '[CountDownLatch].countDown()'
    - Thread.sleep(int)
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].read()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[CountDownLatch].await(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream:241,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - CountDownLatch
      classPublic: false
      concrete: true
      exceptions:
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: boolean
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].waitTillIsFullyRead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterTestCase.java
    functionUses: 1
    functionsReached:
    - '[CountDownLatch].await(int,io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream)'
    - Thread.sleep(int)
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterTestCase.SlowInputStream].waitTillIsFullyRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet:38,1
    - Dst: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet].equals(io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet)'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet:39,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet:42,1
    - Dst: '[Thread].<init>()'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet:43,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.response.writer.ResponseWriterServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/AsyncResponseWriterServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet].equals(io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet)'
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Thread].<init>()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet
      static: false
      superClass: io.undertow.servlet.test.response.writer.ResponseWriterServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/AsyncResponseWriterServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet
    signature: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet:37,1
    - Dst: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet].equals(io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet)'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet:38,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet:41,1
    - Dst: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet].setTimeout(int)'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet:42,1
    - Dst: '[Thread].<init>()'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet:43,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet:43,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/AsyncResponseWriterOnPostServlet.java
    functionUses: 0
    functionsReached:
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Thread].<init>()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet].equals(io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet)'
    - '[io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet].setTimeout(int)'
    - '[IllegalArgumentException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet
      static: false
      superClass: io.undertow.servlet.test.response.writer.ResponseWriterOnPostServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/AsyncResponseWriterOnPostServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet
    signature: '[io.undertow.servlet.test.response.writer.AsyncResponseWriterOnPostServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:38,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].equals(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:39,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].contentLengthFlush(jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:40,1
    - Dst: '[IllegalArgumentException].<init>(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].equals(String)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].contentLengthFlush(jakarta.servlet.http.HttpServletResponse)'
    - '[IllegalArgumentException].<init>(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:49,1
    - Dst: '[StringBuffer].<init>(int)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:50,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].write(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:53,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentLength(io.undertow.servlet.test.response.writer.ResponseWriterServlet)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:54,1
    - Dst: '[StringBuffer].append(String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:57,1
    - Dst: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].println(StringBuffer)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:60,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addHeader(String,String)'
      Src: io.undertow.servlet.test.response.writer.ResponseWriterServlet:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].contentLengthFlush(jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].write(String)'
    - '[StringBuffer].append(String)'
    - '[StringBuffer].<init>(int)'
    - '[jakarta.servlet.http.HttpServletResponse].setContentLength(io.undertow.servlet.test.response.writer.ResponseWriterServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].addHeader(String,String)'
    - '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].println(StringBuffer)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].contentLengthFlush(jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.writer.ResponseWriterServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/writer/ResponseWriterServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.writer.ResponseWriterServlet
    signature: '[io.undertow.servlet.test.response.writer.ResponseWriterServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:46,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:46,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeCharsetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:52,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:53,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:54,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:55,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:56,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:57,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].testCharsetAndContentType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeCharsetTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].testCharsetAndContentType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:63,1
    - Dst: '[java.net.URLEncoder].encode(String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:65,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:65,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:66,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:67,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:67,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:67,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:68,1
    - Dst: result.getHeaders("Content-Type")[0].getValue()
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:70,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:72,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - contentType
    - charset
    - expectedContentType
    - expectedBody
    argTypes:
    - String
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeCharsetTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].shutdown()'
    - '[java.net.URLEncoder].encode(String)'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase)'
    - result.getHeaders("Content-Type")[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase)'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].runtest(String,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeCharsetTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeCharsetTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:49,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].newInstance()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:50,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:52,1
    - Dst: ContentTypeFilesTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:52,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DefaultServletConfig].<init>(boolean)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDefaultServletConfig(io.undertow.servlet.api.DefaultServletConfig)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:52,1
    - Dst: '[io.undertow.servlet.api.MimeMapping].<init>(String,String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addMimeMapping(io.undertow.servlet.api.MimeMapping)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:52,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:61,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].deploy()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:63,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].start()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeFilesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - ContentTypeFilesTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setDefaultServletConfig(io.undertow.servlet.api.DefaultServletConfig)'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].start()'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].newInstance()'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addMimeMapping(io.undertow.servlet.api.MimeMapping)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.api.MimeMapping].<init>(String,String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase)'
    - '[io.undertow.servlet.api.DefaultServletConfig].<init>(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:69,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:71,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:71,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:72,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:73,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:73,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getEntity()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:74,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getContentType()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:74,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getValue()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:77,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].shutdown()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].testFileContentType()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeFilesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getValue()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase)'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getEntity()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getContentType()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].testFileContentType()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeFilesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeFilesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:37,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].isEmpty()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentType(io.undertow.servlet.test.response.contenttype.ContentTypeServlet)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:40,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].isEmpty()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setCharacterEncoding(io.undertow.servlet.test.response.contenttype.ContentTypeServlet)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getCharacterEncoding()'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:45,1
    - Dst: '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].print(io.undertow.servlet.test.response.contenttype.ContentTypeServlet)'
      Src: io.undertow.servlet.test.response.contenttype.ContentTypeServlet:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletResponse].setCharacterEncoding(io.undertow.servlet.test.response.contenttype.ContentTypeServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getCharacterEncoding()'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].isEmpty()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[jakarta.servlet.http.HttpServletResponse].setContentType(io.undertow.servlet.test.response.contenttype.ContentTypeServlet)'
    - '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].print(io.undertow.servlet.test.response.contenttype.ContentTypeServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.response.contenttype.ContentTypeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/response/contenttype/ContentTypeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.response.contenttype.ContentTypeServlet
    signature: '[io.undertow.servlet.test.response.contenttype.ContentTypeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:50,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].newInstance()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:51,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:53,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:57,1
    - Dst: ServletLifecycleTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:57,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:66,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].deploy()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:68,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].start()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:68,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:70,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:74,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:75,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:76,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:76,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:77,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].stop()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:79,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].undeploy()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:80,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:82,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:83,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:84,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:88,1
    - Dst: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].shutdown()'
      Src: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].testServletLifecycle()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/ServletLifecycleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].undeploy()'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].newInstance()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].getStatusCode()'
    - ServletLifecycleTestCase.class.getClassLoader()
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].shutdown()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].start()'
    - '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].stop()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].testServletLifecycle()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/ServletLifecycleTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase
    signature: '[io.undertow.servlet.test.lifecycle.ServletLifecycleTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifeCycleServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].getServletConfig()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifeCycleServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConfig
    signature: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].getServletConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifeCycleServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].getServletInfo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifeCycleServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].getServletInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifeCycleServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.lifecycle.LifeCycleServlet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifeCycleServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.lifecycle.LifeCycleServlet
    signature: '[io.undertow.servlet.test.lifecycle.LifeCycleServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:35,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setLoadOnStartup(int)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:35,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:37,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setLoadOnStartup(int)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:37,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:39,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setLoadOnStartup(int)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:39,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/InitializeInOrderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].setLoadOnStartup(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:45,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:46,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase].testInitializeInOrder()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/InitializeInOrderTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase].testInitializeInOrder()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/InitializeInOrderTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase
    signature: '[io.undertow.servlet.test.lifecycle.InitializeInOrderTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.servlet.test.lifecycle.FirstServlet:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: '[io.undertow.servlet.test.lifecycle.FirstServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/FirstServlet.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.FirstServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.servlet.test.lifecycle.FirstServlet].getServletConfig()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/FirstServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConfig
    signature: '[io.undertow.servlet.test.lifecycle.FirstServlet].getServletConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.lifecycle.FirstServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/FirstServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.FirstServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.lifecycle.FirstServlet].getServletInfo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/FirstServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.lifecycle.FirstServlet].getServletInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '[io.undertow.servlet.test.lifecycle.FirstServlet].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/FirstServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.FirstServlet].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.lifecycle.FirstServlet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.lifecycle.FirstServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/FirstServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.lifecycle.FirstServlet
    signature: '[io.undertow.servlet.test.lifecycle.FirstServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.servlet.test.lifecycle.LifecycleFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifecycleFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.LifecycleFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.lifecycle.LifecycleFilter:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.lifecycle.LifecycleFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifecycleFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.LifecycleFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.lifecycle.LifecycleFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifecycleFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.LifecycleFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.lifecycle.LifecycleFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.lifecycle.LifecycleFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/LifecycleFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.lifecycle.LifecycleFilter
    signature: '[io.undertow.servlet.test.lifecycle.LifecycleFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.SecondServlet:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.lifecycle.SecondServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/SecondServlet.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.SecondServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.lifecycle.SecondServlet].getServletConfig()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/SecondServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConfig
    signature: '[io.undertow.servlet.test.lifecycle.SecondServlet].getServletConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.lifecycle.SecondServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/SecondServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.SecondServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.lifecycle.SecondServlet].getServletInfo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/SecondServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.lifecycle.SecondServlet].getServletInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: '[io.undertow.servlet.test.lifecycle.SecondServlet].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/SecondServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.SecondServlet].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.lifecycle.SecondServlet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.lifecycle.SecondServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/SecondServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.lifecycle.SecondServlet
    signature: '[io.undertow.servlet.test.lifecycle.SecondServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.ThirdServlet:39,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.ThirdServlet:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.lifecycle.ThirdServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/ThirdServlet.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.ThirdServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.lifecycle.ThirdServlet].getServletConfig()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/ThirdServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConfig
    signature: '[io.undertow.servlet.test.lifecycle.ThirdServlet].getServletConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.servlet.test.lifecycle.ThirdServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/ThirdServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.ThirdServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.servlet.test.lifecycle.ThirdServlet].getServletInfo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/ThirdServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.lifecycle.ThirdServlet].getServletInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.lifecycle.ThirdServlet].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/ThirdServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.ThirdServlet].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.lifecycle.ThirdServlet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.lifecycle.ThirdServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/ThirdServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.lifecycle.ThirdServlet
    signature: '[io.undertow.servlet.test.lifecycle.ThirdServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:46,1
    - Dst: '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].newInstance()'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:47,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:49,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:51,1
    - Dst: EagerServletLifecycleTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:51,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:51,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:51,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:51,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setEagerFilterInit(boolean)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:51,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:51,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:51,1
    - Dst: '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:60,1
    - Dst: '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].deploy()'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:62,1
    - Dst: '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].start()'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:62,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:64,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 67
    functionName: '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].testServletLifecycle()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/EagerServletLifecycleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setEagerFilterInit(boolean)'
    - EagerServletLifecycleTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].start()'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].testServletLifecycle()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/lifecycle/EagerServletLifecycleTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase
    signature: '[io.undertow.servlet.test.lifecycle.EagerServletLifecycleTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:55,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].newInstance()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:61,1
    - Dst: '[TempClassLoader].<init>(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(TempClassLoader)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:61,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:68,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].deploy()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:70,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].start()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:70,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:73,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:76,1
    - Dst: '[TempClassLoader].<init>(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(TempClassLoader)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:76,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:83,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].deploy()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:85,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].start()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:85,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 88
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].newInstance()'
    - '[TempClassLoader].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(TempClassLoader)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:95,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:96,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:96,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:98,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:105,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].shutdown()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].testCrossContextRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].shutdown()'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].testCrossContextRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:114,1
    - Dst: Thread.currentThread()
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:114,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].getContextClassLoader()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:114,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].toString()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:114,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].println(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:114,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:115,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:115,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].getContextPath()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:115,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].println(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:115,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:116,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].getContext(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:116,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].getRequestDispatcher(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:117,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].include(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].getContext(String)'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].toString()'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].println(String)'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].getContextPath()'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    - Thread.currentThread()
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].getContextClassLoader()'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].include(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].getRequestDispatcher(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:125,1
    - Dst: Thread.currentThread()
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:125,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].getContextClassLoader()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:125,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].toString()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:125,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].println(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:125,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:126,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:126,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].getContextPath()'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:126,1
    - Dst: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].println(String)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].toString()'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].println(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].getContextClassLoader()'
    - Thread.currentThread()
    - '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].getContextPath()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.IncludedServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TempClassLoader.class.getClassLoader()
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader:136,1
    - Dst: '[ClassLoader].<init>(io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader)'
      Src: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader
      static: false
      superClass: ClassLoader
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader].<init>(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached:
    - '[ClassLoader].<init>(io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader)'
    - TempClassLoader.class.getClassLoader()
    linkageType: ''
    returnType: io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader].<init>(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: ClassLoader
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader].toString()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/crosscontext/CrossContextClassLoaderTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.crosscontext.CrossContextClassLoaderTestCase.TempClassLoader].toString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet:20,1
    - Dst: '[jakarta.servlet.ServletConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet:21,1
    - Dst: '[jakarta.servlet.ServletConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/IgnoresRequestAndSetsAttributeServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
    - '[jakarta.servlet.ServletConfig].getInitParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].setAttribute(String,String)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/IgnoresRequestAndSetsAttributeServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].setAttribute(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/IgnoresRequestAndSetsAttributeServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/IgnoresRequestAndSetsAttributeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet
    signature: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:45,1
    - Dst: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].newInstance()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:46,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:48,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:49,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:48,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:48,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:48,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:54,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:54,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:54,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:48,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addInitialHandlerChainWrapper(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:48,1
    - Dst: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:93,1
    - Dst: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].deploy()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:94,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:95,1
    - Dst: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].start()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:95,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:95,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 98
    functionName: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/ExchangeCompletionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addInitialHandlerChainWrapper(io.undertow.server.HandlerWrapper)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].newInstance()'
    - '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].start()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.BlockingQueue<String>].clear()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].clearLoggedAttributes()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/ExchangeCompletionTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.BlockingQueue<String>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].clearLoggedAttributes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:109,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:109,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:110,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:110,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:111,1
    - Dst: '[java.util.concurrent.BlockingQueue<String>].poll(int,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:112,1
    - Dst: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].assertEquals(String,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:114,1
    - Dst: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].shutdown()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].exchangeCompletionListenersSeeRequestAttributesEvenIfRequestBodyIsNotRead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/ExchangeCompletionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].assertEquals(String,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.util.concurrent.BlockingQueue<String>].poll(int,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].exchangeCompletionListenersSeeRequestAttributesEvenIfRequestBodyIsNotRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:120,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:122,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:124,1
    - Dst: '[java.util.concurrent.BlockingQueue<String>].poll(int,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:125,1
    - Dst: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].assertEquals(String,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:127,1
    - Dst: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].shutdown()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].exchangeCompletionListenersSeeRequestAttributesEvenIfRequestBodyIsNotReadAsync()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/ExchangeCompletionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].assertEquals(String,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.util.concurrent.BlockingQueue<String>].poll(int,io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase)'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].exchangeCompletionListenersSeeRequestAttributesEvenIfRequestBodyIsNotReadAsync()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingQueue].<init>()'
      Src: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - java.util.concurrent.BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/ExchangeCompletionTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingQueue].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase
    signature: '[io.undertow.servlet.test.proprietry.ExchangeCompletionTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:21,1
    - Dst: '[jakarta.servlet.ServletConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:22,1
    - Dst: '[jakarta.servlet.ServletConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/IgnoresRequestAndSetsAttributeAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
    - '[jakarta.servlet.ServletConfig].getInitParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].setAttribute(String,String)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:28,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:29,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:30,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:30,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/IgnoresRequestAndSetsAttributeAsyncServlet.java
    functionUses: 1
    functionsReached:
    - '[Thread].<init>(Runnable)'
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].setAttribute(String,String)'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/IgnoresRequestAndSetsAttributeAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/IgnoresRequestAndSetsAttributeAsyncServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet
    signature: '[io.undertow.servlet.test.proprietry.IgnoresRequestAndSetsAttributeAsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:59,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].newInstance()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:62,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:62,1
    - Dst: '[io.undertow.server.HandlerWrapper].<init>()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addInitialHandlerChainWrapper(io.undertow.server.HandlerWrapper)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:62,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:89,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].deploy()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:91,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].start()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:91,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.proprietry.BypassServletTestCase)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:91,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/BypassServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.HandlerWrapper].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addInitialHandlerChainWrapper(io.undertow.server.HandlerWrapper)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.proprietry.BypassServletTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ListenerInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TestListener].init(int)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:99,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:103,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:104,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.proprietry.BypassServletTestCase)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:104,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:106,1
    - Dst: '[io.undertow.servlet.test.util.TestListener].results()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:107,1
    - Dst: '[java.util.List<String>].toArray()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:107,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:109,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].testServletRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/BypassServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
    - '[java.util.List<String>].toArray()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
    - '[io.undertow.servlet.test.util.TestListener].init(int)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.proprietry.BypassServletTestCase)'
    - '[io.undertow.servlet.test.util.TestListener].results()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].testServletRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TestListener].init(int)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:118,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:118,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:119,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:120,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:120,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.proprietry.BypassServletTestCase)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:120,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:122,1
    - Dst: '[io.undertow.servlet.test.util.TestListener].results()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:123,1
    - Dst: '[java.util.List<String>].toArray()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:123,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:125,1
    - Dst: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.proprietry.BypassServletTestCase:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].testServletBypass()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/BypassServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
    - '[java.util.List<String>].toArray()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.proprietry.BypassServletTestCase)'
    - '[io.undertow.servlet.test.util.TestListener].init(int)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.proprietry.BypassServletTestCase)'
    - '[io.undertow.servlet.test.util.TestListener].results()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.proprietry.BypassServletTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].testServletBypass()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.proprietry.BypassServletTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/BypassServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.proprietry.BypassServletTestCase
    signature: '[io.undertow.servlet.test.proprietry.BypassServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:57,1
    - Dst: '[io.undertow.servlet.test.proprietry.TransferTestCase].newInstance()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:60,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:60,1
    - Dst: '[io.undertow.servlet.test.proprietry.TransferTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:70,1
    - Dst: '[io.undertow.servlet.test.proprietry.TransferTestCase].deploy()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:72,1
    - Dst: '[io.undertow.servlet.test.proprietry.TransferTestCase].start()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:72,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: '[io.undertow.servlet.test.proprietry.TransferTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/TransferTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.proprietry.TransferTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.proprietry.TransferTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.proprietry.TransferTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.proprietry.TransferTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.proprietry.TransferTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.proprietry.TransferTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.TransferTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TestListener].init(int)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:80,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:83,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:84,1
    - Dst: '[io.undertow.servlet.test.proprietry.TransferTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:85,1
    - Dst: '[io.undertow.servlet.test.proprietry.TransferTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:85,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:86,1
    - Dst: TXServlet.class.getSimpleName()
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:87,1
    - Dst: TXServlet.class.getResource(String)
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:87,1
    - Dst: '[io.undertow.servlet.test.proprietry.TransferTestCase].toURI()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:87,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:87,1
    - Dst: '[java.nio.file.Files].size(io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:88,1
    - Dst: '[java.nio.file.Files].newInputStream(io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:89,1
    - Dst: '[java.io.DataInputStream].<init>(io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:89,1
    - Dst: '[java.io.DataInputStream].readFully(io.undertow.servlet.test.proprietry.TransferTestCase)'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:90,1
    - Dst: '[java.io.DataInputStream].close()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:91,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.proprietry.TransferTestCase,byte[])'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:94,1
    - Dst: '[io.undertow.servlet.test.proprietry.TransferTestCase].shutdown()'
      Src: io.undertow.servlet.test.proprietry.TransferTestCase:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: '[io.undertow.servlet.test.proprietry.TransferTestCase].testServletRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/TransferTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.proprietry.TransferTestCase].toURI()'
    - TXServlet.class.getResource(String)
    - '[java.nio.file.Files].size(io.undertow.servlet.test.proprietry.TransferTestCase)'
    - '[io.undertow.servlet.test.proprietry.TransferTestCase].getStatusLine()'
    - '[java.nio.file.Files].newInputStream(io.undertow.servlet.test.proprietry.TransferTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.proprietry.TransferTestCase)'
    - '[java.io.DataInputStream].close()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.proprietry.TransferTestCase,byte[])'
    - '[java.io.DataInputStream].readFully(io.undertow.servlet.test.proprietry.TransferTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.util.TestListener].init(int)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.proprietry.TransferTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readRawResponse(io.undertow.servlet.test.proprietry.TransferTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - TXServlet.class.getSimpleName()
    - '[java.nio.file.Paths].get(io.undertow.servlet.test.proprietry.TransferTestCase)'
    - '[java.io.DataInputStream].<init>(io.undertow.servlet.test.proprietry.TransferTestCase)'
    - '[io.undertow.servlet.test.proprietry.TransferTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.proprietry.TransferTestCase].testServletRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.proprietry.TransferTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.proprietry.TransferTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/proprietry/TransferTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.proprietry.TransferTestCase
    signature: '[io.undertow.servlet.test.proprietry.TransferTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponseWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.async.TestAsyncRespWrapper:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.async.TestAsyncRespWrapper
      static: false
      superClass: jakarta.servlet.http.HttpServletResponseWrapper
    argCount: 1
    argNames:
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: '[io.undertow.servlet.test.async.TestAsyncRespWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/TestAsyncRespWrapper.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponseWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: io.undertow.servlet.test.async.TestAsyncRespWrapper
    signature: '[io.undertow.servlet.test.async.TestAsyncRespWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponseWrapper].getWriter()'
      Src: io.undertow.servlet.test.async.TestAsyncRespWrapper:34,1
    - Dst: '[io.undertow.servlet.test.async.TestAsyncRespWrapper].write(String)'
      Src: io.undertow.servlet.test.async.TestAsyncRespWrapper:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.PrintWriter
      static: false
      superClass: jakarta.servlet.http.HttpServletResponseWrapper
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.async.TestAsyncRespWrapper].getWriter()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/TestAsyncRespWrapper.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.async.TestAsyncRespWrapper].write(String)'
    - '[jakarta.servlet.http.HttpServletResponseWrapper].getWriter()'
    linkageType: ''
    returnType: java.io.PrintWriter
    signature: '[io.undertow.servlet.test.async.TestAsyncRespWrapper].getWriter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.async.AsyncDispatchServlet:34,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.async.AsyncDispatchServlet:34,1
    - Dst: '[io.undertow.servlet.test.async.TestAsyncRespWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.async.AsyncDispatchServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync(jakarta.servlet.http.HttpServletRequest,io.undertow.servlet.test.async.TestAsyncRespWrapper)'
      Src: io.undertow.servlet.test.async.AsyncDispatchServlet:35,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.async.AsyncDispatchServlet:36,1
    - Dst: '[io.undertow.servlet.test.async.AsyncDispatchServlet].start(Runnable)'
      Src: io.undertow.servlet.test.async.AsyncDispatchServlet:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.async.AsyncDispatchServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncDispatchServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync(jakarta.servlet.http.HttpServletRequest,io.undertow.servlet.test.async.TestAsyncRespWrapper)'
    - '[io.undertow.servlet.test.async.TestAsyncRespWrapper].<init>(jakarta.servlet.http.HttpServletResponse)'
    - '[io.undertow.servlet.test.async.AsyncDispatchServlet].start(Runnable)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AsyncDispatchServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.AsyncDispatchServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.AsyncDispatchServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncDispatchServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.async.AsyncDispatchServlet
    signature: '[io.undertow.servlet.test.async.AsyncDispatchServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<java.util.Date>].get()'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - ThreadLocal<java.util.Date>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].getThreadLocalSimpleDate()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleDateThreadLocalAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal<java.util.Date>].get()'
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].getThreadLocalSimpleDate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:51,1
    - Dst: '[ThreadLocal<java.util.Date>].set(java.util.Date)'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - ThreadLocal<java.util.Date>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].initThreadLocalSimpleDate()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleDateThreadLocalAsyncServlet.java
    functionUses: 1
    functionsReached:
    - '[ThreadLocal<java.util.Date>].set(java.util.Date)'
    - '[java.util.Date].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].initThreadLocalSimpleDate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<java.util.Date>].remove()'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - ThreadLocal<java.util.Date>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].removeThreadLocalSimpleDate()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleDateThreadLocalAsyncServlet.java
    functionUses: 1
    functionsReached:
    - '[ThreadLocal<java.util.Date>].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].removeThreadLocalSimpleDate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.text.SimpleDateFormat].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:59,1
    - Dst: '[java.text.SimpleDateFormat].parse(String)'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - ThreadLocal<java.util.Date>
      classPublic: true
      concrete: true
      exceptions:
      - java.text.ParseException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - date
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].parseDate(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleDateThreadLocalAsyncServlet.java
    functionUses: 1
    functionsReached:
    - '[java.text.SimpleDateFormat].<init>(String)'
    - '[java.text.SimpleDateFormat].parse(String)'
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].parseDate(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.text.SimpleDateFormat].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:63,1
    - Dst: '[java.text.SimpleDateFormat].format(java.util.Date)'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Date
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - ThreadLocal<java.util.Date>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - date
    argTypes:
    - java.util.Date
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].formatDate(java.util.Date)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleDateThreadLocalAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[java.text.SimpleDateFormat].<init>(String)'
    - '[java.text.SimpleDateFormat].format(java.util.Date)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].formatDate(java.util.Date)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:68,1
    - Dst: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].start()'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - ThreadLocal<java.util.Date>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - request
    - response
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleDateThreadLocalAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - ThreadLocal<java.util.Date>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleDateThreadLocalAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet
    signature: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.async.AsyncServlet:35,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.async.AsyncServlet:36,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.async.AsyncServlet:36,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.async.AsyncServlet:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.async.AsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Runnable].<init>()'
    - '[Thread].<init>(Runnable)'
    - '[Thread].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.AsyncServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.AsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.async.AsyncServlet
    signature: '[io.undertow.servlet.test.async.AsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.async.AsyncErrorServlet:18,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.async.AsyncErrorServlet:19,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.async.AsyncErrorServlet:19,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.async.AsyncErrorServlet:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: '[io.undertow.servlet.test.async.AsyncErrorServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncErrorServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Runnable].<init>()'
    - '[Thread].<init>(Runnable)'
    - '[Thread].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AsyncErrorServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.async.AsyncErrorServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.async.AsyncErrorServlet:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.async.AsyncErrorServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncErrorServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.async.AsyncErrorServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AsyncErrorServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.AsyncErrorServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.AsyncErrorServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncErrorServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.async.AsyncErrorServlet
    signature: '[io.undertow.servlet.test.async.AsyncErrorServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.async.AsyncErrorListenerServlet:39,1
    - Dst: '[jakarta.servlet.AsyncListener].<init>()'
      Src: io.undertow.servlet.test.async.AsyncErrorListenerServlet:40,1
    - Dst: '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].addListener(jakarta.servlet.AsyncListener)'
      Src: io.undertow.servlet.test.async.AsyncErrorListenerServlet:40,1
    - Dst: '[RuntimeException].<init>(String)'
      Src: io.undertow.servlet.test.async.AsyncErrorListenerServlet:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncErrorListenerServlet.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].addListener(jakarta.servlet.AsyncListener)'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[RuntimeException].<init>(String)'
    - '[jakarta.servlet.AsyncListener].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.async.AsyncErrorListenerServlet:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncErrorListenerServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.servlet.test.async.AsyncErrorListenerServlet:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.AsyncErrorListenerServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncErrorListenerServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.async.AsyncErrorListenerServlet
    signature: '[io.undertow.servlet.test.async.AsyncErrorListenerServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:36,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:37,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:38,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:39,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:41,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:42,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:43,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:44,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:45,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.async.AsyncDispatchPathTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncDispatchPathTestServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    - out.println(String)
    - out.print(String)
    - '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AsyncDispatchPathTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.AsyncDispatchPathTestServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncDispatchPathTestServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.async.AsyncDispatchPathTestServlet
    signature: '[io.undertow.servlet.test.async.AsyncDispatchPathTestServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.async.AnotherAsyncServlet:36,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.async.AnotherAsyncServlet:37,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.async.AnotherAsyncServlet:37,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.async.AnotherAsyncServlet:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: '[io.undertow.servlet.test.async.AnotherAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AnotherAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Runnable].<init>()'
    - '[Thread].<init>(Runnable)'
    - '[Thread].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AnotherAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.AnotherAsyncServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.AnotherAsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AnotherAsyncServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.async.AnotherAsyncServlet
    signature: '[io.undertow.servlet.test.async.AnotherAsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:77,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:85,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addInitParam(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:85,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:85,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:85,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:89,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addInitParam(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:89,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:89,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:89,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:93,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addInitParam(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:93,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:93,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:93,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:97,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:97,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:97,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:100,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:100,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:100,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:103,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:103,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:103,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:106,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:106,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:106,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:106,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:106,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:109,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:109,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:109,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:109,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:109,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:112,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:112,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:112,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:115,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:115,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:115,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:118,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:118,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:118,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 122
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.ServletExtension].<init>()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addMapping(String)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setAsyncSupported(boolean)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].servlet(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].addInitParam(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:126,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:129,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:130,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:130,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:132,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:134,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testSimpleHttpServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testSimpleHttpServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:140,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:142,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:142,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:143,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:144,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:144,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:144,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:145,1
    - Dst: AnotherAsyncServlet.class.getSimpleName()
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:146,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.async.SimpleAsyncTestCase,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:146,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:148,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testSimpleHttpAsyncServletWithoutDispatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.async.SimpleAsyncTestCase,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - AnotherAsyncServlet.class.getSimpleName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testSimpleHttpAsyncServletWithoutDispatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:154,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:156,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:156,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:157,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:158,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:158,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:158,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:159,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:160,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:162,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testErrorServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testErrorServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:168,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:170,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:171,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:172,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:172,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:172,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:173,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:174,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:175,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:175,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:176,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:176,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:178,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testErrorListenerServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testErrorListenerServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:183,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:185,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:185,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:186,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:187,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:187,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:187,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:188,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:189,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:191,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testWrappedDispatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testWrappedDispatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:196,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:198,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:198,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:199,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:200,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:201,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:201,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:201,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:203,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:205,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:205,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:206,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:206,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:207,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:208,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:208,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:208,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:209,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:210,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:212,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 214
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testErrorServletWithPostData()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testErrorServletWithPostData()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:218,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:220,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:220,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:221,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:222,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:222,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:222,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:223,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:224,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:226,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testServletCompletesTwiceOnInitialThread()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testServletCompletesTwiceOnInitialThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:232,1
    - Dst: '[java.util.Date].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:234,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:235,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:235,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:236,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:237,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:237,1
    - Dst: '[org.junit.Assert].assertEquals(String,int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:237,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:238,1
    - Dst: '[org.junit.Assert].assertNotEquals(String,String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:239,1
    - Dst: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].parseDate(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:240,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:241,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:243,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.text.ParseException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testSimpleDateThreahLocalAsyncServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertNotEquals(String,String,String)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].parseDate(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.util.Date].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testSimpleDateThreahLocalAsyncServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:249,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:251,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:251,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:252,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:253,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:254,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:254,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:254,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:255,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:256,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:256,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:257,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:257,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:258,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:258,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:259,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:259,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:260,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:260,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:261,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:261,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:263,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 265
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testDispatchAttributes()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testDispatchAttributes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:269,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:271,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:271,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:272,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:273,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:274,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:274,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:274,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:275,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:276,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:276,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:277,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:277,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:278,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:278,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:279,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:279,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:280,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:280,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:281,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:281,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:283,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 285
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testDispatchAttributesEncoded()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testDispatchAttributesEncoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:289,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:291,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:291,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:292,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:293,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:294,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:294,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:294,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:295,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:296,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:296,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:297,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:297,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:298,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:298,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:299,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:299,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:300,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:300,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:301,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:301,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:303,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 305
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testDispatchAttributesEncodedExtension()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testDispatchAttributesEncodedExtension()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:309,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:311,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:311,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:312,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:313,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:314,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:314,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:314,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:315,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:316,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:318,1
    - Dst: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testDispatchParametersAreMerged()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.async.SimpleAsyncTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.async.SimpleAsyncTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].testDispatchParametersAreMerged()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.SimpleAsyncTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.async.SimpleAsyncTestCase
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].initThreadLocalSimpleDate()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler:65,1
    - Dst: '[Action<T,C>].call(io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler,io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler)'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler:67,1
    - Dst: '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].removeThreadLocalSimpleDate()'
      Src: io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - Action<T,C>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ThreadSetupHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Action<T,C>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - action
    argTypes:
    - Action<T,C>
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler].create(Action<T,C>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].initThreadLocalSimpleDate()'
    - '[io.undertow.servlet.test.async.SimpleDateThreadLocalAsyncServlet].removeThreadLocalSimpleDate()'
    - '[Action<T,C>].call(io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler,io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler)'
    linkageType: ''
    returnType: Action<T,C>
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler].create(Action<T,C>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - ThreadSetupHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/SimpleAsyncTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler
    signature: '[io.undertow.servlet.test.async.SimpleAsyncTestCase.SimpleDateThreadSetupHandler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:34,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:35,1
    - Dst: '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].write(String)'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].isAsyncStarted()'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAsyncContext()'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:37,1
    - Dst: '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].complete()'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].isAsyncStarted()'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAsyncContext()'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:40,1
    - Dst: '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].complete()'
      Src: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncDoubleCompleteServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].complete()'
    - '[jakarta.servlet.http.HttpServletRequest].getAsyncContext()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].write(String)'
    - '[jakarta.servlet.http.HttpServletRequest].isAsyncStarted()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/async/AsyncDoubleCompleteServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.async.AsyncDoubleCompleteServlet
    signature: '[io.undertow.servlet.test.async.AsyncDoubleCompleteServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:60,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].newInstance()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:66,1
    - Dst: CookieAssemblyTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:66,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:73,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].deploy()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:75,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].start()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:75,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/protocol/cookie/CookieAssemblyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].newInstance()'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - CookieAssemblyTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:120,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:122,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(org.apache.http.message.BasicHeader)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:123,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:124,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(org.apache.http.message.BasicHeader)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:124,1
    - Dst: '[org.apache.http.message.BasicHeader].<init>(String,String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:125,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(org.apache.http.message.BasicHeader)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:126,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:127,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:128,1
    - Dst: '[org.apache.http.impl.client.BasicResponseHandler].<init>()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:129,1
    - Dst: '[org.apache.http.impl.client.BasicResponseHandler].handleResponse(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:129,1
    - Dst: '[org.junit.Assert].fail(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:129,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:132,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].shutdown()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].testBasicEncodingSelect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/protocol/cookie/CookieAssemblyTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].getStatusLine()'
    - '[org.junit.Assert].fail(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.apache.http.message.BasicHeader].<init>(String,String)'
    - '[org.apache.http.impl.client.BasicResponseHandler].handleResponse(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].shutdown()'
    - '[org.apache.http.impl.client.BasicResponseHandler].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(org.apache.http.message.BasicHeader)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].testBasicEncodingSelect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/protocol/cookie/CookieAssemblyTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase
    signature: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeaders(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:88,1
    - Dst: '[StringBuffer].<init>()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:90,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].hasMoreElements()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:91,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].nextElement()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:93,1
    - Dst: '[StringBuffer].append(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:93,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].append(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:93,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:96,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:97,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:98,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].write(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:98,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:99,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].flush()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:99,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getCookies()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:103,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:105,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:106,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:107,1
    - Dst: '[java.util.Arrays].toString(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:107,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].write(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:107,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:108,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].flush()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:108,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:112,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:113,1
    - Dst: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].flush()'
      Src: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/protocol/cookie/CookieAssemblyTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getCookies()'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].hasMoreElements()'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].write(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher)'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].flush()'
    - '[java.util.Arrays].toString(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher)'
    - '[StringBuffer].<init>()'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].append(String)'
    - '[StringBuffer].append(io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher)'
    - '[jakarta.servlet.http.HttpServletRequest].getHeaders(String)'
    - '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].nextElement()'
    - '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/protocol/cookie/CookieAssemblyTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher
    signature: '[io.undertow.servlet.test.protocol.cookie.CookieAssemblyTestCase.CookieMuncher].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:36,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:37,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:38,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:39,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:41,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:42,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:43,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:44,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:45,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:46,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.dispatcher.ForwardPathTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/ForwardPathTestServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    - out.println(String)
    - out.print(String)
    - '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.ForwardPathTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.ForwardPathTestServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/ForwardPathTestServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.ForwardPathTestServlet
    signature: '[io.undertow.servlet.test.dispatcher.ForwardPathTestServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:67,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].newInstance()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:77,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:87,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:87,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:87,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:93,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:96,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:96,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:99,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:102,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:102,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:105,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:105,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:70,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:112,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].deploy()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:113,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:114,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].start()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:114,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 117
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].deploy()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].newInstance()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].start()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:125,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:126,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:126,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:126,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:127,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:130,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testPathBasedInclude()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testPathBasedInclude()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:138,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:138,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:139,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:140,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:141,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:142,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:142,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:142,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:143,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:144,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:146,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testNameBasedInclude()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testNameBasedInclude()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:154,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:154,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:155,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:156,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:157,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:157,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:157,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:158,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:159,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:161,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testPathBasedStaticInclude()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testPathBasedStaticInclude()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:167,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:169,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:169,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:171,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:172,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:172,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:172,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:173,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:174,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:176,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testPathBasedStaticIncludePost()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].setHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testPathBasedStaticIncludePost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:183,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:185,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:185,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:186,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:187,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:188,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:188,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:188,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:189,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:190,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:192,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:192,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:193,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:194,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:195,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:195,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:195,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:196,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:197,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:199,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testIncludeAggregatesQueryString()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testIncludeAggregatesQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:205,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:207,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:207,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:208,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:209,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:210,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:210,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:210,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:211,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:212,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:212,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:213,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:213,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:214,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:214,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:215,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:215,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:216,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:216,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:217,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:217,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:219,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testAttributes()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testAttributes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:225,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:227,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:227,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:228,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:229,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:230,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:230,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:230,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:231,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:232,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:232,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:233,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:233,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:234,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:234,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:235,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:235,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:236,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:236,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:237,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:237,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:238,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:238,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:240,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testAttributesEncoded()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testAttributesEncoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:246,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:248,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:248,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:249,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:250,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:251,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:251,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:251,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:252,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:253,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:253,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:254,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:254,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:255,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:255,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:256,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:256,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:257,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:257,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:258,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:258,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:259,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:259,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:261,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 263
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testAttributesEncodedExtension()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testAttributesEncodedExtension()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:267,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:269,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:269,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:270,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:271,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:272,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:272,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:272,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:273,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:274,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:276,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 278
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testParametersAreMerged()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testParametersAreMerged()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:281,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:283,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:283,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:284,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:285,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:285,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:285,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:286,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:289,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:289,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:290,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:290,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:291,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:291,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:292,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:292,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:295,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 297
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testDisptacherServletInclude()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testDisptacherServletInclude()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:301,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:303,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:303,1
    - Dst: '[java.net.URLEncoder].encode(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:304,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:305,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:306,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:307,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:307,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:307,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:308,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:309,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:309,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:310,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:310,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:311,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:311,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:312,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:312,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:313,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:313,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:314,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:314,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:315,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:315,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:316,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:316,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:318,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 320
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testDisptacherServletIncludeNest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].getStatusCode()'
    - '[java.net.URLEncoder].encode(String,io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].testDisptacherServletIncludeNest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:34,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:35,1
    - Dst: '[io.undertow.servlet.test.dispatcher.NextServlet].println(String)'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttributeNames()'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:36,1
    - Dst: '[io.undertow.servlet.test.dispatcher.NextServlet].hasMoreElements()'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:37,1
    - Dst: '[io.undertow.servlet.test.dispatcher.NextServlet].nextElement()'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(io.undertow.servlet.test.dispatcher.NextServlet)'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:39,1
    - Dst: '[io.undertow.servlet.test.dispatcher.NextServlet].println(io.undertow.servlet.test.dispatcher.NextServlet)'
      Src: io.undertow.servlet.test.dispatcher.NextServlet:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.dispatcher.NextServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/NextServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getAttributeNames()'
    - '[jakarta.servlet.http.HttpServletRequest].getAttribute(io.undertow.servlet.test.dispatcher.NextServlet)'
    - '[io.undertow.servlet.test.dispatcher.NextServlet].println(io.undertow.servlet.test.dispatcher.NextServlet)'
    - '[io.undertow.servlet.test.dispatcher.NextServlet].nextElement()'
    - '[io.undertow.servlet.test.dispatcher.NextServlet].println(String)'
    - '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
    - '[io.undertow.servlet.test.dispatcher.NextServlet].hasMoreElements()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.NextServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.NextServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.NextServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/NextServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.NextServlet
    signature: '[io.undertow.servlet.test.dispatcher.NextServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardServlet:33,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardServlet].forward(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardServlet:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardServlet].forward(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.DispatcherForwardServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.DispatcherForwardServlet
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:86,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:86,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:87,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].newInstance()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:97,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:97,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:101,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:101,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:101,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:101,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:104,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:107,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:107,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:107,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:110,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:110,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:113,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:113,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:116,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:116,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:119,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:119,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:122,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:122,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:125,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:125,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:90,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:132,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].deploy()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:133,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:134,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].start()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:134,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:134,1
    - Dst: AccessLogFileTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:136,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.handlers.PathHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.accesslog.AccessLogHandler)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 137
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].newInstance()'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].start()'
    - AccessLogFileTestCase.class.getClassLoader()
    - '[io.undertow.server.handlers.accesslog.AccessLogHandler].<init>(io.undertow.server.handlers.PathHandler,io.undertow.server.handlers.accesslog.AccessLogReceiver,String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].deploy()'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.accesslog.AccessLogHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:141,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:142,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:145,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:146,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:147,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:147,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:147,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:148,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:149,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:150,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:152,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:153,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:155,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 157
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testPathBasedInclude()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testPathBasedInclude()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:160,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 3
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:166,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:168,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:168,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:169,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:171,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:172,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:172,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:172,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:173,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:174,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:176,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testNameBasedInclude()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testNameBasedInclude()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:182,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:184,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:184,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:185,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:186,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:187,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:187,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:187,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:188,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:189,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:189,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:191,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testNameBasedForwardOutServletContext()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testNameBasedForwardOutServletContext()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:197,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:199,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:200,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:201,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:202,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:202,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:202,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:203,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:204,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:206,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testPathBasedStaticInclude()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testPathBasedStaticInclude()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:212,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:214,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:214,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:215,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:216,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:217,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:217,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:217,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:218,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:219,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:221,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testPathBasedStaticIncludePost()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPost].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testPathBasedStaticIncludePost()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:228,1
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:229,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:231,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:232,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:232,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:233,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:234,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:235,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:235,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:235,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:236,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:237,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:238,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:240,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:242,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:243,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:243,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:244,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:245,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:246,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:246,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:246,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:247,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:248,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:249,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:251,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:253,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 255
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testIncludeAggregatesQueryString()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testIncludeAggregatesQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:261,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:263,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:263,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:264,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:265,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:266,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:266,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:266,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:267,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:268,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:271,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testIncludesPathParameters()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testIncludesPathParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:277,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:279,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:279,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:280,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:281,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:282,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:282,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:282,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:283,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:285,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:288,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testIncludesUrlInPathParameters()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testIncludesUrlInPathParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:294,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:296,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:296,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:297,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:298,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:299,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:299,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:299,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:300,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:301,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:301,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:302,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:302,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:303,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:303,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:304,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:304,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:305,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:305,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:306,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:306,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:307,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:307,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:309,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testAttributes()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testAttributes()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:315,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:317,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:317,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:318,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:319,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:320,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:320,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:320,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:321,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:322,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:322,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:323,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:323,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:324,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:324,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:325,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:325,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:326,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:326,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:327,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:327,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:328,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:328,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:330,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testAttributesEncoded()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testAttributesEncoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:336,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:338,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:338,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:339,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:340,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:341,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:341,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:341,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:342,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:343,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:343,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:344,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:344,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:345,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:345,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:346,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:346,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:347,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:347,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:348,1
    - Dst: '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:348,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:350,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 352
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testAttributesEncodedExtension()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.hamcrest.MatcherAssert].assertThat(String,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testAttributesEncodedExtension()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:356,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:358,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:358,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:359,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:360,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:361,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:361,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:361,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:362,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:363,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:365,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 367
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testParametersAreMerged()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testParametersAreMerged()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:371,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:373,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:373,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:374,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:375,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:376,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:376,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:376,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:377,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:378,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:380,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 382
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testParametersAreMergedButNotDuplicated()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testParametersAreMergedButNotDuplicated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:385,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:386,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:388,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:388,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:389,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:390,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:390,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:390,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:391,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:394,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:394,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:395,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:395,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:396,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:396,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:397,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertTrue(boolean)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:397,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:400,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testDisptacherServletForward()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].resetLatch()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].shutdown()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].assertTrue(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].testDisptacherServletForward()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:70,1
    - Dst: '[io.undertow.server.handlers.accesslog.AccessLogReceiver].<init>()'
      Src: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - java.util.concurrent.CountDownLatch
      - io.undertow.server.handlers.accesslog.AccessLogReceiver
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.server.handlers.accesslog.AccessLogReceiver].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherForwardTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:38,1
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludeServlet].write(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:41,1
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludeServlet].getNamedDispatcher(io.undertow.servlet.test.dispatcher.IncludeServlet)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(io.undertow.servlet.test.dispatcher.IncludeServlet)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:47,1
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludeServlet].include(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.dispatcher.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/IncludeServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(io.undertow.servlet.test.dispatcher.IncludeServlet)'
    - '[io.undertow.servlet.test.dispatcher.IncludeServlet].write(String)'
    - '[io.undertow.servlet.test.dispatcher.IncludeServlet].include(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    - '[io.undertow.servlet.test.dispatcher.IncludeServlet].getNamedDispatcher(io.undertow.servlet.test.dispatcher.IncludeServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.IncludeServlet:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.dispatcher.IncludeServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/IncludeServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.IncludeServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.IncludeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.IncludeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/IncludeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.IncludeServlet
    signature: '[io.undertow.servlet.test.dispatcher.IncludeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:39,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:40,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:41,1
    - Dst: out.print(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:42,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:44,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:45,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:46,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:46,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:47,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:47,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:48,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:48,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:49,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:49,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:50,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:51,1
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].entrySet()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:51,1
    - Dst: entry.getValue()
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:52,1
    - Dst: '[java.util.Arrays].stream(io.undertow.servlet.test.dispatcher.IncludePathTestServlet)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:52,1
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].reduce()'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:52,1
    - Dst: entry.getKey()
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:53,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.dispatcher.IncludePathTestServlet)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:53,1
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].append(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:53,1
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].orElse(String)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:53,1
    - Dst: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].append(io.undertow.servlet.test.dispatcher.IncludePathTestServlet)'
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:53,1
    - Dst: out.println(String)
      Src: io.undertow.servlet.test.dispatcher.IncludePathTestServlet:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/IncludePathTestServlet.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].append(io.undertow.servlet.test.dispatcher.IncludePathTestServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - entry.getValue()
    - '[jakarta.servlet.http.HttpServletRequest].getAttribute(String)'
    - '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].append(io.undertow.servlet.test.dispatcher.IncludePathTestServlet)'
    - entry.getKey()
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    - '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
    - out.print(String)
    - '[StringBuilder].<init>()'
    - '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].orElse(String)'
    - '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].reduce()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
    - '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    - out.println(String)
    - '[java.util.Arrays].stream(io.undertow.servlet.test.dispatcher.IncludePathTestServlet)'
    - '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].entrySet()'
    - '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.IncludePathTestServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/IncludePathTestServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.IncludePathTestServlet
    signature: '[io.undertow.servlet.test.dispatcher.IncludePathTestServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:37,1
    - Dst: '[io.undertow.servlet.test.dispatcher.ForwardServlet].write(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:40,1
    - Dst: '[io.undertow.servlet.test.dispatcher.ForwardServlet].getNamedDispatcher(io.undertow.servlet.test.dispatcher.ForwardServlet)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(io.undertow.servlet.test.dispatcher.ForwardServlet)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:42,1
    - Dst: '[io.undertow.servlet.test.dispatcher.ForwardServlet].forward(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.dispatcher.ForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/ForwardServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
    - '[io.undertow.servlet.test.dispatcher.ForwardServlet].write(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    - '[io.undertow.servlet.test.dispatcher.ForwardServlet].forward(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(io.undertow.servlet.test.dispatcher.ForwardServlet)'
    - '[io.undertow.servlet.test.dispatcher.ForwardServlet].getNamedDispatcher(io.undertow.servlet.test.dispatcher.ForwardServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.ForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.dispatcher.ForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.ForwardServlet:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.dispatcher.ForwardServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/ForwardServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.ForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.ForwardServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.ForwardServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.ForwardServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/ForwardServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.ForwardServlet
    signature: '[io.undertow.servlet.test.dispatcher.ForwardServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(String)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet:33,1
    - Dst: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet].include(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(String)'
    - '[io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet].include(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/DispatcherIncludeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet
    signature: '[io.undertow.servlet.test.dispatcher.DispatcherIncludeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet:33,1
    - Dst: '[jakarta.servlet.ServletException].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet:34,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/ErrorSpewServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[jakarta.servlet.ServletException].<init>(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/ErrorSpewServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/ErrorSpewServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet
    signature: '[io.undertow.servlet.test.dispatcher.attributes.ErrorSpewServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:63,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:64,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].newInstance()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:67,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:86,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].deploy()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:88,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].start()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:88,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:88,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/DispatcherErrorForwardServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
    - '[io.undertow.servlet.api.ErrorPage].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:95,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:102,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:103,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:104,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:105,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:117,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:118,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:119,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:120,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:121,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:122,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:123,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:124,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:126,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:127,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:129,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:130,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:130,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:130,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:131,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].assertNotNull(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:132,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.TreeMap,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:133,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:135,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 137
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].testSimpleForwardWithError()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/DispatcherErrorForwardServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.TreeMap,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].assertNotNull(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.util.TreeMap].put(String,String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].testSimpleForwardWithError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:150,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:151,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:152,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:153,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:155,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:156,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:158,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:158,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:159,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:160,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:161,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:161,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:161,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:162,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].assertNotNull(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:163,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.TreeMap,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:164,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:166,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 168
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].testSimpleForwardWithNoError()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/DispatcherErrorForwardServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.TreeMap,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].assertNotNull(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.util.TreeMap].put(String,String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].testSimpleForwardWithNoError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/DispatcherErrorForwardServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase
    signature: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorForwardServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttributeNames()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:38,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:39,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].hasMoreElements()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:40,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].nextElement()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:42,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:43,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:44,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:47,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:47,1
    - Dst: hsm.getMatchValue()
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:47,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:47,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:47,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:48,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:48,1
    - Dst: hsm.getPattern()
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:48,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:48,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:48,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:49,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:49,1
    - Dst: hsm.getServletName()
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:49,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:49,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:49,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:50,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:50,1
    - Dst: hsm.getMappingMatch()
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:50,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:50,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:52,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:54,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:56,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].hasMoreElements()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:58,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].nextElement()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:59,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:60,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:61,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:62,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:63,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:64,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:66,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:66,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].getBytes()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:66,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].write(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:66,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:67,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].flushBuffer()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 69
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 69
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/ErrorHandlingServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
    - '[StringBuilder].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
    - '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].getBytes()'
    - '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].nextElement()'
    - '[StringBuilder].append(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getAttributeNames()'
    - '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].write(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
    - hsm.getServletName()
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - hsm.getPattern()
    - '[jakarta.servlet.http.HttpServletResponse].flushBuffer()'
    - '[jakarta.servlet.http.HttpServletRequest].getAttribute(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].append(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
    - '[StringBuilder].toString()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet)'
    - hsm.getMappingMatch()
    - hsm.getMatchValue()
    - '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].hasMoreElements()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/ErrorHandlingServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet
    signature: '[io.undertow.servlet.test.dispatcher.attributes.ErrorHandlingServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:63,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:63,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:64,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].newInstance()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:67,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:86,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].deploy()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:88,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].start()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:88,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:88,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/DispatcherErrorIncludeServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].start()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].newInstance()'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
    - '[io.undertow.servlet.api.ErrorPage].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:94,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:102,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:103,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:104,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:105,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:107,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:115,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:116,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:117,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:118,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:119,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:120,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:123,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:124,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:126,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:127,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:127,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:127,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:128,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].assertNotNull(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:129,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.TreeMap,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:132,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 134
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].testSimpleIncludeWithError()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/DispatcherErrorIncludeServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].assertNotNull(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.TreeMap,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].shutdown()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.util.TreeMap].put(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].testSimpleIncludeWithError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:145,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:146,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:147,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:148,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:149,1
    - Dst: '[java.util.TreeMap].put(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:150,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:152,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:154,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:154,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:155,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:156,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:157,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:157,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:157,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:158,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].assertNotNull(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:159,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.TreeMap,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:160,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:162,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 164
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].testSimpleIncludeWithNoError()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/DispatcherErrorIncludeServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].assertEquals(int,io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].assertNotNull(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.TreeMap,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].shutdown()'
    - '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[java.util.TreeMap].put(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].testSimpleIncludeWithNoError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase
      static: false
      superClass: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/DispatcherErrorIncludeServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase
    signature: '[io.undertow.servlet.test.dispatcher.attributes.DispatcherErrorIncludeServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:32,1
    - Dst: '[java.util.TreeMap].<init>()'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:33,1
    - Dst: '[java.util.TreeMap].putAll(java.util.Map<String,String>)'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:34,1
    - Dst: System.err.println(String)
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:35,1
    - Dst: '[String].split(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:36,1
    - Dst: '[java.util.Arrays].toString(io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:37,1
    - Dst: System.err.println(String)
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:37,1
    - Dst: kvp.split(String)
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:40,1
    - Dst: '[java.util.TreeMap].put(io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:43,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].assertNull(String,io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:45,1
    - Dst: '[java.util.TreeMap].containsKey()'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:46,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].assertTrue(String,io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:46,1
    - Dst: '[java.util.TreeMap].remove()'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:47,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].assertEquals(io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase,io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:47,1
    - Dst: '[java.util.TreeMap].size()'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:49,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].assertTrue(String,int)'
      Src: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<String,String>
      - String
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - RuntimeException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - expected
    - incoming
    argTypes:
    - java.util.Map<String,String>
    - String
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.Map<String,String>,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/AttributeComparisonTestBase.java
    functionUses: 0
    functionsReached:
    - '[java.util.TreeMap].<init>()'
    - '[java.util.TreeMap].containsKey()'
    - kvp.split(String)
    - '[java.util.TreeMap].putAll(java.util.Map<String,String>)'
    - '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].assertTrue(String,int)'
    - '[java.util.TreeMap].remove()'
    - System.err.println(String)
    - '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].assertEquals(io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase,io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
    - '[java.util.TreeMap].size()'
    - '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].assertNull(String,io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
    - '[java.util.Arrays].toString(io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
    - '[java.util.TreeMap].put(io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
    - '[String].split(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].assertTrue(String,io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].testAttributes(java.util.Map<String,String>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/AttributeComparisonTestBase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase
    signature: '[io.undertow.servlet.test.dispatcher.attributes.AttributeComparisonTestBase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:40,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].getNamedDispatcher(io.undertow.servlet.test.dispatcher.attributes.IncludeServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(io.undertow.servlet.test.dispatcher.attributes.IncludeServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:46,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].include(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/IncludeServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].include(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    - '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].getNamedDispatcher(io.undertow.servlet.test.dispatcher.attributes.IncludeServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(io.undertow.servlet.test.dispatcher.attributes.IncludeServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/IncludeServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/IncludeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.attributes.IncludeServlet
    signature: '[io.undertow.servlet.test.dispatcher.attributes.IncludeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:39,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].getNamedDispatcher(io.undertow.servlet.test.dispatcher.attributes.ForwardServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(io.undertow.servlet.test.dispatcher.attributes.ForwardServlet)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:41,1
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].forward(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/ForwardServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(io.undertow.servlet.test.dispatcher.attributes.ForwardServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    - '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].forward(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    - '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].getNamedDispatcher(io.undertow.servlet.test.dispatcher.attributes.ForwardServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/ForwardServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/attributes/ForwardServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.attributes.ForwardServlet
    signature: '[io.undertow.servlet.test.dispatcher.attributes.ForwardServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.regex.Pattern].compile(io.undertow.servlet.test.dispatcher.util.DispatcherUtil)'
      Src: io.undertow.servlet.test.dispatcher.util.DispatcherUtil:36,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].matcher(String)'
      Src: io.undertow.servlet.test.dispatcher.util.DispatcherUtil:37,1
    - Dst: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].find()'
      Src: io.undertow.servlet.test.dispatcher.util.DispatcherUtil:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 2
    argNames:
    - fullString
    - partString
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/util/DispatcherUtil.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].matcher(String)'
    - '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].find()'
    - '[java.util.regex.Pattern].compile(io.undertow.servlet.test.dispatcher.util.DispatcherUtil)'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].containsWord(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatcher.util.DispatcherUtil
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatcher/util/DispatcherUtil.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatcher.util.DispatcherUtil
    signature: '[io.undertow.servlet.test.dispatcher.util.DispatcherUtil].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.metrics.TestMetricsCollector].<init>()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:56,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:59,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].newInstance()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:62,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:62,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:69,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setMetricsCollector(io.undertow.servlet.test.metrics.TestMetricsCollector)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:74,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:76,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].deploy()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:78,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].start()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:78,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:85,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:86,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:86,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:87,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:87,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:87,1
    - Dst: completionLatchHandler.await()
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:88,1
    - Dst: completionLatchHandler.reset()
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:89,1
    - Dst: '[io.undertow.servlet.test.metrics.TestMetricsCollector].getMetrics(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:91,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequests()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:92,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMaxRequestTime()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:93,1
    - Dst: '[org.junit.Assert].assertTrue(int)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:93,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMinRequestTime()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:94,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMaxRequestTime()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:94,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMaxRequestTime()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:95,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequestTime()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:98,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:99,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:99,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:100,1
    - Dst: '[String].contains(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:100,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:100,1
    - Dst: completionLatchHandler.await()
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:101,1
    - Dst: completionLatchHandler.reset()
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:102,1
    - Dst: '[io.undertow.servlet.test.metrics.TestMetricsCollector].getMetrics(String)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:105,1
    - Dst: '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequests()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:106,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:110,1
    - Dst: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].shutdown()'
      Src: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 67
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 112
    functionName: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].testMetrics()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/metrics/ServletMetricsHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.metrics.TestMetricsCollector].getMetrics(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler()'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].newInstance()'
    - '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].getStatusLine()'
    - '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMinRequestTime()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
    - '[org.junit.Assert].assertTrue(int)'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequestTime()'
    - '[io.undertow.server.handlers.MetricsHandler.MetricResult].getTotalRequests()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.MetricsHandler.MetricResult].getMaxRequestTime()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase)'
    - '[String].contains(String)'
    - completionLatchHandler.await()
    - completionLatchHandler.reset()
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.metrics.TestMetricsCollector].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setMetricsCollector(io.undertow.servlet.test.metrics.TestMetricsCollector)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].testMetrics()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/metrics/ServletMetricsHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase
    signature: '[io.undertow.servlet.test.metrics.ServletMetricsHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.metrics.MetricTestServlet:35,1
    - Dst: '[io.undertow.servlet.test.metrics.MetricTestServlet].print(String)'
      Src: io.undertow.servlet.test.metrics.MetricTestServlet:36,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.metrics.MetricTestServlet:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.metrics.MetricTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/metrics/MetricTestServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.metrics.MetricTestServlet].print(String)'
    - Thread.sleep(int)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.metrics.MetricTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.metrics.MetricTestServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.metrics.MetricTestServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/metrics/MetricTestServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.metrics.MetricTestServlet
    signature: '[io.undertow.servlet.test.metrics.MetricTestServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.MetricsHandler>].putIfAbsent(String,io.undertow.server.handlers.MetricsHandler)'
      Src: io.undertow.servlet.test.metrics.TestMetricsCollector:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.server.handlers.MetricsHandler
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.MetricsHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.api.MetricsCollector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - name
    - handler
    argTypes:
    - String
    - io.undertow.server.handlers.MetricsHandler
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.metrics.TestMetricsCollector].registerMetric(String,io.undertow.server.handlers.MetricsHandler)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/metrics/TestMetricsCollector.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.MetricsHandler>].putIfAbsent(String,io.undertow.server.handlers.MetricsHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.metrics.TestMetricsCollector].registerMetric(String,io.undertow.server.handlers.MetricsHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.MetricsHandler>].get(String)'
      Src: io.undertow.servlet.test.metrics.TestMetricsCollector:40,1
    - Dst: '[io.undertow.servlet.test.metrics.TestMetricsCollector].getMetrics()'
      Src: io.undertow.servlet.test.metrics.TestMetricsCollector:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.MetricsHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.api.MetricsCollector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: MetricsHandler.MetricResult
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.metrics.TestMetricsCollector].getMetrics(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/metrics/TestMetricsCollector.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.MetricsHandler>].get(String)'
    - '[io.undertow.servlet.test.metrics.TestMetricsCollector].getMetrics()'
    linkageType: ''
    returnType: MetricsHandler.MetricResult
    signature: '[io.undertow.servlet.test.metrics.TestMetricsCollector].getMetrics(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ConcurrentHashMap].<init>()'
      Src: io.undertow.servlet.test.metrics.TestMetricsCollector:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ConcurrentMap<String,io.undertow.server.handlers.MetricsHandler>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.api.MetricsCollector
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.metrics.TestMetricsCollector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.metrics.TestMetricsCollector].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/metrics/TestMetricsCollector.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.ConcurrentHashMap].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.metrics.TestMetricsCollector
    signature: '[io.undertow.servlet.test.metrics.TestMetricsCollector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.handlers.HttpContinueServletTestCase:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '[io.undertow.servlet.test.handlers.HttpContinueServletTestCase].getServerAddress()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/HttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.handlers.HttpContinueServletTestCase].getServerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.handlers.HttpContinueServletTestCase:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.handlers.HttpContinueServletTestCase].getClient()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/HttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.servlet.test.handlers.HttpContinueServletTestCase].getClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.handlers.HttpContinueServletTestCase
      static: false
      superClass: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.handlers.HttpContinueServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/HttpContinueServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.handlers.HttpContinueServletTestCase
    signature: '[io.undertow.servlet.test.handlers.HttpContinueServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:58,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].newInstance()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:64,1
    - Dst: MarkSecureHandlerTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:64,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:72,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:74,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].deploy()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:76,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].start()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:76,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:76,1
    - Dst: '[io.undertow.servlet.handlers.MarkSecureHandler].<init>(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.servlet.handlers.MarkSecureHandler)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:83,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:84,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:85,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:85,1
    - Dst: result.getHeaders("issecure")[0].getValue()
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:87,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:89,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getValue()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:90,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:94,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].shutdown()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 96
    functionName: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].testMarkSecureHandler()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/MarkSecureHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].newInstance()'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].start()'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getStatusCode()'
    - MarkSecureHandlerTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.servlet.handlers.MarkSecureHandler)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - result.getHeaders("issecure")[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.handlers.MarkSecureHandler].<init>(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].deploy()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].testMarkSecureHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:101,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].newInstance()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:102,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:104,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:104,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:107,1
    - Dst: MarkSecureHandlerTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:108,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:107,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:107,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:114,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:114,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:115,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:117,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].deploy()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:118,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:119,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].start()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:119,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:119,1
    - Dst: '[io.undertow.server.handlers.SecureCookieHandler].<init>(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:121,1
    - Dst: '[io.undertow.servlet.handlers.MarkSecureHandler].<init>(io.undertow.server.handlers.SecureCookieHandler)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:121,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.servlet.handlers.MarkSecureHandler)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:121,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:123,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:125,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:125,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:126,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:127,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:127,1
    - Dst: result.getHeaders("issecure")[0].getValue()
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:129,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getFirstHeader(String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:131,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getValue()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:132,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:132,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:136,1
    - Dst: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].shutdown()'
      Src: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.security.GeneralSecurityException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 138
    functionName: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].testMarkSecureHandlerWithSecureCookieHandler()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/MarkSecureHandlerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].newInstance()'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].start()'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getStatusCode()'
    - MarkSecureHandlerTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.servlet.handlers.MarkSecureHandler)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.server.handlers.SecureCookieHandler].<init>(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[io.undertow.servlet.handlers.MarkSecureHandler].<init>(io.undertow.server.handlers.SecureCookieHandler)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getValue()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - result.getHeaders("issecure")[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].getFirstHeader(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].shutdown()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase)'
    - '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].deploy()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].testMarkSecureHandlerWithSecureCookieHandler()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/MarkSecureHandlerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase
    signature: '[io.undertow.servlet.test.handlers.MarkSecureHandlerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].getServerAddress()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/HttpContinueSslServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].getServerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase:40,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase:41,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].getClient()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/HttpContinueSslServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].getClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].before()'
      Src: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase:47,1
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 6
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].before()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/HttpContinueSslServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].before()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].after()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/HttpContinueSslServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase
      static: false
      superClass: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/HttpContinueSslServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase
    signature: '[io.undertow.servlet.test.handlers.HttpContinueSslServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.Servlets].servlet()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMappings(String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:56,1
    - Dst: '[io.undertow.servlet.Servlets].servlet()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMappings(String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:57,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:58,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.Servlets].servlet()'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    - '[io.undertow.servlet.api.ServletInfo].addMappings(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:62,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].before()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    - '[org.junit.Assume].assumeFalse(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].before()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: false
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:72,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:73,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:76,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:78,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:79,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:80,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:80,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:82,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:83,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:85,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testHttpContinueRejected()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testHttpContinueRejected()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:94,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:95,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:98,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:100,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:100,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:101,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:104,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:105,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:105,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:106,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:108,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testHttpContinueAccepted()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testHttpContinueAccepted()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:116,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:117,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:119,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:120,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:123,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:124,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:126,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:127,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:127,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:130,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testHttpContinueIgnored()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testHttpContinueIgnored()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:138,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:139,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:141,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:142,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:145,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:147,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:148,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:148,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:148,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:149,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:151,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testEmptyHttpContinue()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testEmptyHttpContinue()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.params.BasicHttpParams].<init>()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:160,1
    - Dst: '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:161,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:163,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:164,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:166,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:166,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:167,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:168,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:168,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:175,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:176,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:176,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:176,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:177,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase,String)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:177,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:179,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testHttpContinueAcceptedWithChunkedRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getServerAddress()'
    - '[io.undertow.testutils.TestHttpClient].setParams(org.apache.http.params.BasicHttpParams)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getClient()'
    - '[org.apache.http.params.BasicHttpParams].setParameter(String,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].getStatusLine()'
    - '[org.apache.http.params.BasicHttpParams].<init>()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].shutdown()'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase)'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].testHttpContinueAcceptedWithChunkedRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:188,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:192,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:194,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:195,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].read(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:196,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet,int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:197,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:199,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].write(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:199,1
    - Dst: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].close()'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:200,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet)'
      Src: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].setStatus(int)'
    - '[RuntimeException].<init>(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet,int,io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet)'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].read(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].close()'
    - '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].write(io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueConsumeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueIgnoreServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueIgnoreServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueIgnoreServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueIgnoreServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueIgnoreServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueIgnoreServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/AbstractHttpContinueServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueIgnoreServlet
    signature: '[io.undertow.servlet.test.handlers.AbstractHttpContinueServletTestCase.ContinueIgnoreServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '[io.undertow.servlet.test.handlers.IsSecureFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/IsSecureFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.IsSecureFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequest].isSecure()'
      Src: io.undertow.servlet.test.handlers.IsSecureFilter:43,1
    - Dst: Boolean.toString(io.undertow.servlet.test.handlers.IsSecureFilter)
      Src: io.undertow.servlet.test.handlers.IsSecureFilter:43,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setHeader(String,io.undertow.servlet.test.handlers.IsSecureFilter)'
      Src: io.undertow.servlet.test.handlers.IsSecureFilter:43,1
    - Dst: '[jakarta.servlet.http.Cookie].<init>(String,String)'
      Src: io.undertow.servlet.test.handlers.IsSecureFilter:45,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
      Src: io.undertow.servlet.test.handlers.IsSecureFilter:46,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.handlers.IsSecureFilter:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.handlers.IsSecureFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/IsSecureFilter.java
    functionUses: 0
    functionsReached:
    - Boolean.toString(io.undertow.servlet.test.handlers.IsSecureFilter)
    - '[jakarta.servlet.ServletRequest].isSecure()'
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - '[jakarta.servlet.http.HttpServletResponse].setHeader(String,io.undertow.servlet.test.handlers.IsSecureFilter)'
    - '[jakarta.servlet.http.HttpServletResponse].addCookie(jakarta.servlet.http.Cookie)'
    - '[jakarta.servlet.http.Cookie].<init>(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.IsSecureFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '[io.undertow.servlet.test.handlers.IsSecureFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/IsSecureFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.handlers.IsSecureFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.handlers.IsSecureFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.handlers.IsSecureFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/handlers/IsSecureFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.handlers.IsSecureFilter
    signature: '[io.undertow.servlet.test.handlers.IsSecureFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:51,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].newInstance()'
      Src: io.undertow.servlet.test.spec.PathTestCase:52,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:53,1
    - Dst: PathTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.spec.PathTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:53,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:53,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.spec.PathTestCase:53,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.spec.PathTestCase:58,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].deploy()'
      Src: io.undertow.servlet.test.spec.PathTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.spec.PathTestCase:60,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].start()'
      Src: io.undertow.servlet.test.spec.PathTestCase:60,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:60,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.spec.PathTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.spec.PathTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.spec.PathTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].deploy()'
    - '[io.undertow.servlet.test.spec.PathTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - PathTestCase.class.getClassLoader()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.PathTestCase:68,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:68,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.PathTestCase:69,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.PathTestCase:70,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.PathTestCase:70,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:70,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.PathTestCase:74,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.PathTestCase:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].testNoEncoded()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].testNoEncoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:80,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.PathTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.PathTestCase:83,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.PathTestCase:84,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.PathTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.PathTestCase:88,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.PathTestCase:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedPath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:94,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.PathTestCase:96,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.PathTestCase:97,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.PathTestCase:98,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.PathTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:98,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.PathTestCase:102,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.PathTestCase:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedExtension()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedExtension()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:108,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.PathTestCase:110,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:110,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.PathTestCase:111,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.PathTestCase:112,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.PathTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:112,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.PathTestCase:116,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.PathTestCase:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedPathParams()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedPathParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:122,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.PathTestCase:124,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.PathTestCase:125,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.PathTestCase:126,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.PathTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:126,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:127,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.PathTestCase:130,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.PathTestCase:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedExtensionPathParams()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedExtensionPathParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:136,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.PathTestCase:138,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:138,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.PathTestCase:139,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.PathTestCase:140,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.PathTestCase:140,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:140,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:142,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.PathTestCase:144,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.PathTestCase:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedPathParamsEncoded()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedPathParamsEncoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:150,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.PathTestCase:152,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.PathTestCase:153,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.PathTestCase:154,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.PathTestCase:154,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:154,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:155,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:156,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.PathTestCase:158,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.PathTestCase:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedExtensionPathParamsEncoded()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].testEncodedExtensionPathParamsEncoded()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.servlet.test.spec.PathTestCase:165,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
      Src: io.undertow.servlet.test.spec.PathTestCase:166,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:167,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.PathTestCase:168,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.PathTestCase:170,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:170,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.PathTestCase:171,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.PathTestCase:172,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.PathTestCase:172,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:172,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
      Src: io.undertow.servlet.test.spec.PathTestCase:173,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.PathTestCase:174,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.servlet.test.spec.PathTestCase:176,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.PathTestCase:177,1
    - Dst: '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.PathTestCase:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].testUndecodedQueryString()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.PathTestCase)'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.PathTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.spec.PathTestCase].getStatusLine()'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Boolean>,boolean)'
    - '[io.undertow.servlet.test.spec.PathTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.servlet.test.spec.PathTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.PathTestCase].testUndecodedQueryString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.PathTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.PathTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/PathTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.PathTestCase
    signature: '[io.undertow.servlet.test.spec.PathTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.spec.FilterMappingTestCase].setupServlet()'
      Src: io.undertow.servlet.test.spec.FilterMappingTestCase:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - jakarta.servlet.Filter
      - jakarta.servlet.Filter
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '[io.undertow.servlet.test.spec.FilterMappingTestCase].testRegisterFilters()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/FilterMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.spec.FilterMappingTestCase].setupServlet()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.FilterMappingTestCase].testRegisterFilters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.spec.FilterMappingTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.spec.FilterMappingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.spec.FilterMappingTestCase:91,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.spec.FilterMappingTestCase:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - jakarta.servlet.Filter
      - jakarta.servlet.Filter
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: '[io.undertow.servlet.test.spec.FilterMappingTestCase].setupServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/FilterMappingTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.ServletExtension].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.FilterMappingTestCase].setupServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].<init>()'
      Src: io.undertow.servlet.test.spec.FilterMappingTestCase:50,1
    - Dst: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].<init>()'
      Src: io.undertow.servlet.test.spec.FilterMappingTestCase:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - jakarta.servlet.Filter
      - jakarta.servlet.Filter
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.FilterMappingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.FilterMappingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/FilterMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.FilterMappingTestCase
    signature: '[io.undertow.servlet.test.spec.FilterMappingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/FilterMappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - servletRequest
    - servletResponse
    - filterChain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/FilterMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/FilterMappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/FilterMappingTestCase.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter
    signature: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.FilterMappingTestCase.NullServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/FilterMappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.FilterMappingTestCase.NullServlet
    signature: '[io.undertow.servlet.test.spec.FilterMappingTestCase.NullServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:61,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].newInstance()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:67,1
    - Dst: ParameterEchoTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:67,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:74,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].deploy()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:76,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].start()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:76,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:76,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ParameterEchoTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - ParameterEchoTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].newInstance()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:83,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:85,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:86,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:89,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:90,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:90,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:94,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPostInUrl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ParameterEchoTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPostInUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:102,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:103,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:104,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:104,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:105,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:105,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:106,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:106,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:107,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:109,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:110,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:110,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:110,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:114,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPostInStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ParameterEchoTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPostInStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:120,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:122,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:123,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:124,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:124,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:125,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:126,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:127,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:128,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:128,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:128,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:132,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 134
    functionName: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPostBoth()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ParameterEchoTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
    - '[org.apache.http.client.methods.HttpPost].<init>(String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPostBoth()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:138,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:140,1
    - Dst: '[org.apache.http.client.methods.HttpPut].<init>(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:140,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:141,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:142,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:142,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:143,1
    - Dst: '[org.apache.http.client.methods.HttpPut].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:144,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPut)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:145,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:146,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:146,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:146,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:147,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:148,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:150,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPutBothValues()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ParameterEchoTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpPut].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
    - '[org.apache.http.client.methods.HttpPut].<init>(String)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPut)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPutBothValues()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:157,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:159,1
    - Dst: '[org.apache.http.client.methods.HttpPut].<init>(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:159,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:160,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:161,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:161,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:162,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:162,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:163,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:163,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:164,1
    - Dst: '[org.apache.http.client.methods.HttpPut].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:165,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPut)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:166,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:167,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:167,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:167,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:168,1
    - Dst: '[String].split(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:168,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:168,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].size()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:169,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:169,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:170,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:170,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:171,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:171,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:172,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:172,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:173,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:173,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:175,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPutNames()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ParameterEchoTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPut].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].size()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[String].split(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPut].<init>(String)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPut)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPutNames()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:181,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:183,1
    - Dst: '[org.apache.http.client.methods.HttpPut].<init>(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:183,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:184,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:185,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:185,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:186,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:186,1
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:187,1
    - Dst: '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:187,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:188,1
    - Dst: '[org.apache.http.client.methods.HttpPut].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:189,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPut)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:190,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:191,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:191,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:191,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:192,1
    - Dst: '[String].split(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:192,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:192,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].size()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:193,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:193,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:194,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:194,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:195,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:195,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:196,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:196,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:197,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:197,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:199,1
    - Dst: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.ParameterEchoTestCase:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPutMap()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ParameterEchoTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPut].setEntity(org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].size()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].contains(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[java.util.ArrayList].add(org.apache.http.message.BasicNameValuePair)'
    - '[java.util.Arrays].asList(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[String].split(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(java.util.ArrayList,String)'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.spec.ParameterEchoTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.client.methods.HttpPut].<init>(String)'
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPut)'
    - '[io.undertow.servlet.test.spec.ParameterEchoTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].testPutMap()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.ParameterEchoTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ParameterEchoTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.ParameterEchoTestCase
    signature: '[io.undertow.servlet.test.spec.ParameterEchoTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:53,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].newInstance()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:54,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:59,1
    - Dst: GetCookiesTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.spec.GetCookiesTestCase)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:59,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:66,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].deploy()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:68,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].start()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:68,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.spec.GetCookiesTestCase)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: '[io.undertow.servlet.test.spec.GetCookiesTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/GetCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].deploy()'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.spec.GetCookiesTestCase)'
    - GetCookiesTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.spec.GetCookiesTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].newInstance()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.GetCookiesTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:77,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:77,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:79,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:80,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:81,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.GetCookiesTestCase)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:81,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.GetCookiesTestCase)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:85,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: '[io.undertow.servlet.test.spec.GetCookiesTestCase].testGetCookiesWithOnlyValidCookie()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/GetCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.GetCookiesTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.GetCookiesTestCase)'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.GetCookiesTestCase].testGetCookiesWithOnlyValidCookie()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:92,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:94,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:97,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:98,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.GetCookiesTestCase)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:98,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.GetCookiesTestCase)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:102,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: '[io.undertow.servlet.test.spec.GetCookiesTestCase].testGetCookiesWithOnlyInvalidCookies()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/GetCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.GetCookiesTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.GetCookiesTestCase)'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.GetCookiesTestCase].testGetCookiesWithOnlyInvalidCookies()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:108,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:110,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:110,1
    - Dst: '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:112,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:113,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:114,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.GetCookiesTestCase)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:114,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.GetCookiesTestCase)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:118,1
    - Dst: '[io.undertow.servlet.test.spec.GetCookiesTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.GetCookiesTestCase:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: '[io.undertow.servlet.test.spec.GetCookiesTestCase].testGetCookiesWithInvalidCookieName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/GetCookiesTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].setHeader(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.GetCookiesTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.GetCookiesTestCase)'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.spec.GetCookiesTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.GetCookiesTestCase].testGetCookiesWithInvalidCookieName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.GetCookiesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.GetCookiesTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/GetCookiesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.GetCookiesTestCase
    signature: '[io.undertow.servlet.test.spec.GetCookiesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].servlet(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:32,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].addInitParam(String,String)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:32,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:32,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].servlet(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:35,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:35,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.test.spec.UnavailableServletTestCase,io.undertow.servlet.test.spec.UnavailableServletTestCase)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.test.spec.UnavailableServletTestCase,io.undertow.servlet.test.spec.UnavailableServletTestCase)'
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].addMapping(String)'
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].servlet(String)'
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].addInitParam(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServlet].reset()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].teardown()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.spec.UnavailableServlet].reset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].teardown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:47,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:49,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:49,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:50,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:51,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:51,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.UnavailableServletTestCase)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:51,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.UnavailableServletTestCase)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:52,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:54,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].testPermanentUnavailableServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.UnavailableServletTestCase)'
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.UnavailableServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].testPermanentUnavailableServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:63,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:63,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:64,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:65,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:65,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.UnavailableServletTestCase)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:65,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.UnavailableServletTestCase)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:66,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:67,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:69,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:69,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:70,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:71,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:71,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.UnavailableServletTestCase)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:71,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.UnavailableServletTestCase)'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:72,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:74,1
    - Dst: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.spec.UnavailableServletTestCase:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].testTempUnavailableServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].shutdown()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.spec.UnavailableServletTestCase)'
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusCode()'
    - Thread.sleep(int)
    - '[io.undertow.servlet.test.spec.UnavailableServletTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.spec.UnavailableServletTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].testTempUnavailableServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.UnavailableServletTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.UnavailableServletTestCase
    signature: '[io.undertow.servlet.test.spec.UnavailableServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getCookies()'
      Src: io.undertow.servlet.test.spec.ValidCookieEchoServlet:22,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.spec.ValidCookieEchoServlet:24,1
    - Dst: '[io.undertow.servlet.test.spec.ValidCookieEchoServlet].print(String)'
      Src: io.undertow.servlet.test.spec.ValidCookieEchoServlet:26,1
    - Dst: '[io.undertow.servlet.test.spec.ValidCookieEchoServlet].print(String)'
      Src: io.undertow.servlet.test.spec.ValidCookieEchoServlet:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: '[io.undertow.servlet.test.spec.ValidCookieEchoServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ValidCookieEchoServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getCookies()'
    - '[io.undertow.servlet.test.spec.ValidCookieEchoServlet].print(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.ValidCookieEchoServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.ValidCookieEchoServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.ValidCookieEchoServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/ValidCookieEchoServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.ValidCookieEchoServlet
    signature: '[io.undertow.servlet.test.spec.ValidCookieEchoServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServlet:21,1
    - Dst: '[jakarta.servlet.UnavailableException].<init>(String)'
      Src: io.undertow.servlet.test.spec.UnavailableServlet:22,1
    - Dst: '[jakarta.servlet.UnavailableException].<init>(String,int)'
      Src: io.undertow.servlet.test.spec.UnavailableServlet:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: '[io.undertow.servlet.test.spec.UnavailableServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletConfig].getInitParameter(String)'
    - '[jakarta.servlet.UnavailableException].<init>(String,int)'
    - '[jakarta.servlet.UnavailableException].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.UnavailableServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '[io.undertow.servlet.test.spec.UnavailableServlet].getServletConfig()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConfig
    signature: '[io.undertow.servlet.test.spec.UnavailableServlet].getServletConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.spec.UnavailableServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.UnavailableServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.spec.UnavailableServlet].getServletInfo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.spec.UnavailableServlet].getServletInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.spec.UnavailableServlet].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.UnavailableServlet].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.servlet.test.spec.UnavailableServlet].reset()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServlet.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.spec.UnavailableServlet].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.spec.UnavailableServlet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.spec.UnavailableServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/spec/UnavailableServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.spec.UnavailableServlet
    signature: '[io.undertow.servlet.test.spec.UnavailableServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:14,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].<init>()'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:14,1
    - Dst: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].addServlet(String,io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:14,1
    - Dst: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:15,1
    - Dst: System.getProperty(String)
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:16,1
    - Dst: '[jakarta.servlet.MultipartConfigElement].<init>(io.undertow.servlet.test.multipart.AddMultipartServetListener)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:16,1
    - Dst: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].setMultipartConfig(jakarta.servlet.MultipartConfigElement)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:16,1
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:18,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].<init>(boolean)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:18,1
    - Dst: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].addServlet(String,io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:18,1
    - Dst: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:19,1
    - Dst: System.getProperty(String)
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:20,1
    - Dst: '[jakarta.servlet.MultipartConfigElement].<init>(io.undertow.servlet.test.multipart.AddMultipartServetListener)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:20,1
    - Dst: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].setMultipartConfig(jakarta.servlet.MultipartConfigElement)'
      Src: io.undertow.servlet.test.multipart.AddMultipartServetListener:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sce
    argTypes:
    - jakarta.servlet.ServletContextEvent
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].contextInitialized(jakarta.servlet.ServletContextEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/AddMultipartServetListener.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].<init>()'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].<init>(boolean)'
    - '[io.undertow.servlet.test.multipart.AddMultipartServetListener].addMapping(String)'
    - '[jakarta.servlet.ServletContextEvent].getServletContext()'
    - '[io.undertow.servlet.test.multipart.AddMultipartServetListener].addServlet(String,io.undertow.servlet.test.multipart.MultiPartServlet)'
    - '[jakarta.servlet.MultipartConfigElement].<init>(io.undertow.servlet.test.multipart.AddMultipartServetListener)'
    - System.getProperty(String)
    - '[io.undertow.servlet.test.multipart.AddMultipartServetListener].setMultipartConfig(jakarta.servlet.MultipartConfigElement)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].contextInitialized(jakarta.servlet.ServletContextEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sce
    argTypes:
    - jakarta.servlet.ServletContextEvent
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].contextDestroyed(jakarta.servlet.ServletContextEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/AddMultipartServetListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].contextDestroyed(jakarta.servlet.ServletContextEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.multipart.AddMultipartServetListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/AddMultipartServetListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.multipart.AddMultipartServetListener
    signature: '[io.undertow.servlet.test.multipart.AddMultipartServetListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:65,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].servlet(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:73,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:73,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].servlet(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:75,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:75,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].multipartConfig(null,int,int,int)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:77,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].setMultipartConfig(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:75,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].servlet(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:78,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:78,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].multipartConfig(null,int,int,int)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:80,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].setMultipartConfig(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:78,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].servlet(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:81,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:81,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].multipartConfig(null,int,int,int)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:83,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].setMultipartConfig(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:81,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].servlet(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:84,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:84,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].multipartConfig(null,int,int,int)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:86,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].setMultipartConfig(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:84,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.test.multipart.MultiPartTestCase,io.undertow.servlet.test.multipart.MultiPartTestCase,io.undertow.servlet.test.multipart.MultiPartTestCase,io.undertow.servlet.test.multipart.MultiPartTestCase,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].addMapping(String)'
    - '[io.undertow.servlet.ServletExtension].<init>()'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].setMultipartConfig(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].multipartConfig(null,int,int,int)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.test.multipart.MultiPartTestCase,io.undertow.servlet.test.multipart.MultiPartTestCase,io.undertow.servlet.test.multipart.MultiPartTestCase,io.undertow.servlet.test.multipart.MultiPartTestCase,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].servlet(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:91,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:93,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:94,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:95,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:97,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:97,1
    - Dst: MultiPartTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:98,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:98,1
    - Dst: '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:98,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:98,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:98,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:100,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:101,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:102,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:102,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:103,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:106,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestWithNoMultipartConfig()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - MultiPartTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestWithNoMultipartConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:112,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:114,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:115,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase,null,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:117,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:119,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:119,1
    - Dst: MultiPartTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:120,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:120,1
    - Dst: '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:120,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:120,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:120,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:123,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:124,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:124,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:126,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:144,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 146
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - MultiPartTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase,null,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:151,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:153,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:154,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:155,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:157,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:157,1
    - Dst: MultiPartTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:158,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:158,1
    - Dst: '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:158,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:158,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:158,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:160,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:161,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:162,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:162,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:162,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:163,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:164,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:182,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 184
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestWithAddedServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - MultiPartTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestWithAddedServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:189,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:189,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:190,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:192,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:193,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:194,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:196,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:196,1
    - Dst: MultiPartTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:197,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:197,1
    - Dst: '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:197,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:197,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:197,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:199,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:200,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:201,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:201,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:201,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:205,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 207
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestTooLarge()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
    - MultiPartTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.DefaultServer].isH2()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestTooLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:211,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:213,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:214,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:215,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:217,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:217,1
    - Dst: MultiPartTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:218,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:218,1
    - Dst: '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:218,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:218,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:218,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:220,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:221,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:222,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:223,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:225,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartIndividualFileToLarge()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - MultiPartTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartIndividualFileToLarge()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:231,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:233,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:234,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:236,1
    - Dst: '[org.apache.http.entity.ContentType].create(String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:238,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:238,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:238,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:240,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:241,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:242,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:242,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:242,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:243,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:245,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:258,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 260
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestUtf8CharsetInPart()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.apache.http.entity.ContentType].create(String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestUtf8CharsetInPart()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:264,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:266,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:267,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase,null,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:269,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].generateContent(String,int,int)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:271,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:272,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:272,1
    - Dst: MultiPartTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:273,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:273,1
    - Dst: '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:273,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:273,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:273,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:275,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:276,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:277,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:277,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:277,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:278,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:279,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:299,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 301
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestBigPostForm()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - MultiPartTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase,null,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].generateContent(String,int,int)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestBigPostForm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:306,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:307,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:309,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:310,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase,null,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:312,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:314,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:314,1
    - Dst: MultiPartTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:315,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:315,1
    - Dst: '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:315,1
    - Dst: '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:315,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:315,1
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Long>,long)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:318,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:319,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:321,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:322,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:323,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:323,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:323,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:324,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:325,1
    - Dst: '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:343,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:344,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 346
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestSizeLimitOverridesServerEntitySize()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.File].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getUndertowOptions()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.mime.MultipartEntity)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.FileBody)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getFile()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Long>,long)'
    - MultiPartTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String,String,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.entity.mime.content.FileBody].<init>(java.io.File)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusLine()'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.MultiPartTestCase,null,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    - '[io.undertow.servlet.test.multipart.MultiPartTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.MultiPartTestCase)'
    - '[io.undertow.testutils.DefaultServer].setUndertowOptions(org.xnio.OptionMap)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].testMultiPartRequestSizeLimitOverridesServerEntitySize()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:349,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:350,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:352,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.multipart.MultiPartTestCase:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - chunk
    - size
    argTypes:
    - String
    - int
    constantsTouched: []
    func_position:
      end: 355
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 355
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].generateContent(String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[String].getBytes()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].generateContent(String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.multipart.MultiPartTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.multipart.MultiPartTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.multipart.MultiPartTestCase
    signature: '[io.undertow.servlet.test.multipart.MultiPartTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServlet].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.multipart.MultiPartServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.servlet.test.multipart.MultiPartServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.multipart.MultiPartServlet
    signature: '[io.undertow.servlet.test.multipart.MultiPartServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServlet].<init>()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.multipart.MultiPartServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - getParam
    argTypes:
    - boolean
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.multipart.MultiPartServlet].<init>(boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.multipart.MultiPartServlet
    signature: '[io.undertow.servlet.test.multipart.MultiPartServlet].<init>(boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParts()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:55,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:56,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setCharacterEncoding(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:57,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:58,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:59,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:60,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].size()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:60,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:60,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:61,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].count(io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:61,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:61,1
    - Dst: part.getName()
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:63,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:63,1
    - Dst: part.getSubmittedFileName()
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:64,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:64,1
    - Dst: part.getContentType()
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:65,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:65,1
    - Dst: part.getHeaderNames()
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:66,1
    - Dst: '[java.util.TreeSet].<init>(io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:66,1
    - Dst: part.getHeader(io.undertow.servlet.test.multipart.MultiPartServlet)
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:68,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:68,1
    - Dst: header.equals(String)
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:69,1
    - Dst: part.getHeader(io.undertow.servlet.test.multipart.MultiPartServlet)
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:70,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].indexOf(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:71,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:71,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].substring(io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:71,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].indexOf(char)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:72,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].substring(int,io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:72,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterValues(io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:73,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:76,1
    - Dst: part.getSize()
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:81,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:81,1
    - Dst: part.getInputStream()
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:82,1
    - Dst: '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:82,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:82,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:85,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].hasMoreElements()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:86,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].nextElement()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:87,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:88,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(io.undertow.servlet.test.multipart.MultiPartServlet)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:89,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:89,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:93,1
    - Dst: e.getClass()
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:93,1
    - Dst: '[io.undertow.servlet.test.multipart.MultiPartServlet].write(String)'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 95
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 95
    functionName: '[io.undertow.servlet.test.multipart.MultiPartServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - part.getHeaderNames()
    - '[io.undertow.util.FileUtils].readFile(io.undertow.servlet.test.multipart.MultiPartServlet)'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].substring(int,io.undertow.servlet.test.multipart.MultiPartServlet)'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].write(String)'
    - e.getClass()
    - part.getSize()
    - '[jakarta.servlet.http.HttpServletRequest].getParameterValues(io.undertow.servlet.test.multipart.MultiPartServlet)'
    - part.getSubmittedFileName()
    - '[jakarta.servlet.http.HttpServletRequest].getParts()'
    - '[String].length()'
    - part.getName()
    - part.getContentType()
    - header.equals(String)
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].hasMoreElements()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].indexOf(char)'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].count(io.undertow.servlet.test.multipart.MultiPartServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(io.undertow.servlet.test.multipart.MultiPartServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].substring(io.undertow.servlet.test.multipart.MultiPartServlet)'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].indexOf(String)'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].println(String)'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].println(io.undertow.servlet.test.multipart.MultiPartServlet)'
    - part.getHeader(io.undertow.servlet.test.multipart.MultiPartServlet)
    - part.getInputStream()
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].nextElement()'
    - '[java.util.TreeSet].<init>(io.undertow.servlet.test.multipart.MultiPartServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
    - '[jakarta.servlet.http.HttpServletResponse].setCharacterEncoding(String)'
    - '[io.undertow.servlet.test.multipart.MultiPartServlet].size()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.MultiPartServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Enumeration<String>].hasMoreElements()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:99,1
    - Dst: '[java.util.Enumeration<String>].nextElement()'
      Src: io.undertow.servlet.test.multipart.MultiPartServlet:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Enumeration<String>
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: int
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - parameterNames
    argTypes:
    - java.util.Enumeration<String>
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: '[io.undertow.servlet.test.multipart.MultiPartServlet].count(java.util.Enumeration<String>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/MultiPartServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.Enumeration<String>].hasMoreElements()'
    - '[java.util.Enumeration<String>].nextElement()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.multipart.MultiPartServlet].count(java.util.Enumeration<String>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:53,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].multipartConfig(null,int,int,int)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:55,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setMultipartConfig(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:53,1
    - Dst: '[io.undertow.servlet.Servlets].servlet(String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:56,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.Servlets].servlet(String)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].multipartConfig(null,int,int,int)'
    - '[io.undertow.servlet.api.ServletInfo].setMultipartConfig(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createUrlEncodedFormPostEntity()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:63,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:63,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].urlEncodedFormRequestDirectlyToMultipartServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createUrlEncodedFormPostEntity()'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].urlEncodedFormRequestDirectlyToMultipartServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createUrlEncodedFormPostEntity()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:73,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.client.entity.UrlEncodedFormEntity)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].urlEncodedFormRequestForwardedToMultipartServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.client.entity.UrlEncodedFormEntity)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createUrlEncodedFormPostEntity()'
    - '[org.junit.Assert].assertEquals(String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].urlEncodedFormRequestForwardedToMultipartServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createMultiPartFormPostEntity()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:83,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].multiPartFormRequestDirectlyToMultipartServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String,String)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.entity.mime.MultipartEntity)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createMultiPartFormPostEntity()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].multiPartFormRequestDirectlyToMultipartServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createMultiPartFormPostEntity()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:93,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.entity.mime.MultipartEntity)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,String,String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].multiPartFormRequestForwardedToMultipartServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String,String)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.entity.mime.MultipartEntity)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createMultiPartFormPostEntity()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].multiPartFormRequestForwardedToMultipartServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:102,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:105,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:107,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.HttpEntity)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:108,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:110,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:111,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:111,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:113,1
    - Dst: '[String].trim()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:116,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].shutdown()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - org.apache.http.HttpEntity
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - path
    - postEntity
    argTypes:
    - String
    - org.apache.http.HttpEntity
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.HttpEntity)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.HttpEntity)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
    - '[String].trim()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].sendRequest(String,org.apache.http.HttpEntity)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:122,1
    - Dst: '[org.apache.http.entity.mime.content.StringBody].<init>(String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:123,1
    - Dst: '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.entity.mime.MultipartEntity
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createMultiPartFormPostEntity()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 2
    functionsReached:
    - '[org.apache.http.entity.mime.content.StringBody].<init>(String)'
    - '[org.apache.http.entity.mime.MultipartEntity].<init>(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
    - '[org.apache.http.entity.mime.MultipartEntity].addPart(String,org.apache.http.entity.mime.content.StringBody)'
    linkageType: ''
    returnType: org.apache.http.entity.mime.MultipartEntity
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createMultiPartFormPostEntity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:128,1
    - Dst: '[java.util.Arrays].asList(org.apache.http.message.BasicNameValuePair)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:129,1
    - Dst: '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: org.apache.http.client.entity.UrlEncodedFormEntity
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createUrlEncodedFormPostEntity()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 2
    functionsReached:
    - '[org.apache.http.message.BasicNameValuePair].<init>(String,String)'
    - '[java.util.Arrays].asList(org.apache.http.message.BasicNameValuePair)'
    - '[org.apache.http.client.entity.UrlEncodedFormEntity].<init>(io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase)'
    linkageType: ''
    returnType: org.apache.http.client.entity.UrlEncodedFormEntity
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].createUrlEncodedFormPostEntity()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartForwardTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartForwardTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
      Src: io.undertow.servlet.test.multipart.forward.ForwardingServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(String)'
      Src: io.undertow.servlet.test.multipart.forward.ForwardingServlet:41,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.ForwardingServlet].forward(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.multipart.forward.ForwardingServlet:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.multipart.forward.ForwardingServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/ForwardingServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getRequestDispatcher(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
    - '[io.undertow.servlet.test.multipart.forward.ForwardingServlet].forward(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.forward.ForwardingServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.multipart.forward.ForwardingServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.multipart.forward.ForwardingServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/ForwardingServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.multipart.forward.ForwardingServlet
    signature: '[io.undertow.servlet.test.multipart.forward.ForwardingServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet:40,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].println(String)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet:44,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].entrySet()'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet:44,1
    - Dst: '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].println(io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet)'
      Src: io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartCapableServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].entrySet()'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].println(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
    - '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].println(io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - long
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/multipart/forward/MultiPartCapableServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet
    signature: '[io.undertow.servlet.test.multipart.forward.MultiPartCapableServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.locks.ReadWriteLock
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatchingfilter/DispatchingFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:52,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].lock()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:52,1
    - Dst: '[jakarta.servlet.ServletRequest].getDispatcherType()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:54,1
    - Dst: '[org.xnio.FutureResult<Boolean>].setResult(boolean)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:56,1
    - Dst: '[jakarta.servlet.ServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:57,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].getRequestDispatcher(String)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:57,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].forward(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:58,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:60,1
    - Dst: '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:62,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].unlock()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.locks.ReadWriteLock
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - req
    - res
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatchingfilter/DispatchingFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].lock()'
    - '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
    - '[jakarta.servlet.ServletRequest].getDispatcherType()'
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].forward(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].getRequestDispatcher(String)'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].unlock()'
    - '[org.xnio.FutureResult<Boolean>].setResult(boolean)'
    - '[jakarta.servlet.ServletRequest].getServletContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:68,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].lock()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:68,1
    - Dst: '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:69,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].unlock()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.locks.ReadWriteLock
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatchingfilter/DispatchingFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].lock()'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].unlock()'
    - '[java.util.concurrent.locks.ReadWriteLock].writeLock()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.locks.ReentrantReadWriteLock].<init>()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.locks.ReadWriteLock
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatchingfilter/DispatchingFilter.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.locks.ReentrantReadWriteLock].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatchingfilter.DispatchingFilter
    signature: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:61,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].newInstance()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:64,1
    - Dst: ServletPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:70,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:75,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:77,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].deploy()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:79,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].start()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:79,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:79,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.FutureResult<Boolean>
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatchingfilter/DispatchingFilterTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - ServletPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].deploy()'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:85,1
    - Dst: '[Thread].<init>()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:86,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:86,1
    - Dst: '[org.xnio.FutureResult<Boolean>].getIoFuture()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:99,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].await()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].stop()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:100,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:101,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].get()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:101,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:102,1
    - Dst: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:102,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.FutureResult<Boolean>
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].test()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatchingfilter/DispatchingFilterTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.FutureResult<Boolean>].getIoFuture()'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase)'
    - '[Thread].start()'
    - '[Thread].<init>()'
    - '[io.undertow.servlet.api.DeploymentManager].stop()'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].await()'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].getStatusLine()'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].test()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - org.xnio.FutureResult<Boolean>
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/dispatchingfilter/DispatchingFilterTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.xnio.FutureResult].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase
    signature: '[io.undertow.servlet.test.dispatchingfilter.DispatchingFilterTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FirstListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.ordering.FirstListener:29,1
    - Dst: '[io.undertow.servlet.test.util.Tracker].addAction(io.undertow.servlet.test.listener.ordering.FirstListener)'
      Src: io.undertow.servlet.test.listener.ordering.FirstListener:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: '[io.undertow.servlet.test.listener.ordering.FirstListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/FirstListener.java
    functionUses: 0
    functionsReached:
    - FirstListener.class.getSimpleName()
    - '[io.undertow.servlet.test.util.Tracker].addAction(io.undertow.servlet.test.listener.ordering.FirstListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.ordering.FirstListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FirstListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.ordering.FirstListener:34,1
    - Dst: '[io.undertow.servlet.test.util.Tracker].addAction(io.undertow.servlet.test.listener.ordering.FirstListener)'
      Src: io.undertow.servlet.test.listener.ordering.FirstListener:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.servlet.test.listener.ordering.FirstListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/FirstListener.java
    functionUses: 0
    functionsReached:
    - FirstListener.class.getSimpleName()
    - '[io.undertow.servlet.test.util.Tracker].addAction(io.undertow.servlet.test.listener.ordering.FirstListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.ordering.FirstListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.ordering.FirstListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.ordering.FirstListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/FirstListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.ordering.FirstListener
    signature: '[io.undertow.servlet.test.listener.ordering.FirstListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecondListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.ordering.SecondListener:29,1
    - Dst: '[io.undertow.servlet.test.util.Tracker].addAction(io.undertow.servlet.test.listener.ordering.SecondListener)'
      Src: io.undertow.servlet.test.listener.ordering.SecondListener:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: '[io.undertow.servlet.test.listener.ordering.SecondListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/SecondListener.java
    functionUses: 0
    functionsReached:
    - SecondListener.class.getSimpleName()
    - '[io.undertow.servlet.test.util.Tracker].addAction(io.undertow.servlet.test.listener.ordering.SecondListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.ordering.SecondListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecondListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.ordering.SecondListener:34,1
    - Dst: '[io.undertow.servlet.test.util.Tracker].addAction(io.undertow.servlet.test.listener.ordering.SecondListener)'
      Src: io.undertow.servlet.test.listener.ordering.SecondListener:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.servlet.test.listener.ordering.SecondListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/SecondListener.java
    functionUses: 0
    functionsReached:
    - SecondListener.class.getSimpleName()
    - '[io.undertow.servlet.test.util.Tracker].addAction(io.undertow.servlet.test.listener.ordering.SecondListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.ordering.SecondListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.ordering.SecondListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.ordering.SecondListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/SecondListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.ordering.SecondListener
    signature: '[io.undertow.servlet.test.listener.ordering.SecondListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:58,1
    - Dst: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].newInstance()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:61,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:68,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:61,1
    - Dst: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:71,1
    - Dst: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].deploy()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:73,1
    - Dst: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].start()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:73,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/ServletSessionListenerOrderingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ListenerInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].deploy()'
    - '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].start()'
    - '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:80,1
    - Dst: '[io.undertow.servlet.test.util.Tracker].reset()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:82,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:83,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:84,1
    - Dst: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:85,1
    - Dst: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:85,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:87,1
    - Dst: FirstListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:88,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:88,1
    - Dst: SecondListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:89,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:89,1
    - Dst: SecondListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:90,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:90,1
    - Dst: FirstListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:91,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:91,1
    - Dst: '[io.undertow.servlet.test.util.Tracker].getActions()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(java.util.ArrayList,java.util.List<String>)'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:95,1
    - Dst: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].shutdown()'
      Src: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].testSimpleSessionUsage()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/ServletSessionListenerOrderingTestCase.java
    functionUses: 0
    functionsReached:
    - SecondListener.class.getSimpleName()
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
    - '[java.util.ArrayList].add(io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.util.Tracker].reset()'
    - '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].getStatusLine()'
    - FirstListener.class.getSimpleName()
    - '[java.util.ArrayList].<init>()'
    - '[org.junit.Assert].assertEquals(java.util.ArrayList,java.util.List<String>)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.util.Tracker].getActions()'
    - '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].testSimpleSessionUsage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/ordering/ServletSessionListenerOrderingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase
    signature: '[io.undertow.servlet.test.listener.ordering.ServletSessionListenerOrderingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener:32,1
    - Dst: System.err.println(io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener)
      Src: io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener:32,1
    - Dst: '[jakarta.servlet.ServletContextEvent].getServletContext()'
      Src: io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener:33,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener].declareRoles(String[])'
      Src: io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextEvent
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sce
    argTypes:
    - jakarta.servlet.ServletContextEvent
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: '[io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener].contextInitialized(jakarta.servlet.ServletContextEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/DeclareRolesServletContextListener.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletContextEvent].getServletContext()'
    - System.err.println(io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener)
    - '[io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener].declareRoles(String[])'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener].contextInitialized(jakarta.servlet.ServletContextEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String[]
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/DeclareRolesServletContextListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener
    signature: '[io.undertow.servlet.test.listener.servletcontext.DeclareRolesServletContextListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:68,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].newInstance()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:69,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:70,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:71,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].<init>(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:73,1
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:74,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:75,1
    - Dst: '[java.util.HashMap].put(String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:76,1
    - Dst: '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:77,1
    - Dst: '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: ServletContextRolesTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:85,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addPrincipalVsRoleMappings(String,String[])'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:92,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:93,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:94,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:94,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:93,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRolesAllowed(String[])'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:93,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:93,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:99,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].deploy()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:100,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:101,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].start()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:101,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:101,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 104
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextRolesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentInfo].addPrincipalVsRoleMappings(String,String[])'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.LoginConfig].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].setEmptyRoleSemantic(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].deploy()'
    - ServletContextRolesTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].start()'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
    - '[io.undertow.servlet.api.WebResourceCollection].<init>()'
    - '[io.undertow.servlet.api.SecurityConstraint].addRolesAllowed(String[])'
    - '[io.undertow.servlet.api.AuthMethodConfig].<init>(String,java.util.HashMap)'
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[java.util.HashMap].put(String,String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.servlet.api.SecurityConstraint].<init>()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ListenerInfo].<init>()'
    - '[io.undertow.servlet.api.SecurityConstraint].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[java.util.HashMap].<init>()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.LoginConfig].addFirstAuthMethod(io.undertow.servlet.api.AuthMethodConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:108,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:109,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].append(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:109,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].append(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:109,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].testCall(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase,io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase,String,String,String,int)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].testRoles()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextRolesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].testCall(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase,io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase,String,String,String,int)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].append(String)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].testRoles()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:116,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:118,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:119,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:120,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:121,1
    - Dst: '[io.undertow.util.Headers.AUTHORIZATION].toString()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:122,1
    - Dst: (user + ":" + password).getBytes(java.nio.charset.Charset)
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:122,1
    - Dst: '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase,boolean)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase,io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:123,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:124,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:124,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].assertEquals(int,io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:124,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:126,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].assertEquals(String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:131,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].shutdown()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - java.nio.charset.Charset
      - String
      - String
      - String
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - expectedResponse
    - charset
    - userAgent
    - user
    - password
    - expect
    argTypes:
    - String
    - java.nio.charset.Charset
    - String
    - String
    - String
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].testCall(String,java.nio.charset.Charset,String,String,String,int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextRolesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].assertEquals(int,io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase,io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
    - (user + ":" + password).getBytes(java.nio.charset.Charset)
    - '[io.undertow.util.FlexBase64].encodeString(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase,boolean)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].getStatusCode()'
    - '[io.undertow.util.Headers.AUTHORIZATION].toString()'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].assertEquals(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].testCall(String,java.nio.charset.Charset,String,String,String,int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextRolesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextRolesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci:40,1
    - Dst: '[jakarta.servlet.ServletContext].addListener(io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener)'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci:40,1
    - Dst: '[jakarta.servlet.ServletContext].setAttribute(String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci:41,1
    - Dst: '[jakarta.servlet.ServletContext].getAttribute(io.undertow.servlet.test.listener.servletcontext.TestSci)'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci:42,1
    - Dst: '[org.junit.Assert].assertNotNull(io.undertow.servlet.test.listener.servletcontext.TestSci)'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Set<Class<?>>
      - jakarta.servlet.ServletContext
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.ServletContainerInitializer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - c
    - ctx
    argTypes:
    - java.util.Set<Class<?>>
    - jakarta.servlet.ServletContext
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.listener.servletcontext.TestSci].onStartup(java.util.Set<Class<?>>,jakarta.servlet.ServletContext)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/TestSci.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletContext].setAttribute(String,String)'
    - '[jakarta.servlet.ServletContext].getAttribute(io.undertow.servlet.test.listener.servletcontext.TestSci)'
    - '[jakarta.servlet.ServletContext].addListener(io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener)'
    - '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].<init>()'
    - '[org.junit.Assert].assertNotNull(io.undertow.servlet.test.listener.servletcontext.TestSci)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.TestSci].onStartup(java.util.Set<Class<?>>,jakarta.servlet.ServletContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContainerInitializer
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.servletcontext.TestSci
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.servletcontext.TestSci].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/TestSci.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.servletcontext.TestSci
    signature: '[io.undertow.servlet.test.listener.servletcontext.TestSci].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getName()'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener:49,1
    - Dst: DEQUE.add(String)
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextAttributeEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ServletContextAttributeListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.ServletContextAttributeEvent
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].attributeAdded(jakarta.servlet.ServletContextAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/TestSci.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletContextAttributeEvent].getName()'
    - DEQUE.add(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].attributeAdded(jakarta.servlet.ServletContextAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getName()'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener:54,1
    - Dst: DEQUE.add(String)
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextAttributeEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ServletContextAttributeListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.ServletContextAttributeEvent
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].attributeRemoved(jakarta.servlet.ServletContextAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/TestSci.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletContextAttributeEvent].getName()'
    - DEQUE.add(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].attributeRemoved(jakarta.servlet.ServletContextAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getName()'
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener:59,1
    - Dst: DEQUE.add(String)
      Src: io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextAttributeEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ServletContextAttributeListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.ServletContextAttributeEvent
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].attributeReplaced(jakarta.servlet.ServletContextAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/TestSci.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletContextAttributeEvent].getName()'
    - DEQUE.add(String)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].attributeReplaced(jakarta.servlet.ServletContextAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - ServletContextAttributeListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/TestSci.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener
    signature: '[io.undertow.servlet.test.listener.servletcontext.TestSci.DynamicListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:53,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].newInstance()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:56,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:56,1
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:61,1
    - Dst: '[io.undertow.servlet.api.ServletContainerInitializerInfo].<init>(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContainerInitializer(io.undertow.servlet.api.ServletContainerInitializerInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:56,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:56,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:69,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].deploy()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:71,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].start()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:71,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextListenerTestCase2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContainerInitializer(io.undertow.servlet.api.ServletContainerInitializerInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletContainerInitializerInfo].<init>(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2)'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[java.util.Collections].emptySet()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ListenerInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].deploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].undeploy()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:78,1
    - Dst: '[org.junit.Assert].assertNotNull(jakarta.servlet.ServletContextEvent)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].testServletContextDestroyed()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextListenerTestCase2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].undeploy()'
    - '[org.junit.Assert].assertNotNull(jakarta.servlet.ServletContextEvent)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].testServletContextDestroyed()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextListenerTestCase2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
      Src: io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/CheckRolesServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].isUserInRole(io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet)'
      Src: io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet:46,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].write(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet:47,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].close()'
      Src: io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/CheckRolesServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].isUserInRole(io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet)'
    - '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].write(String)'
    - '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/CheckRolesServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/CheckRolesServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet
    signature: '[io.undertow.servlet.test.listener.servletcontext.CheckRolesServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextAttributeEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.ServletContextAttributeEvent
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeAdded(jakarta.servlet.ServletContextAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeAdded(jakarta.servlet.ServletContextAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextAttributeEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.ServletContextAttributeEvent
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeRemoved(jakarta.servlet.ServletContextAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeRemoved(jakarta.servlet.ServletContextAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextAttributeEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.ServletContextAttributeEvent
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeReplaced(jakarta.servlet.ServletContextAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeReplaced(jakarta.servlet.ServletContextAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sce
    argTypes:
    - jakarta.servlet.ServletContextEvent
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].contextInitialized(jakarta.servlet.ServletContextEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].contextInitialized(jakarta.servlet.ServletContextEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletContextEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sce
    argTypes:
    - jakarta.servlet.ServletContextEvent
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].contextDestroyed(jakarta.servlet.ServletContextEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].contextDestroyed(jakarta.servlet.ServletContextEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestAttributeEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srae
    argTypes:
    - jakarta.servlet.ServletRequestAttributeEvent
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeAdded(jakarta.servlet.ServletRequestAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeAdded(jakarta.servlet.ServletRequestAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestAttributeEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srae
    argTypes:
    - jakarta.servlet.ServletRequestAttributeEvent
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeRemoved(jakarta.servlet.ServletRequestAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeRemoved(jakarta.servlet.ServletRequestAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestAttributeEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - srae
    argTypes:
    - jakarta.servlet.ServletRequestAttributeEvent
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeReplaced(jakarta.servlet.ServletRequestAttributeEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].attributeReplaced(jakarta.servlet.ServletRequestAttributeEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.ServletContextAttributeEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletContextEvent
      - jakarta.servlet.ServletRequestAttributeEvent
      - jakarta.servlet.ServletRequestEvent
      - jakarta.servlet.ServletRequestEvent
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletContextListener
      - jakarta.servlet.ServletRequestAttributeListener
      - jakarta.servlet.ServletContextAttributeListener
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextTestListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextTestListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:54,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].newInstance()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:57,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:57,1
    - Dst: '[java.util.Collections].emptySet()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletContainerInitializerInfo].<init>(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletContainerInitializer(io.undertow.servlet.api.ServletContainerInitializerInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:57,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:70,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].deploy()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:72,1
    - Dst: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].start()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:72,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].addServletContainerInitializer(io.undertow.servlet.api.ServletContainerInitializerInfo)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[java.util.Collections].emptySet()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ListenerInfo].<init>()'
    - '[io.undertow.servlet.api.ServletContainerInitializerInfo].<init>(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase)'
    - '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.junit.Assert].assertNotNull(jakarta.servlet.ServletContextEvent)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].testServletContextInitialized()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertNotNull(jakarta.servlet.ServletContextEvent)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].testServletContextInitialized()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentManager].getDeployment()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:84,1
    - Dst: '[io.undertow.servlet.api.Deployment].getServletContext()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:84,1
    - Dst: '[io.undertow.servlet.spec.ServletContextImpl].setAttribute(String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:85,1
    - Dst: '[org.junit.Assert].assertNotNull(jakarta.servlet.ServletContextAttributeEvent)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:86,1
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getName()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:87,1
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getValue()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:88,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:88,1
    - Dst: '[io.undertow.servlet.spec.ServletContextImpl].setAttribute(String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:89,1
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getName()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:90,1
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getValue()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:91,1
    - Dst: '[io.undertow.servlet.spec.ServletContextImpl].setAttribute(String,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:92,1
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getName()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:93,1
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getValue()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:94,1
    - Dst: '[io.undertow.servlet.spec.ServletContextImpl].removeAttribute(String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:95,1
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getName()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:96,1
    - Dst: '[jakarta.servlet.ServletContextAttributeEvent].getValue()'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
      Src: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].testServletContextAttributeListener()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.DeploymentManager].getDeployment()'
    - '[io.undertow.servlet.spec.ServletContextImpl].setAttribute(String,String)'
    - '[io.undertow.servlet.spec.ServletContextImpl].removeAttribute(String)'
    - '[jakarta.servlet.ServletContextAttributeEvent].getName()'
    - '[io.undertow.servlet.api.Deployment].getServletContext()'
    - '[jakarta.servlet.ServletContextAttributeEvent].getValue()'
    - '[org.junit.Assert].assertNotNull(jakarta.servlet.ServletContextAttributeEvent)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].testServletContextAttributeListener()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.api.DeploymentManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/servletcontext/ServletContextListenerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase
    signature: '[io.undertow.servlet.test.listener.servletcontext.ServletContextListenerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:64,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].newInstance()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:73,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:73,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:77,1
    - Dst: AsyncListenerExceptionTest.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:77,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:84,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].deploy()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:86,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].start()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:86,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].deploy()'
    - AsyncListenerExceptionTest.class.getClassLoader()
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AbstractAsyncServlet.QUEUE.clear()
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].setUp()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - AbstractAsyncServlet.QUEUE.clear()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].setUp()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onCompleteThrowsRuntimeException()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onCompleteThrowsRuntimeException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onCompleteThrowsIOException()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onCompleteThrowsIOException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onCompleteThrowsError()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onCompleteThrowsError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onTimeoutThrowsRuntimeException()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onTimeoutThrowsRuntimeException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onTimeoutThrowsIOException()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onTimeoutThrowsIOException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onTimeoutThrowsError()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].onTimeoutThrowsError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:127,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:129,1
    - Dst: '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:131,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:133,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:134,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:134,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:134,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:135,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:136,1
    - Dst: '[java.util.LinkedList].add(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:137,1
    - Dst: '[java.util.LinkedList].add(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:138,1
    - Dst: '[java.util.LinkedList].add(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:140,1
    - Dst: '[java.util.LinkedList].add(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:141,1
    - Dst: '[java.util.LinkedList].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:143,1
    - Dst: '[java.util.LinkedList].size()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:144,1
    - Dst: AbstractAsyncServlet.QUEUE.poll(int,io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:145,1
    - Dst: '[java.util.LinkedList].add(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:145,1
    - Dst: '[java.util.Comparator].naturalOrder()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:147,1
    - Dst: '[java.util.LinkedList].sort(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:147,1
    - Dst: '[org.junit.Assert].assertEquals(java.util.LinkedList,java.util.LinkedList)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:148,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:150,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - urlTail
    - timeout
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 6
    functionsReached:
    - '[java.util.LinkedList].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].getStatusCode()'
    - AbstractAsyncServlet.QUEUE.poll(int,io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].addHeader(String,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
    - '[java.util.Comparator].naturalOrder()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
    - '[java.util.LinkedList].add(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(java.util.LinkedList,java.util.LinkedList)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
    - '[java.util.LinkedList].sort(io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[java.util.LinkedList].add(String)'
    - '[java.util.LinkedList].size()'
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].doTest(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet:159,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].setTimeout(int)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet:160,1
    - Dst: '[jakarta.servlet.AsyncListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet:162,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].addListener(jakarta.servlet.AsyncListener)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet:162,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet:187,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].complete()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: false
      classEnum: false
      classFields:
      - BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 190
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 190
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].complete()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[jakarta.servlet.AsyncListener].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].addListener(jakarta.servlet.AsyncListener)'
    - '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].setTimeout(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - BlockingQueue<String>
      classPublic: true
      concrete: false
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].throwException()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].throwException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.AbstractAsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[RuntimeException].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.RuntimeExceptionServlet:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractAsyncServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.RuntimeExceptionServlet].throwException()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.RuntimeExceptionServlet].throwException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.RuntimeExceptionServlet
      static: false
      superClass: AbstractAsyncServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.RuntimeExceptionServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.RuntimeExceptionServlet
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.RuntimeExceptionServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.IOException].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.IOExceptionServlet:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractAsyncServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.IOExceptionServlet].throwException()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[java.io.IOException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.IOExceptionServlet].throwException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.IOExceptionServlet
      static: false
      superClass: AbstractAsyncServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.IOExceptionServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.IOExceptionServlet
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.IOExceptionServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Error].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.ErrorServlet:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: AbstractAsyncServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.ErrorServlet].throwException()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached:
    - '[Error].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.ErrorServlet].throwException()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.ErrorServlet
      static: false
      superClass: AbstractAsyncServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.ErrorServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncListenerExceptionTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.ErrorServlet
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncListenerExceptionTest.ErrorServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncServlet:35,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncServlet:36,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.listener.request.async.AsyncServlet:36,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.listener.request.async.AsyncServlet:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Runnable].<init>()'
    - '[Thread].<init>(Runnable)'
    - '[Thread].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.AsyncServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.AsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AsyncServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.AsyncServlet
    signature: '[io.undertow.servlet.test.listener.request.async.AsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:57,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].newInstance()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:79,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:79,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:85,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:79,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:87,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].deploy()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:88,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:89,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].start()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:89,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/RequestListenerAsyncRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].newInstance()'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ListenerInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TestListener].init(int)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:96,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:97,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:99,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:99,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:100,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:101,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:101,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:101,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:102,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:103,1
    - Dst: '[io.undertow.servlet.test.util.TestListener].results()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:105,1
    - Dst: '[java.util.List<String>].toArray()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:105,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:108,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].testSimpleHttpServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/RequestListenerAsyncRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].shutdown()'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusLine()'
    - '[java.util.List<String>].toArray()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.util.TestListener].init(int)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[io.undertow.servlet.test.util.TestListener].results()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].testSimpleHttpServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TestListener].init(int)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:114,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:116,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:117,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:118,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:118,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:119,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:120,1
    - Dst: '[io.undertow.servlet.test.util.TestListener].results()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:122,1
    - Dst: '[java.util.List<String>].toArray()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:122,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:125,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].testSimpleHttpServletCompleteInInitialRequest()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/RequestListenerAsyncRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].shutdown()'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusLine()'
    - '[java.util.List<String>].toArray()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.util.TestListener].init(int)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[io.undertow.servlet.test.util.TestListener].results()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].testSimpleHttpServletCompleteInInitialRequest()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TestListener].init(int)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:131,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:132,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:134,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:134,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:135,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:136,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:136,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:136,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:137,1
    - Dst: AnotherAsyncServlet.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:138,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase,String)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:138,1
    - Dst: '[io.undertow.servlet.test.util.TestListener].results()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:139,1
    - Dst: '[java.util.List<String>].toArray()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:139,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:139,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:141,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].testSimpleAsyncHttpServletWithoutDispatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/RequestListenerAsyncRequestTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].shutdown()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase,String)'
    - '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].getStatusLine()'
    - '[java.util.List<String>].toArray()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.util.TestListener].init(int)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase)'
    - '[io.undertow.servlet.test.util.TestListener].results()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - AnotherAsyncServlet.class.getSimpleName()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].testSimpleAsyncHttpServletWithoutDispatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/RequestListenerAsyncRequestTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase
    signature: '[io.undertow.servlet.test.listener.request.async.RequestListenerAsyncRequestTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet:36,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet:37,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet:37,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: '[io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AnotherAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[Runnable].<init>()'
    - '[Thread].<init>(Runnable)'
    - '[Thread].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/AnotherAsyncServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet
    signature: '[io.undertow.servlet.test.listener.request.async.AnotherAsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAsyncContext()'
      Src: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet:37,1
    - Dst: '[jakarta.servlet.AsyncListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet:37,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].addListener(jakarta.servlet.AsyncListener)'
      Src: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAsyncContext()'
      Src: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet:58,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].complete()'
      Src: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet:58,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet:59,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].write(String)'
      Src: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/CompleteAsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getAsyncContext()'
    - '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].complete()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[jakarta.servlet.AsyncListener].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].addListener(jakarta.servlet.AsyncListener)'
    - '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].write(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/CompleteAsyncServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet
    signature: '[io.undertow.servlet.test.listener.request.async.CompleteAsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet:36,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet].setTimeout(int)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet:37,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet:38,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet:38,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet:39,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet:39,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/AsyncServlet.java
    functionUses: 0
    functionsReached:
    - '[Thread].<init>(Runnable)'
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet].setTimeout(int)'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/AsyncServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.AsyncServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<Boolean>].get()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener:30,1
    - Dst: '[ThreadLocal<Boolean>].set(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleRequestListener.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal<Boolean>].set(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener)'
    - '[ThreadLocal<Boolean>].get()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal<Boolean>].get()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener:38,1
    - Dst: '[ThreadLocal<Boolean>].remove()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleRequestListener.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal<Boolean>].get()'
    - '[ThreadLocal<Boolean>].remove()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].hasNestedInvocationOccured()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleRequestListener.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].hasNestedInvocationOccured()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ThreadLocal].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ThreadLocal<Boolean>
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleRequestListener.java
    functionUses: 0
    functionsReached:
    - '[ThreadLocal].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].onComplete(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleAsyncListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].onComplete(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.AsyncEvent].getSuppliedResponse()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener:36,1
    - Dst: response.setStatus(int)
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener:37,1
    - Dst: '[jakarta.servlet.AsyncEvent].getAsyncContext()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener:38,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].complete()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].onTimeout(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleAsyncListener.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.AsyncEvent].getSuppliedResponse()'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].complete()'
    - response.setStatus(int)
    - '[jakarta.servlet.AsyncEvent].getAsyncContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].onTimeout(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].onError(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleAsyncListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].onError(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].onStartAsync(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleAsyncListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].onStartAsync(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/SimpleAsyncListener.java
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:54,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].newInstance()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:55,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:61,1
    - Dst: NestedListenerInvocationTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:61,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:69,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].deploy()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:71,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].start()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:71,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/NestedListenerInvocationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].newInstance()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ListenerInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - NestedListenerInvocationTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].start()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:80,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:80,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:81,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:82,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:82,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].hasNestedInvocationOccured()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:83,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:85,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].testSimpleHttpServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/NestedListenerInvocationTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].shutdown()'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleRequestListener].hasNestedInvocationOccured()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].testSimpleHttpServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onTimeout/NestedListenerInvocationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase
    signature: '[io.undertow.servlet.test.listener.request.async.onTimeout.NestedListenerInvocationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet:38,1
    - Dst: '[jakarta.servlet.AsyncListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet:39,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet].addListener(jakarta.servlet.AsyncListener)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet:39,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet:61,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet:61,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: '[io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onComplete/OnCompleteServlet.java
    functionUses: 0
    functionsReached:
    - '[Thread].<init>(Runnable)'
    - '[io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet].addListener(jakarta.servlet.AsyncListener)'
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[jakarta.servlet.AsyncListener].<init>()'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.BlockingQueue<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onComplete/OnCompleteServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet
    signature: '[io.undertow.servlet.test.listener.request.async.onComplete.OnCompleteServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:50,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].newInstance()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:51,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:64,1
    - Dst: AsyncListenerOnCompleteTest.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:64,1
    - Dst: '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:71,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:71,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].build()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:71,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:76,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].deploy()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:77,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:78,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].start()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:78,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onComplete/AsyncListenerOnCompleteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
    - '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
    - '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.ServletInfo].addInitParam(String,String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
    - AsyncListenerOnCompleteTest.class.getClassLoader()
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].deploy()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].build()'
    - '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:88,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:89,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:89,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:89,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:90,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:91,1
    - Dst: '[java.util.concurrent.BlockingQueue<String>].poll(int,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:94,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].testOnCompleteWithNoCompleteCalled()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onComplete/AsyncListenerOnCompleteTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].shutdown()'
    - '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[java.util.concurrent.BlockingQueue<String>].poll(int,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].testOnCompleteWithNoCompleteCalled()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onComplete/AsyncListenerOnCompleteTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest
    signature: '[io.undertow.servlet.test.listener.request.async.onComplete.AsyncListenerOnCompleteTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1:32,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1:33,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1:33,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1:34,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1:34,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncTask].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1:35,1
    - Dst: '[Thread].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncTask)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1:35,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet1.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
    - '[Thread].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncTask)'
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncTask].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet1.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet1].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4:19,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4:20,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4:20,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4:21,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4:21,1
    - Dst: '[NullPointerException].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet4.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4)'
    - '[NullPointerException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet4.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet4].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:37,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:38,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:40,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:41,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:44,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:45,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:47,1
    - Dst: '[java.util.ArrayList].size()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:48,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:49,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].poll()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:51,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:56,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:58,1
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].clear()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - expected
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncEventListener.java
    functionUses: 5
    functionsReached:
    - '[java.util.ArrayList].toArray()'
    - '[RuntimeException].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
    - '[java.util.concurrent.LinkedBlockingDeque<String>].poll()'
    - '[java.util.ArrayList].add(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.concurrent.LinkedBlockingDeque<String>].poll(int,io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
    - '[java.util.concurrent.LinkedBlockingDeque<String>].clear()'
    - '[java.util.ArrayList].size()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].onComplete(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncEventListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].onComplete(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].onTimeout(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncEventListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].onTimeout(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].onError(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncEventListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].onError(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].onStartAsync(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncEventListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].onStartAsync(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.LinkedBlockingDeque].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.LinkedBlockingDeque<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncEventListener.java
    functionUses: 5
    functionsReached:
    - '[java.util.concurrent.LinkedBlockingDeque].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3:32,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3:33,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3:33,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3:34,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3:34,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3:35,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3:35,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet3.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
    - '[Thread].<init>(Runnable)'
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>()'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet3.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet3].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SimpleAsyncListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - jakarta.servlet.AsyncContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/SimpleAsyncListener.java
    functionUses: 0
    functionsReached:
    - SimpleAsyncListener.class.getSimpleName()
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener
    signature: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SimpleAsyncListener.class.getSimpleName()
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncContext
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - jakarta.servlet.AsyncContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - jakarta.servlet.AsyncContext
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].<init>(jakarta.servlet.AsyncContext)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/SimpleAsyncListener.java
    functionUses: 0
    functionsReached:
    - SimpleAsyncListener.class.getSimpleName()
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener
    signature: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].<init>(jakarta.servlet.AsyncContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - jakarta.servlet.AsyncContext
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].onComplete(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/SimpleAsyncListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].onComplete(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - jakarta.servlet.AsyncContext
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].onTimeout(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/SimpleAsyncListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].onTimeout(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.AsyncEvent].getSuppliedResponse()'
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:55,1
    - Dst: httpResponse.setContentType(String)
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:57,1
    - Dst: httpResponse.setStatus(int)
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:58,1
    - Dst: httpResponse.getWriter()
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:59,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].write(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:60,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].flush()'
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:61,1
    - Dst: '[jakarta.servlet.AsyncContext].complete()'
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:63,1
    - Dst: '[jakarta.servlet.AsyncEvent].getAsyncContext()'
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:65,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].complete()'
      Src: io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - jakarta.servlet.AsyncContext
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].onError(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/SimpleAsyncListener.java
    functionUses: 0
    functionsReached:
    - httpResponse.getWriter()
    - '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].complete()'
    - httpResponse.setStatus(int)
    - '[jakarta.servlet.AsyncContext].complete()'
    - '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].write(String)'
    - '[jakarta.servlet.AsyncEvent].getSuppliedResponse()'
    - '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].flush()'
    - httpResponse.setContentType(String)
    - '[jakarta.servlet.AsyncEvent].getAsyncContext()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].onError(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncEvent
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - jakarta.servlet.AsyncContext
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - jakarta.servlet.AsyncListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.AsyncEvent
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].onStartAsync(jakarta.servlet.AsyncEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/SimpleAsyncListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.SimpleAsyncListener].onStartAsync(jakarta.servlet.AsyncEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2:32,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2:33,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2:33,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2:34,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2:34,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncTask].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2:35,1
    - Dst: '[Thread].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncTask)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2:35,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet2.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2].addListener(io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener)'
    - '[Thread].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncTask)'
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.listener.request.async.onTimeout.SimpleAsyncListener].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncTask].<init>(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet2.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet2].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:58,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].newInstance()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:74,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:74,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:74,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:82,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:82,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:86,1
    - Dst: AsyncListenerOnErrorTest.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:86,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:86,1
    - Dst: '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:93,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:93,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].build()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:93,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:93,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:98,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].deploy()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:99,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:100,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].start()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:100,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 103
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncListenerOnErrorTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].newInstance()'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].build()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    - AsyncListenerOnErrorTest.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].start()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:109,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:110,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:111,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:111,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:111,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:112,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest,String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:113,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:114,1
    - Dst: '[org.junit.Assert].assertArrayEquals(String[])'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:114,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:116,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testAsyncListenerOnErrorInvoked1()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncListenerOnErrorTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
    - '[org.junit.Assert].assertArrayEquals(String[])'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testAsyncListenerOnErrorInvoked1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:122,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:124,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:125,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:126,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:126,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:126,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:127,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest,String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:128,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:129,1
    - Dst: '[org.junit.Assert].assertArrayEquals(String[])'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:129,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:131,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testAsyncListenerOnErrorInvoked2()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncListenerOnErrorTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
    - '[org.junit.Assert].assertArrayEquals(String[])'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testAsyncListenerOnErrorInvoked2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:137,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:139,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:139,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:140,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:141,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:141,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:141,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:142,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest,String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:143,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:144,1
    - Dst: '[org.junit.Assert].assertArrayEquals(String[])'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:144,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:146,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testMultiAsyncDispatchError()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncListenerOnErrorTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
    - '[org.junit.Assert].assertArrayEquals(String[])'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testMultiAsyncDispatchError()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:158,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:160,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:160,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:161,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:162,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:162,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:162,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:163,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest,String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:164,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:165,1
    - Dst: '[org.junit.Assert].assertArrayEquals(String[])'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:165,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:167,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testAsyncListenerOnErrorExceptionInFirstServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncListenerOnErrorTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
    - '[org.junit.Assert].assertArrayEquals(String[])'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testAsyncListenerOnErrorExceptionInFirstServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:174,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:176,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:176,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:177,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:178,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:178,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:178,1
    - Dst: org.apache.http.client.utils.HttpClientUtils.closeQuietly(io.undertow.testutils.TestHttpClient)
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:179,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:181,1
    - Dst: '[org.junit.Assert].assertArrayEquals(String[])'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:181,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:183,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testAsyncErrorOnClientBreakdown()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncListenerOnErrorTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusCode()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - org.apache.http.client.utils.HttpClientUtils.closeQuietly(io.undertow.testutils.TestHttpClient)
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].results(int)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].shutdown()'
    - '[org.junit.Assert].assertArrayEquals(String[])'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].testAsyncErrorOnClientBreakdown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncListenerOnErrorTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncListenerOnErrorTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:46,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:47,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setHeader(String,String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:48,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5].setTimeout(int)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:49,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:50,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:50,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:58,1
    - Dst: '[Thread].<init>(Runnable)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:58,1
    - Dst: '[Thread].start()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ScheduledExecutorService
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet5.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener].<init>()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5].addListener(io.undertow.servlet.test.listener.request.async.onError.AsyncEventListener)'
    - '[Thread].<init>(Runnable)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5].setTimeout(int)'
    - '[Thread].start()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[jakarta.servlet.http.HttpServletResponse].setHeader(String,String)'
    - '[jakarta.servlet.http.HttpServletResponse].setContentType(String)'
    - '[Runnable].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.Executors].newScheduledThreadPool(int)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ScheduledExecutorService
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet5.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.Executors].newScheduledThreadPool(int)'
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncContext
      classConcrete: true
      classEnum: false
      classFields:
      - AsyncContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - asyncContext
    argTypes:
    - jakarta.servlet.AsyncContext
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].<init>(jakarta.servlet.AsyncContext)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet5.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].<init>(jakarta.servlet.AsyncContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[AsyncContext].getResponse()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:84,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].getOutputStream()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:85,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].getMessage()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:85,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].print(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:85,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].flushBuffer()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:86,1
    - Dst: e.printStackTrace()
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AsyncContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].run()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet5.java
    functionUses: 0
    functionsReached:
    - '[AsyncContext].getResponse()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].getMessage()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].getOutputStream()'
    - e.printStackTrace()
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].flushBuffer()'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].print(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:93,1
    - Dst: '[java.time.LocalDateTime].now()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:94,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:93,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].append(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:93,1
    - Dst: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].toString()'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - AsyncContext
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].getMessage()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncServlet5.java
    functionUses: 1
    functionsReached:
    - '[java.time.LocalDateTime].now()'
    - '[StringBuilder].<init>(String)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].toString()'
    - '[StringBuilder].append(io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job)'
    - '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].append(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncServlet5.Job].getMessage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[IllegalStateException].<init>()'
      Src: io.undertow.servlet.test.listener.request.async.onError.FaultyServlet:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.FaultyServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/FaultyServlet.java
    functionUses: 0
    functionsReached:
    - '[IllegalStateException].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.FaultyServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.FaultyServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.FaultyServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/FaultyServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.FaultyServlet
    signature: '[io.undertow.servlet.test.listener.request.async.onError.FaultyServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.AsyncContext
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.AsyncContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.request.async.onError.AsyncTask
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - jakarta.servlet.AsyncContext
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncTask].<init>(jakarta.servlet.AsyncContext)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncTask.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.request.async.onError.AsyncTask
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncTask].<init>(jakarta.servlet.AsyncContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.AsyncContext].dispatch(String)'
      Src: io.undertow.servlet.test.listener.request.async.onError.AsyncTask:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.AsyncContext
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - Runnable
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: '[io.undertow.servlet.test.listener.request.async.onError.AsyncTask].run()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/request/async/onError/AsyncTask.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.AsyncContext].dispatch(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.request.async.onError.AsyncTask].run()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:52,1
    - Dst: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].newInstance()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:53,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:55,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:55,1
    - Dst: '[io.undertow.servlet.api.ListenerInfo].<init>()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:55,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:55,1
    - Dst: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:64,1
    - Dst: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].deploy()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:66,1
    - Dst: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].start()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:66,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/session/ServletSessionInvalidateWithListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addListener(io.undertow.servlet.api.ListenerInfo)'
    - '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ListenerInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:76,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:76,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:77,1
    - Dst: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:78,1
    - Dst: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase)'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:78,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:80,1
    - Dst: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].shutdown()'
      Src: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].testSimpleSessionUsage()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/session/ServletSessionInvalidateWithListenerTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].testSimpleSessionUsage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/session/ServletSessionInvalidateWithListenerTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase
    signature: '[io.undertow.servlet.test.listener.session.ServletSessionInvalidateWithListenerTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getSession(boolean)'
      Src: io.undertow.servlet.test.listener.session.SessionServlet:32,1
    - Dst: '[io.undertow.servlet.test.listener.session.SessionServlet].setAttribute(String,String)'
      Src: io.undertow.servlet.test.listener.session.SessionServlet:33,1
    - Dst: '[io.undertow.servlet.test.listener.session.SessionServlet].invalidate()'
      Src: io.undertow.servlet.test.listener.session.SessionServlet:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: '[io.undertow.servlet.test.listener.session.SessionServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/session/SessionServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.listener.session.SessionServlet].invalidate()'
    - '[io.undertow.servlet.test.listener.session.SessionServlet].setAttribute(String,String)'
    - '[jakarta.servlet.http.HttpServletRequest].getSession(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.session.SessionServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.session.SessionServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.session.SessionServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/session/SessionServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.session.SessionServlet
    signature: '[io.undertow.servlet.test.listener.session.SessionServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpSessionEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpSessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - jakarta.servlet.http.HttpSessionEvent
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: '[io.undertow.servlet.test.listener.session.SimpleSessionListener].sessionCreated(jakarta.servlet.http.HttpSessionEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/session/SimpleSessionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.session.SimpleSessionListener].sessionCreated(jakarta.servlet.http.HttpSessionEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpSessionEvent].getSession()'
      Src: io.undertow.servlet.test.listener.session.SimpleSessionListener:34,1
    - Dst: '[io.undertow.servlet.test.listener.session.SimpleSessionListener].getAttribute(String)'
      Src: io.undertow.servlet.test.listener.session.SimpleSessionListener:34,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.listener.session.SimpleSessionListener)'
      Src: io.undertow.servlet.test.listener.session.SimpleSessionListener:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpSessionEvent
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpSessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - event
    argTypes:
    - jakarta.servlet.http.HttpSessionEvent
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.servlet.test.listener.session.SimpleSessionListener].sessionDestroyed(jakarta.servlet.http.HttpSessionEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/session/SimpleSessionListener.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpSessionEvent].getSession()'
    - '[io.undertow.servlet.test.listener.session.SimpleSessionListener].getAttribute(String)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.listener.session.SimpleSessionListener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.listener.session.SimpleSessionListener].sessionDestroyed(jakarta.servlet.http.HttpSessionEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpSessionListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.listener.session.SimpleSessionListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.listener.session.SimpleSessionListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/listener/session/SimpleSessionListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.listener.session.SimpleSessionListener
    signature: '[io.undertow.servlet.test.listener.session.SimpleSessionListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:38,1
    - Dst: '[StringBuilder].<init>(io.undertow.servlet.test.request.RequestPathServlet)'
      Src: io.undertow.servlet.test.request.RequestPathServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:39,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.request.RequestPathServlet)'
      Src: io.undertow.servlet.test.request.RequestPathServlet:39,1
    - Dst: '[StringBuilder].append()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:41,1
    - Dst: '[java.net.URLDecoder].decode(io.undertow.servlet.test.request.RequestPathServlet,String)'
      Src: io.undertow.servlet.test.request.RequestPathServlet:41,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:41,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.request.RequestPathServlet,io.undertow.servlet.test.request.RequestPathServlet)'
      Src: io.undertow.servlet.test.request.RequestPathServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:43,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathServlet].write(String)'
      Src: io.undertow.servlet.test.request.RequestPathServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:44,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathServlet].write(String)'
      Src: io.undertow.servlet.test.request.RequestPathServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURL()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:45,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathServlet].toString()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:45,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathServlet].write(String)'
      Src: io.undertow.servlet.test.request.RequestPathServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:46,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:46,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathServlet].write(String)'
      Src: io.undertow.servlet.test.request.RequestPathServlet:46,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:47,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathServlet].write()'
      Src: io.undertow.servlet.test.request.RequestPathServlet:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.request.RequestPathServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestPathServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.request.RequestPathServlet].write(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    - '[io.undertow.servlet.test.request.RequestPathServlet].write()'
    - '[jakarta.servlet.http.HttpServletRequest].getContextPath()'
    - '[java.net.URLDecoder].decode(io.undertow.servlet.test.request.RequestPathServlet,String)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURL()'
    - '[StringBuilder].toString()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.request.RequestPathServlet,io.undertow.servlet.test.request.RequestPathServlet)'
    - '[StringBuilder].<init>(io.undertow.servlet.test.request.RequestPathServlet)'
    - '[StringBuilder].append(io.undertow.servlet.test.request.RequestPathServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    - '[StringBuilder].append()'
    - '[io.undertow.servlet.test.request.RequestPathServlet].toString()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RequestPathServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.request.RequestPathServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.request.RequestPathServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestPathServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.request.RequestPathServlet
    signature: '[io.undertow.servlet.test.request.RequestPathServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.request.RequestHostValuesServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getLocalName()'
      Src: io.undertow.servlet.test.request.RequestHostValuesServlet:38,1
    - Dst: '[io.undertow.servlet.test.request.RequestHostValuesServlet].write(io.undertow.servlet.test.request.RequestHostValuesServlet)'
      Src: io.undertow.servlet.test.request.RequestHostValuesServlet:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.request.RequestHostValuesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestHostValuesServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.request.RequestHostValuesServlet].write(io.undertow.servlet.test.request.RequestHostValuesServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getLocalName()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RequestHostValuesServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.request.RequestHostValuesServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.request.RequestHostValuesServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestHostValuesServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.request.RequestHostValuesServlet
    signature: '[io.undertow.servlet.test.request.RequestHostValuesServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.request.RedirectServlet:16,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.request.RedirectServlet)'
      Src: io.undertow.servlet.test.request.RedirectServlet:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: '[io.undertow.servlet.test.request.RedirectServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RedirectServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].sendRedirect(io.undertow.servlet.test.request.RedirectServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RedirectServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.request.RedirectServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.request.RedirectServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RedirectServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.request.RedirectServlet
    signature: '[io.undertow.servlet.test.request.RedirectServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:54,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].newInstance()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:56,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.request.RedirectTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:56,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].servlet(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:62,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:62,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].servlet(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:64,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:64,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.request.RedirectTestCase,io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:56,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:66,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].deploy()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:69,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].start()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:69,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:69,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: '[io.undertow.servlet.test.request.RedirectTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.request.RedirectTestCase].servlet(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.request.RedirectTestCase,io.undertow.servlet.test.request.RedirectTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.request.RedirectTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.request.RedirectTestCase].start()'
    - SimpleServletTestCase.class.getClassLoader()
    - '[RuntimeException].<init>(io.undertow.servlet.test.request.RedirectTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.request.RedirectTestCase].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.request.RedirectTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.test.request.RedirectTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.request.RedirectTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.request.RedirectTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RedirectTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:79,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].runtest(String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:81,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].runtest(String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: '[io.undertow.servlet.test.request.RedirectTestCase].testServletRedirect()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.servlet.test.request.RedirectTestCase].runtest(String,String,String,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RedirectTestCase].testServletRedirect()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:90,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:92,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:92,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:93,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:94,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:94,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:95,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].split(String)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:97,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.request.RedirectTestCase,String[])'
      Src: io.undertow.servlet.test.request.RedirectTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:99,1
    - Dst: '[io.undertow.servlet.test.request.RedirectTestCase].shutdown()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - request
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: '[io.undertow.servlet.test.request.RedirectTestCase].runtest(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RedirectTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.request.RedirectTestCase].split(String)'
    - '[io.undertow.servlet.test.request.RedirectTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.request.RedirectTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.request.RedirectTestCase)'
    - '[io.undertow.servlet.test.request.RedirectTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.request.RedirectTestCase,String[])'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.RedirectTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RedirectTestCase].runtest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:107,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:109,1
    - Dst: '[String].charAt(io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:110,1
    - Dst: '[String].substring(io.undertow.servlet.test.request.RedirectTestCase,io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:112,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:112,1
    - Dst: '[String].substring(io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:116,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.request.RedirectTestCase)'
      Src: io.undertow.servlet.test.request.RedirectTestCase:116,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.servlet.test.request.RedirectTestCase:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: '[io.undertow.servlet.test.request.RedirectTestCase].split(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RedirectTestCase.java
    functionUses: 1
    functionsReached:
    - '[java.util.ArrayList].toArray()'
    - '[String].substring(io.undertow.servlet.test.request.RedirectTestCase,io.undertow.servlet.test.request.RedirectTestCase)'
    - '[String].charAt(io.undertow.servlet.test.request.RedirectTestCase)'
    - '[String].length()'
    - '[String].substring(io.undertow.servlet.test.request.RedirectTestCase)'
    - '[java.util.ArrayList].<init>()'
    - '[java.util.ArrayList].add(io.undertow.servlet.test.request.RedirectTestCase)'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.servlet.test.request.RedirectTestCase].split(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.request.RedirectTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.request.RedirectTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RedirectTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.request.RedirectTestCase
    signature: '[io.undertow.servlet.test.request.RedirectTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.request.RaceyAddServlet:37,1
    - Dst: '[io.undertow.servlet.test.request.RaceyAddServlet].write(String)'
      Src: io.undertow.servlet.test.request.RaceyAddServlet:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '[io.undertow.servlet.test.request.RaceyAddServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RaceyAddServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.request.RaceyAddServlet].write(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RaceyAddServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.request.RaceyAddServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.request.RaceyAddServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RaceyAddServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.request.RaceyAddServlet
    signature: '[io.undertow.servlet.test.request.RaceyAddServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:53,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].newInstance()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:54,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:55,1
    - Dst: HttpHostValuesTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.request.HttpHostValuesTestCase)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:55,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].servlet(String)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:61,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].addMapping(String)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:61,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.request.HttpHostValuesTestCase)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:55,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:64,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].deploy()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:67,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].start()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:67,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.request.HttpHostValuesTestCase)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:67,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.request.HttpHostValuesTestCase)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:69,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/HttpHostValuesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].servlet(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.request.HttpHostValuesTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.request.HttpHostValuesTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.request.HttpHostValuesTestCase)'
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - HttpHostValuesTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].deploy()'
    - '[RuntimeException].<init>(io.undertow.servlet.test.request.HttpHostValuesTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].addMapping(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:79,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:81,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:82,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:83,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.HttpHostValuesTestCase)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:83,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.request.HttpHostValuesTestCase)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:84,1
    - Dst: System.getProperty(String)
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:86,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].toLowerCase()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:86,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].contains(String)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:86,1
    - Dst: System.getSecurityManager()
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:87,1
    - Dst: String.format(String,java.net.InetSocketAddress,String)
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:87,1
    - Dst: '[java.net.InetSocketAddress].toString()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:87,1
    - Dst: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].contains(String)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:87,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.request.HttpHostValuesTestCase,io.undertow.servlet.test.request.HttpHostValuesTestCase)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:89,1
    - Dst: String.format(String,String,String)
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:89,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:89,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:89,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.request.HttpHostValuesTestCase,io.undertow.servlet.test.request.HttpHostValuesTestCase)'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].close()'
      Src: io.undertow.servlet.test.request.HttpHostValuesTestCase:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].testRequestSpec()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/HttpHostValuesTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].toLowerCase()'
    - '[io.undertow.testutils.TestHttpClient].close()'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.request.HttpHostValuesTestCase,io.undertow.servlet.test.request.HttpHostValuesTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.HttpHostValuesTestCase)'
    - System.getSecurityManager()
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].contains(String)'
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - String.format(String,String,String)
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - System.getProperty(String)
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.request.HttpHostValuesTestCase)'
    - '[java.net.InetSocketAddress].toString()'
    - '[String].equals(String)'
    - '[io.undertow.servlet.test.request.HttpHostValuesTestCase].getStatusCode()'
    - String.format(String,java.net.InetSocketAddress,String)
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].testRequestSpec()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.request.HttpHostValuesTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/HttpHostValuesTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.request.HttpHostValuesTestCase
    signature: '[io.undertow.servlet.test.request.HttpHostValuesTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:57,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].newInstance()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.request.RequestPathTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:71,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:71,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:73,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:77,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:77,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:77,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:79,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:79,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilters(io.undertow.servlet.api.FilterInfo,io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:59,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:83,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].deploy()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:86,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].start()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:86,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:86,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:88,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 92
    functionName: '[io.undertow.servlet.test.request.RequestPathTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestPathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.request.RequestPathTestCase)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.request.RequestPathTestCase].newInstance()'
    - '[io.undertow.servlet.test.request.RequestPathTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.FilterInfo].addInitParam(String,String)'
    - '[io.undertow.servlet.test.request.RequestPathTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilters(io.undertow.servlet.api.FilterInfo,io.undertow.servlet.api.FilterInfo)'
    - '[RuntimeException].<init>(io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.request.RequestPathTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RequestPathTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:96,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:97,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:100,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:101,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:102,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:103,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:104,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:105,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:108,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:109,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:110,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:111,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:112,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:113,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:116,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:117,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:120,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:121,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:124,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 92
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 126
    functionName: '[io.undertow.servlet.test.request.RequestPathTestCase].testRequestPaths()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestPathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean,String,String,String,String,String)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RequestPathTestCase].testRequestPaths()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:129,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:131,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:131,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:132,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:133,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:133,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:133,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:134,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].split(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:136,1
    - Dst: '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.request.RequestPathTestCase,String[])'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:136,1
    - Dst: result.getHeaders("all")[0].getValue()
      Src: io.undertow.servlet.test.request.RequestPathTestCase:137,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:137,1
    - Dst: result.getHeaders("Filter")[0].getValue()
      Src: io.undertow.servlet.test.request.RequestPathTestCase:139,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:139,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:141,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:141,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:144,1
    - Dst: '[io.undertow.servlet.test.request.RequestPathTestCase].shutdown()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - request
    - filterHeader
    argTypes:
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestPathTestCase.java
    functionUses: 0
    functionsReached:
    - result.getHeaders("all")[0].getValue()
    - '[io.undertow.servlet.test.request.RequestPathTestCase].split(String)'
    - '[io.undertow.servlet.test.request.RequestPathTestCase].getStatusCode()'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[io.undertow.servlet.test.request.RequestPathTestCase].getHeaders(String)'
    - '[io.undertow.servlet.test.request.RequestPathTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.request.RequestPathTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertArrayEquals(io.undertow.servlet.test.request.RequestPathTestCase,String[])'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - result.getHeaders("Filter")[0].getValue()
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.RequestPathTestCase].runtest(String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:152,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:154,1
    - Dst: '[String].charAt(io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:155,1
    - Dst: '[String].substring(io.undertow.servlet.test.request.RequestPathTestCase,io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:157,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:157,1
    - Dst: '[String].substring(io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:161,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.request.RequestPathTestCase)'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:161,1
    - Dst: '[java.util.ArrayList].toArray()'
      Src: io.undertow.servlet.test.request.RequestPathTestCase:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String[]
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: '[io.undertow.servlet.test.request.RequestPathTestCase].split(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestPathTestCase.java
    functionUses: 1
    functionsReached:
    - '[String].charAt(io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[java.util.ArrayList].toArray()'
    - '[String].substring(io.undertow.servlet.test.request.RequestPathTestCase,io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[String].substring(io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[String].length()'
    - '[java.util.ArrayList].add(io.undertow.servlet.test.request.RequestPathTestCase)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: String[]
    signature: '[io.undertow.servlet.test.request.RequestPathTestCase].split(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.request.RequestPathTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.request.RequestPathTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/RequestPathTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.request.RequestPathTestCase
    signature: '[io.undertow.servlet.test.request.RequestPathTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setExecutor()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:62,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ExecutorService
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/ExecutorPerServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].setExecutor()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.ExecutorService].shutdown()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ExecutorService
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].after()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/ExecutorPerServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.ExecutorService].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].after()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].runTest(String)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:75,1
    - Dst: '[org.junit.Assert].assertNotEquals(io.undertow.servlet.test.request.ExecutorPerServletTestCase,int)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ExecutorService
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      - java.util.concurrent.ExecutionException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].testRaceyServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/ExecutorPerServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertNotEquals(io.undertow.servlet.test.request.ExecutorPerServletTestCase,int)'
    - '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].runTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].testRaceyServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].runTest(String)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.request.ExecutorPerServletTestCase,int)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ExecutorService
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - InterruptedException
      - java.util.concurrent.ExecutionException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].testSingleThreadExecutor()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/ExecutorPerServletTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].runTest(String)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.request.ExecutorPerServletTestCase,int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].testSingleThreadExecutor()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:84,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:87,1
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:89,1
    - Dst: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].submit(Runnable)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:89,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.request.ExecutorPerServletTestCase)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:89,1
    - Dst: future.get()
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:111,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.request.ExecutorPerServletTestCase)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:114,1
    - Dst: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:115,1
    - Dst: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:115,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.ExecutorPerServletTestCase)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:115,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.request.ExecutorPerServletTestCase)'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:116,1
    - Dst: Integer.parseInt(String)
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:118,1
    - Dst: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:118,1
    - Dst: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].shutdown()'
      Src: io.undertow.servlet.test.request.ExecutorPerServletTestCase:121,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ExecutorService
      - int
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.util.concurrent.ExecutionException
      - InterruptedException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 123
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 123
    functionName: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].runTest(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/ExecutorPerServletTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.request.ExecutorPerServletTestCase)'
    - future.get()
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.request.ExecutorPerServletTestCase)'
    - Integer.parseInt(String)
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.request.ExecutorPerServletTestCase)'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[java.util.ArrayList].add(io.undertow.servlet.test.request.ExecutorPerServletTestCase)'
    - '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].shutdown()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[Runnable].<init>()'
    - '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].submit(Runnable)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].runTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.concurrent.ExecutorService
      - int
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.request.ExecutorPerServletTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/request/ExecutorPerServletTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.request.ExecutorPerServletTestCase
    signature: '[io.undertow.servlet.test.request.ExecutorPerServletTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].newInstance()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:60,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:61,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:64,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:65,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:72,1
    - Dst: ServletErrorDispatchTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setSendCustomReasonPhraseOnError(boolean)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:72,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:78,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].deploy()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:80,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].start()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:80,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ServletErrorDispatchTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].setSendCustomReasonPhraseOnError(boolean)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - ServletErrorDispatchTestCase.class.getClassLoader()
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].deploy()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].newInstance()'
    - '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpRequestBase].<init>()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:94,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:94,1
    - Dst: '[org.apache.http.client.methods.HttpRequestBase].setURI(java.net.URI)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpRequestBase)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:95,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:96,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:96,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:97,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].getReasonPhrase()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase,io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:99,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].shutdown()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - java.net.URISyntaxException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].testSimpleHttpServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ServletErrorDispatchTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].getReasonPhrase()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpRequestBase)'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase,io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase)'
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].shutdown()'
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpRequestBase].<init>()'
    - '[org.apache.http.client.methods.HttpRequestBase].setURI(java.net.URI)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].testSimpleHttpServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ServletErrorDispatchTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase
    signature: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getMethod()'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet:110,1
    - Dst: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet].equals(String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet:110,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet:111,1
    - Dst: '[io.undertow.servlet.handlers.DefaultServlet].service(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: DefaultServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet].service(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ServletErrorDispatchTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet].equals(String)'
    - '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
    - '[jakarta.servlet.http.HttpServletRequest].getMethod()'
    - '[io.undertow.servlet.handlers.DefaultServlet].service(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet].service(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet
      static: false
      superClass: DefaultServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ServletErrorDispatchTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet
    signature: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.MimicServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
      Src: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.GR8MimicServlet:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: DefaultServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.GR8MimicServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ServletErrorDispatchTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].sendError(int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.GR8MimicServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.GR8MimicServlet
      static: false
      superClass: DefaultServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.GR8MimicServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ServletErrorDispatchTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.GR8MimicServlet
    signature: '[io.undertow.servlet.test.errorpage.ServletErrorDispatchTestCase.GR8MimicServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].newInstance()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:57,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:63,1
    - Dst: '[io.undertow.servlet.Servlets].securityConstraint()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:65,1
    - Dst: '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:65,1
    - Dst: '[io.undertow.servlet.Servlets].webResourceCollection()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:65,1
    - Dst: '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:65,1
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:70,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:72,1
    - Dst: '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:75,1
    - Dst: ErrorPageTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:76,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setServletStackTraces(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:75,1
    - Dst: '[io.undertow.servlet.Servlets].loginConfig(String,String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:80,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:75,1
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:83,1
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].deploy()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:85,1
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].start()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:85,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 87
    functionName: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/SecurityErrorPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].start()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].addUser(String,String)'
    - '[io.undertow.servlet.Servlets].loginConfig(String,String)'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.SecurityConstraint].addRoleAllowed(String)'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].addWebResourceCollection(io.undertow.servlet.api.WebResourceCollection)'
    - ErrorPageTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setLoginConfig(io.undertow.servlet.api.LoginConfig)'
    - '[io.undertow.servlet.api.DeploymentInfo].setIdentityManager(io.undertow.servlet.test.security.constraint.ServletIdentityManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].addSecurityConstraint(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setServletStackTraces(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
    - '[io.undertow.servlet.Servlets].webResourceCollection()'
    - '[io.undertow.servlet.test.security.constraint.ServletIdentityManager].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.Servlets].securityConstraint()'
    - '[io.undertow.servlet.api.WebResourceCollection].addUrlPattern(String)'
    - '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:92,1
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].runTest(io.undertow.testutils.TestHttpClient,int,String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:96,1
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].shutdown()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].testErrorPages()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/SecurityErrorPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].runTest(io.undertow.testutils.TestHttpClient,int,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].testErrorPages()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:104,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:104,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:105,1
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:106,1
    - Dst: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:106,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:106,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:107,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:108,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:108,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:110,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:110,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:111,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:111,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(int)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:112,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:112,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:112,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:113,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:113,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:115,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:115,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:116,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:116,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:119,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - int
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - client
    - statusCode
    - expected
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - int
    - String
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].runTest(io.undertow.testutils.TestHttpClient,int,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/SecurityErrorPageTestCase.java
    functionUses: 1
    functionsReached:
    - '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
    - '[io.undertow.util.StatusCodes].getReason(int)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.hamcrest.CoreMatchers].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].runTest(io.undertow.testutils.TestHttpClient,int,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/SecurityErrorPageTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase
    signature: '[io.undertow.servlet.test.errorpage.SecurityErrorPageTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].newInstance()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:57,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:58,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:70,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:70,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:71,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:71,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:72,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:73,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:73,1
    - Dst: '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:74,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:74,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:74,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:74,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:74,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].build()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:74,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:82,1
    - Dst: ErrorPageTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setServletStackTraces(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:82,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:82,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:88,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].deploy()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:89,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:90,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].start()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:90,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:93,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:95,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:95,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:98,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:98,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:98,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:101,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:101,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:102,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:102,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:103,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:104,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:104,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:105,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:105,1
    - Dst: '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:106,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:106,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:106,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:106,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:106,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].build()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:113,1
    - Dst: ErrorPageTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:114,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:113,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:113,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setServletStackTraces(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:113,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:113,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:119,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].deploy()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:120,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:121,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].start()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:121,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:121,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:124,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:126,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:126,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:126,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:129,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:129,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:129,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:132,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:132,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:133,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:133,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:134,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:134,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:135,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:135,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:136,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:136,1
    - Dst: '[io.undertow.servlet.api.ErrorPage].<init>(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:137,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:139,1
    - Dst: ErrorPageTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:140,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:139,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:139,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setServletStackTraces(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:139,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:139,1
    - Dst: '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:145,1
    - Dst: '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:145,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:145,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:145,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:145,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].build()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:145,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:145,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:152,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].deploy()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:153,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:154,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].start()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:154,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 110
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 155
    functionName: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setServletStackTraces(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].build()'
    - '[io.undertow.attribute.SecureProtocolAttribute.Builder].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].add(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - ErrorPageTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setExceptionHandler(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].addErrorPage(io.undertow.servlet.api.ErrorPage)'
    - '[io.undertow.servlet.api.ErrorPage].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.ErrorPage].<init>(String,int)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[io.undertow.servlet.api.LoggingExceptionHandler].builder()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:160,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:162,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:163,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:164,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:165,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:166,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:167,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:168,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:169,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:170,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:171,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:173,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].shutdown()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].testErrorPages()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].testErrorPages()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:179,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:181,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:182,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String,boolean)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:183,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:184,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:185,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:186,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:187,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String,boolean)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:188,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String,boolean)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:189,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String,boolean)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:190,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:192,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].shutdown()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].testErrorPagesWithNoDefaultErrorPage()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String,boolean)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].shutdown()'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String,boolean)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].testErrorPagesWithNoDefaultErrorPage()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:199,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:201,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:202,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:203,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:204,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:205,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:206,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:207,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:208,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:209,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:210,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:212,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].shutdown()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].testErrorPagesWith500PageMapped()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,int,null,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,null,String)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].testErrorPagesWith500PageMapped()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,Integer,Class<?>,String,boolean)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.testutils.TestHttpClient
      - Integer
      - Class<?>
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - deploymentNo
    - client
    - statusCode
    - exception
    - expected
    argTypes:
    - int
    - io.undertow.testutils.TestHttpClient
    - Integer
    - Class<?>
    - String
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,Integer,Class<?>,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorPageTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,Integer,Class<?>,String,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,Integer,Class<?>,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:226,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:227,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:228,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:228,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:228,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:229,1
    - Dst: '[org.hamcrest.CoreMatchers].startsWith(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:230,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:230,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:233,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:233,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:234,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:234,1
    - Dst: RuntimeException.class.isAssignableFrom(Class<?>)
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:236,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:237,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:237,1
    - Dst: '[Class<?>].getName()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:238,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:238,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:238,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:240,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:240,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:242,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:242,1
    - Dst: '[Class<?>].getName()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:243,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:243,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:243,1
    - Dst: '[Class<?>].getName()'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:244,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:244,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:244,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:245,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:245,1
    - Dst: '[io.undertow.util.StatusCodes].getReason(Integer)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:248,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:248,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:248,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:249,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:249,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:252,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:252,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:253,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:253,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:254,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:254,1
    - Dst: '[org.hamcrest.CoreMatchers].containsString(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:256,1
    - Dst: '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
      Src: io.undertow.servlet.test.errorpage.ErrorPageTestCase:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 92
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - io.undertow.testutils.TestHttpClient
      - Integer
      - Class<?>
      - String
      - boolean
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 6
    argNames:
    - deploymentNo
    - client
    - statusCode
    - exception
    - expected
    - checkAttributes
    argTypes:
    - int
    - io.undertow.testutils.TestHttpClient
    - Integer
    - Class<?>
    - String
    - boolean
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,Integer,Class<?>,String,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorPageTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.util.StatusCodes].getReason(Integer)'
    - RuntimeException.class.isAssignableFrom(Class<?>)
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[org.hamcrest.CoreMatchers].containsString(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[org.hamcrest.CoreMatchers].containsString(String)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].getStatusLine()'
    - '[Class<?>].getName()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertThat(String,io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.errorpage.ErrorPageTestCase)'
    - '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].getStatusCode()'
    - '[org.hamcrest.CoreMatchers].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].runTest(int,io.undertow.testutils.TestHttpClient,Integer,Class<?>,String,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.ErrorPageTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorPageTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.ErrorPageTestCase
    signature: '[io.undertow.servlet.test.errorpage.ErrorPageTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.ChildException
      static: false
      superClass: io.undertow.servlet.test.errorpage.ParentException
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.ChildException].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ChildException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.ChildException
    signature: '[io.undertow.servlet.test.errorpage.ChildException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.errorpage.PathServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.errorpage.PathServlet:37,1
    - Dst: w.println(io.undertow.servlet.test.errorpage.PathServlet)
      Src: io.undertow.servlet.test.errorpage.PathServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttributeNames()'
      Src: io.undertow.servlet.test.errorpage.PathServlet:39,1
    - Dst: '[io.undertow.servlet.test.errorpage.PathServlet].hasMoreElements()'
      Src: io.undertow.servlet.test.errorpage.PathServlet:40,1
    - Dst: '[io.undertow.servlet.test.errorpage.PathServlet].nextElement()'
      Src: io.undertow.servlet.test.errorpage.PathServlet:41,1
    - Dst: w.print(io.undertow.servlet.test.errorpage.PathServlet)
      Src: io.undertow.servlet.test.errorpage.PathServlet:42,1
    - Dst: w.print(String)
      Src: io.undertow.servlet.test.errorpage.PathServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAttribute(io.undertow.servlet.test.errorpage.PathServlet)'
      Src: io.undertow.servlet.test.errorpage.PathServlet:44,1
    - Dst: w.println(io.undertow.servlet.test.errorpage.PathServlet)
      Src: io.undertow.servlet.test.errorpage.PathServlet:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.errorpage.PathServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/PathServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getAttributeNames()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    - w.print(io.undertow.servlet.test.errorpage.PathServlet)
    - w.print(String)
    - '[io.undertow.servlet.test.errorpage.PathServlet].hasMoreElements()'
    - '[jakarta.servlet.http.HttpServletRequest].getAttribute(io.undertow.servlet.test.errorpage.PathServlet)'
    - w.println(io.undertow.servlet.test.errorpage.PathServlet)
    - '[io.undertow.servlet.test.errorpage.PathServlet].nextElement()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.PathServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.PathServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.PathServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/PathServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.PathServlet
    signature: '[io.undertow.servlet.test.errorpage.PathServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.ParentException
      static: false
      superClass: Exception
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.ParentException].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ParentException.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.ParentException
    signature: '[io.undertow.servlet.test.errorpage.ParentException].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.SecureServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.SecureServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/SecureServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.SecureServlet
    signature: '[io.undertow.servlet.test.errorpage.SecureServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:35,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.errorpage.ErrorServlet)
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(io.undertow.servlet.test.errorpage.ErrorServlet)'
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:37,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorServlet].getClass()'
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:40,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorServlet].getClassLoader()'
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:40,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorServlet].loadClass(io.undertow.servlet.test.errorpage.ErrorServlet)'
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:40,1
    - Dst: '[io.undertow.servlet.test.errorpage.ErrorServlet].newInstance()'
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:40,1
    - Dst: '[jakarta.servlet.ServletException].<init>(io.undertow.servlet.test.errorpage.ErrorServlet)'
      Src: io.undertow.servlet.test.errorpage.ErrorServlet:44,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.errorpage.ErrorServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.ServletException].<init>(io.undertow.servlet.test.errorpage.ErrorServlet)'
    - '[io.undertow.servlet.test.errorpage.ErrorServlet].newInstance()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[io.undertow.servlet.test.errorpage.ErrorServlet].getClass()'
    - '[jakarta.servlet.http.HttpServletResponse].sendError(io.undertow.servlet.test.errorpage.ErrorServlet)'
    - '[io.undertow.servlet.test.errorpage.ErrorServlet].loadClass(io.undertow.servlet.test.errorpage.ErrorServlet)'
    - Integer.parseInt(io.undertow.servlet.test.errorpage.ErrorServlet)
    - '[io.undertow.servlet.test.errorpage.ErrorServlet].getClassLoader()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.errorpage.ErrorServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.errorpage.ErrorServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.errorpage.ErrorServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/errorpage/ErrorServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.errorpage.ErrorServlet
    signature: '[io.undertow.servlet.test.errorpage.ErrorServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:62,1
    - Dst: '[io.undertow.servlet.test.websocket.WebSocketServletTest].newInstance()'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:64,1
    - Dst: '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:67,1
    - Dst: '[io.undertow.servlet.websockets.WebSocketServlet].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:67,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceFactory].<init>(io.undertow.servlet.websockets.WebSocketServlet)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String,io.undertow.servlet.util.ImmediateInstanceFactory)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:66,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:66,1
    - Dst: '[org.xnio.FutureResult].<init>()'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:88,1
    - Dst: '[java.net.URI].<init>(String)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:89,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.servlet.test.websocket.WebSocketServletTest,java.net.URI)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:89,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:90,1
    - Dst: '[io.netty.buffer.Unpooled].copiedBuffer(String,java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:91,1
    - Dst: '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.servlet.test.websocket.WebSocketServletTest)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:91,1
    - Dst: '[String].getBytes(java.nio.charset.Charset)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:91,1
    - Dst: '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.servlet.test.websocket.WebSocketServletTest,org.xnio.FutureResult)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:91,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:91,1
    - Dst: '[org.xnio.FutureResult].getIoFuture()'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:92,1
    - Dst: '[io.undertow.servlet.test.websocket.WebSocketServletTest].get()'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:92,1
    - Dst: '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
      Src: io.undertow.servlet.test.websocket.WebSocketServletTest:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 94
    functionName: '[io.undertow.servlet.test.websocket.WebSocketServletTest].testText()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/websocket/WebSocketServletTest.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.websocket.WebSocketServletTest].get()'
    - '[io.undertow.websockets.WebSocketConnectionCallback].<init>()'
    - '[io.undertow.servlet.websockets.WebSocketServlet].<init>(io.undertow.websockets.WebSocketConnectionCallback)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].<init>(io.undertow.servlet.test.websocket.WebSocketServletTest,java.net.URI)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.util.ImmediateInstanceFactory].<init>(io.undertow.servlet.websockets.WebSocketServlet)'
    - '[java.util.concurrent.atomic.AtomicBoolean].<init>(boolean)'
    - '[io.undertow.servlet.test.websocket.WebSocketServletTest].newInstance()'
    - '[io.netty.handler.codec.http.websocketx.TextWebSocketFrame].<init>(io.undertow.servlet.test.websocket.WebSocketServletTest)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].send(io.netty.handler.codec.http.websocketx.TextWebSocketFrame,io.undertow.websockets.utils.FrameChecker)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].connect()'
    - '[java.net.URI].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String,io.undertow.servlet.util.ImmediateInstanceFactory)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[String].getBytes(java.nio.charset.Charset)'
    - '[org.xnio.FutureResult].getIoFuture()'
    - '[io.netty.buffer.Unpooled].copiedBuffer(String,java.nio.charset.Charset)'
    - '[org.xnio.FutureResult].<init>()'
    - '[io.undertow.websockets.utils.FrameChecker].<init>(io.undertow.servlet.test.websocket.WebSocketServletTest,org.xnio.FutureResult)'
    - '[io.undertow.websockets.utils.WebSocketTestClient].destroy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.websocket.WebSocketServletTest].testText()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.nio.charset.Charset
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.websocket.WebSocketServletTest
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.websocket.WebSocketServletTest].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/websocket/WebSocketServletTest.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.websocket.WebSocketServletTest
    signature: '[io.undertow.servlet.test.websocket.WebSocketServletTest].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<?>].getClassLoader()'
      Src: io.undertow.servlet.test.util.TestResourceLoader:43,1
    - Dst: '[Class<?>].getPackage()'
      Src: io.undertow.servlet.test.util.TestResourceLoader:43,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].getName()'
      Src: io.undertow.servlet.test.util.TestResourceLoader:43,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].replace(String,String)'
      Src: io.undertow.servlet.test.util.TestResourceLoader:43,1
    - Dst: '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(io.undertow.servlet.test.util.TestResourceLoader,io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.util.TestResourceLoader:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<?>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.TestResourceLoader
      static: false
      superClass: io.undertow.server.handlers.resource.ClassPathResourceManager
    argCount: 1
    argNames:
    - testClass
    argTypes:
    - Class<?>
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader].<init>(Class<?>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.TestResourceLoader].getName()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].replace(String,String)'
    - '[Class<?>].getClassLoader()'
    - '[io.undertow.server.handlers.resource.ClassPathResourceManager].<init>(io.undertow.servlet.test.util.TestResourceLoader,io.undertow.servlet.test.util.TestResourceLoader)'
    - '[Class<?>].getPackage()'
    linkageType: ''
    returnType: io.undertow.servlet.test.util.TestResourceLoader
    signature: '[io.undertow.servlet.test.util.TestResourceLoader].<init>(Class<?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.ClassPathResourceManager].getResource(String)'
      Src: io.undertow.servlet.test.util.TestResourceLoader:48,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].<init>(io.undertow.server.handlers.resource.Resource)'
      Src: io.undertow.servlet.test.util.TestResourceLoader:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.server.handlers.resource.Resource
      static: false
      superClass: io.undertow.server.handlers.resource.ClassPathResourceManager
    argCount: 1
    argNames:
    - path
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader].getResource(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.ClassPathResourceManager].getResource(String)'
    - '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].<init>(io.undertow.server.handlers.resource.Resource)'
    linkageType: ''
    returnType: io.undertow.server.handlers.resource.Resource
    signature: '[io.undertow.servlet.test.util.TestResourceLoader].getResource(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.handlers.resource.Resource
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.util.TestResourceLoader.TestResource
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - delegate
    argTypes:
    - io.undertow.server.handlers.resource.Resource
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].<init>(io.undertow.server.handlers.resource.Resource)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.TestResourceLoader.TestResource
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].<init>(io.undertow.server.handlers.resource.Resource)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getPath()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getPath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getPath()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getLastModified()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.Date
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getLastModified()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getLastModified()'
    linkageType: ''
    returnType: java.util.Date
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getLastModified()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getLastModifiedString()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getLastModifiedString()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getLastModifiedString()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getLastModifiedString()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getETag()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.util.ETag
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getETag()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getETag()'
    linkageType: ''
    returnType: io.undertow.util.ETag
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getETag()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getName()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getName()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getName()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getName()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].isDirectory()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].isDirectory()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].isDirectory()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].isDirectory()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].list()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<io.undertow.server.handlers.resource.Resource>
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].list()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].list()'
    linkageType: ''
    returnType: java.util.List<io.undertow.server.handlers.resource.Resource>
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].list()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentType(io.undertow.util.MimeMappings)'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.util.MimeMappings
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - mimeMappings
    argTypes:
    - io.undertow.util.MimeMappings
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getContentType(io.undertow.util.MimeMappings)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getContentType(io.undertow.util.MimeMappings)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getContentType(io.undertow.util.MimeMappings)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - sender
    - exchange
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].serve(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getContentLength()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: Long
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getContentLength()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getContentLength()'
    linkageType: ''
    returnType: Long
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getCacheKey()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getCacheKey()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getCacheKey()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getCacheKey()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getFile()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getFile()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getFile()'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getFile()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getFilePath()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getFilePath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getFilePath()'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getFilePath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getResourceManagerRoot()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.io.File
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getResourceManagerRoot()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getResourceManagerRoot()'
    linkageType: ''
    returnType: java.io.File
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getResourceManagerRoot()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getResourceManagerRootPath()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.nio.file.Path
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getResourceManagerRootPath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getResourceManagerRootPath()'
    linkageType: ''
    returnType: java.nio.file.Path
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getResourceManagerRootPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.Resource].getUrl()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.net.URL
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getUrl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.Resource].getUrl()'
    linkageType: ''
    returnType: java.net.URL
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].getUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.RangeAwareResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.io.Sender
      - io.undertow.server.HttpServerExchange
      - long
      - long
      - io.undertow.io.IoCallback
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - sender
    - exchange
    - start
    - end
    - completionCallback
    argTypes:
    - io.undertow.io.Sender
    - io.undertow.server.HttpServerExchange
    - long
    - long
    - io.undertow.io.IoCallback
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.RangeAwareResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].serveRange(io.undertow.io.Sender,io.undertow.server.HttpServerExchange,long,long,io.undertow.io.IoCallback)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.resource.RangeAwareResource].isRangeSupported()'
      Src: io.undertow.servlet.test.util.TestResourceLoader.TestResource:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - Resource
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - RangeAwareResource
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].isRangeSupported()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestResourceLoader.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.handlers.resource.RangeAwareResource].isRangeSupported()'
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.util.TestResourceLoader.TestResource].isRangeSupported()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
      Src: io.undertow.servlet.test.util.TXServlet:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.util.TXServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TXServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TXServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TXServlet.class.getSimpleName()
      Src: io.undertow.servlet.test.util.TXServlet:48,1
    - Dst: TXServlet.class.getResource(String)
      Src: io.undertow.servlet.test.util.TXServlet:48,1
    - Dst: '[io.undertow.servlet.test.util.TXServlet].toURI()'
      Src: io.undertow.servlet.test.util.TXServlet:48,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.servlet.test.util.TXServlet)'
      Src: io.undertow.servlet.test.util.TXServlet:48,1
    - Dst: '[java.nio.channels.FileChannel].open(io.undertow.servlet.test.util.TXServlet)'
      Src: io.undertow.servlet.test.util.TXServlet:48,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.util.TXServlet:52,1
    - Dst: stream.transferFrom(io.undertow.servlet.test.util.TXServlet)
      Src: io.undertow.servlet.test.util.TXServlet:53,1
    - Dst: '[io.undertow.servlet.test.util.TXServlet].close()'
      Src: io.undertow.servlet.test.util.TXServlet:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.util.TXServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TXServlet.java
    functionUses: 1
    functionsReached:
    - '[java.nio.channels.FileChannel].open(io.undertow.servlet.test.util.TXServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - TXServlet.class.getSimpleName()
    - TXServlet.class.getResource(String)
    - '[io.undertow.servlet.test.util.TXServlet].toURI()'
    - stream.transferFrom(io.undertow.servlet.test.util.TXServlet)
    - '[io.undertow.servlet.test.util.TXServlet].close()'
    - '[java.nio.file.Paths].get(io.undertow.servlet.test.util.TXServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TXServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TXServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.util.TXServlet:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.util.TXServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TXServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.TXServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TXServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.TXServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.TXServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TXServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.TXServlet
    signature: '[io.undertow.servlet.test.util.TXServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ProxyPeerXForwardedHandlerServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.HashMap].<init>()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:46,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServerName()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:47,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:47,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServerPort()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:48,1
    - Dst: String.valueOf(io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:48,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:48,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getLocalName()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:49,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:49,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getLocalAddr()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:50,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:50,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getLocalPort()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:51,1
    - Dst: String.valueOf(io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:51,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:51,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRemoteAddr()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:52,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:52,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRemotePort()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:53,1
    - Dst: String.valueOf(io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:53,1
    - Dst: '[java.util.HashMap].put(String,io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:53,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:55,1
    - Dst: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].convertWithStream(java.util.HashMap)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:56,1
    - Dst: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].write(String)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:56,1
    - Dst: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].close()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ProxyPeerXForwardedHandlerServlet.java
    functionUses: 1
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].write(String)'
    - '[java.util.HashMap].put(String,io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getServerPort()'
    - '[java.util.HashMap].<init>()'
    - '[jakarta.servlet.http.HttpServletRequest].getServerName()'
    - '[jakarta.servlet.http.HttpServletRequest].getLocalPort()'
    - String.valueOf(io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)
    - '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].convertWithStream(java.util.HashMap)'
    - '[jakarta.servlet.http.HttpServletRequest].getLocalAddr()'
    - '[jakarta.servlet.http.HttpServletRequest].getRemotePort()'
    - '[jakarta.servlet.http.HttpServletRequest].getLocalName()'
    - '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].close()'
    - '[jakarta.servlet.http.HttpServletRequest].getRemoteAddr()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ProxyPeerXForwardedHandlerServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.Map<?,?>].keySet()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:66,1
    - Dst: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].stream()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:66,1
    - Dst: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].map()'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:66,1
    - Dst: '[java.util.stream.Collectors].joining(String,String,String)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:68,1
    - Dst: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].collect(io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
      Src: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - java.util.Map<?,?>
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - map
    argTypes:
    - java.util.Map<?,?>
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].convertWithStream(java.util.Map<?,?>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ProxyPeerXForwardedHandlerServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.Map<?,?>].keySet()'
    - '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].map()'
    - '[java.util.stream.Collectors].joining(String,String,String)'
    - '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].stream()'
    - '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].collect(io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].convertWithStream(java.util.Map<?,?>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ProxyPeerXForwardedHandlerServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet
    signature: '[io.undertow.servlet.test.util.ProxyPeerXForwardedHandlerServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.util.PathTestServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.util.PathTestServlet:37,1
    - Dst: '[io.undertow.servlet.test.util.PathTestServlet].print(String)'
      Src: io.undertow.servlet.test.util.PathTestServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
      Src: io.undertow.servlet.test.util.PathTestServlet:38,1
    - Dst: '[io.undertow.servlet.test.util.PathTestServlet].print(String)'
      Src: io.undertow.servlet.test.util.PathTestServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
      Src: io.undertow.servlet.test.util.PathTestServlet:39,1
    - Dst: '[io.undertow.servlet.test.util.PathTestServlet].print(String)'
      Src: io.undertow.servlet.test.util.PathTestServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.util.PathTestServlet:40,1
    - Dst: '[io.undertow.servlet.test.util.PathTestServlet].print(String)'
      Src: io.undertow.servlet.test.util.PathTestServlet:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.util.PathTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/PathTestServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getServletPath()'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    - '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
    - '[io.undertow.servlet.test.util.PathTestServlet].print(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.PathTestServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.PathTestServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.PathTestServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/PathTestServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.PathTestServlet
    signature: '[io.undertow.servlet.test.util.PathTestServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
      Src: io.undertow.servlet.test.util.MessageServlet:41,1
    - Dst: '[jakarta.servlet.ServletConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.util.MessageServlet:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.util.MessageServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/MessageServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].init(jakarta.servlet.ServletConfig)'
    - '[jakarta.servlet.ServletConfig].getInitParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.MessageServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.util.MessageServlet:47,1
    - Dst: '[io.undertow.servlet.test.util.MessageServlet].write(String)'
      Src: io.undertow.servlet.test.util.MessageServlet:48,1
    - Dst: '[io.undertow.servlet.test.util.MessageServlet].close()'
      Src: io.undertow.servlet.test.util.MessageServlet:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: '[io.undertow.servlet.test.util.MessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/MessageServlet.java
    functionUses: 2
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.util.MessageServlet].write(String)'
    - '[io.undertow.servlet.test.util.MessageServlet].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.MessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.MessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.util.MessageServlet:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.util.MessageServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/MessageServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.MessageServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.MessageServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.MessageServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.MessageServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/MessageServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.MessageServlet
    signature: '[io.undertow.servlet.test.util.MessageServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(null,io.undertow.servlet.test.util.DeploymentUtils)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.api.Deployment
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/DeploymentUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(null,io.undertow.servlet.test.util.DeploymentUtils)'
    linkageType: ''
    returnType: io.undertow.servlet.api.Deployment
    signature: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.util.DeploymentUtils:56,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].newInstance()'
      Src: io.undertow.servlet.test.util.DeploymentUtils:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.util.DeploymentUtils:58,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.util.DeploymentUtils:59,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.util.DeploymentUtils)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.util.DeploymentUtils)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServletExtension(io.undertow.servlet.ServletExtension)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:65,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:67,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].deploy()'
      Src: io.undertow.servlet.test.util.DeploymentUtils:68,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.util.DeploymentUtils:70,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].start()'
      Src: io.undertow.servlet.test.util.DeploymentUtils:70,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.util.DeploymentUtils)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:70,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.util.DeploymentUtils)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.util.DeploymentUtils:74,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].getDeployment()'
      Src: io.undertow.servlet.test.util.DeploymentUtils:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.servlet.ServletExtension
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.api.Deployment
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - servletExtension
    argTypes:
    - io.undertow.servlet.ServletExtension
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/DeploymentUtils.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.DeploymentUtils].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServletExtension(io.undertow.servlet.ServletExtension)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].start()'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.test.util.DeploymentUtils)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.util.DeploymentUtils)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].newInstance()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[RuntimeException].<init>(io.undertow.servlet.test.util.DeploymentUtils)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.util.DeploymentUtils)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.util.DeploymentUtils].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].getDeployment()'
    linkageType: ''
    returnType: io.undertow.servlet.api.Deployment
    signature: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.DeploymentUtils
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.DeploymentUtils].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/DeploymentUtils.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.DeploymentUtils
    signature: '[io.undertow.servlet.test.util.DeploymentUtils].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TestConfidentialPortManager].<init>()'
      Src: io.undertow.servlet.test.util.TestConfidentialPortManager:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.test.util.TestConfidentialPortManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.api.ConfidentialPortManager
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.util.TestConfidentialPortManager
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: '[io.undertow.servlet.test.util.TestConfidentialPortManager].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestConfidentialPortManager.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.util.TestConfidentialPortManager].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.util.TestConfidentialPortManager
    signature: '[io.undertow.servlet.test.util.TestConfidentialPortManager].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.servlet.test.util.TestConfidentialPortManager:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.server.HttpServerExchange
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.test.util.TestConfidentialPortManager
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.api.ConfidentialPortManager
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - io.undertow.server.HttpServerExchange
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.util.TestConfidentialPortManager].getConfidentialPort(io.undertow.server.HttpServerExchange)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestConfidentialPortManager.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.util.TestConfidentialPortManager].getConfidentialPort(io.undertow.server.HttpServerExchange)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].add(String)'
      Src: io.undertow.servlet.test.util.TestListener:40,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.servlet.test.util.TestListener:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - message
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.util.TestListener].addMessage(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].add(String)'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TestListener].addMessage(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].clear()'
      Src: io.undertow.servlet.test.util.TestListener:45,1
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.servlet.test.util.TestListener:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.util.TestListener].init(int)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestListener.java
    functionUses: 6
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    - '[java.util.List<String>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TestListener].init(int)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequestEvent].getServletRequest()'
      Src: io.undertow.servlet.test.util.TestListener:51,1
    - Dst: '[io.undertow.servlet.test.util.TestListener].getDispatcherType()'
      Src: io.undertow.servlet.test.util.TestListener:51,1
    - Dst: '[java.util.List<String>].add(String)'
      Src: io.undertow.servlet.test.util.TestListener:51,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.servlet.test.util.TestListener:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: '[io.undertow.servlet.test.util.TestListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].add(String)'
    - '[io.undertow.servlet.test.util.TestListener].getDispatcherType()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[jakarta.servlet.ServletRequestEvent].getServletRequest()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TestListener].requestDestroyed(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletRequestEvent].getServletRequest()'
      Src: io.undertow.servlet.test.util.TestListener:57,1
    - Dst: '[io.undertow.servlet.test.util.TestListener].getDispatcherType()'
      Src: io.undertow.servlet.test.util.TestListener:57,1
    - Dst: '[java.util.List<String>].add(String)'
      Src: io.undertow.servlet.test.util.TestListener:57,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.servlet.test.util.TestListener:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequestEvent
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - sre
    argTypes:
    - jakarta.servlet.ServletRequestEvent
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: '[io.undertow.servlet.test.util.TestListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].add(String)'
    - '[io.undertow.servlet.test.util.TestListener].getDispatcherType()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[jakarta.servlet.ServletRequestEvent].getServletRequest()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.TestListener].requestInitialized(jakarta.servlet.ServletRequestEvent)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.util.TestListener)'
      Src: io.undertow.servlet.test.util.TestListener:63,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.util.TestListener)'
      Src: io.undertow.servlet.test.util.TestListener:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: '[io.undertow.servlet.test.util.TestListener].results()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestListener.java
    functionUses: 5
    functionsReached:
    - '[RuntimeException].<init>(io.undertow.servlet.test.util.TestListener)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.util.TestListener)'
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.servlet.test.util.TestListener].results()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.util.TestListener:35,1
    - Dst: '[java.util.Collections].synchronizedList(java.util.ArrayList)'
      Src: io.undertow.servlet.test.util.TestListener:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.ServletRequestListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.TestListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.TestListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestListener.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].synchronizedList(java.util.ArrayList)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.util.TestListener
    signature: '[io.undertow.servlet.test.util.TestListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].add(String)'
      Src: io.undertow.servlet.test.util.Tracker:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - action
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.util.Tracker].addAction(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/Tracker.java
    functionUses: 0
    functionsReached:
    - '[java.util.List<String>].add(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.Tracker].addAction(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.List<String>
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: '[io.undertow.servlet.test.util.Tracker].getActions()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/Tracker.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.List<String>
    signature: '[io.undertow.servlet.test.util.Tracker].getActions()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.List<String>].clear()'
      Src: io.undertow.servlet.test.util.Tracker:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: '[io.undertow.servlet.test.util.Tracker].reset()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/Tracker.java
    functionUses: 1
    functionsReached:
    - '[java.util.List<String>].clear()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.Tracker].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.util.Tracker:32,1
    - Dst: '[java.util.Collections].synchronizedList(java.util.ArrayList)'
      Src: io.undertow.servlet.test.util.Tracker:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - java.util.List<String>
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.Tracker
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.Tracker].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/Tracker.java
    functionUses: 0
    functionsReached:
    - '[java.util.Collections].synchronizedList(java.util.ArrayList)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.util.Tracker
    signature: '[io.undertow.servlet.test.util.Tracker].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletConfig
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - config
    argTypes:
    - jakarta.servlet.ServletConfig
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.util.EmptyServlet].init(jakarta.servlet.ServletConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/EmptyServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.EmptyServlet].init(jakarta.servlet.ServletConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: jakarta.servlet.ServletConfig
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.util.EmptyServlet].getServletConfig()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/EmptyServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: jakarta.servlet.ServletConfig
    signature: '[io.undertow.servlet.test.util.EmptyServlet].getServletConfig()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - req
    - res
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.util.EmptyServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/EmptyServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.EmptyServlet].service(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '[io.undertow.servlet.test.util.EmptyServlet].getServletInfo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/EmptyServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.util.EmptyServlet].getServletInfo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '[io.undertow.servlet.test.util.EmptyServlet].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/EmptyServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.EmptyServlet].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Servlet
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.EmptyServlet
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.EmptyServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/EmptyServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.EmptyServlet
    signature: '[io.undertow.servlet.test.util.EmptyServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Class<T>].getDeclaredConstructor()'
      Src: io.undertow.servlet.test.util.TestClassIntrospector:34,1
    - Dst: '[io.undertow.servlet.util.ConstructorInstanceFactory].<init>(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.util.TestClassIntrospector:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - Class<T>
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.test.util.TestClassIntrospector
      classPublic: true
      concrete: true
      exceptions:
      - NoSuchMethodException
      interfaces:
      - io.undertow.servlet.api.ClassIntrospecter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.api.InstanceFactory<T>
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - clazz
    argTypes:
    - Class<T>
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.servlet.test.util.TestClassIntrospector].createInstanceFactory(Class<T>)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestClassIntrospector.java
    functionUses: 0
    functionsReached:
    - '[Class<T>].getDeclaredConstructor()'
    - '[io.undertow.servlet.util.ConstructorInstanceFactory].<init>(io.undertow.servlet.test.util.TestClassIntrospector)'
    linkageType: ''
    returnType: io.undertow.servlet.api.InstanceFactory<T>
    signature: '[io.undertow.servlet.test.util.TestClassIntrospector].createInstanceFactory(Class<T>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.TestClassIntrospector].<init>()'
      Src: io.undertow.servlet.test.util.TestClassIntrospector:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.servlet.test.util.TestClassIntrospector
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - io.undertow.servlet.api.ClassIntrospecter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.TestClassIntrospector
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 1
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.TestClassIntrospector].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/TestClassIntrospector.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.util.TestClassIntrospector].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.util.TestClassIntrospector
    signature: '[io.undertow.servlet.test.util.TestClassIntrospector].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.FilterConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.util.SetHeaderFilter:41,1
    - Dst: '[jakarta.servlet.FilterConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.util.SetHeaderFilter:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.util.SetHeaderFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/SetHeaderFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterConfig].getInitParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.SetHeaderFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setHeader(String,String)'
      Src: io.undertow.servlet.test.util.SetHeaderFilter:47,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.util.SetHeaderFilter:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.util.SetHeaderFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/SetHeaderFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - '[jakarta.servlet.http.HttpServletResponse].setHeader(String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.SetHeaderFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.util.SetHeaderFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/SetHeaderFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.SetHeaderFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.SetHeaderFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.SetHeaderFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/SetHeaderFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.SetHeaderFilter
    signature: '[io.undertow.servlet.test.util.SetHeaderFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.FilterConfig].getInitParameter(String)'
      Src: io.undertow.servlet.test.util.MessageFilter:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.util.MessageFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/MessageFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterConfig].getInitParameter(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.MessageFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.ServletResponse].getWriter()'
      Src: io.undertow.servlet.test.util.MessageFilter:47,1
    - Dst: '[io.undertow.servlet.test.util.MessageFilter].write(String)'
      Src: io.undertow.servlet.test.util.MessageFilter:47,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.util.MessageFilter:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.util.MessageFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/MessageFilter.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.MessageFilter].write(String)'
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - '[jakarta.servlet.ServletResponse].getWriter()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.MessageFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.util.MessageFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/MessageFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.MessageFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.MessageFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.MessageFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/MessageFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.MessageFilter
    signature: '[io.undertow.servlet.test.util.MessageFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:38,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:40,1
    - Dst: echoType.equals(String)
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:41,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterValues(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:42,1
    - Dst: echoType.equals(String)
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:43,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterNames(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:44,1
    - Dst: echoType.equals(String)
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:45,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterMap(jakarta.servlet.http.HttpServletRequest)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:46,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].sendError(int)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:48,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:52,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:53,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].write(io.undertow.servlet.test.util.ParameterEchoServlet)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:53,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].close()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.util.ParameterEchoServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ParameterEchoServlet.java
    functionUses: 2
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterMap(jakarta.servlet.http.HttpServletRequest)'
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].close()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterValues(jakarta.servlet.http.HttpServletRequest)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[StringBuilder].toString()'
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterNames(jakarta.servlet.http.HttpServletRequest)'
    - '[jakarta.servlet.http.HttpServletResponse].sendError(int)'
    - echoType.equals(String)
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].write(io.undertow.servlet.test.util.ParameterEchoServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.ParameterEchoServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:58,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:59,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].entrySet()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:60,1
    - Dst: entry.getKey()
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:61,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.util.ParameterEchoServlet)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:61,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].append(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:61,1
    - Dst: entry.getValue()
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:62,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:64,1
    - Dst: '[StringBuilder].append()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:66,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StringBuilder
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - req
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterMap(jakarta.servlet.http.HttpServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ParameterEchoServlet.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[StringBuilder].append(io.undertow.servlet.test.util.ParameterEchoServlet)'
    - entry.getValue()
    - '[StringBuilder].<init>()'
    - entry.getKey()
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].entrySet()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].append(String)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].append()'
    linkageType: ''
    returnType: StringBuilder
    signature: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterMap(jakarta.servlet.http.HttpServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:74,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:75,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].hasMoreElements()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:76,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].nextElement()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:77,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.util.ParameterEchoServlet)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:77,1
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].hasMoreElements()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:78,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StringBuilder
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - req
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterNames(jakarta.servlet.http.HttpServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ParameterEchoServlet.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].append(io.undertow.servlet.test.util.ParameterEchoServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterNames()'
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].hasMoreElements()'
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].nextElement()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: StringBuilder
    signature: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterNames(jakarta.servlet.http.HttpServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:84,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterValues(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:85,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterValues(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:86,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterValues(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:87,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:90,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:93,1
    - Dst: '[StringBuilder].append()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:95,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:97,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:100,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:103,1
    - Dst: '[StringBuilder].append()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:105,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:107,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:110,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:113,1
    - Dst: '[StringBuilder].append()'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:115,1
    - Dst: '[StringBuilder].append(char)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: StringBuilder
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 1
    argNames:
    - req
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    constantsTouched: []
    func_position:
      end: 120
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 120
    functionName: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterValues(jakarta.servlet.http.HttpServletRequest)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ParameterEchoServlet.java
    functionUses: 1
    functionsReached:
    - '[StringBuilder].append(char)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].append()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterValues(String)'
    linkageType: ''
    returnType: StringBuilder
    signature: '[io.undertow.servlet.test.util.ParameterEchoServlet].echoParameterValues(jakarta.servlet.http.HttpServletRequest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: '[io.undertow.servlet.test.util.ParameterEchoServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ParameterEchoServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.ParameterEchoServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.util.ParameterEchoServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
      Src: io.undertow.servlet.test.util.ParameterEchoServlet:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: '[io.undertow.servlet.test.util.ParameterEchoServlet].doPut(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ParameterEchoServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.ParameterEchoServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.util.ParameterEchoServlet].doPut(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.util.ParameterEchoServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.util.ParameterEchoServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/util/ParameterEchoServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.util.ParameterEchoServlet
    signature: '[io.undertow.servlet.test.util.ParameterEchoServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:33,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:33,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:35,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:35,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:37,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:37,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:39,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:39,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:41,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testOne()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testOne()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testTwo()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testTwo()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testThree()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testThree()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testFour()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testFour()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testFive()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testFive()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testSix()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testSix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testSeven()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testSeven()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testEight()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].testEight()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:93,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.path.ServletSpecExampleTestCase)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:96,1
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:97,1
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletSpecExampleTestCase)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:97,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletSpecExampleTestCase)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:98,1
    - Dst: '[jakarta.servlet.http.MappingMatch].name()'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:100,1
    - Dst: String.format(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:99,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.path.ServletSpecExampleTestCase,String)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:101,1
    - Dst: '[AssertionError].<init>(io.undertow.servlet.test.path.ServletSpecExampleTestCase)'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:103,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:105,1
    - Dst: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].shutdown()'
      Src: io.undertow.servlet.test.path.ServletSpecExampleTestCase:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.servlet.http.MappingMatch
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - path
    - mappingMatch
    - matchValue
    - pattern
    - servletName
    argTypes:
    - String
    - jakarta.servlet.http.MappingMatch
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,jakarta.servlet.http.MappingMatch,String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached:
    - '[AssertionError].<init>(io.undertow.servlet.test.path.ServletSpecExampleTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.path.ServletSpecExampleTestCase)'
    - String.format(String,io.undertow.servlet.test.path.ServletSpecExampleTestCase,String,String,String)
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletSpecExampleTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.path.ServletSpecExampleTestCase,String)'
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletSpecExampleTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[jakarta.servlet.http.MappingMatch].name()'
    - '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].doTest(String,jakarta.servlet.http.MappingMatch,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.ServletSpecExampleTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletSpecExampleTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.ServletSpecExampleTestCase
    signature: '[io.undertow.servlet.test.path.ServletSpecExampleTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.path.PathMappingServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.path.PathMappingServlet:37,1
    - Dst: '[io.undertow.servlet.test.path.PathMappingServlet].write(io.undertow.servlet.test.path.PathMappingServlet)'
      Src: io.undertow.servlet.test.path.PathMappingServlet:37,1
    - Dst: '[io.undertow.servlet.test.path.PathMappingServlet].close()'
      Src: io.undertow.servlet.test.path.PathMappingServlet:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.path.PathMappingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/PathMappingServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.PathMappingServlet].write(io.undertow.servlet.test.path.PathMappingServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.path.PathMappingServlet].close()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.PathMappingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.PathMappingServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.PathMappingServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/PathMappingServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.PathMappingServlet
    signature: '[io.undertow.servlet.test.path.PathMappingServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.FilterConfig
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.FilterConfig
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - filterConfig
    argTypes:
    - jakarta.servlet.FilterConfig
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '[io.undertow.servlet.test.path.PathFilter].init(jakarta.servlet.FilterConfig)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/PathFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.PathFilter].init(jakarta.servlet.FilterConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.FilterConfig].getFilterName()'
      Src: io.undertow.servlet.test.path.PathFilter:46,1
    - Dst: '[io.undertow.servlet.test.path.PathFilter].replace(String,String)'
      Src: io.undertow.servlet.test.path.PathFilter:46,1
    - Dst: '[jakarta.servlet.FilterConfig].getFilterName()'
      Src: io.undertow.servlet.test.path.PathFilter:46,1
    - Dst: resp.addHeader(String,io.undertow.servlet.test.path.PathFilter)
      Src: io.undertow.servlet.test.path.PathFilter:46,1
    - Dst: '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
      Src: io.undertow.servlet.test.path.PathFilter:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletRequest
      - jakarta.servlet.ServletResponse
      - jakarta.servlet.FilterChain
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.FilterConfig
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - request
    - response
    - chain
    argTypes:
    - jakarta.servlet.ServletRequest
    - jakarta.servlet.ServletResponse
    - jakarta.servlet.FilterChain
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.path.PathFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/PathFilter.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.FilterChain].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)'
    - '[io.undertow.servlet.test.path.PathFilter].replace(String,String)'
    - resp.addHeader(String,io.undertow.servlet.test.path.PathFilter)
    - '[jakarta.servlet.FilterConfig].getFilterName()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.PathFilter].doFilter(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.FilterConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: '[io.undertow.servlet.test.path.PathFilter].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/PathFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.PathFilter].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - jakarta.servlet.FilterConfig
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.Filter
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.PathFilter
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.PathFilter].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/PathFilter.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.PathFilter
    signature: '[io.undertow.servlet.test.path.PathFilter].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.path.RealPathServlet:35,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.path.RealPathServlet:36,1
    - Dst: '[io.undertow.servlet.test.path.RealPathServlet].equals(String)'
      Src: io.undertow.servlet.test.path.RealPathServlet:36,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
      Src: io.undertow.servlet.test.path.RealPathServlet:37,1
    - Dst: '[io.undertow.servlet.test.path.RealPathServlet].getRealPath(String)'
      Src: io.undertow.servlet.test.path.RealPathServlet:37,1
    - Dst: '[io.undertow.servlet.test.path.RealPathServlet].write(io.undertow.servlet.test.path.RealPathServlet)'
      Src: io.undertow.servlet.test.path.RealPathServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
      Src: io.undertow.servlet.test.path.RealPathServlet:38,1
    - Dst: '[io.undertow.servlet.test.path.RealPathServlet].equals(String)'
      Src: io.undertow.servlet.test.path.RealPathServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getPathTranslated()'
      Src: io.undertow.servlet.test.path.RealPathServlet:39,1
    - Dst: '[io.undertow.servlet.test.path.RealPathServlet].write(io.undertow.servlet.test.path.RealPathServlet)'
      Src: io.undertow.servlet.test.path.RealPathServlet:39,1
    - Dst: '[io.undertow.servlet.test.path.RealPathServlet].close()'
      Src: io.undertow.servlet.test.path.RealPathServlet:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: '[io.undertow.servlet.test.path.RealPathServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/RealPathServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.path.RealPathServlet].getRealPath(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getPathInfo()'
    - '[io.undertow.servlet.test.path.RealPathServlet].equals(String)'
    - '[io.undertow.servlet.test.path.RealPathServlet].write(io.undertow.servlet.test.path.RealPathServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getServletContext()'
    - '[jakarta.servlet.http.HttpServletRequest].getPathTranslated()'
    - '[io.undertow.servlet.test.path.RealPathServlet].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.RealPathServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.RealPathServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.RealPathServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/RealPathServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.RealPathServlet
    signature: '[io.undertow.servlet.test.path.RealPathServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:52,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].newInstance()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:55,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:55,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:58,1
    - Dst: RealPathTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.path.RealPathTestCase:60,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.path.RealPathTestCase)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:58,1
    - Dst: '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:58,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:66,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].deploy()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:67,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:68,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].start()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:68,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.path.RealPathTestCase)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:68,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: '[io.undertow.servlet.test.path.RealPathTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/RealPathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setResourceManager(io.undertow.servlet.test.util.TestResourceLoader)'
    - RealPathTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.path.RealPathTestCase)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.path.RealPathTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.path.RealPathTestCase].start()'
    - '[io.undertow.servlet.test.path.RealPathTestCase].deploy()'
    - '[io.undertow.servlet.test.util.TestResourceLoader].<init>()'
    - '[io.undertow.servlet.test.path.RealPathTestCase].newInstance()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.path.RealPathTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.RealPathTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:76,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:76,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:77,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:77,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:78,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:78,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.RealPathTestCase)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:78,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.RealPathTestCase)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:79,1
    - Dst: RealPathTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.path.RealPathTestCase:80,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].toURI()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:80,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.servlet.test.path.RealPathTestCase)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:80,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].toString()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.path.RealPathTestCase,String)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.path.RealPathTestCase].testRealPath()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/RealPathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.RealPathTestCase)'
    - '[io.undertow.servlet.test.path.RealPathTestCase].toString()'
    - '[io.undertow.servlet.test.path.RealPathTestCase].toURI()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.path.RealPathTestCase,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - RealPathTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.path.RealPathTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.path.RealPathTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.RealPathTestCase)'
    - '[java.nio.file.Paths].get(io.undertow.servlet.test.path.RealPathTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.RealPathTestCase].testRealPath()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:85,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:86,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:86,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:87,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.RealPathTestCase)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:87,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.RealPathTestCase)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:88,1
    - Dst: RealPathTestCase.class.getResource(String)
      Src: io.undertow.servlet.test.path.RealPathTestCase:89,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].toURI()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:89,1
    - Dst: '[java.nio.file.Paths].get(io.undertow.servlet.test.path.RealPathTestCase)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:89,1
    - Dst: '[io.undertow.servlet.test.path.RealPathTestCase].toString()'
      Src: io.undertow.servlet.test.path.RealPathTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.path.RealPathTestCase,String)'
      Src: io.undertow.servlet.test.path.RealPathTestCase:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: '[io.undertow.servlet.test.path.RealPathTestCase].testPathTranslated()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/RealPathTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.RealPathTestCase)'
    - '[io.undertow.servlet.test.path.RealPathTestCase].toString()'
    - '[io.undertow.servlet.test.path.RealPathTestCase].toURI()'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.path.RealPathTestCase,String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - RealPathTestCase.class.getResource(String)
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.path.RealPathTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.path.RealPathTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.RealPathTestCase)'
    - '[java.nio.file.Paths].get(io.undertow.servlet.test.path.RealPathTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.RealPathTestCase].testPathTranslated()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.RealPathTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.RealPathTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/RealPathTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.RealPathTestCase
    signature: '[io.undertow.servlet.test.path.RealPathTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:50,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:50,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:52,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:52,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:54,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:54,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:56,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:58,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:60,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:62,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletPathMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:69,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:71,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:71,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:72,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:73,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:73,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:73,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:74,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:75,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:77,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:77,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:79,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:79,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:81,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:83,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:83,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:85,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:85,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:87,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:89,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:90,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:91,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:91,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:93,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:95,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:95,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:96,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:97,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:97,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:97,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:98,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:99,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:103,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:104,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:104,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:106,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:109,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:110,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:111,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:111,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:113,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:115,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:116,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:117,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:117,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:119,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:122,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:123,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:124,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:124,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:124,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:125,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:126,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:128,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:128,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:129,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:130,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:130,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:131,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:132,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:135,1
    - Dst: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.path.ServletPathMappingTestCase:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 120
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 137
    functionName: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].testSimpleHttpServlet()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletPathMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.ServletPathMappingTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.ServletPathMappingTestCase)'
    - '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.path.ServletPathMappingTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.ServletPathMappingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].testSimpleHttpServlet()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.ServletPathMappingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/ServletPathMappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.ServletPathMappingTestCase
    signature: '[io.undertow.servlet.test.path.ServletPathMappingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:48,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MultipleMatchingMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].doTest(String,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].testMatchesPathAndExtension1()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MultipleMatchingMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].doTest(String,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].testMatchesPathAndExtension1()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].doTest(String,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].testMatchesPathAndExtension2()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MultipleMatchingMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].doTest(String,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].testMatchesPathAndExtension2()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].doTest(String,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String,String,String)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].testMatchesPathAndExtension3()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MultipleMatchingMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].doTest(String,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].testMatchesPathAndExtension3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:79,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.path.MultipleMatchingMappingTestCase)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:82,1
    - Dst: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:83,1
    - Dst: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:83,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.MultipleMatchingMappingTestCase)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:84,1
    - Dst: '[jakarta.servlet.http.MappingMatch].name()'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:86,1
    - Dst: String.format(String,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String,String,String)
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:87,1
    - Dst: '[AssertionError].<init>(io.undertow.servlet.test.path.MultipleMatchingMappingTestCase)'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:91,1
    - Dst: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - jakarta.servlet.http.MappingMatch
      - String
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 5
    argNames:
    - path
    - mappingMatch
    - matchValue
    - pattern
    - servletName
    argTypes:
    - String
    - jakarta.servlet.http.MappingMatch
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].doTest(String,jakarta.servlet.http.MappingMatch,String,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MultipleMatchingMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.path.MultipleMatchingMappingTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String)'
    - '[AssertionError].<init>(io.undertow.servlet.test.path.MultipleMatchingMappingTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.MultipleMatchingMappingTestCase)'
    - '[jakarta.servlet.http.MappingMatch].name()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].getStatusCode()'
    - String.format(String,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase,String,String,String)
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.MultipleMatchingMappingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].doTest(String,jakarta.servlet.http.MappingMatch,String,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MultipleMatchingMappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.MultipleMatchingMappingTestCase
    signature: '[io.undertow.servlet.test.path.MultipleMatchingMappingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:45,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:45,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:45,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:45,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:45,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:45,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.MappingTestCase:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: '[io.undertow.servlet.test.path.MappingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.MappingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.MappingTestCase:56,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.MappingTestCase:58,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:58,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.MappingTestCase:59,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.MappingTestCase:60,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.MappingTestCase:60,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:60,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:61,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:62,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.MappingTestCase:66,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:66,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.MappingTestCase:67,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.MappingTestCase:68,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.MappingTestCase:68,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:68,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:69,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.MappingTestCase:74,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.MappingTestCase:75,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.MappingTestCase:76,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.MappingTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:76,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:78,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.MappingTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.MappingTestCase:83,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.MappingTestCase:84,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.MappingTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:86,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.path.MappingTestCase:90,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.MappingTestCase:91,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.MappingTestCase:92,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.MappingTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:92,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.MappingTestCase)'
      Src: io.undertow.servlet.test.path.MappingTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.MappingTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.path.MappingTestCase:99,1
    - Dst: '[io.undertow.servlet.test.path.MappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.path.MappingTestCase:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 70
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 101
    functionName: '[io.undertow.servlet.test.path.MappingTestCase].testGetMapping()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.MappingTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.MappingTestCase)'
    - '[io.undertow.servlet.test.path.MappingTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.path.MappingTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.path.MappingTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.MappingTestCase].testGetMapping()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.MappingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.MappingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/MappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.MappingTestCase
    signature: '[io.undertow.servlet.test.path.MappingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHttpServletMapping()'
      Src: io.undertow.servlet.test.path.GetMappingServlet:33,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].append(String)'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].getMappingMatch()'
      Src: io.undertow.servlet.test.path.GetMappingServlet:36,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].name()'
      Src: io.undertow.servlet.test.path.GetMappingServlet:36,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].append(io.undertow.servlet.test.path.GetMappingServlet)'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].append(String)'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].getMatchValue()'
      Src: io.undertow.servlet.test.path.GetMappingServlet:38,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].append(io.undertow.servlet.test.path.GetMappingServlet)'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].append(String)'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].getPattern()'
      Src: io.undertow.servlet.test.path.GetMappingServlet:40,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].append(io.undertow.servlet.test.path.GetMappingServlet)'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].append(String)'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].getServletName()'
      Src: io.undertow.servlet.test.path.GetMappingServlet:42,1
    - Dst: '[io.undertow.servlet.test.path.GetMappingServlet].append(io.undertow.servlet.test.path.GetMappingServlet)'
      Src: io.undertow.servlet.test.path.GetMappingServlet:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - request
    - response
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.path.GetMappingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/GetMappingServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.path.GetMappingServlet].append(io.undertow.servlet.test.path.GetMappingServlet)'
    - '[io.undertow.servlet.test.path.GetMappingServlet].getPattern()'
    - '[io.undertow.servlet.test.path.GetMappingServlet].getServletName()'
    - '[io.undertow.servlet.test.path.GetMappingServlet].getMappingMatch()'
    - '[io.undertow.servlet.test.path.GetMappingServlet].getMatchValue()'
    - '[jakarta.servlet.http.HttpServletRequest].getHttpServletMapping()'
    - '[io.undertow.servlet.test.path.GetMappingServlet].append(String)'
    - '[io.undertow.servlet.test.path.GetMappingServlet].name()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.GetMappingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.GetMappingServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.GetMappingServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/GetMappingServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.GetMappingServlet
    signature: '[io.undertow.servlet.test.path.GetMappingServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:58,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:60,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].newInstance()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:63,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:63,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:66,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:66,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:69,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:72,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:72,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:72,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:81,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:81,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:84,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:87,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:87,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:87,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:90,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:91,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:94,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:94,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:95,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:97,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:98,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:100,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:100,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:101,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:103,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:104,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:106,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:107,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:109,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:110,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:112,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:112,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:113,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:115,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:115,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:116,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:118,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:118,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:119,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:121,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:121,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:122,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:124,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:124,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:125,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:127,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:127,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:128,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:130,1
    - Dst: FilterPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:131,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:130,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:130,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:130,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:135,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].deploy()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:136,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:137,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].start()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:137,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:137,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:139,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:142,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:144,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:145,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:146,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:147,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:148,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:149,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:150,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:151,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:152,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:153,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:154,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:155,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:156,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:157,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:158,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:159,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:162,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 99
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 164
    functionName: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].testBasicFilterMappings()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/FilterPathMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - FilterPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].shutdown()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].newInstance()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].start()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterServletNameMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].deploy()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String,String,String,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].testBasicFilterMappings()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:170,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:172,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].newInstance()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:173,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:175,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:175,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:175,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:178,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:178,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:179,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:181,1
    - Dst: FilterPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:182,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:181,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:181,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:181,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:186,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].deploy()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:187,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:188,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].start()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:188,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:188,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:190,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:193,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:195,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:198,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 200
    functionName: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].testExtensionMatchServletWithGlobalFilter()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/FilterPathMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - FilterPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].shutdown()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].newInstance()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].start()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].deploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].testExtensionMatchServletWithGlobalFilter()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:206,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:208,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].newInstance()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:209,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:211,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:211,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:211,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:214,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:214,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:215,1
    - Dst: '[io.undertow.servlet.api.FilterInfo].<init>(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:218,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:218,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:219,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:221,1
    - Dst: FilterPathMappingTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:222,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:221,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:221,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:221,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:226,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].deploy()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:227,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:228,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].start()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:228,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:228,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:230,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:233,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:235,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:238,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].shutdown()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 240
    functionName: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].test_WFLY_1935()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/FilterPathMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - FilterPathMappingTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].shutdown()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].newInstance()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].start()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.FilterInfo].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilterUrlMapping(String,String,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String,String,String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].addFilter(io.undertow.servlet.api.FilterInfo)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].deploy()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].test_WFLY_1935()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:247,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:248,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:249,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:249,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:249,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].requireHeaders(io.undertow.servlet.test.path.FilterPathMappingTestCase,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:250,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:251,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - io.undertow.testutils.TestHttpClient
      - String
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 3
    argNames:
    - client
    - path
    - expected
    argTypes:
    - io.undertow.testutils.TestHttpClient
    - String
    - String
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/FilterPathMappingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].requireHeaders(io.undertow.servlet.test.path.FilterPathMappingTestCase,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].getStatusCode()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].runTest(io.undertow.testutils.TestHttpClient,String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.HttpResponse].getAllHeaders()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:256,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:257,1
    - Dst: header.getName()
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:259,1
    - Dst: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].startsWith(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:259,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:260,1
    - Dst: '[java.util.Arrays].asList(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:263,1
    - Dst: '[java.util.HashSet].<init>(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:263,1
    - Dst: header.getValue()
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:265,1
    - Dst: '[java.util.HashSet].remove(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:265,1
    - Dst: header.getValue()
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:266,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:266,1
    - Dst: '[java.util.HashSet].isEmpty()'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:269,1
    - Dst: '[org.junit.Assert].fail(String)'
      Src: io.undertow.servlet.test.path.FilterPathMappingTestCase:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    JavaMethodInfo:
      argumentGenericTypes:
      - org.apache.http.HttpResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - result
    argTypes:
    - org.apache.http.HttpResponse
    constantsTouched: []
    func_position:
      end: 272
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 272
    functionName: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].requireHeaders(org.apache.http.HttpResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/FilterPathMappingTestCase.java
    functionUses: 0
    functionsReached:
    - header.getValue()
    - '[java.util.HashSet].<init>(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[java.util.ArrayList].add(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[java.util.HashSet].isEmpty()'
    - '[java.util.ArrayList].<init>()'
    - '[io.undertow.servlet.test.path.FilterPathMappingTestCase].startsWith(String)'
    - header.getName()
    - '[java.util.Arrays].asList(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    - '[org.junit.Assert].fail(String)'
    - '[org.apache.http.HttpResponse].getAllHeaders()'
    - '[java.util.HashSet].remove(io.undertow.servlet.test.path.FilterPathMappingTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].requireHeaders(org.apache.http.HttpResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.path.FilterPathMappingTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/path/FilterPathMappingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.path.FilterPathMappingTestCase
    signature: '[io.undertow.servlet.test.path.FilterPathMappingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:53,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamConnectionTerminationTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:60,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:60,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:63,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:65,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:66,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:68,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:69,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:70,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:70,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:71,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:72,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:72,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:72,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:73,1
    - Dst: '[org.junit.Assert].fail()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:78,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].testConnectionTermination()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamConnectionTerminationTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[StringBuilder].toString()'
    - '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].getStatusCode()'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[org.junit.Assert].fail()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].shutdown()'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].testConnectionTermination()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamConnectionTerminationTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamConnectionTerminationTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:39,1
    - Dst: '[io.undertow.servlet.test.streams.ConnectionTerminationServlet].print(String)'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:40,1
    - Dst: '[jakarta.servlet.WriteListener].<init>()'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:40,1
    - Dst: '[io.undertow.servlet.test.streams.ConnectionTerminationServlet].setWriteListener(jakarta.servlet.WriteListener)'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:40,1
    - Dst: '[io.undertow.servlet.handlers.ServletRequestContext].current()'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:51,1
    - Dst: '[io.undertow.servlet.handlers.ServletRequestContext].getExchange()'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:51,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:51,1
    - Dst: '[io.undertow.server.ServerConnection].close()'
      Src: io.undertow.servlet.test.streams.ConnectionTerminationServlet:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: '[io.undertow.servlet.test.streams.ConnectionTerminationServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ConnectionTerminationServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.handlers.ServletRequestContext].getExchange()'
    - '[io.undertow.server.ServerConnection].close()'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.streams.ConnectionTerminationServlet].setWriteListener(jakarta.servlet.WriteListener)'
    - '[io.undertow.servlet.handlers.ServletRequestContext].current()'
    - '[jakarta.servlet.WriteListener].<init>()'
    - '[io.undertow.servlet.test.streams.ConnectionTerminationServlet].print(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ConnectionTerminationServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ConnectionTerminationServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ConnectionTerminationServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ConnectionTerminationServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ConnectionTerminationServlet
    signature: '[io.undertow.servlet.test.streams.ConnectionTerminationServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:42,1
    - Dst: '[io.undertow.servlet.test.streams.EarlyCloseServlet].close()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:42,1
    - Dst: '[io.undertow.servlet.handlers.ServletRequestContext].requireCurrent()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:43,1
    - Dst: '[io.undertow.servlet.handlers.ServletRequestContext].getOriginalRequest()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:43,1
    - Dst: '[io.undertow.servlet.spec.HttpServletRequestImpl].getExchange()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:45,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:45,1
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:46,1
    - Dst: '[io.undertow.testutils.DefaultServer].isProxy()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:46,1
    - Dst: '[io.undertow.servlet.spec.HttpServletRequestImpl].getExchange()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:46,1
    - Dst: '[io.undertow.server.HttpServerExchange].getConnection()'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:46,1
    - Dst: '[RuntimeException].<init>(String)'
      Src: io.undertow.servlet.test.streams.EarlyCloseServlet:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.streams.EarlyCloseServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].isProxy()'
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    - '[RuntimeException].<init>(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
    - '[io.undertow.servlet.test.streams.EarlyCloseServlet].close()'
    - '[io.undertow.servlet.spec.HttpServletRequestImpl].getExchange()'
    - '[io.undertow.server.HttpServerExchange].getConnection()'
    - '[io.undertow.servlet.handlers.ServletRequestContext].getOriginalRequest()'
    - '[io.undertow.servlet.handlers.ServletRequestContext].requireCurrent()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EarlyCloseServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - io.undertow.server.ServerConnection
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.EarlyCloseServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.EarlyCloseServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.EarlyCloseServlet
    signature: '[io.undertow.servlet.test.streams.EarlyCloseServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:43,1
    - Dst: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].read(io.undertow.servlet.test.streams.EarlyCloseClientServlet)'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:46,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.streams.EarlyCloseClientServlet,int,io.undertow.servlet.test.streams.EarlyCloseClientServlet)'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:47,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:49,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:49,1
    - Dst: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].write(io.undertow.servlet.test.streams.EarlyCloseClientServlet)'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:49,1
    - Dst: '[java.util.concurrent.CountDownLatch].countDown()'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseClientServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].read(io.undertow.servlet.test.streams.EarlyCloseClientServlet)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.streams.EarlyCloseClientServlet,int,io.undertow.servlet.test.streams.EarlyCloseClientServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].write(io.undertow.servlet.test.streams.EarlyCloseClientServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
    - '[java.util.concurrent.CountDownLatch].countDown()'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].reset()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseClientServlet.java
    functionUses: 1
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].reset()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].isExceptionThrown()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseClientServlet.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].isExceptionThrown()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: boolean
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].isCompletedNormally()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseClientServlet.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].isCompletedNormally()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: java.util.concurrent.CountDownLatch
      static: true
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].getLatch()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseClientServlet.java
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: java.util.concurrent.CountDownLatch
    signature: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].getLatch()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.CountDownLatch].<init>(int)'
      Src: io.undertow.servlet.test.streams.EarlyCloseClientServlet:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      - boolean
      - java.util.concurrent.CountDownLatch
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.EarlyCloseClientServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EarlyCloseClientServlet.java
    functionUses: 0
    functionsReached:
    - '[java.util.concurrent.CountDownLatch].<init>(int)'
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.EarlyCloseClientServlet
    signature: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.ForceDrainServlet:34,1
    - Dst: '[String].getBytes(String)'
      Src: io.undertow.servlet.test.streams.ForceDrainServlet:34,1
    - Dst: '[io.undertow.servlet.test.streams.ForceDrainServlet].write(io.undertow.servlet.test.streams.ForceDrainServlet)'
      Src: io.undertow.servlet.test.streams.ForceDrainServlet:34,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.ForceDrainServlet:35,1
    - Dst: '[io.undertow.servlet.test.streams.ForceDrainServlet].close()'
      Src: io.undertow.servlet.test.streams.ForceDrainServlet:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.streams.ForceDrainServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ForceDrainServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.ForceDrainServlet].write(io.undertow.servlet.test.streams.ForceDrainServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[io.undertow.servlet.test.streams.ForceDrainServlet].close()'
    - '[String].getBytes(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ForceDrainServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ForceDrainServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ForceDrainServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ForceDrainServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ForceDrainServlet
    signature: '[io.undertow.servlet.test.streams.ForceDrainServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:53,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamEarlyCloseClientSideTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.xnio.OptionMap].create(org.xnio.Option<Long>)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:59,1
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].setupServer()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamEarlyCloseClientSideTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
    - '[org.xnio.OptionMap].create(org.xnio.Option<Long>)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].setupServer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].cleanup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamEarlyCloseClientSideTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].setServerOptions(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].cleanup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:69,1
    - Dst: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].reset()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:70,1
    - Dst: '[java.net.Socket].<init>()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:71,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:72,1
    - Dst: socket.connect(java.net.InetSocketAddress)
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:72,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:74,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:76,1
    - Dst: '[StringBuilder].length()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:79,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:79,1
    - Dst: socket.getOutputStream()
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:80,1
    - Dst: request.getBytes(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:82,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].write(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:82,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].flush()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:83,1
    - Dst: socket.close()
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:84,1
    - Dst: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].getLatch()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:86,1
    - Dst: '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:86,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:86,1
    - Dst: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].isCompletedNormally()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:87,1
    - Dst: '[org.junit.Assert].assertFalse(boolean)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:87,1
    - Dst: '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].isExceptionThrown()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:88,1
    - Dst: '[org.junit.Assert].assertTrue(boolean)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:88,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:90,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].testServletInputStreamEarlyClose()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamEarlyCloseClientSideTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].isExceptionThrown()'
    - '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].isCompletedNormally()'
    - '[java.net.Socket].<init>()'
    - '[StringBuilder].append(String)'
    - '[java.util.concurrent.CountDownLatch].await(int,io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
    - '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].write(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[StringBuilder].length()'
    - '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].shutdown()'
    - request.getBytes(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)
    - socket.connect(java.net.InetSocketAddress)
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].getLatch()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.streams.EarlyCloseClientServlet].reset()'
    - '[org.junit.Assert].assertFalse(boolean)'
    - '[org.junit.Assert].assertTrue(boolean)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerAddress()'
    - '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].flush()'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase)'
    - socket.close()
    - socket.getOutputStream()
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].testServletInputStreamEarlyClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamEarlyCloseClientSideTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseClientSideTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:61,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:69,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:72,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:72,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:74,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:74,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.ServletExtension].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:80,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getBaseUrl()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:82,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:85,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:86,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:86,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:86,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:88,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:90,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:91,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:92,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:92,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:92,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:93,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:96,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testFlushAndCloseWithContentLength()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getBaseUrl()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].shutdown()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testFlushAndCloseWithContentLength()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 4
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:107,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getBaseUrl()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:109,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:111,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:112,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:113,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:113,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:114,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:115,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:118,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testResetBuffer()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getBaseUrl()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].shutdown()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testResetBuffer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:124,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:124,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:126,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:128,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:128,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:129,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:133,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:135,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:136,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:137,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:138,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:139,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testBlockingServletOutputStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testBlockingServletOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testChunkedResponseWithInitialFlush()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testChunkedResponseWithInitialFlush()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:155,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:155,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:156,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:156,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:157,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:161,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:163,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:164,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:165,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:166,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:167,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:176,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:176,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:177,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:177,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:178,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:182,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:184,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:185,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:186,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:187,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:188,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamOffIOThread()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 1
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamOffIOThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:197,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:197,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:198,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:198,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:199,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:203,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:205,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:206,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:207,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:208,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:209,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 5
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamWithPreableOffIOThread()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamWithPreableOffIOThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isH2upgrade()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:218,1
    - Dst: '[org.junit.Assume].assumeFalse(boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:218,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:219,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:219,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:220,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:224,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:226,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:227,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:228,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:229,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:230,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamWithPreable()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 1
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
    - '[org.junit.Assume].assumeFalse(boolean)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    - '[io.undertow.testutils.DefaultServer].isH2upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamWithPreable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:238,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getBaseUrl()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:241,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:257,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:258,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:259,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:259,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:259,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:260,1
    - Dst: '[StringBuilder].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:260,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:262,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:265,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:265,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:267,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:268,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:269,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:269,1
    - Dst: '[String].endsWith(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:270,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:270,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].length()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:271,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:271,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.streams.ServletOutputStreamTestCase,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:271,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.streams.ServletOutputStreamTestCase,String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:272,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:274,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      - boolean
      - int
      - boolean
      - boolean
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 8
    argNames:
    - message
    - url
    - flush
    - close
    - reps
    - initialFlush
    - writePreable
    - offIoThread
    argTypes:
    - String
    - String
    - boolean
    - boolean
    - int
    - boolean
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 276
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 276
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 6
    functionsReached:
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.streams.ServletOutputStreamTestCase,String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpGet].<init>(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[String].length()'
    - '[String].startsWith(String)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.streams.ServletOutputStreamTestCase,io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[StringBuilder].toString()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].length()'
    - '[StringBuilder].append(io.undertow.servlet.test.streams.ServletOutputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getBaseUrl()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusCode()'
    - '[String].endsWith(String)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].shutdown()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getStatusLine()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].runTest(String,String,boolean,boolean,int,boolean,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamTestCase:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getBaseUrl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 3
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].getBaseUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:53,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:53,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamDrainTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:59,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:59,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:63,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:66,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:69,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:70,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:72,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:73,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:74,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:74,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:75,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:76,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:76,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:76,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:77,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:79,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:80,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:80,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:81,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:81,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:83,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:84,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:85,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:87,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 89
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].testServletInputStreamEarlyClose()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamDrainTestCase.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].shutdown()'
    - '[org.apache.http.entity.StringEntity].<init>(io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
    - '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].getStatusCode()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
    - '[StringBuilder].toString()'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase)'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[StringBuilder].append(String)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].testServletInputStreamEarlyClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamDrainTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamDrainTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:43,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getAsyncContext()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:43,1
    - Dst: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].<init>(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet,io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet,java.io.ByteArrayOutputStream,io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet)'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:44,1
    - Dst: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].setWriteListener(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:44,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:45,1
    - Dst: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].setReadListener(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:46,1
    - Dst: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].isReady()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EagerAsyncInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].setReadListener(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[jakarta.servlet.http.HttpServletRequest].getAsyncContext()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].<init>(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet,io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet,java.io.ByteArrayOutputStream,io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
    - '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].setWriteListener(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].isReady()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EagerAsyncInputStreamServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet
    signature: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletOutputStream
      - jakarta.servlet.ServletInputStream
      - java.io.ByteArrayOutputStream
      - jakarta.servlet.AsyncContext
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - outputStream
    - inputStream
    - dataToWrite
    - context
    argTypes:
    - jakarta.servlet.ServletOutputStream
    - jakarta.servlet.ServletInputStream
    - java.io.ByteArrayOutputStream
    - jakarta.servlet.AsyncContext
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].<init>(jakarta.servlet.ServletOutputStream,jakarta.servlet.ServletInputStream,java.io.ByteArrayOutputStream,jakarta.servlet.AsyncContext)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EagerAsyncInputStreamServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener
    signature: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].<init>(jakarta.servlet.ServletOutputStream,jakarta.servlet.ServletInputStream,java.io.ByteArrayOutputStream,jakarta.servlet.AsyncContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ServletOutputStream].isReady()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:73,1
    - Dst: '[ByteArrayOutputStream].writeTo(ServletOutputStream)'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:74,1
    - Dst: '[ByteArrayOutputStream].size()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:75,1
    - Dst: '[ByteArrayOutputStream].reset()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:76,1
    - Dst: '[AsyncContext].complete()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onWritePossible()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EagerAsyncInputStreamServlet.java
    functionUses: 2
    functionsReached:
    - '[ByteArrayOutputStream].size()'
    - '[ByteArrayOutputStream].writeTo(ServletOutputStream)'
    - '[AsyncContext].complete()'
    - '[ServletOutputStream].isReady()'
    - '[ByteArrayOutputStream].reset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onWritePossible()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].doOnDataAvailable()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onDataAvailable()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EagerAsyncInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].doOnDataAvailable()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onDataAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ServletInputStream].isReady()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:91,1
    - Dst: '[ServletInputStream].read()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:92,1
    - Dst: System.out.println(String)
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:94,1
    - Dst: '[ByteArrayOutputStream].write(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:97,1
    - Dst: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onWritePossible()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:99,1
    - Dst: '[AsyncContext].complete()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:103,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].doOnDataAvailable()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EagerAsyncInputStreamServlet.java
    functionUses: 1
    functionsReached:
    - System.out.println(String)
    - '[RuntimeException].<init>(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
    - '[ByteArrayOutputStream].write(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
    - '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onWritePossible()'
    - '[AsyncContext].complete()'
    - '[ServletInputStream].isReady()'
    - '[ServletInputStream].read()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].doOnDataAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onWritePossible()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onAllDataRead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EagerAsyncInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onWritePossible()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onAllDataRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onError(Throwable)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/EagerAsyncInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[Throwable].printStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].onError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet:40,1
    - Dst: '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].write(String)'
      Src: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentLength(int)'
      Src: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet:43,1
    - Dst: '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].write(char)'
      Src: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet:44,1
    - Dst: '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].flush()'
      Src: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet:45,1
    - Dst: '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].close()'
      Src: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ContentLengthCloseFlushServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[jakarta.servlet.http.HttpServletResponse].setContentLength(int)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].flush()'
    - '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].write(String)'
    - '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].close()'
    - '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].write(char)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - boolean
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ContentLengthCloseFlushServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet
    signature: '[io.undertow.servlet.test.streams.ContentLengthCloseFlushServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 6
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].ssl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].ssl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].stopssl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].stopssl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:44,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:45,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].createClient()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].createClient()'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[io.undertow.testutils.TestHttpClient].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].getBaseUrl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].getBaseUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:56,1
    - Dst: '[org.junit.Assume].assumeFalse(io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:56,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamOffIOThread()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].testAsyncServletOutputStreamOffIOThread()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.junit.Assume].assumeFalse(io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase)'
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamOffIOThread()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].testAsyncServletOutputStreamOffIOThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].isAjp()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:62,1
    - Dst: '[org.junit.Assume].assumeFalse(io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:62,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamWithPreable()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].testAsyncServletOutputStreamWithPreable()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.ServletOutputStreamTestCase].testAsyncServletOutputStreamWithPreable()'
    - '[org.junit.Assume].assumeFalse(io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase)'
    - '[io.undertow.testutils.DefaultServer].isAjp()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].testAsyncServletOutputStreamWithPreable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase
      static: false
      superClass: io.undertow.servlet.test.streams.ServletOutputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamSSLTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamSSLTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.servlet.test.streams.BlockingInputStreamServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.streams.BlockingInputStreamServlet:39,1
    - Dst: '[io.undertow.servlet.test.streams.BlockingInputStreamServlet].read(io.undertow.servlet.test.streams.BlockingInputStreamServlet)'
      Src: io.undertow.servlet.test.streams.BlockingInputStreamServlet:42,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.streams.BlockingInputStreamServlet,int,io.undertow.servlet.test.streams.BlockingInputStreamServlet)'
      Src: io.undertow.servlet.test.streams.BlockingInputStreamServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.BlockingInputStreamServlet:45,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.servlet.test.streams.BlockingInputStreamServlet:45,1
    - Dst: '[io.undertow.servlet.test.streams.BlockingInputStreamServlet].write(io.undertow.servlet.test.streams.BlockingInputStreamServlet)'
      Src: io.undertow.servlet.test.streams.BlockingInputStreamServlet:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.streams.BlockingInputStreamServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/BlockingInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.BlockingInputStreamServlet].write(io.undertow.servlet.test.streams.BlockingInputStreamServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[io.undertow.servlet.test.streams.BlockingInputStreamServlet].read(io.undertow.servlet.test.streams.BlockingInputStreamServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.streams.BlockingInputStreamServlet,int,io.undertow.servlet.test.streams.BlockingInputStreamServlet)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.BlockingInputStreamServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.BlockingInputStreamServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.BlockingInputStreamServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/BlockingInputStreamServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.BlockingInputStreamServlet
    signature: '[io.undertow.servlet.test.streams.BlockingInputStreamServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(io.undertow.servlet.test.streams.ServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:38,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:38,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(io.undertow.servlet.test.streams.ServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:40,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:40,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:40,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(io.undertow.servlet.test.streams.ServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:43,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:43,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:43,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(io.undertow.servlet.test.streams.ServletInputStreamTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HELLO_WORLD.length()
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:51,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:51,1
    - Dst: '[StringBuilder].append(io.undertow.servlet.test.streams.ServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:55,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:57,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.ServletInputStreamTestCase,io.undertow.servlet.test.streams.ServletInputStreamTestCase,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:58,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamTestCase:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].testAsyncServletInputStreamEagerIsReady()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.ServletInputStreamTestCase)'
    - '[StringBuilder].toString()'
    - HELLO_WORLD.length()
    - '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.ServletInputStreamTestCase,io.undertow.servlet.test.streams.ServletInputStreamTestCase,boolean,boolean)'
    - '[StringBuilder].<init>(int)'
    - '[StringBuilder].append(io.undertow.servlet.test.streams.ServletInputStreamTestCase)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].testAsyncServletInputStreamEagerIsReady()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].testAsyncServletInputStreamInParallelOffIoThread()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].testAsyncServletInputStreamInParallelOffIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].testAsyncServletInputStreamInParallel()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].testAsyncServletInputStreamInParallel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletInputStreamTestCase
      static: false
      superClass: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletInputStreamTestCase
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:66,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:66,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:70,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:72,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:73,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testBlockingServletInputStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[String].length()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testBlockingServletInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:83,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:83,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:87,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:89,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:90,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStream()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[String].length()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStream()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:100,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:100,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:104,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:106,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:107,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamWithPreamble()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[String].length()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamWithPreamble()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:116,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:116,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:118,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:120,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestParallel(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamInParallel()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestParallel(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamInParallel()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:126,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:126,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:128,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:130,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestParallel(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamInParallelOffIoThread()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestParallel(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
    - '[StringBuilder].toString()'
    - '[String].length()'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamInParallelOffIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:136,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:136,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:140,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:142,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:143,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamOffIoThread()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[String].length()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamOffIoThread()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:152,1
    - Dst: '[StringBuilder].<init>(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:152,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:156,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:158,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:159,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamOffIoThreadWithPreamble()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].toString()'
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[String].length()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
    - '[StringBuilder].append(String)'
    - '[StringBuilder].<init>(int)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamOffIoThreadWithPreamble()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:170,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamWithEmptyRequestBody()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String,boolean,boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStreamWithEmptyRequestBody()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getBaseUrl()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:180,1
    - Dst: '[java.net.URL].<init>(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:181,1
    - Dst: '[java.net.URL].openConnection()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:181,1
    - Dst: urlcon.setInstanceFollowRedirects(boolean)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:182,1
    - Dst: urlcon.setRequestProperty(String,String)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:183,1
    - Dst: urlcon.setRequestMethod(String)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:184,1
    - Dst: urlcon.setDoInput(boolean)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:185,1
    - Dst: urlcon.setDoOutput(boolean)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:186,1
    - Dst: urlcon.getOutputStream()
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:187,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:188,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].write(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:188,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].close()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:189,1
    - Dst: urlcon.getResponseCode()
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:190,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:190,1
    - Dst: urlcon.getInputStream()
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:191,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:193,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].read(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:196,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:197,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].close()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:199,1
    - Dst: '[java.io.ByteArrayOutputStream].toByteArray()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:200,1
    - Dst: '[java.io.ByteArrayOutputStream].size()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:200,1
    - Dst: '[String].<init>(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:200,1
    - Dst: '[String].equals(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:201,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:202,1
    - Dst: '[org.apache.commons.codec.binary.Hex].encodeHexString(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:202,1
    - Dst: String.format(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:202,1
    - Dst: System.out.println(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:202,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:204,1
    - Dst: urlcon.disconnect()
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - message
    - url
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 210
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestViaJavaImpl(String,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].close()'
    - urlcon.getOutputStream()
    - '[org.junit.Assert].assertEquals(String,String)'
    - urlcon.setRequestProperty(String,String)
    - '[java.io.ByteArrayOutputStream].toByteArray()'
    - urlcon.setRequestMethod(String)
    - '[org.apache.commons.codec.binary.Hex].encodeHexString(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].write(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    - '[java.net.URL].<init>(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - urlcon.getResponseCode()
    - '[String].getBytes()'
    - urlcon.disconnect()
    - urlcon.setDoInput(boolean)
    - '[String].equals(String)'
    - System.out.println(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)
    - urlcon.setDoOutput(boolean)
    - '[java.net.URL].openConnection()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].read(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[java.io.ByteArrayOutputStream].size()'
    - '[String].<init>(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getBaseUrl()'
    - String.format(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)
    - urlcon.getInputStream()
    - urlcon.setInstanceFollowRedirects(boolean)
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestViaJavaImpl(String,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getBaseUrl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getBaseUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestViaJavaImpl(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:221,1
    - Dst: System.out.println(String)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:223,1
    - Dst: e.printStackTrace()
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:224,1
    - Dst: '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStream3()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - e.printStackTrace()
    - '[RuntimeException].<init>(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - System.out.println(String)
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestViaJavaImpl(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].testAsyncServletInputStream3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].createClient()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:232,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getBaseUrl()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:234,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:235,1
    - Dst: '[String].isEmpty()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:236,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:237,1
    - Dst: Integer.toString(int)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:237,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:237,1
    - Dst: '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:240,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:242,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:242,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:243,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:244,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:244,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:244,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:245,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:246,1
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:246,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:246,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:247,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:249,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - String
      - boolean
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 4
    argNames:
    - message
    - url
    - preamble
    - offIOThread
    argTypes:
    - String
    - String
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 251
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 251
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(String,String,boolean,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getStatusCode()'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].shutdown()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].createClient()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - Integer.toString(int)
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[String].length()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[String].isEmpty()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getStatusLine()'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[org.apache.http.client.methods.HttpPost].addHeader(String,String)'
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].getBaseUrl()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTest(String,String,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[org.apache.http.impl.client.HttpClients].custom()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:255,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].setMaxConnPerRoute(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:255,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:257,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:255,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].build()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:255,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:259,1
    - Dst: '[java.util.concurrent.Executors].newFixedThreadPool(int)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:261,1
    - Dst: '[java.util.concurrent.Callable].<init>()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:262,1
    - Dst: '[java.util.ArrayList].<init>()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:288,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].submit(java.util.concurrent.Callable)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:290,1
    - Dst: '[java.util.ArrayList].add(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:291,1
    - Dst: i.get()
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:294,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:296,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].awaitTermination(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:297,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:297,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].close()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:299,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    JavaMethodInfo:
      argumentGenericTypes:
      - int
      - String
      - String
      - boolean
      - boolean
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - concurrency
    - message
    - url
    - preamble
    - offIOThread
    argTypes:
    - int
    - String
    - String
    - boolean
    - boolean
    constantsTouched: []
    func_position:
      end: 301
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 301
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestParallel(int,String,String,boolean,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].build()'
    - '[java.util.concurrent.Callable].<init>()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].close()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].setMaxConnPerRoute(int)'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].setSSLContext(javax.net.ssl.SSLContext)'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[org.apache.http.impl.client.HttpClients].custom()'
    - i.get()
    - '[java.util.ArrayList].add(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].shutdown()'
    - '[java.util.concurrent.Executors].newFixedThreadPool(int)'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].submit(java.util.concurrent.Callable)'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].awaitTermination(int,io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase)'
    - '[java.util.ArrayList].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].runTestParallel(int,String,String,boolean,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].createClient()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runtime.getRuntime()
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:62,1
    - Dst: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].availableProcessors()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:62,1
    - Dst: Math.min(int,int)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: false
      classEnum: false
      classFields:
      - String
      - String
      - String
      - String
      - int
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].availableProcessors()'
    - Math.min(int,int)
    - Runtime.getRuntime()
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream
      static: false
      superClass: InputStream
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream].<init>(java.io.InputStream)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream].<init>(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream:315,1
    - Dst: '[java.io.InterruptedIOException].<init>()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream:317,1
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: int
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream].read()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.InterruptedIOException].<init>()'
    - Thread.sleep(int)
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].read()'
    linkageType: ''
    returnType: int
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream].read()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].close()'
      Src: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - InputStream
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: InputStream
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream].close()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AbstractServletInputStreamTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.websockets.core.protocol.version07.Base64.InputStream].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase.RateLimitedInputStream].close()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.streams.ServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 6
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].ssl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].ssl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.streams.ServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].stopssl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].stopssl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].createClient()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase:45,1
    - Dst: '[io.undertow.testutils.DefaultServer].createClientSslContext()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase:46,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].setSSLContext(javax.net.ssl.SSLContext)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.testutils.TestHttpClient
      static: false
      superClass: io.undertow.servlet.test.streams.ServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].createClient()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.ServletInputStreamTestCase].createClient()'
    - '[io.undertow.testutils.DefaultServer].createClientSslContext()'
    - '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].setSSLContext(javax.net.ssl.SSLContext)'
    linkageType: ''
    returnType: io.undertow.testutils.TestHttpClient
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].createClient()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: io.undertow.servlet.test.streams.ServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].testAsyncServletInputStream3()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamSSLTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].testAsyncServletInputStream3()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: io.undertow.servlet.test.streams.ServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].getBaseUrl()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamSSLTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].getDefaultServerSSLAddress()'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].getBaseUrl()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase
      static: false
      superClass: io.undertow.servlet.test.streams.ServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamSSLTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamSSLTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:43,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.streams.AsyncOutputStreamServlet)
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:43,1
    - Dst: '[java.util.concurrent.atomic.AtomicInteger].<init>()'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:47,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].setTimeout(int)'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:48,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:49,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:52,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].write(io.undertow.servlet.test.streams.AsyncOutputStreamServlet)'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:52,1
    - Dst: '[jakarta.servlet.WriteListener].<init>()'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:55,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].setWriteListener()'
      Src: io.undertow.servlet.test.streams.AsyncOutputStreamServlet:78,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 98
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 98
    functionName: '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncOutputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].write(io.undertow.servlet.test.streams.AsyncOutputStreamServlet)'
    - '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].setTimeout(int)'
    - '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].setWriteListener()'
    - '[java.util.concurrent.atomic.AtomicInteger].<init>()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[String].getBytes()'
    - Integer.parseInt(io.undertow.servlet.test.streams.AsyncOutputStreamServlet)
    - '[jakarta.servlet.WriteListener].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.AsyncOutputStreamServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncOutputStreamServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.AsyncOutputStreamServlet
    signature: '[io.undertow.servlet.test.streams.AsyncOutputStreamServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[String].length()'
      Src: io.undertow.servlet.test.streams.ResetBufferServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].setContentLength(io.undertow.servlet.test.streams.ResetBufferServlet)'
      Src: io.undertow.servlet.test.streams.ResetBufferServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.ResetBufferServlet:38,1
    - Dst: '[io.undertow.servlet.test.streams.ResetBufferServlet].print(String)'
      Src: io.undertow.servlet.test.streams.ResetBufferServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].resetBuffer()'
      Src: io.undertow.servlet.test.streams.ResetBufferServlet:40,1
    - Dst: '[io.undertow.servlet.test.streams.ResetBufferServlet].print(String)'
      Src: io.undertow.servlet.test.streams.ResetBufferServlet:42,1
    - Dst: '[io.undertow.servlet.test.streams.ResetBufferServlet].close()'
      Src: io.undertow.servlet.test.streams.ResetBufferServlet:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: '[io.undertow.servlet.test.streams.ResetBufferServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ResetBufferServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[jakarta.servlet.http.HttpServletResponse].setContentLength(io.undertow.servlet.test.streams.ResetBufferServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].resetBuffer()'
    - '[String].length()'
    - '[io.undertow.servlet.test.streams.ResetBufferServlet].close()'
    - '[io.undertow.servlet.test.streams.ResetBufferServlet].print(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ResetBufferServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ResetBufferServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ResetBufferServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ResetBufferServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ResetBufferServlet
    signature: '[io.undertow.servlet.test.streams.ResetBufferServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:48,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:47,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:50,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:52,1
    - Dst: '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:53,1
    - Dst: '[org.apache.http.entity.StringEntity].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:54,1
    - Dst: '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:54,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:55,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:56,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:56,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:56,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:57,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:59,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:60,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:60,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:60,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:61,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:63,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:64,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:64,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:64,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:65,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:67,1
    - Dst: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].testServletInputStreamEarlyClose()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamEarlyCloseTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].shutdown()'
    - '[org.apache.http.client.methods.HttpPost].setEntity(org.apache.http.entity.StringEntity)'
    - '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].getStatusCode()'
    - '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].getStatusLine()'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[org.apache.http.entity.StringEntity].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpPost)'
    - '[org.apache.http.client.methods.HttpPost].<init>(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].testServletInputStreamEarlyClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamEarlyCloseTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamEarlyCloseTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:37,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:38,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:39,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:40,1
    - Dst: Integer.parseInt(io.undertow.servlet.test.streams.BlockingOutputStreamServlet)
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:40,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:41,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].flushBuffer()'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:43,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:46,1
    - Dst: '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].write(io.undertow.servlet.test.streams.BlockingOutputStreamServlet)'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:46,1
    - Dst: '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].flush()'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:49,1
    - Dst: '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].close()'
      Src: io.undertow.servlet.test.streams.BlockingOutputStreamServlet:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/BlockingOutputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - Integer.parseInt(io.undertow.servlet.test.streams.BlockingOutputStreamServlet)
    - '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].flush()'
    - '[jakarta.servlet.http.HttpServletResponse].flushBuffer()'
    - '[jakarta.servlet.http.HttpServletRequest].getParameter(String)'
    - '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].close()'
    - '[String].getBytes()'
    - '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].write(io.undertow.servlet.test.streams.BlockingOutputStreamServlet)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.BlockingOutputStreamServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/BlockingOutputStreamServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.BlockingOutputStreamServlet
    signature: '[io.undertow.servlet.test.streams.BlockingOutputStreamServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:50,1
    - Dst: '[jakarta.servlet.http.HttpServlet].<init>()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:52,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceFactory].<init>(jakarta.servlet.http.HttpServlet)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:52,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String,io.undertow.servlet.util.ImmediateInstanceFactory)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:52,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:52,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:51,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].makeSuccessfulRequest(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:67,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:68,1
    - Dst: '[AssertionError].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].testFlushAfterContentLengthReached()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamClosureTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].<init>()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].makeSuccessfulRequest(String)'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String,io.undertow.servlet.util.ImmediateInstanceFactory)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[AssertionError].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase)'
    - '[io.undertow.servlet.util.ImmediateInstanceFactory].<init>(jakarta.servlet.http.HttpServlet)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].testFlushAfterContentLengthReached()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[java.util.concurrent.atomic.AtomicReference].<init>()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:76,1
    - Dst: '[jakarta.servlet.http.HttpServlet].<init>()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:78,1
    - Dst: '[io.undertow.servlet.util.ImmediateInstanceFactory].<init>(jakarta.servlet.http.HttpServlet)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String,io.undertow.servlet.util.ImmediateInstanceFactory)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:78,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:77,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].makeSuccessfulRequest(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:92,1
    - Dst: '[java.util.concurrent.atomic.AtomicReference].get()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:93,1
    - Dst: '[AssertionError].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].testFlushAfterClose()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamClosureTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServlet].<init>()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].makeSuccessfulRequest(String)'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String,io.undertow.servlet.util.ImmediateInstanceFactory)'
    - '[java.util.concurrent.atomic.AtomicReference].<init>()'
    - '[AssertionError].<init>(String,io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase)'
    - '[io.undertow.servlet.util.ImmediateInstanceFactory].<init>(jakarta.servlet.http.HttpServlet)'
    - '[java.util.concurrent.atomic.AtomicReference].get()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].testFlushAfterClose()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:100,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:102,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:102,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:103,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:104,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:104,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:104,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:105,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:107,1
    - Dst: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].shutdown()'
      Src: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 1
    argNames:
    - expectedContent
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].makeSuccessfulRequest(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamClosureTestCase.java
    functionUses: 2
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].getStatusLine()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase)'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].getStatusCode()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].shutdown()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].makeSuccessfulRequest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletOutputStreamClosureTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase
    signature: '[io.undertow.servlet.test.streams.ServletOutputStreamClosureTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase:41,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase:47,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase:47,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase:49,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase:49,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase:49,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamRequestBufferingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.ServletExtension].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].setAsyncSupported(boolean)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].<init>(io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase
      static: false
      superClass: io.undertow.servlet.test.streams.AbstractServletInputStreamTestCase
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/ServletInputStreamRequestBufferingTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase
    signature: '[io.undertow.servlet.test.streams.ServletInputStreamRequestBufferingTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getIntHeader(String)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:42,1
    - Dst: Math.max(int,io.undertow.servlet.test.streams.AsyncInputStreamServlet)
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:42,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:43,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].startAsync()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:44,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].setTimeout(int)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:45,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:47,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:48,1
    - Dst: '[java.io.ByteArrayOutputStream].<init>()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:49,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].read()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:51,1
    - Dst: '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.streams.AsyncInputStreamServlet)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:53,1
    - Dst: '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].<init>(io.undertow.servlet.test.streams.AsyncInputStreamServlet,io.undertow.servlet.test.streams.AsyncInputStreamServlet,java.io.ByteArrayOutputStream,io.undertow.servlet.test.streams.AsyncInputStreamServlet,io.undertow.servlet.test.streams.AsyncInputStreamServlet)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:55,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].setReadListener(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:56,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].setWriteListener(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].getHeader(String)'
    - '[java.io.ByteArrayOutputStream].write(io.undertow.servlet.test.streams.AsyncInputStreamServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].getOutputStream()'
    - '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].setWriteListener(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
    - '[jakarta.servlet.http.HttpServletRequest].startAsync()'
    - '[jakarta.servlet.http.HttpServletRequest].getIntHeader(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getInputStream()'
    - '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].setTimeout(int)'
    - '[io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener].<init>(io.undertow.servlet.test.streams.AsyncInputStreamServlet,io.undertow.servlet.test.streams.AsyncInputStreamServlet,java.io.ByteArrayOutputStream,io.undertow.servlet.test.streams.AsyncInputStreamServlet,io.undertow.servlet.test.streams.AsyncInputStreamServlet)'
    - '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].read()'
    - Math.max(int,io.undertow.servlet.test.streams.AsyncInputStreamServlet)
    - '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].setReadListener(io.undertow.servlet.test.streams.EagerAsyncInputStreamServlet.MyListener)'
    - '[java.io.ByteArrayOutputStream].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].doPost(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.streams.AsyncInputStreamServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncInputStreamServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.AsyncInputStreamServlet
    signature: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.ServletOutputStream
      - jakarta.servlet.ServletInputStream
      - java.io.ByteArrayOutputStream
      - jakarta.servlet.AsyncContext
      - boolean
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener
      static: false
      superClass: Object
    argCount: 5
    argNames:
    - outputStream
    - inputStream
    - dataToWrite
    - context
    - offIoThread
    argTypes:
    - jakarta.servlet.ServletOutputStream
    - jakarta.servlet.ServletInputStream
    - java.io.ByteArrayOutputStream
    - jakarta.servlet.AsyncContext
    - boolean
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].<init>(jakarta.servlet.ServletOutputStream,jakarta.servlet.ServletInputStream,java.io.ByteArrayOutputStream,jakarta.servlet.AsyncContext,boolean)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncInputStreamServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener
    signature: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].<init>(jakarta.servlet.ServletOutputStream,jakarta.servlet.ServletInputStream,java.io.ByteArrayOutputStream,jakarta.servlet.AsyncContext,boolean)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ServletOutputStream].isReady()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:90,1
    - Dst: '[ByteArrayOutputStream].writeTo(ServletOutputStream)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:91,1
    - Dst: '[ByteArrayOutputStream].size()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:92,1
    - Dst: '[ByteArrayOutputStream].reset()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:93,1
    - Dst: '[AsyncContext].complete()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onWritePossible()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncInputStreamServlet.java
    functionUses: 2
    functionsReached:
    - '[ByteArrayOutputStream].size()'
    - '[ByteArrayOutputStream].writeTo(ServletOutputStream)'
    - '[AsyncContext].complete()'
    - '[ServletOutputStream].isReady()'
    - '[ByteArrayOutputStream].reset()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onWritePossible()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:103,1
    - Dst: '[AsyncContext].start(Runnable)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:103,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].doOnDataAvailable()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onDataAvailable()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].doOnDataAvailable()'
    - '[Runnable].<init>()'
    - '[AsyncContext].start(Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onDataAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[ServletInputStream].isReady()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:117,1
    - Dst: '[ServletInputStream].read()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:118,1
    - Dst: System.out.println(String)
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:120,1
    - Dst: '[ByteArrayOutputStream].write(io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:123,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onWritePossible()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:125,1
    - Dst: '[AsyncContext].complete()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:129,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].doOnDataAvailable()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncInputStreamServlet.java
    functionUses: 1
    functionsReached:
    - System.out.println(String)
    - '[ByteArrayOutputStream].write(io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener)'
    - '[RuntimeException].<init>(io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener)'
    - '[AsyncContext].complete()'
    - '[ServletInputStream].isReady()'
    - '[ServletInputStream].read()'
    - '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onWritePossible()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].doOnDataAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Runnable].<init>()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:138,1
    - Dst: '[AsyncContext].start(Runnable)'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:138,1
    - Dst: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onWritePossible()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onAllDataRead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[Runnable].<init>()'
    - '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onWritePossible()'
    - '[AsyncContext].start(Runnable)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onAllDataRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[Throwable].printStackTrace()'
      Src: io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - ServletOutputStream
      - ServletInputStream
      - ByteArrayOutputStream
      - AsyncContext
      - boolean
      - boolean
      - int
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onError(Throwable)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/streams/AsyncInputStreamServlet.java
    functionUses: 0
    functionsReached:
    - '[Throwable].printStackTrace()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.streams.AsyncInputStreamServlet.MyListener].onError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:48,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:50,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:50,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SimpleUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].runTest(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].testBlockingUpgrade()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SimpleUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].runTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].testBlockingUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].runTest(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].testAsyncUpgrade()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SimpleUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].runTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].testAsyncUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:65,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostPort(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:65,1
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:65,1
    - Dst: '[java.net.Socket].getInputStream()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:67,1
    - Dst: '[java.net.Socket].getOutputStream()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:68,1
    - Dst: '("GET " + url + " HTTP/1.1\r\nHost:default\r\nConnection: upgrade\r\nUpgrade:
        servlet\r\n\r\n").getBytes()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:69,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:69,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].flush()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:70,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].readBytes(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:71,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:71,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:71,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:73,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:73,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].flush()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:74,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].readBytes(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:75,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:75,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:77,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:77,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].flush()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:78,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].readBytes(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:79,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:79,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:81,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:81,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].flush()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:82,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].close()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].runTest(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SimpleUpgradeTestCase.java
    functionUses: 2
    functionsReached:
    - '[java.net.Socket].<init>(String,int)'
    - '[java.net.Socket].getInputStream()'
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
    - '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].readBytes(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '("GET " + url + " HTTP/1.1\r\nHost:default\r\nConnection: upgrade\r\nUpgrade:
      servlet\r\n\r\n").getBytes()'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.DefaultServer].getHostPort(String)'
    - '[String].getBytes()'
    - '[java.net.Socket].getOutputStream()'
    - '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
    - '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].flush()'
    - '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].close()'
    - '[String].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].runTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:88,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:91,1
    - Dst: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].contains(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:91,1
    - Dst: '[java.io.InputStream].read(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:91,1
    - Dst: '[String].<init>(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase,int,io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:92,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:92,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].readBytes(java.io.InputStream)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SimpleUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].contains(String)'
    - '[String].<init>(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase,int,io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[java.io.InputStream].read(io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].readBytes(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SimpleUpgradeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase
    signature: '[io.undertow.servlet.test.upgrade.SimpleUpgradeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].startSSLServer()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:47,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:50,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:50,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:52,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:52,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 6
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SslUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.api.ServletInfo,io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.testutils.DefaultServer].startSSLServer()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.DefaultServer].stopSSLServer()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].stop()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SslUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.DefaultServer].stopSSLServer()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].stop()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].runTest(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 7
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].testBlockingUpgrade()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SslUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].runTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].testBlockingUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].runTest(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 7
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].testAsyncUpgrade()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SslUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].runTest(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].testAsyncUpgrade()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:72,1
    - Dst: '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:74,1
    - Dst: '[javax.net.ssl.SSLContext].getSocketFactory()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:74,1
    - Dst: '[java.net.Socket].<init>(String,int)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:74,1
    - Dst: '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:74,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].createSocket(java.net.Socket,String,int,boolean)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:74,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].getInputStream()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:76,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].getOutputStream()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:77,1
    - Dst: '("GET " + url + " HTTP/1.1\r\nHost: default\r\nConnection: upgrade\r\nUpgrade:servlet\r\n\r\n").getBytes()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:78,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:78,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].flush()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:79,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].readBytes(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:80,1
    - Dst: '[String].startsWith(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:81,1
    - Dst: '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:81,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:83,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:83,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].flush()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:84,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].readBytes(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:85,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:85,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:87,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:87,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].flush()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:88,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].readBytes(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:89,1
    - Dst: '[String].getBytes()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:91,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:91,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].flush()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:92,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].close()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:96,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].shutdown()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - url
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 98
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 98
    functionName: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].runTest(String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SslUpgradeTestCase.java
    functionUses: 2
    functionsReached:
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].getInputStream()'
    - '[org.junit.Assert].assertTrue(String,io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
    - '[io.undertow.testutils.DefaultServer].getClientSSLContext()'
    - '[io.undertow.testutils.DefaultServer].getHostAddress(String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].shutdown()'
    - '[io.undertow.testutils.DefaultServer].getHostSSLPort(String)'
    - '[String].startsWith(String)'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].write(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
    - '[java.net.Socket].<init>(String,int)'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].readBytes(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].flush()'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].getOutputStream()'
    - '[String].getBytes()'
    - '[javax.net.ssl.SSLContext].getSocketFactory()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].createSocket(java.net.Socket,String,int,boolean)'
    - '("GET " + url + " HTTP/1.1\r\nHost: default\r\nConnection: upgrade\r\nUpgrade:servlet\r\n\r\n").getBytes()'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].close()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].runTest(String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:101,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:104,1
    - Dst: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].endsWith(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:104,1
    - Dst: '[java.io.InputStream].read(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:104,1
    - Dst: '[String].<init>(io.undertow.servlet.test.upgrade.SslUpgradeTestCase,int,io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:105,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:105,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.SslUpgradeTestCase:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes:
      - java.io.InputStream
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: String
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - in
    argTypes:
    - java.io.InputStream
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].readBytes(java.io.InputStream)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SslUpgradeTestCase.java
    functionUses: 0
    functionsReached:
    - '[java.io.InputStream].read(io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[String].<init>(io.undertow.servlet.test.upgrade.SslUpgradeTestCase,int,io.undertow.servlet.test.upgrade.SslUpgradeTestCase)'
    - '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].endsWith(String)'
    linkageType: ''
    returnType: String
    signature: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].readBytes(java.io.InputStream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.upgrade.SslUpgradeTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/SslUpgradeTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.upgrade.SslUpgradeTestCase
    signature: '[io.undertow.servlet.test.upgrade.SslUpgradeTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].upgrade()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '[io.undertow.servlet.test.upgrade.UpgradeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/UpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.UpgradeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.upgrade.UpgradeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.upgrade.UpgradeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/UpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.upgrade.UpgradeServlet
    signature: '[io.undertow.servlet.test.upgrade.UpgradeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:53,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:56,1
    - Dst: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].endsWith(String)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:56,1
    - Dst: '[jakarta.servlet.http.WebConnection].getInputStream()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:56,1
    - Dst: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].read(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:56,1
    - Dst: '[String].<init>(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler,int,io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:57,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:57,1
    - Dst: '[jakarta.servlet.http.WebConnection].getOutputStream()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:59,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:59,1
    - Dst: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].print(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:59,1
    - Dst: '[jakarta.servlet.http.WebConnection].getOutputStream()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:60,1
    - Dst: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].flush()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:60,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:61,1
    - Dst: '[String].equals(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:62,1
    - Dst: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].ioException(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:64,1
    - Dst: '[jakarta.servlet.http.WebConnection].close()'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:69,1
    - Dst: '[java.io.IOException].<init>(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:71,1
    - Dst: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].ioException(java.io.IOException)'
      Src: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.WebConnection
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpUpgradeHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wc
    argTypes:
    - jakarta.servlet.http.WebConnection
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].init(jakarta.servlet.http.WebConnection)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/UpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.WebConnection].close()'
    - '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].print(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
    - '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].ioException(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
    - '[jakarta.servlet.http.WebConnection].getInputStream()'
    - '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].flush()'
    - '[StringBuilder].<init>()'
    - '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].endsWith(String)'
    - '[String].equals(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
    - '[java.io.IOException].<init>(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
    - '[StringBuilder].toString()'
    - '[jakarta.servlet.http.WebConnection].getOutputStream()'
    - '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].read(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
    - '[String].<init>(io.undertow.servlet.test.upgrade.UpgradeServlet.Handler,int,io.undertow.servlet.test.upgrade.UpgradeServlet.Handler)'
    - '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].ioException(java.io.IOException)'
    - '[StringBuilder].append(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].init(jakarta.servlet.http.WebConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpUpgradeHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/UpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpUpgradeHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/UpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.upgrade.UpgradeServlet.Handler
    signature: '[io.undertow.servlet.test.upgrade.UpgradeServlet.Handler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].upgrade()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletRequest].upgrade()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet
      static: false
      superClass: jakarta.servlet.http.HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.ListenerRegistry.Listener].<init>(jakarta.servlet.http.WebConnection)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler:51,1
    - Dst: '[jakarta.servlet.http.WebConnection].getOutputStream()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler:56,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].setWriteListener(io.undertow.server.ListenerRegistry.Listener)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler:56,1
    - Dst: '[jakarta.servlet.http.WebConnection].getInputStream()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler:57,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].setReadListener(io.undertow.server.ListenerRegistry.Listener)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler:57,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].ioException(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.WebConnection
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpUpgradeHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - wc
    argTypes:
    - jakarta.servlet.http.WebConnection
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].init(jakarta.servlet.http.WebConnection)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].setWriteListener(io.undertow.server.ListenerRegistry.Listener)'
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].setReadListener(io.undertow.server.ListenerRegistry.Listener)'
    - '[jakarta.servlet.http.WebConnection].getInputStream()'
    - '[jakarta.servlet.http.WebConnection].getOutputStream()'
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].ioException(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler)'
    - '[io.undertow.server.ListenerRegistry.Listener].<init>(jakarta.servlet.http.WebConnection)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].init(jakarta.servlet.http.WebConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpUpgradeHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].destroy()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].destroy()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - HttpUpgradeHandler
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Handler].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.WebConnection
      classConcrete: true
      classEnum: false
      classFields:
      - WebConnection
      - StringBuilder
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - connection
    argTypes:
    - jakarta.servlet.http.WebConnection
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].<init>(jakarta.servlet.http.WebConnection)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[StringBuilder].<init>()'
    linkageType: ''
    returnType: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].<init>(jakarta.servlet.http.WebConnection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[WebConnection].getInputStream()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:84,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].isReady()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:84,1
    - Dst: '[WebConnection].getInputStream()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:86,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].read(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:86,1
    - Dst: '[String].<init>(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener,int,io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:87,1
    - Dst: '[StringBuilder].append(String)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:87,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:89,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].endsWith(String)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:89,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onWritePossible()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WebConnection
      - StringBuilder
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onDataAvailable()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onWritePossible()'
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].endsWith(String)'
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].isReady()'
    - '[WebConnection].getInputStream()'
    - '[StringBuilder].toString()'
    - '[StringBuilder].append(String)'
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].read(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener)'
    - '[String].<init>(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener,int,io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onDataAvailable()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WebConnection
      - StringBuilder
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onAllDataRead()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onAllDataRead()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:103,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].equals(String)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:103,1
    - Dst: '[WebConnection].close()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:105,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:107,1
    - Dst: '[WebConnection].getOutputStream()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:113,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].isReady()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:113,1
    - Dst: '[WebConnection].getOutputStream()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:114,1
    - Dst: '[StringBuilder].toString()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:114,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].getBytes()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:114,1
    - Dst: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].write(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener)'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:114,1
    - Dst: '[StringBuilder].<init>()'
      Src: io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - WebConnection
      - StringBuilder
      - boolean
      classPublic: false
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onWritePossible()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 1
    functionsReached:
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].isReady()'
    - '[StringBuilder].<init>()'
    - '[StringBuilder].toString()'
    - '[RuntimeException].<init>(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener)'
    - '[WebConnection].getOutputStream()'
    - '[WebConnection].close()'
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].write(io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener)'
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].equals(String)'
    - '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].getBytes()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onWritePossible()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes:
      - Throwable
      classConcrete: true
      classEnum: false
      classFields:
      - WebConnection
      - StringBuilder
      - boolean
      classPublic: false
      concrete: true
      exceptions: []
      interfaces:
      - WriteListener
      - ReadListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 1
    argNames:
    - t
    argTypes:
    - Throwable
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onError(Throwable)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/upgrade/AsyncUpgradeServlet.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.upgrade.AsyncUpgradeServlet.Listener].onError(Throwable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpSessionEvent].getSession()'
      Src: io.undertow.servlet.test.session.ChangeSessionIdListener:35,1
    - Dst: '[io.undertow.servlet.test.session.ChangeSessionIdListener].getId()'
      Src: io.undertow.servlet.test.session.ChangeSessionIdListener:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpSessionEvent
      - String
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpSessionIdListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 2
    argNames:
    - event
    - oldSessionId
    argTypes:
    - jakarta.servlet.http.HttpSessionEvent
    - String
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '[io.undertow.servlet.test.session.ChangeSessionIdListener].sessionIdChanged(jakarta.servlet.http.HttpSessionEvent,String)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ChangeSessionIdListener.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpSessionEvent].getSession()'
    - '[io.undertow.servlet.test.session.ChangeSessionIdListener].getId()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.ChangeSessionIdListener].sessionIdChanged(jakarta.servlet.http.HttpSessionEvent,String)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces:
      - jakarta.servlet.http.HttpSessionIdListener
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.session.ChangeSessionIdListener
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.session.ChangeSessionIdListener].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ChangeSessionIdListener.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.session.ChangeSessionIdListener
    signature: '[io.undertow.servlet.test.session.ChangeSessionIdListener].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.ServletExtension].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:62,1
    - Dst: '[io.undertow.servlet.Servlets].servlet()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:67,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:67,1
    - Dst: '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.Servlets].servlet()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.ServletExtension].<init>()'
    - '[io.undertow.servlet.test.util.DeploymentUtils].setupServlet(io.undertow.servlet.ServletExtension,io.undertow.servlet.api.ServletInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:72,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:73,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:73,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:75,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:75,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:76,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:77,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:77,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:77,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:78,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:79,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:80,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:80,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:82,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:83,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:84,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:84,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:84,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:85,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:86,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:87,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:89,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:90,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:91,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:91,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:91,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:92,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:93,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:94,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:94,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:98,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].shutdown()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 100
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testURLRewriting()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testURLRewriting()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:104,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:105,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:105,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:107,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:107,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:108,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:109,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:109,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:109,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:110,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:111,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:112,1
    - Dst: result.getHeaders("a")[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:113,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:113,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:116,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:117,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:118,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:118,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:118,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:119,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:120,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:121,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:121,1
    - Dst: result.getHeaders("a")[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:122,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:125,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:126,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:126,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:126,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:127,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:128,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:129,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:129,1
    - Dst: result.getHeaders("a")[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:130,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:130,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:134,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].shutdown()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 136
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testURLRewritingWithQueryParameters()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - result.getHeaders("a")[0].getValue()
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testURLRewritingWithQueryParameters()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:141,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:142,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:142,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:144,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:144,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:145,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:146,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:146,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:146,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:147,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:148,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:149,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:149,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:152,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:153,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:154,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:154,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:154,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:155,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:156,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:157,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:157,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:159,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:160,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:161,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:161,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:161,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:162,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:163,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:164,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:164,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:168,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].shutdown()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 170
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testURLRewritingWithExistingOldSessionId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testURLRewritingWithExistingOldSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:174,1
    - Dst: '[org.apache.http.impl.client.BasicCookieStore].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:175,1
    - Dst: '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:175,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:177,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:177,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:178,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:179,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:179,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:179,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:180,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:181,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:182,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:182,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:185,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:186,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:187,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:187,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:187,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:188,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:189,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:190,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:190,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:192,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:193,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:194,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:194,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:194,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:195,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:196,1
    - Dst: header[0].getValue()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:197,1
    - Dst: '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:197,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:201,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].shutdown()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 203
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testURLRewritingWithExistingOldSessionIdAndOtherPathParams()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.impl.client.BasicCookieStore].<init>()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getHeaders(String)'
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[org.junit.Assert].assertEquals(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - header[0].getValue()
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].setCookieStore(org.apache.http.impl.client.BasicCookieStore)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testURLRewritingWithExistingOldSessionIdAndOtherPathParams()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:207,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:209,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:209,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:210,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:211,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:211,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:211,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:212,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:213,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:213,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:214,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:215,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:215,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:215,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:216,1
    - Dst: '[io.undertow.testutils.TestHttpClient].close()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions:
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testGetRequestedSessionId()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase)'
    - '[io.undertow.testutils.TestHttpClient].close()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].testGetRequestedSessionId()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields:
      - String
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestedSessionId()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:227,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getSession(boolean)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:228,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestedSessionId()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:229,1
    - Dst: String.format(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:230,1
    - Dst: '[org.junit.Assert].assertEquals(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:230,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].getAttribute(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:232,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].setAttribute(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,int)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:234,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:236,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].startsWith(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:236,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:236,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:237,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].getId()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:237,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].contains(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:237,1
    - Dst: '[org.junit.Assert].assertTrue(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:237,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].getAttribute(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:239,1
    - Dst: count.toString()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:240,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addHeader(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:240,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].setAttribute(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:241,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:243,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].entrySet()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:243,1
    - Dst: qp.getKey()
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:244,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].addHeader(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:244,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:246,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:247,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:247,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:247,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeURL(String)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:247,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].write(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:247,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].getWriter()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:249,1
    - Dst: '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:249,1
    - Dst: '[jakarta.servlet.http.HttpServletResponse].encodeURL(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:249,1
    - Dst: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].write(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
      Src: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    JavaMethodInfo:
      argumentGenericTypes:
      - jakarta.servlet.http.HttpServletRequest
      - jakarta.servlet.http.HttpServletResponse
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      - java.io.IOException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: false
      superClass: HttpServlet
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - jakarta.servlet.http.HttpServletRequest
    - jakarta.servlet.http.HttpServletResponse
    constantsTouched: []
    func_position:
      end: 251
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 251
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached:
    - '[jakarta.servlet.http.HttpServletResponse].getWriter()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].write(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].addHeader(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
    - '[jakarta.servlet.http.HttpServletResponse].encodeURL(String)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestedSessionId()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].getAttribute(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
    - String.format(String,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)
    - qp.getKey()
    - '[org.junit.Assert].assertTrue(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getRequestURI()'
    - count.toString()
    - '[org.junit.Assert].assertEquals(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].getId()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].setAttribute(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet,int)'
    - '[jakarta.servlet.http.HttpServletResponse].addHeader(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getParameterMap()'
    - '[jakarta.servlet.http.HttpServletRequest].getQueryString()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[jakarta.servlet.http.HttpServletResponse].encodeURL(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].entrySet()'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].startsWith(String)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].contains(String)'
    - '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].setAttribute(io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet)'
    - '[jakarta.servlet.http.HttpServletRequest].getSession(boolean)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].doGet(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet
      static: false
      superClass: HttpServlet
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/ServletURLRewritingSessionTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet
    signature: '[io.undertow.servlet.test.session.ServletURLRewritingSessionTestCase.URLRewritingServlet].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].newInstance()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:62,1
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:63,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:64,1
    - Dst: '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:65,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].createDeployment(String,io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase,io.undertow.server.handlers.PathHandler,io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:68,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].createDeployment(String,io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase,io.undertow.server.handlers.PathHandler,io.undertow.server.session.InMemorySessionManager)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/CrossContextServletBrokenSessionFactoryTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.server.session.InMemorySessionManager].<init>(String)'
    - '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].newInstance()'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].createDeployment(String,io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase,io.undertow.server.handlers.PathHandler,io.undertow.server.session.InMemorySessionManager)'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:75,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:75,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:79,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: '[io.undertow.servlet.api.SessionManagerFactory].<init>()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:83,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setSessionManagerFactory(io.undertow.servlet.api.SessionManagerFactory)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDefaultSessionTimeout(int)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletSessionConfig].<init>()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:91,1
    - Dst: '[io.undertow.servlet.api.ServletSessionConfig].setPath(String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:91,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setServletSessionConfig(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:78,1
    - Dst: '[io.undertow.servlet.api.ServletContainer].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:94,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].deploy()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:95,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:96,1
    - Dst: '[io.undertow.servlet.api.DeploymentManager].start()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:96,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    JavaMethodInfo:
      argumentGenericTypes:
      - String
      - io.undertow.servlet.api.ServletContainer
      - io.undertow.server.handlers.PathHandler
      - io.undertow.server.session.InMemorySessionManager
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: false
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 4
    argNames:
    - name
    - container
    - path
    - sessionManager
    argTypes:
    - String
    - io.undertow.servlet.api.ServletContainer
    - io.undertow.server.handlers.PathHandler
    - io.undertow.server.session.InMemorySessionManager
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].createDeployment(String,io.undertow.servlet.api.ServletContainer,io.undertow.server.handlers.PathHandler,io.undertow.server.session.InMemorySessionManager)'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/CrossContextServletBrokenSessionFactoryTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.ServletSessionConfig].setPath(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setServletSessionConfig(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
    - '[io.undertow.servlet.api.ServletContainer].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    - '[io.undertow.servlet.api.DeploymentManager].start()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.server.HttpHandler)'
    - '[io.undertow.servlet.api.SessionManagerFactory].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.api.DeploymentManager].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDefaultSessionTimeout(int)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].setSessionManagerFactory(io.undertow.servlet.api.SessionManagerFactory)'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.api.ServletSessionConfig].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].createDeployment(String,io.undertow.servlet.api.ServletContainer,io.undertow.server.handlers.PathHandler,io.undertow.server.session.InMemorySessionManager)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: System.getProperty(String)
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:106,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].startsWith(String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:106,1
    - Dst: '[org.junit.Assume].assumeFalse(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:106,1
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:107,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:109,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:109,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:110,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:111,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:111,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:111,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:112,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:113,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:115,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:116,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:116,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:116,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:117,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:118,1
    - Dst: Thread.sleep(int)
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:120,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:121,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:122,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:122,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:122,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:123,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:124,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:127,1
    - Dst: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].shutdown()'
      Src: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - Exception
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].testSharedSessionCookieMultipleDeployments()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/CrossContextServletBrokenSessionFactoryTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
    - Thread.sleep(int)
    - '[org.apache.http.client.methods.HttpGet].<init>(String)'
    - '[org.junit.Assert].assertEquals(String,String)'
    - '[io.undertow.testutils.TestHttpClient].getConnectionManager()'
    - '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].shutdown()'
    - '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
    - '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
    - '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].getStatusCode()'
    - '[io.undertow.testutils.TestHttpClient].<init>()'
    - '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
    - '[org.junit.Assume].assumeFalse(io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase)'
    - System.getProperty(String)
    - '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].getStatusLine()'
    - '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].startsWith(String)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].testSharedSessionCookieMultipleDeployments()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions: []
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase
      static: false
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: -1
      start: -1
    functionDepth: 0
    functionLinenumber: -1
    functionLinenumberEnd: -1
    functionName: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].<init>()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/CrossContextServletBrokenSessionFactoryTestCase.java
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase
    signature: '[io.undertow.servlet.test.session.CrossContextServletBrokenSessionFactoryTestCase].<init>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.server.handlers.PathHandler].<init>()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:55,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].newInstance()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:56,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].<init>()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:57,1
    - Dst: SimpleServletTestCase.class.getClassLoader()
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:58,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:57,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:57,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].<init>(String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:62,1
    - Dst: '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:62,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:57,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:64,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].deploy()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:65,1
    - Dst: '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:67,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].start()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:67,1
    - Dst: '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:67,1
    - Dst: '[RuntimeException].<init>(io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:69,1
    - Dst: '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    JavaMethodInfo:
      argumentGenericTypes: []
      classConcrete: true
      classEnum: false
      classFields: []
      classPublic: true
      concrete: true
      exceptions:
      - jakarta.servlet.ServletException
      interfaces: []
      javaLibraryMethod: false
      needClose: false
      public: true
      returnValueGenericType: void
      static: true
      superClass: Object
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].setup()'
    functionSourceFile: /src/undertow/servlet/src/test/java/io/undertow/servlet/test/session/SessionIdHandlingTestCase.java
    functionUses: 0
    functionsReached:
    - '[io.undertow.servlet.api.ServletInfo].<init>(String)'
    - '[io.undertow.servlet.api.DeploymentInfo].setContextPath(String)'
    - '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].deploy()'
    - '[io.undertow.servlet.api.DeploymentInfo].setDeploymentName(String)'
    - SimpleServletTestCase.class.getClassLoader()
    - '[io.undertow.servlet.api.DeploymentInfo].setClassLoader(io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
    - '[io.undertow.server.handlers.PathHandler].<init>()'
    - '[io.undertow.servlet.api.DeploymentInfo].setClassIntrospecter(io.undertow.servlet.test.util.TestClassIntrospector)'
    - '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].newInstance()'
    - '[io.undertow.servlet.api.DeploymentInfo].addServlets(io.undertow.servlet.api.ServletInfo)'
    - '[RuntimeException].<init>(io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
    - '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].start()'
    - '[io.undertow.testutils.DefaultServer].setRootHandler(io.undertow.server.handlers.PathHandler)'
    - '[io.undertow.servlet.api.DeploymentInfo].getContextPath()'
    - '[io.undertow.server.handlers.PathHandler].addPrefixPath(String,io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
    - '[io.undertow.servlet.api.DeploymentInfo].<init>()'
    - '[io.undertow.servlet.api.ServletInfo].addMapping(String)'
    - '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].addDeployment(io.undertow.servlet.api.DeploymentInfo)'
    linkageType: ''
    returnType: void
    signature: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].setup()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '[io.undertow.testutils.TestHttpClient].<init>()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:77,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:80,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:80,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:81,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:82,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:82,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:82,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:83,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:84,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getCookieStore()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:85,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getCookies()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:85,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getSession(io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:85,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:87,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:87,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:88,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:89,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:89,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:89,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:90,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:91,1
    - Dst: '[io.undertow.testutils.DefaultServer].getDefaultServerURL()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:93,1
    - Dst: '[org.apache.http.client.methods.HttpGet].<init>(String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:93,1
    - Dst: '[io.undertow.testutils.TestHttpClient].execute(org.apache.http.client.methods.HttpGet)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:94,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getStatusLine()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:95,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getStatusCode()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:95,1
    - Dst: '[org.junit.Assert].assertEquals(int,io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:95,1
    - Dst: '[io.undertow.testutils.HttpClientUtils].readResponse(io.undertow.servlet.test.session.SessionIdHandlingTestCase)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:96,1
    - Dst: '[org.junit.Assert].assertEquals(String,String)'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:97,1
    - Dst: '[io.undertow.testutils.TestHttpClient].getCookieStore()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:99,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestCase].getCookies()'
      Src: io.undertow.servlet.test.session.SessionIdHandlingTestCase:99,1
    - Dst: '[io.undertow.servlet.test.session.SessionIdHandlingTestC